<?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>Dan Nguyen pronounced fast is danwin</title>
	<atom:link href="http://danwin.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://danwin.com</link>
	<description>The &#039;g&#039; is mostly silent</description>
	<lastBuildDate>Fri, 03 Feb 2012 16:17:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Big Faces &#8211; a mashup of The Big Picture and Face.com</title>
		<link>http://danwin.com/2012/02/big-faces-a-mashup-of-the-big-picture-and-face-com/</link>
		<comments>http://danwin.com/2012/02/big-faces-a-mashup-of-the-big-picture-and-face-com/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 15:17:23 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[works]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1902</guid>
		<description><![CDATA[Just put up another quick side project: Big Faces, which aggregates the excellent Big Picture Blog (by the Boston Globe and its many contributors) and just shows the faces. I used the Face.com API to crop the faces before uploading&#8230; <a href="http://danwin.com/2012/02/big-faces-a-mashup-of-the-big-picture-and-face-com/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 610px"><a href="http://so.danwin.com/bigfaces/"><img alt="" src="http://so.danwin.com/bigfaces/assets/img/collage.jpg" title="Big Faces" width="600" height="394" /></a><p class="wp-caption-text">Big Faces</p></div>
<p>Just put up another quick side project: <a href="http://so.danwin.com/bigfaces/">Big Faces</a>, which aggregates the excellent <a href="http://www.boston.com/bigpicture/">Big Picture Blog</a> (by the Boston Globe and its many contributors) and just shows the faces. I used the <a href="http://developers.face.com/docs/api/faces-detect/">Face.com API</a> to crop the faces before uploading them.</p>
<p>I have in mind a multi-level photo-exploration app but because it&#8217;s been so long since I looked at using Backbone.js, I needed some practice. As it is, the fine work of the photographers and curators associated with The Big Picture stands on its own power. I probably should rethink it so it doesn&#8217;t require a 700K JSON download&#8230;</p>
<p>The process <a href="http://danwin.com/2012/01/congressmiles-a-ruby-coding-tutorial-with-the-face-and-times-congress-apis/">is simliar to the Congressmiles demo I did last week</a>.</p>
<p>On the front end, this uses the excellent <a href="http://isotope.metafizzy.co/">isotope JQuery plugin</a>. It also has <a href="http://backbonejs.org/">Backbone.js</a> though I vastly simplified the project so much that I pretty much ditched using any of Backbone&#8217;s useful features. The <a href="https://github.com/tbranyen/backbone-boilerplate">Backbone boilerplate was extremely helpful</a>, though, in organizing the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/02/big-faces-a-mashup-of-the-big-picture-and-face-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best subway music ever: Super Mario Bros. theme</title>
		<link>http://danwin.com/2012/02/best-subway-music-ever-super-mario-bros-theme/</link>
		<comments>http://danwin.com/2012/02/best-subway-music-ever-super-mario-bros-theme/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 14:20:22 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[visuals]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1899</guid>
		<description><![CDATA[Musician Gypsy Joe Trane played the classics, including the theme to Nintendo Classic Super Mario Brothers on the R-train heading uptown Manhattan the other night. I can&#8217;t believe that no one else was (or at least looked) as amused as&#8230; <a href="http://danwin.com/2012/02/best-subway-music-ever-super-mario-bros-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="640" height="480" src="http://www.youtube.com/embed/HZmw_cLLco8" frameborder="0" allowfullscreen></iframe></p>
<p>Musician <a href="https://twitter.com/#!/gypsyjoetrane">Gypsy Joe Trane</a> played the classics, including the theme to Nintendo Classic Super Mario Brothers on the R-train heading uptown Manhattan the other night. I can&#8217;t believe that no one else was (or at least looked) as amused as I was. I generally like subway performers and these guys had the best approach I&#8217;ve seen: just stand and jam for many stops. I don&#8217;t know if they made more or less money than those who do a quick set before hopping into another car, but I gave them a few bucks for the great accompaniment.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/02/best-subway-music-ever-super-mario-bros-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woody Allen: Every step is part of the writing process</title>
		<link>http://danwin.com/2012/01/woody-allen-every-step-is-part-of-the-writing-process/</link>
		<comments>http://danwin.com/2012/01/woody-allen-every-step-is-part-of-the-writing-process/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 17:23:25 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[thoughts]]></category>
		<category><![CDATA[editing]]></category>
		<category><![CDATA[Woody Allen]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1894</guid>
		<description><![CDATA[One of the best books I&#8217;ve picked up recently is Eric Lax&#8217;s Conversations with Woody Allen: His Films, the Movies, and Moviemaking, which is basically a 400+ page interview, spanning decades, between the author and Allen. I&#8217;m a fair-weather fan&#8230; <a href="http://danwin.com/2012/01/woody-allen-every-step-is-part-of-the-writing-process/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_1895" class="wp-caption alignleft" style="width: 175px"><a href="http://www.flickr.com/photos/cswan/87743769/"><img src="http://danwin.com/words/wp-content/uploads/2012/01/445px-Woody_Allen_2006-165x165.jpg" alt="" title="445px-Woody_Allen_(2006)" width="165" height="165" class="size-thumbnail wp-image-1895" /></a><p class="wp-caption-text">Woody Allen (2006), photo by Colin Swan</p></div>One of the best books I&#8217;ve picked up recently is Eric Lax&#8217;s <a href="http://www.amazon.com/Conversations-Woody-Allen-Moviemaking-ebook/dp/B0033806UK">Conversations with Woody Allen: His Films, the Movies, and Moviemaking</a>, which is basically a 400+ page interview, spanning decades, between the author and Allen. I&#8217;m a fair-weather fan myself, I&#8217;ve only seen a few of his movies but I&#8217;ve always admired his relentless pursuit for his art, even when some of it seems to just be screwball comedy.</p>
<p>The book is divided into 8 parts for different facets of Allen&#8217;s work, including &#8220;Writing It&#8221;, &#8220;Shooting, Sets, Locations&#8221; and &#8220;Directing.&#8221; The following excerpt comes from the &#8220;Editing&#8221; part and in it, Allen talks about how he sees every step of filmmaking as part of the writing process (emphasis added):</p>
<blockquote><p>
<strong>[Eric Lax]:</strong> You’re involved with the details of every step of a film, and I’ve noticed that you do not delegate any part of its creation, even assembling a first cut from takes you’ve already selected. </p>
<p><strong>[Woody Allen]</strong>: To me the movie is a handmade product. I was watching a documentary on editing on television the other day and many wonderful filmmakers were on and wonderful editors and everyone was talking briefly about how they edit. Years ago, they would turn it over to an editor. Or there are people I know who finish shooting and go away for a vacation and let the editor do a draft; then they come back and they check it out and do their changes. </p>
<p>I can’t do that. It would be unthinkable for me not to be in on every inch of movie &ndash; and this is not out of any sort of ego or sense of having to control; I just can’t imagine it any other way. How could I not be in on the editing, on the scoring, because I feel that the whole project is one big writing project? </p>
<p><strong>You may not be writing with a typewriter once you get past the script phase, but when you’re picking locations and casting and on the set, you’re really writing. You’re writing with film, and you’re writing with film when you edit it together and you put some music in. This is all part of the writing process for me.</strong></p>
<p><a href="http://www.amazon.com/Conversations-Woody-Allen-Moviemaking-ebook/dp/B0033806UK">Lax, Eric (2009-08-12). Conversations with Woody Allen (p. 284). Random House, Inc.. Kindle Edition.<br />
</a>
</p></blockquote>
<p>I feel the exact same way about any kind of modern storytelling. Whether it&#8217;s done as a photo essay, movie, or news application/website, each step of the process can profoundly affect and be affected by your editorial vision. Back in the day of traditional journalism, it&#8217;s possible that you could have one person do just the interviewing and research and then one person to put it as story form. But the feedback in that process &ndash; an unexpectedly emotional interview that alters what you previously thought the story arc should be &ndash; would almost be entirely lost.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/woody-allen-every-step-is-part-of-the-writing-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s search has been dumbed down for the novices and solipsistic</title>
		<link>http://danwin.com/2012/01/google-search-dumbed-down-for-novices/</link>
		<comments>http://danwin.com/2012/01/google-search-dumbed-down-for-novices/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 18:35:06 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1887</guid>
		<description><![CDATA[In response to Google&#8217;s latest plan to combine all your usage data on all of its platforms (GMail, Youtube, etc.) into one tidy user-and-advertiser-friendly package, I&#8217;m mostly sitting on the fence. This is because I&#8217;ve always assumed everything I type&#8230; <a href="http://danwin.com/2012/01/google-search-dumbed-down-for-novices/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In response to Google&#8217;s latest plan to combine all your usage data on all of its platforms (GMail, Youtube, etc.) <a href="http://www.extremetech.com/computing/115425-google-is-fubar">into one tidy user-and-advertiser-friendly package</a>, I&#8217;m mostly sitting on the fence. This is because I&#8217;ve always assumed everything I type into Google Search will inextricably be linked to my personal GMail account&#8230;so I try not to search for anything job/life-sensitive in the same browser that I use GMail for.
   </p>
<p>But even before this policy, Google&#8217;s vanilla search (not the one inside Google+) has noticeably gotten <em>too</em> personalized. Not in a creepy sense, but in a <strong>you&#8217;re-too-dumb-to-figure-out-an-address bar</strong> way. And this is not a good feature for us non-novice Internet users.</p>
<p>For example, I&#8217;ve been in a admittedly-petty, losing competition with the younger, better-muscled Dan Nguyen for the top of Google&#8217;s search results. My identity (this blog, danwin.com) has always come in second-place or lower&#8230;<strong>unless</strong> I perform a search for my name while logged into my Google/GMail account:</p>
<div id="attachment_1888" class="wp-caption aligncenter" style="width: 810px"><img src="http://danwin.com/words/wp-content/uploads/2012/01/me-google.jpg" alt="" title="me-google" width="800" height="420" class="size-full wp-image-1888" /><p class="wp-caption-text">Me on Google Search. I am logged in on the left browser, logged out on the right.</p></div>
<p>The problem isn&#8217;t that my blog shows up first for my little search universe. It&#8217;s that my <strong>Google+ profile</strong> is on top, <strong>pushing all the other search results below the fold</strong>.</p>
<p>This seems really un-useful to me. The link to my own Google+ profile already occupies the top-left corner of my browser every time I visit a Google-owned site. I don&#8217;t need another prominent link to it. But I&#8217;ll give Google the benefit of the doubt here; they&#8217;re making the reasonable guess that someone who is searching for their own name is just looking for their own stuff&#8230;though conveniently, Google thinks the most important stuff about the searcher happens to be the searcher&#8217;s Google+ profile.</p>
<p>So here&#8217;s a more general example. I do a lot of photography and am always interested in what other people are doing. So here&#8217;s a search for &#8220;times square photos&#8221; in normal search (image search seems to behave the same way logged in or out):</p>
<div id="attachment_1889" class="wp-caption aligncenter" style="width: 810px"><img src="http://danwin.com/words/wp-content/uploads/2012/01/times-square-google.jpg" alt="" title="times-square-google" width="800" height="422" class="size-full wp-image-1889" /><p class="wp-caption-text">&#039;times square photos&#039; on Google Search. I am logged in on the left browser, logged out on the right.</p></div>
<p>I generally love how Google automatically includes multimedia when relevant; for example, I rarely go to Google Maps now because typing in an address in the general search box, like &#8220;50 broadway&#8221; will bring up a nice local map. But in the case of &#8220;times square photos,&#8221; Google automatically assumes that I&#8217;m <strong>most</strong> interested in my own Times Square photos.</p>
<p>I may be a little solipsistic, but this is going overboard. And it seems counter-productive. If I&#8217;m the type of user to continually look up different kind of photos and all I see right away are my own photos, my search universe is going to be slightly duller. </p>
<p>Wasn&#8217;t the original assumption of <strong>search</strong> was that the user is looking for something he/she doesn&#8217;t currently know? Like, the hours of my favorite bookstore. Doing that <a href="http://www.google.com/search?client=safari&amp;rls=en&amp;q=strand+bookstore+hours&amp;ie=UTF-8&amp;oe=UTF-8" title="Google">search pulls up a helpful sidebox</a>, with the hours, next to the search results:</p>
<div id="attachment_1890" class="wp-caption aligncenter" style="width: 650px"><img src="http://danwin.com/words/wp-content/uploads/2012/01/strand-google-640x487.jpg" alt="" title="strand-google" width="640" height="487" class="size-large wp-image-1890" /><p class="wp-caption-text">The Strand&#039;s opening hours</p></div>
<p>This is fantastic. And I do appreciate Google catering to my caveman of the question, especially when I&#8217;m on a mobile device.</p>
<p>But in the case of my example photo and name search, Google has gone a step too far in dumbing things down.</p>
<p>My hypothesis is that they are catering to the legion of users who get to <strong>yahoo.com</strong> by going to Google and typing in &#8220;Yahoo.&#8221; I imagine Google&#8217;s massive analytics system has told them that this is how many users get to GMail, as opposed to typing in <strong>gmail.com</strong>.</p>
<p>Google seems to be making this apply to <em>every kind of search</em>: when I type in a search query for &#8220;dan nguyen&#8221; or &#8220;times square photos&#8221;, Google checks to see if these are terms in my Google profile. If so, it pushes them to the top of the search pile because I must be one of those idiots who doesn&#8217;t realize that the Dan+ in the top left corner is how I get to my Google profile or that is too lazy to go to Flickr to look up my own Times Square photos.</p>
<p>The kicker is that that assumption contradicts my behavior. If I&#8217;m a user who was technical enough to figure out how to fill out my Google profile and properly link up third-party accounts&#8230;aren&#8217;t I the type of user who&#8217;s technical enough to get to my own Flickr photos by myself? </p>
<p>Searching for my own name is stupid, and kind of an edge case. But what if I&#8217;m working on a business site and have linked it (and/or its Google+ page) to my profile? And then I&#8217;m constantly doing searches to see how well that site is doing in SEO and SiteRank compared to similarly named/themed sites? Since I&#8217;m not in that situation, I can only guess: but will I have to use a separate browser just to get a reliable, business-savvy search?</p>
<p>I realize that this dumbing-down &#8220;feature&#8221; is the kind of thing that has to be auto-opt-in for its target audience. But I can think of a slightly non-intrusive way to make it manually opt-in. If what I really want are my own Times Square photos, then wait for me to prepend a <strong>&#8220;my&#8221;</strong> to the query. I&#8217;d think even the novice users could get into this habit.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/google-search-dumbed-down-for-novices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analyzing the U.S. Senate Smiles: A Ruby tutorial with the Face.com and NYT Congress APIs</title>
		<link>http://danwin.com/2012/01/congressmiles-a-ruby-coding-tutorial-with-the-face-and-times-congress-apis/</link>
		<comments>http://danwin.com/2012/01/congressmiles-a-ruby-coding-tutorial-with-the-face-and-times-congress-apis/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 15:28:32 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[works]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1864</guid>
		<description><![CDATA[Who&#8217;s got the biggest smile among our U.S. senators? Let&#8217;s find out and exercise our Ruby coding and civic skills. This article consists of a quick coding strategy overview (from the full code is at my Github). Or jump here&#8230; <a href="http://danwin.com/2012/01/congressmiles-a-ruby-coding-tutorial-with-the-face-and-times-congress-apis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 810px"><img alt="U.S. Senate Smiles, ranked by Face.com face-detection algorithm" src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/data-hold/all_smiles.jpg" title="U.S. Senate Smiles, ranked by Face.com face-detection algorithm" width="800" height="160" /><p class="wp-caption-text">The smiles of your U.S. Senate from most smiley-est to least, according to Face.com's algorithm</p></div>
<p><em>Who&#8217;s got the biggest smile among our U.S. senators? Let&#8217;s find out and exercise our Ruby coding and civic skills.</em> This article consists of a quick coding strategy overview (<a href="https://github.com/dannguyen/Congressmiles">from the full code is at my Github</a>). Or jump here to see the results, <a href="#results-faces">as sorted by Face&#8217;s algorithm</a>.</p>
<h2>About this tutorial</h2>
<p>This is a Ruby coding lesson to demonstrate the basic features of Face.com&#8217;s <a href="http://developers.face.com/docs/api/faces-detect/" title="face.com developers site   &raquo; faces.detect">face-detection API</a> for a superficial use case. We&#8217;ll mash with the <a href="http://developer.nytimes.com/docs/congress_api/" title="Times Developer Network - The Congress API">New York Times Congress API</a> and data from the <a href="http://services.sunlightlabs.com/docs/Sunlight_Congress_API/" title="Sunlight_Congress_API">Sunlight Foundation</a>.</p>
<p>The code comprehension is at a relatively simple level and is intended for learning programmers who are comfortable with RubyGems, hashes, loops and variables.</p>
<p><strong>If you&#8217;re a non-programmer: </strong>The use case may be a bit silly here but I hope you can view it from an abstract-big-picture level and see the use of programming to: 1) Make quick work of menial work and 2) create and analyze datapoints where none existed before. </p>
<p>On to the lesson!</p>
<p>&#8212;</p>
<h2>The problem with portraits</h2>
<p>
		For the <a href="http://projects.propublica.org/sopa">SOPA Opera app</a> I built a few weeks ago, I wanted to use the Congressional mugshots to illustrate<br />
		the front page. The <a href="http://services.sunlightlabs.com/docs/Sunlight_Congress_API/" title="Sunlight_Congress_API">Sunlight Foundation</a> provides a convenient zip file download of every sitting Congressmember&#8217;s face. The problem is that the portraits were a bit inconsistent in composition (and quality). For example, here&#8217;s a usable, classic head-and-shoulders portrait of Senator Rand Paul:
		</p>
<div id="rand-paul" class="wp-caption aligncenter" style="width: 210px"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/200x250/P000603.jpg" alt="" title="Sen. Rand Paul" width="200" height="250" class="size-full wp-image"><p class="wp-caption-text">Sen. Rand Paul</p></div>
<p>But some of the portraits don&#8217;t have quite that face-to-photo ratio; Here&#8217;s Sen. Jeanne Shaheen&#8217;s portrait:</p>
<div id="shaheen-full" class="wp-caption aligncenter" style="width: 210px"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/200x250/S001181.jpg" alt="" title="Sen. Jeanne Shaheen" width="200" height="250" class="size-full wp-image"><p class="wp-caption-text">Sen. Jeanne Shaheen</p></div>
<p>It&#8217;s not a terrible Congressional portrait. It&#8217;s just out of proportion compared to Sen. Paul&#8217;s. What we need is a closeup crop of Sen. Shaheen&#8217;s face:</p>
<div id="shaheen-crop" class="wp-caption aligncenter" style="width: 410px"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/data-hold/crop-S001181.jpg" alt="" title="Sen. Jeanne Shaheen" width="400" height="250" class="size-full wp-image"><p class="wp-caption-text">Sen. Jeanne Shaheen's face cropped</p></div>
<p>How do we do that for a given set of dozens (even hundreds) of portraits that doesn&#8217;t involve manually opening each image and cropping the heads in a non-carpal-tunnel-syndrome-inducing manner?</p>
<h3>Easy face detection with Face.com&#8217;s Developer API</h3>
<p>Face-detection is done using an algorithm that scans an image and looks for shapes proportional to the average human face and containing such inner shapes as eyes, a nose and mouth in the expected places. It&#8217;s not as if the algorithm has to have an idea of what an <em>eye</em> looks like exactly; two light-ish shapes about halfway down what looks like a head might be good enough.</p>
<p>You <em>could</em> write your own image-analyzer to do this, but we just want to crop faces right now. Luckily, Face.com provides a generous API that when you send it an image, it will send you back a JSON file in this format:</p>
<pre style="width: 90%; height: 300px; overflow: auto">
{
    "photos": [{
        "url": "http:\/\/face.com\/images\/ph\/12f6926d3e909b88294ceade2b668bf5.jpg",
        "pid": "F@e9a7cd9f2a52954b84ab24beace23046_1243fff1a01078f7c339ce8c1eecba44",
        "width": 200,
        "height": 250,
        "tags": [{
            "tid": "TEMP_F@e9a7cd9f2a52954b84ab24beace23046_1243fff1a01078f7c339ce8c1eecba44_46.00_52.40_0_0",
            "recognizable": true,
            "threshold": null,
            "uids": [],
            "gid": null,
            "label": "",
            "confirmed": false,
            "manual": false,
            "tagger_id": null,
            "width": 43,
            "height": 34.4,
            "center": {
                "x": 46,
                "y": 52.4
            },
            "eye_left": {
                "x": 35.66,
                "y": 44.91
            },
            "eye_right": {
                "x": 58.65,
                "y": 43.77
            },
            "mouth_left": {
                "x": 37.76,
                "y": 61.83
            },
            "mouth_center": {
                "x": 49.35,
                "y": 62.79
            },
            "mouth_right": {
                "x": 57.69,
                "y": 59.75
            },
            "nose": {
                "x": 51.58,
                "y": 56.15
            },
            "ear_left": null,
            "ear_right": null,
            "chin": null,
            "yaw": 22.37,
            "roll": -3.55,
            "pitch": -8.23,
            "attributes": {
                "glasses": {
                    "value": "false",
                    "confidence": 16
                },
                "smiling": {
                    "value": "true",
                    "confidence": 92
                },
                "face": {
                    "value": "true",
                    "confidence": 79
                },
                "gender": {
                    "value": "male",
                    "confidence": 50
                },
                "mood": {
                    "value": "happy",
                    "confidence": 75
                },
                "lips": {
                    "value": "parted",
                    "confidence": 39
                }
            }
        }]
    }],
    "status": "success",
    "usage": {
        "used": 42,
        "remaining": 4958,
        "limit": 5000,
        "reset_time_text": "Tue, 24 Jan 2012 05:23:21 +0000",
        "reset_time": 1327382601
    }
}
	</pre>
<p>The JSON includes an array of photos (if you sent more than one to be analyzed) and then an array of <strong>tags</strong> &ndash; one tag for each detected face. The important part for cropping purposes are the attributes dealing with <strong>height</strong>, <strong>width</strong>, and <strong>center</strong>:</p>
<pre>
		"width": 43,
      "height": 34.4,
      "center": {
          "x": 46,
          "y": 52.4
      },
	</pre>
<p>These numbers represent percentage values from 0-100. So the <strong>width</strong> of the face is 43% of the image&#8217;s total width. If the image is 200 pixels wide, then the face spans 86 pixels.</p>
<p>Using your favorite HTTP-calling library (I like the RestClient gem), you can simply ping the <a href="http://developers.face.com/docs/api/faces-detect/" title="face.com developers site   &raquo; faces.detect">Face.com API&#8217;s detect feature</a> to get these coordinates for any image you please.</p>
<h3>Image manipulation with RMagick</h3>
<p>So how do we do the actual cropping? By using the <a href="http://studio.imagemagick.org/RMagick/doc/index.html" title="RMagick 2.12.0 User's Guide and Reference">RMagick</a> (a Ruby wrapper for the ImageMagick graphics library) gem, which lets us do crops with commands as simple as these:</p>
<pre>
img = Magick::Image.read("somefile.jpg")[0]

# crop a 100x100 image starting from the top left corner
img = img.crop(0,0,100,100)
</pre>
<p>The <a href="http://studio.imagemagick.org/RMagick/doc/index.html" title="RMagick 2.12.0 User's Guide and Reference">RMagick documentation page</a> is a great place to start. I&#8217;ve also written an <a href="http://ruby.bastardsbook.com/chapters/image-manipulation/" title="Image Manipulation | The Bastards Book of Ruby">image-manipulation chapter for The Bastards Book of Ruby</a>. </p>
<h2>The Process</h2>
<p>The code for all of <a href="https://github.com/dannguyen/Congressmiles">this is stored at my Github account</a>.</p>
<p>I&#8217;ve divided this into two parts/scripts. You could combine it into one script but to make things easier to comprehend (and to lessen the amount of best-practices error-handling code for me to write), I divide it into a &#8220;fetch&#8221; and &#8220;process&#8221; stage.</p>
<p>In the <a href="https://github.com/dannguyen/Congressmiles/blob/master/fetch.rb">fetch.rb</a> stage, we essentially download all the remote files we need to do our work:</p>
<ul>
<li>Download a zip file of images from Sunlight Labs and unzip it at the command line</li>
<li>Use NYT&#8217;s Congress API to get latest list of Senators</li>
<li>Use Face.com API to download face-coordinates as JSON files</li>
</ul>
<p>In the <a href="https://github.com/dannguyen/Congressmiles/blob/master/process.rb">process.rb</a> stage, we use RMagick to crop the photos based from the metadata we downloaded from the NYT and Face.com. As a bonus, I&#8217;ve thrown in a script to programmatically create a crude webpage that ranks the Congressmembers&#8217; faces by smile, glasses-wearingness, and androgenicity. How do I do this? The Face.com API handily <a href="http://developers.face.com/docs/api/faces-detect/" title="face.com developers site   &raquo; faces.detect">provides these numbers in its response</a>: </p>
<pre style="width: 90%; height: 300px; overflow: auto">
	"attributes": {
            "glasses": {
                "value": "false",
                "confidence": 16
            },
            "smiling": {
                "value": "true",
                "confidence": 92
            },
            "face": {
                "value": "true",
                "confidence": 79
            },
            "gender": {
                "value": "male",
                "confidence": 50
            },
            "mood": {
                "value": "happy",
                "confidence": 75
            },
            "lips": {
                "value": "parted",
                "confidence": 39
            }
        }
	</pre>
<p>I&#8217;m not going to reprint the code <a href="https://github.com/dannguyen/Congressmiles">from my Github account</a>, you can see the scripts yourself there:<br />
	<br /><a href="https://github.com/dannguyen/Congressmiles">https://github.com/dannguyen/Congressmiles</a>
	</p>
<p><strong>First things first:</strong> sign up for API keys at the <a href="http://developer.nytimes.com/" title="Times Developer Network - Welcome">NYT</a> and <a href="http://developers.face.com/" title="face.com developers site. face.com for developers">Face.com</a></p>
<p>I also use the following gems:</p>
<ul>
<li><a href="http://rmagick.rubyforge.org/" title="RMagick Download Page">RMagick</a></li>
<li><a href="https://github.com/archiloque/rest-client">RestClient</a></li>
<li><a href="https://github.com/jnunemaker/crack">Crack</a></li>
</ul>
<p><a name="results-faces"></a></p>
<h2>The Results</h2>
<p>Here&#8217;s what you should see after you run the <a href="https://github.com/dannguyen/Congressmiles/blob/master/process.rb">process.rb</a> script (all judgments made by Face.com&#8217;s algorithm&#8230;I don&#8217;t think everyone will agree with about the quality of the smiles):</p>
<style type="text/css" media="screen">
	div.face{width: 80px; float:left; margin: 5px; height: 200px; overflow:hidden;}
	div.face img{width: 100%;}
	div.name{font-size: 11px; line-height: 11px; margin: 0;}
	h4{ clear:both;}
	div.sec{margin-bottom: 2.0em; clear: both;}</p>
<p>	/* new clearfix */</p>
<p>	.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}
</style>
<p><br class="clearfix" />
<div class="clearfix sec">
<h4>10 Biggest Smiles</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/W000437.jpg" alt="Sen. Wicker (R-MS)">
<div class="name">Sen. Wicker (R-MS) [100]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/R000146.jpg" alt="Sen. Reid (D-NV)">
<div class="name">Sen. Reid (D-NV) [100]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S001181.jpg" alt="Sen. Shaheen (D-NH)">
<div class="name">Sen. Shaheen (D-NH) [99]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H001049.jpg" alt="Sen. Hagan (D-NC)">
<div class="name">Sen. Hagan (D-NC) [99]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S000663.jpg" alt="Sen. Snowe (R-ME)">
<div class="name">Sen. Snowe (R-ME) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/K000352.jpg" alt="Sen. Kyl (R-AZ)">
<div class="name">Sen. Kyl (R-AZ) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/K000367.jpg" alt="Sen. Klobuchar (D-MN)">
<div class="name">Sen. Klobuchar (D-MN) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C000880.jpg" alt="Sen. Crapo (R-ID)">
<div class="name">Sen. Crapo (R-ID) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/J000291.jpg" alt="Sen. Johanns (R-NE)">
<div class="name">Sen. Johanns (R-NE) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H001016.jpg" alt="Sen. Hutchison (R-TX)">
<div class="name">Sen. Hutchison (R-TX) [98]</div>
</div>
</div>
<p><br class="clearfix" />
<div class="clearfix sec">
<h4>10 Most Ambiguous Smiles</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/I000025.jpg" alt="Sen. Inouye (D-HI)">
<div class="name">Sen. Inouye (D-HI) [40]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/K000305.jpg" alt="Sen. Kohl (D-WI)">
<div class="name">Sen. Kohl (D-WI) [43]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/M000303.jpg" alt="Sen. McCain (R-AZ)">
<div class="name">Sen. McCain (R-AZ) [47]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/D000563.jpg" alt="Sen. Durbin (D-IL)">
<div class="name">Sen. Durbin (D-IL) [49]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/R000307.jpg" alt="Sen. Roberts (R-KS)">
<div class="name">Sen. Roberts (R-KS) [50]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/W000802.jpg" alt="Sen. Whitehouse (D-RI)">
<div class="name">Sen. Whitehouse (D-RI) [52]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H001061.jpg" alt="Sen. Hoeven (R-ND)">
<div class="name">Sen. Hoeven (R-ND) [54]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/A000360.jpg" alt="Sen. Alexander (R-TN)">
<div class="name">Sen. Alexander (R-TN) [54]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S000320.jpg" alt="Sen. Shelby (R-AL)">
<div class="name">Sen. Shelby (R-AL) [62]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/J000177.jpg" alt="Sen. Johnson (D-SD)">
<div class="name">Sen. Johnson (D-SD) [63]</div>
</div>
<h4>The Non-Smilers</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B000468.jpg" alt="Sen. Bingaman (D-NM)">
<div class="name">Sen. Bingaman (D-NM) [79]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C001088.jpg" alt="Sen. Coons (D-DE)">
<div class="name">Sen. Coons (D-DE) [77]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B001135.jpg" alt="Sen. Burr (R-NC)">
<div class="name">Sen. Burr (R-NC) [72]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H000338.jpg" alt="Sen. Hatch (R-UT)">
<div class="name">Sen. Hatch (R-UT) [72]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/R000122.jpg" alt="Sen. Reed (D-RI)">
<div class="name">Sen. Reed (D-RI) [71]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/P000603.jpg" alt="Sen. Paul (R-KY)">
<div class="name">Sen. Paul (R-KY) [71]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/L000304.jpg" alt="Sen. Lieberman (I-CT)">
<div class="name">Sen. Lieberman (I-CT) [59]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B001267.jpg" alt="Sen. Bennet (D-CO)">
<div class="name">Sen. Bennet (D-CO) [55]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/U000039.jpg" alt="Sen. Udall (D-NM)">
<div class="name">Sen. Udall (D-NM) [51]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/L000261.jpg" alt="Sen. Levin (D-MI)">
<div class="name">Sen. Levin (D-MI) [50]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B001236.jpg" alt="Sen. Boozman (R-AR)">
<div class="name">Sen. Boozman (R-AR) [48]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/I000055.jpg" alt="Sen. Isakson (R-GA)">
<div class="name">Sen. Isakson (R-GA) [41]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/F000457.jpg" alt="Sen. Franken (D-MN)">
<div class="name">Sen. Franken (D-MN) [37]</div>
</div>
</div>
<p><br class="clearfix" />
<div class="clearfix sec">
<h4>10 Most Bespectacled Senators</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/F000457.jpg" alt="Sen. Franken (D-MN)">
<div class="name">Sen. Franken (D-MN) [99]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S000033.jpg" alt="Sen. Sanders (I-VT)">
<div class="name">Sen. Sanders (I-VT) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/M000355.jpg" alt="Sen. McConnell (R-KY)">
<div class="name">Sen. McConnell (R-KY) [98]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/G000386.jpg" alt="Sen. Grassley (R-IA)">
<div class="name">Sen. Grassley (R-IA) [96]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C000560.jpg" alt="Sen. Coburn (R-OK)">
<div class="name">Sen. Coburn (R-OK) [93]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/M000702.jpg" alt="Sen. Mikulski (D-MD)">
<div class="name">Sen. Mikulski (D-MD) [93]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/R000307.jpg" alt="Sen. Roberts (R-KS)">
<div class="name">Sen. Roberts (R-KS) [93]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/I000025.jpg" alt="Sen. Inouye (D-HI)">
<div class="name">Sen. Inouye (D-HI) [91]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/A000069.jpg" alt="Sen. Akaka (D-HI)">
<div class="name">Sen. Akaka (D-HI) [88]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C000705.jpg" alt="Sen. Conrad (D-ND)">
<div class="name">Sen. Conrad (D-ND) [86]</div>
</div>
</div>
<p><br class="clearfix" />
<div class="clearfix sec">
<h4>10 Most Masculine-Featured Senators</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B000468.jpg" alt="Sen. Bingaman (D-NM)">
<div class="name">Sen. Bingaman (D-NM) [94]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B001236.jpg" alt="Sen. Boozman (R-AR)">
<div class="name">Sen. Boozman (R-AR) [92]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B001267.jpg" alt="Sen. Bennet (D-CO)">
<div class="name">Sen. Bennet (D-CO) [92]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/M000355.jpg" alt="Sen. McConnell (R-KY)">
<div class="name">Sen. McConnell (R-KY) [91]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/N000032.jpg" alt="Sen. Nelson (D-FL)">
<div class="name">Sen. Nelson (D-FL) [91]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/R000361.jpg" alt="Sen. Rockefeller IV (D-WV)">
<div class="name">Sen. Rockefeller IV (D-WV) [90]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C000174.jpg" alt="Sen. Carper (D-DE)">
<div class="name">Sen. Carper (D-DE) [90]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C001070.jpg" alt="Sen. Casey (D-PA)">
<div class="name">Sen. Casey (D-PA) [90]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B000575.jpg" alt="Sen. Blunt (R-MO)">
<div class="name">Sen. Blunt (R-MO) [89]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/T000461.jpg" alt="Sen. Toomey (R-PA)">
<div class="name">Sen. Toomey (R-PA) [88]</div>
</div>
</div>
<p><br class="clearfix" />
<div class="clearfix sec">
<h4>10 Most Feminine-Featured Senators</h4>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/M001170.jpg" alt="Sen. McCaskill (D-MO)">
<div class="name">Sen. McCaskill (D-MO) [95]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/B000711.jpg" alt="Sen. Boxer (D-CA)">
<div class="name">Sen. Boxer (D-CA) [93]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S001181.jpg" alt="Sen. Shaheen (D-NH)">
<div class="name">Sen. Shaheen (D-NH) [93]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/G000555.jpg" alt="Sen. Gillibrand (D-NY)">
<div class="name">Sen. Gillibrand (D-NY) [92]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H001016.jpg" alt="Sen. Hutchison (R-TX)">
<div class="name">Sen. Hutchison (R-TX) [91]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/C001035.jpg" alt="Sen. Collins (R-ME)">
<div class="name">Sen. Collins (R-ME) [90]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/S000770.jpg" alt="Sen. Stabenow (D-MI)">
<div class="name">Sen. Stabenow (D-MI) [86]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/H001049.jpg" alt="Sen. Hagan (D-NC)">
<div class="name">Sen. Hagan (D-NC) [81]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/A000368.jpg" alt="Sen. Ayotte (R-NH)">
<div class="name">Sen. Ayotte (R-NH) [79]</div>
</div>
<div class="face">
<img src="http://danwin-files.s3.amazonaws.com/pics/blog/congressmiles/crop/K000367.jpg" alt="Sen. Klobuchar (D-MN)">
<div class="name">Sen. Klobuchar (D-MN) [79]</div>
</div>
</div>
<div style="clear:both"> &#8212; </div>
<p>For the partisan data-geeks, here&#8217;s some faux analysis with averages:</p>
<table>
<thead>
<tr>
<th>Party</th>
<th>Smiles</th>
<th>Non-smiles</th>
<th>Avg. Smile Confidence</th>
</tr>
</thead>
<tbody>
<tr>
<td>D</td>
<td>44</td>
<td>7</td>
<td>85</td>
</tr>
<tr>
<td>R</td>
<td>42</td>
<td>5</td>
<td>86</td>
</tr>
<tr>
<td>I</td>
<td>1</td>
<td>1</td>
<td>85</td>
</tr>
</tbody>
</table>
<p>There you have it, the Republicans are the smiley-est party of them all.</p>
<h2>Further discussion</h2>
<p>This is an exercise to show off the very cool Face.com API and to demonstrate the value of a little programming knowledge. Writing the script doesn&#8217;t take too long, though I spent more time than I liked on idiotic bugs of my own making. But this was way preferable than cropping photos by hand. And once I had the gist of things, I not only had a set of cropped files, I had the ability to whip up any kind of visualization I needed with just a minute&#8217;s more work.</p>
<p>And it wasn&#8217;t just face-detection that I was using, but face-detection in combination with deep data-sources like the Times&#8217;s Congress API and the Sunlight Foundation. For the <a href="http://projects.propublica.org/sopa">SOPA Opera app</a>, it didn&#8217;t take long at all to populate the site with legislator data and faces. (I didn&#8217;t get around to using this face-detection technique to clean up the images, but hey, I get lazy too&#8230;)</p>
<p>Please don&#8217;t judge the value of programming by my silly example here &ndash; having an easy-to-use service like Face.com API (<a href="http://developers.face.com/docs/terms/tou/" title="face.com developers site   &raquo; Terms of Use">mind the usage terms, of course</a>) gives you a lot of great possibilities if you&#8217;re creative. Off the top of my head, I can think of a few:</p>
<ul>
<li>As a photographer, I&#8217;ve accumulated <a href="http://www.flickr.com/photos/zokuga/" title="Flickr: Dan Nguyen @ New York City's Photostream">thousands of photos</a> but have been quite lazy in tagging them. I could conceivably use Face.com&#8217;s API to quickly find photos without faces for stock photo purposes. Or maybe a client needs to see male/female portraits. The Face.com API gives me an ad-hoc way to retrieve those without menial browsing.</li>
<li>Data on government hearing webcasts are hard to come by. I&#8217;m sure there&#8217;s a programmatic way to split up a video into thousands of frames. Want to know at which points Sen. Harry Reid shows up? Train Face.com&#8217;s API to recognize his face and set it loose on those still frames to find when he speaks.</li>
<li>Speaking of breaking up video&#8230;use the Face API to detect the eyes of someone being interviewed and use RMagick to detect when the eyes are closed (the pixels in those positions are different in color than the second before) to do that <a href="http://www.telegraph.co.uk/news/2589073/Liars-are-exposed-by-blinking.html" title="Liars are exposed by blinking  - Telegraph">college-level psych experiment of correlating blinks-per-minute to truthiness</a>.</li>
</ul>
<p>Thanks for reading. This was a quick post and I&#8217;ll probably go back to clean it up. At some point, I&#8217;ll probably add this <a href="http://ruby.bastardsbook.com/" title="The Bastards Book of Ruby">to the Bastards Book</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/congressmiles-a-ruby-coding-tutorial-with-the-face-and-times-congress-apis/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A Million Pageviews, Thousands of Dollars Poorer, and Still Countlessly Richer.</title>
		<link>http://danwin.com/2012/01/a-million-pageviews-thousands-of-dollars-poorer-and-still-countlessly-richer/</link>
		<comments>http://danwin.com/2012/01/a-million-pageviews-thousands-of-dollars-poorer-and-still-countlessly-richer/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 04:37:56 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[thoughts]]></category>
		<category><![CDATA[visuals]]></category>
		<category><![CDATA[works]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1834</guid>
		<description><![CDATA[Update: This post rambled longer than I intended it to and I forgot that I had meant to include some observations on what I&#8217;ve noticed about Flickr&#8217;s traffic pattern. I&#8217;ve added some grafs to the bottom of this post. My&#8230; <a href="http://danwin.com/2012/01/a-million-pageviews-thousands-of-dollars-poorer-and-still-countlessly-richer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/4204160273/" title="Snowball fight in Times Square, Manhattan, New York by Dan Nguyen @ New York City, on Flickr"><img src="http://farm3.staticflickr.com/2751/4204160273_8aa8a03fab_b.jpg" style="width: 100%" alt="Snowball fight in Times Square, Manhattan, New York"></a></div>
<p><strong>Update:</strong> <em>This post rambled longer than I intended it to and I forgot that I had meant to include some observations on what I&#8217;ve noticed about Flickr&#8217;s traffic pattern. <a href="#flickrpageviews">I&#8217;ve added some grafs to the bottom of this post.</a></em></p>
<p>My <a href="http://www.flickr.com/photos/zokuga/">Flickr account</a> hit 1,000,000 pageviews this weekend. Two years ago, I bought a Pro account shortly after the above photo of <a href="http://www.flickr.com/photos/zokuga/4204160273/">some punk kid throwing a snowball at me in Times Square</a> was posted on Flickr&#8217;s blog. Since then I set my account to share all of my photos under the Creative Commons Non-commercial license (but I&#8217;ve let anyone who asks use them for free).</p>
<p>My account was on track to have 500K pageviews by October (of this past year) <a href="http://www.flickr.com/photos/zokuga/6189448489/">but then this photo of pilots marching on Wall Street hit Reddit</a>&nbsp;and attracted 150K views all by itself, so then a million total views seemed just around the corner <img src='http://danwin.com/words/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h3>Net Profit</h3>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/4717371102/" title="Mermaid Parade 2010, Coney Island by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/4717371102_245034d5d5_b.jpg" style="width: 100%" alt="Mermaid Parade 2010, Coney Island"></a></p>
<div class="photo-caption"><em>I was paid $120 for this photo, which was used in New York&#8217;s campaign to remind people that they can&#8217;t smoke in Coney Island (or any other public park).</em></div>
</div>
<p><br />
<p>So how much have I gained <strong>monetarily</strong> in these two years of paying for a Flickr Pro account?</p>
<p>Two publications offered a total of $135 for my work. Minus the two years of Pro fees ($25 times 2 years) and that comes to about $80. If I spent at minimum 1 minute to shoot, edit, process, and upload each of my ~3,100 photos, I made a rate of $1.50/hour for my work.</p>
<p>Of course, I&#8217;ve spent much more time than one minute per photo. And I&#8217;ve taken far more than 3,100 photos (I probably have 15 to 20 times as many stored on my backup drives). And of course, thousands of dollars for my photo equipment, including repairs and replacements. So:</p>
<ul>
<li style="color:green;">+ $135 from publications</li>
<li style="color:red;">- $50 for Flickr Pro fees</li>
<li style="color:red;">- $8,000 (and change) for Canon 5D Mark 2, Canon S90, lenses, repairs from constant use in the rain/snow/etc. </li>
</ul>
<p>So doing the math&#8230;I&#8217;m several thousands of dollars in the hole.</p>
<h3>Gains</h3>
<p>Monetarily, my photography is a large loss for me. I&#8217;m lucky enough to have a job (and, for better or worse, no car or mortgage and few other hobbies to pay for) to subsidize it. So why do I keep doing it and, in general, giving away my work for free?</p>
<p>Well, there is always the promise of <em>potential gain</em>:
	</p>
<ul>
<li>I made a $1,000 (mostly to cover expenses) to shoot a friend&#8217;s wedding because his fiance liked the work I posted on my Facebook account&#8230;but weddings are so much work that I&#8217;ve decided to avoid shooting them if I can help it.</li>
<li>I&#8217;ve also taken photos for my job at ProPublica, <a href="http://tumblr.eyeheartnewyork.com/post/13795809332/over-the-weekend-my-propublica-colleagues" title="Eye Heart New York">including this portrait for a story that was published in the Washington Post</a>. I&#8217;m not employed specifically to take photos, but it&#8217;s nice to be able to do it on office time.
		</li>
<li>I also now have a large cache of stock photos to use for the random sites I build. For example, I used the Times Square snowball photo to <a href="http://ruby.bastardsbook.com/chapters/image-manipulation/" title="Image Manipulation | The Bastards Book of Ruby">illustrate a programming lesson on image manipulation and face-recognition technology</a>.</li>
<li>Even if my photos were up to professional par, I&#8217;m not the type to declare (in person) to others, &#8220;Hey, one of my hobbies is photography. Look at these pictures I took.&#8221; Flickr/Facebook/Tumblr is a nice passive-humblebrag way to show this side passion to others. And I&#8217;ve made a few good friends and new opportunities because of the visibility of my work.</li>
</ul>
<p>In the scheme of things, a million pageviews is not a lot for two years&#8230;A photo might get that in a few days if it&#8217;s a popular enough meme. And pageviews have only a slight correlation to actual artistic merit (neither the above snowball or pilot photos are my favorite of the series). But it&#8217;s amazing and humbling to think that &ndash; if the average visitor who stumbles on my account might look at 4 photos &ndash;  something I&#8217;ve done as a hobby might have reached nearly a quarter million people (not counting the times when sites take advantage of the CC-licensing and reprint my photos).</p>
<p>Having any kind of audience, no matter how casual, is necessary to practice improve my art if I were to ever try to become a paid professional photographer. So that&#8217;s one important way that I&#8217;m getting something from my online publishing.</p>
<h3>Photos are as free as the photographer wants them to be</h3>
<p>My personal milestone coincidently comes after the posting of two highly-linked-to articles on the costs of a photo: 	<a href="http://www.petapixel.com/2012/01/10/this-photograph-is-not-free/" title="This Photograph Is Not Free">This Photograph is Not Free</a> by John Mueller and <a href="http://standblog.org/blog/post/2012/01/11/This-photograph-is-free" title="This photograph is free - Standblog">This Photograph is Free</a> by Tristan Nitot. They both make good points (Mueller&#8217;s response to Nitot is nuanced and deserves <a href="http://standblog.org/blog/post/2012/01/11/This-photograph-is-free#c14363" title="This photograph is free - Standblog">to also be considered</a>).
</p>
<p>Mueller and Nitot aren&#8217;t necessarily at odds at each other so there&#8217;s not much for me to add. Photos <em>are</em> worth good money. To cater to a client, to buy the (extra) professional equipment, to spend more time in editing and post-processing (besides cropping, color-correction and contrast, I don&#8217;t do much else to my photos), to take more time to <em>be there</em> at an assignment &ndash; this is all most definitely worth charging for.</p>
<p>And that is precisely why I don&#8217;t put the effort into marketing or selling mine.  The money isn&#8217;t worth taking that amount of time and energy from what I currently consider my main work and passion. However, what I&#8217;ve gotten so far from my photography &ndash; the extra incentive to explore the great city I live in, the countless friends and memories, and of course, the photos to look back on and reuse for whatever I want &ndash; the $8,000 deficit is <em>easily</em> covered by that. Having the option to easily share my photos to (hopefully) inspire and entertain others is icing.</p>
<p>&#8212;</p>
<p><em>One more side-benefit of using a public publishing system like Flickr: I couldn&#8217;t devise a better way to organize and browse my own work with minimal effort. And I&#8217;m often rediscovering what I considered to be throwaway photos because others find them interesting.</em></p>
<p><em>Here are a few other photos I&#8217;ve taken over the years that were either frequently-viewed or considered &#8220;interesting&#8221; by Flickr&#8217;s bizarre algorithm:</em></p>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5296126260/" title="Jumping for joy during New York blizzard, Times Square by Dan Nguyen @ New York City, on Flickr"><img src="http://farm6.staticflickr.com/5245/5296126260_41cbf53c15_b.jpg" style="width: 100%" alt="Jumping for joy during New York blizzard, Times Square"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/4781290634/" title="The Cat is the Hat by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/4781290634_e0568b07dd_b.jpg" style="width: 100%" alt="The Cat is the Hat"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/6332798259/" title="Sunset over Battery Park and Statue of Liberty by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/6332798259_182f326c5b_b.jpg" style="width: 100%" alt="Sunset over Battery Park and Statue of Liberty"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/6190179809/" title="Woman in white, pilots by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/6190179809_4a8759df93_b.jpg" style="width: 100%" alt="Woman in white, pilots"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5296157798/" title="Pushing a Taxi - New York Blizzard Snowstorm Thundersnow Blaaaaagh by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5296157798_0c750687b8_b.jpg" style="width: 100%" alt="Pushing a Taxi - New York Blizzard Snowstorm Thundersnow Blaaaaagh"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5817408342/" title="Lightning strikes the Empire State Building by Dan Nguyen @ New York City, on Flickr"><img src="http://farm6.staticflickr.com/5062/5817408342_464c5be58e_b.jpg" style="width: 100%" alt="Lightning strikes the Empire State Building"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5134407561/" title="Brooklyn Bridge photographer-tourist, Photo of by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5134407561_301ea7c9bb_b.jpg" style="width: 100%" alt="Brooklyn Bridge photographer-tourist, Photo of"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/6229218718/" title="Atrium, Museum of Natural History by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/6229218718_f2eaef969a_b.jpg" style="width: 100%" alt="Atrium, Museum of Natural History"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/4208025424/" title="Union Square Show by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/4208025424_6907c1c8d7_b.jpg" style="width: 100%" alt="Union Square Show"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/6118694619/" title="Casting Couch (#NYFW Spring 2012) by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/6118694619_631abb75bd_b.jpg" style="width: 100%" alt="Casting Couch (#NYFW Spring 2012)"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5197527078/" title="Williamsburg: Beautiful dogs by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5197527078_cb8d122b74_b.jpg" style="width: 100%" alt="Williamsburg: Beautiful dogs"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5348405624/" title="New York Snow Blizzard 2011, Lone Man on the Brooklyn Bridge by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5348405624_dc1d319ef4_b.jpg" style="width: 100%" alt="New York Snow Blizzard 2011, Lone Man on the Brooklyn Bridge"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5678699217/" title="Ground Zero NY celebrates news of Osama bin Laden's death by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5678699217_0acb6a6a3d_b.jpg" style="width: 100%" alt="Ground Zero NY celebrates news of Osama bin Laden's death"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/5443790318/" title="Grand Central Moncler NYFW Flash Mob Dancin by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/5443790318_aeb68e7e27_b.jpg" style="width: 100%" alt="Grand Central Moncler NYFW Flash Mob Dancin"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/6262856392/" title="Broadway Rainstorm by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/6262856392_f3f01d9a53_b.jpg" style="width: 100%" alt="Broadway Rainstorm"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/3911279956/" title="Towers of Light 9/11 by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/3911279956_e23bd049e1_b.jpg" style="width: 100%" alt="Towers of Light 9/11"></a></div>
<div class="photo"><a href="http://www.flickr.com/photos/zokuga/3714908037/" title="Manhattanhenge from a Taxi by Dan Nguyen @ New York City, on Flickr"><img src="http://danwin-files.s3.amazonaws.com/pics/blog/3714908037_d81e97d0d1_b.jpg" style="width: 100%" alt="Manhattanhenge from a Taxi"></a></div>
<p><a name="flickrpageviews"></a></p>
<p><strong>A few more observations on Flickr pageviews: </strong> It&#8217;s hard to say if 1,000,000 page views is a lot especially considering the number of photos I have uploaded in total. Before the <a href="http://www.flickr.com/photos/zokuga/6189448489/" title="United/Continental pilots march on Wall Street | Flickr - Photo Sharing!">pilots on Wall Street photo</a>, I averaged about 200-500 pageviews a day. After that, I put more effort into maintaining my account and regularly uploading photos. Now on a given day, if I don&#8217;t upload anything particularly interesting the account averages about 1,500 views.</p>
<p>Search engines bring very little traffic. So other than what (lack of) interest my photos have for the general Internet, I think my upload-and-forget mindset towards my account also limits my pageviews. I have a good friend on Flickr who gets far fewer pageviews but gets far more comments than I do. I rarely comment on my contacts&#8217; photos and barely participate in the various groups.</p>
<p>I&#8217;m disconnected enough from the Flickr social scene that I only have a very vague understanding of how its <a href="http://www.flickr.com/explore/" title="Flickr: Explore!">Explore section works</a>. Besides the blog, the <a href="http://www.flickr.com/explore/" title="Flickr: Explore!">Explore collection</a> is the best way to get seen on Flickr. It features &#8220;interesting&#8221; photos as determined by an algorithm that, as best I can tell, is affected by some kind of in-group metric.</p>
<p>I&#8217;ve only had three photos make it to Explore: the <a href="http://www.flickr.com/photos/zokuga/4204160273/" title="Snowball fight in Times Square, Manhattan, New York | Flickr - Photo Sharing!">snowball fight in Times Square</a>, the <a href="http://www.flickr.com/photos/zokuga/5817408342/" title="Lightning strikes the Empire State Building | Flickr - Photo Sharing!">lightning hitting the Empire State Building</a>, and this one where my subway train got stuck <a href="http://www.flickr.com/photos/zokuga/6026431606/" title="Abandoning the R subway train | Flickr - Photo Sharing!">and we had to walk out the tunnel</a>. The <a href="http://www.flickr.com/photos/zokuga/6189448489/" title="United/Continental pilots march on Wall Street | Flickr - Photo Sharing!">pilots photo</a> did not make it to Explore, so I&#8217;m guessing that amount of traffic (particularly if a huge portion of it comes from one link on Reddit) is not necessarily a prime factor to getting noticed by Flickr&#8217;s algorithm.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/a-million-pageviews-thousands-of-dollars-poorer-and-still-countlessly-richer/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>SOPA Opera now on ProPublica</title>
		<link>http://danwin.com/2012/01/sopa-opera-now-on-propublica/</link>
		<comments>http://danwin.com/2012/01/sopa-opera-now-on-propublica/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 21:53:25 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1830</guid>
		<description><![CDATA[Moved my SOPAopera.org site over to my employer&#8217;s home, ProPublica: http://projects.propublica.org/sopa It&#8217;s the same data, just with a facelift and respectable color scheme:]]></description>
			<content:encoded><![CDATA[<p>Moved my SOPAopera.org site over to my employer&#8217;s home, ProPublica: <a href="http://projects.propublica.org/sopa">http://projects.propublica.org/sopa</a></p>
<p>It&#8217;s the same data, just with a facelift and respectable color scheme:</p>
<p><a href="http://danwin.com/2012/01/sopa-opera-now-on-propublica/sopa-comparison/" rel="attachment wp-att-1831"><img src="http://danwin.com/words/wp-content/uploads/2012/01/sopa-comparison-640x800.jpg" alt="" title="sopa-comparison" width="640" height="800" class="aligncenter size-large wp-image-1831" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/sopa-opera-now-on-propublica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New York in 2011, the photo version</title>
		<link>http://danwin.com/2012/01/new-york-in-2011-the-photo-version/</link>
		<comments>http://danwin.com/2012/01/new-york-in-2011-the-photo-version/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:14:27 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[visuals]]></category>
		<category><![CDATA[look-back]]></category>
		<category><![CDATA[manhattan]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[NYC]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1827</guid>
		<description><![CDATA[A little late on this but I posted a few photos I took in NYC this year over at my Tumblr, Eye Heart New York. This year seemed like my most sheltered, uncreative year yet&#8230;even so, according to Flickr&#8217;s count,&#8230; <a href="http://danwin.com/2012/01/new-york-in-2011-the-photo-version/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A little late on this but I posted a few photos I took in NYC this year over at my Tumblr, <a href="http://tumblr.eyeheartnewyork.com/post/15721068963/new-york-2011-in-photos">Eye Heart New York</a>.</p>
<p>This year seemed like my most sheltered, uncreative year yet&#8230;even so, according to Flickr&#8217;s count, 3/4 of the 3,000+ photos I&#8217;ve uploaded in total took place in 2011. I guess when so much just happens next to me (basically, OccupyWallStreet camping out a few blocks away) it&#8217;s hard not to snap a few pics. I almost broke the million views mark (for the two years that I&#8217;ve been on Flickr) and one of my photos finally made it on someone&#8217;s dining room wall, so not too bad a year no matter what it felt.</p>
<p>Here&#8217;s a few of the photos; visit <a href="http://tumblr.eyeheartnewyork.com/post/15721068963/new-york-2011-in-photos">Eye Heart New York</a> for the rest:</p>
<p><a href="http://www.flickr.com/photos/zokuga/6087331415/" title="Pre-Hurricane Irene: Naked Cowboy by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="Pre-Hurricane Irene: Naked Cowboy" src="http://danwin-files.s3.amazonaws.com/pics/blog/6087331415_5558295d45_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/6135299110/" title="WTC, eve of 9/11/2011 by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="WTC, eve of 9/11/2011" src="http://danwin-files.s3.amazonaws.com/pics/blog/6135299110_17ebed0c76_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/6119759490/" title="Casting Call, New York Fashion Week Spring 2012 by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="Casting Call, New York Fashion Week Spring 2012" src="http://danwin-files.s3.amazonaws.com/pics/blog/6119759490_1ba819288e_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/5817408342/" title="Lightning strikes the Empire State Building by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="Lightning strikes the Empire State Building" src="http://danwin-files.s3.amazonaws.com/pics/blog/5817408342_464c5be58e_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/6262309617/" title="OccupyWallSt, day of canceled city cleaning by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="OccupyWallSt, day of canceled city cleaning" src="http://danwin-files.s3.amazonaws.com/pics/blog/6262309617_6ce62a7495_b.jpg" /></a> <a href="http://www.flickr.com/photos/zokuga/6250310698/" title="Sit-in, jazz hands! OccupyWallStreet goes to occupy Times Square, 10/15/2011 by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="Sit-in, jazz hands! OccupyWallStreet goes to occupy Times Square, 10/15/2011" src="http://danwin-files.s3.amazonaws.com/pics/blog/6250310698_79eac57603_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/5814545609/" title="High Line Park, Art Installation, Section 2 by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="High Line Park, Art Installation, Section 2" src="http://danwin-files.s3.amazonaws.com/pics/blog/5814545609_bf141feb86_b.jpg" /></a></p>
<p><a href="http://www.flickr.com/photos/zokuga/6293989844/" title="New Museum slide! by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="New Museum slide!" src="http://danwin-files.s3.amazonaws.com/pics/blog/6293989844_c9249e6fec_b.jpg" /></a></p>
<p>See the rest at <a href="http://tumblr.eyeheartnewyork.com/post/15721068963/new-york-2011-in-photos">Eye Heart New York</a></p>
<p><a href="http://www.flickr.com/photos/zokuga/6189448489/" title="United/Continental pilots march on Wall Street by Dan Nguyen @ New York City, on Flickr"><img style="width:100%" alt="United/Continental pilots march on Wall Street" src="http://danwin-files.s3.amazonaws.com/pics/blog/6189448489_807e583563_b.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/new-york-in-2011-the-photo-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The SOPA Debate and How It&#8217;s Affected by Congress&#8217;s Understanding of Child Porn</title>
		<link>http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/</link>
		<comments>http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:30:57 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[thoughts]]></category>
		<category><![CDATA[congress]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[PIPA]]></category>
		<category><![CDATA[PROTECT-IP]]></category>
		<category><![CDATA[SOPA]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1810</guid>
		<description><![CDATA[Update (1/22/2012): SOPA was indefinitely postponed by Rep. Lamar Smith on Friday (PIPA is likewise stalled). Rep. Smith also has another Internet rights bill on deck though: the The Protecting Children from Internet Pornographers Act of 2011, which mandates that&#8230; <a href="http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div><iframe width="640" height="360" src="http://www.youtube.com/embed/Kf5J1c6ArGo?rel=0" frameborder="0" allowfullscreen></iframe></div>
<p><div id="attachment_1858" class="wp-caption alignright" style="width: 210px"><img src="http://danwin.com/words/wp-content/uploads/2012/01/lamar-smithS000583-f96397b3c91b90c3900d2e419d5b236f.jpg" alt="Rep. Lamar Smith, chairman of the House Judiciary Committee and SOPA sponsor" title="lamar-smithS000583-f96397b3c91b90c3900d2e419d5b236f" width="200" height="250" class="size-full wp-image-1858" /><p class="wp-caption-text">Rep. Lamar Smith, chairman of the House Judiciary Committee and SOPA sponsor</p></div>
<p><b>Update (1/22/2012):</b><em> SOPA was indefinitely postponed by Rep. Lamar Smith on Friday (PIPA is likewise stalled). Rep. Smith also has another Internet rights bill on deck though: the <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:h.r.1981:" title="Bill Summary &#038; Status  -  112th Congress (2011 - 2012)  - H.R.1981 - THOMAS (Library of Congress)">The Protecting Children from Internet Pornographers Act of 2011</a>, which mandates that <a href="http://www.cbo.gov/ftpdocs/124xx/doc12476/hr1981.pdf">Internet services store customer data for up to 18 months</a> to make it easier for law enforcement to investigate them for child porn trafficking. This proposed bill is discussed in the latter half of this post, including how its level of support is similar (and different) than SOPA&#8217;s.</em></p>
<p><em>H.R. 1981 has made it farther than SOPA did. It made it out of the Judiciary Committee (which is chaired by Rep. Lamar Smith and also handled SOPA) with a <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR01981:@@@L&#038;summ2=m&#038;">19-10 vote in July</a> of last year and is placed on the Union Calendar. Compare <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR01981:@@@L&#038;summ2=m&#038;">HR.1981&#8242;s progress</a> compared to <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR03261:@@@X">SOPA&#8217;s</a>). H.R. 1981 has <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR01981:@@@P">39 cosponsors</a>, compared to SOPA&#8217;s <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR03261:@@@P">original 31</a>. Read the <a href="http://thomas.loc.gov/cgi-bin/query/z?c112:H.R.1981:">text of HR 1981</a>.</em></p>
<p>One thing I&#8217;ve learned from the whole SOPA affair is how obscure our lawmaking process is even in this digital age. The <a href="http://sopaopera.org/" title="Who in Congress Supports SOPA and PROTECT-IP? | SOPA Opera">SOPA Opera</a> site I put up doesn&#8217;t do anything but display publicly available information: which legislators support/oppose SOPA and why. But it still got a strong reaction from users, possibly because they misunderstand our government&#8217;s general grasp of technology issues.</p>
<p><div id="attachment_1821" class="wp-caption alignleft" style="width: 210px"><a href="http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/f000457-2/" rel="attachment wp-att-1821"><img src="http://danwin.com/words/wp-content/uploads/2012/01/F0004571.jpg" alt="Sen. Al Franken" title="Sen. Al Franken" width="200" height="250" class="size-full wp-image-1821" /></a><p class="wp-caption-text">Sen. Al Franken is one of the co-sponsors for PROTECT-IP, the Senate&#039;s version of SOPA</p></div>
<p>The most common refrain I saw was: &#8220;I cannot believe that Rep/Senator [<em>insert name</em>] is for SOPA! [<em>insert optional expletive</em>].&#8221; In particular, &#8220;<a href="http://sopaopera.org/F000457/" title="Al Franken's Position on PROTECT-IP | Who in Congress Supports SOPA and PROTECT-IP? | SOPA Opera">Al Franken</a>&#8221; was a frequently invoked name because his fervent advocacy on net neutrality seemed to make the Minnesota senator, in many of his supporters&#8217; opinions, an obvious enemy of SOPA. In fact, one emailer accused me of being out to slander Franken, even though the official record shows that Franken has <a href="http://www.opencongress.org/contact_congress_letters/7525-H-R-3261-Stop-Online-Piracy-Act">spoken strongly for PROTECT-IP</a> (the Senate version of SOPA) and even <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:SN00968:@@@P" title="Bill Summary &#038; Status  -  112th Congress (2011 - 2012)  - S.968 - Cosponsors - THOMAS (Library of Congress)">co-sponsored it</a>.</p>
<p>So there&#8217;s been a fair amount of confusion as to what mindset is responsible for SOPA. Since party lines can&#8217;t be used to determine the rightness/wrongess of SOPA, fingers have been pointed at the money trail: SOPA&#8217;s <a href="http://tech.fortune.cnn.com/2011/12/21/sopa-supporters-are-cashing-the-medias-checks/" title="SOPA supporters are cashing the media's checks - Fortune Tech">proponents reportedly receive far more money</a> from media/entertainment-affiliated donors than they do from the tech industry. The opposite trend exists for the opponents.</p>
<p>It&#8217;s impossible of course to know exactly what&#8217;s in the our legislators&#8217; minds. But a key moment during the <a href="http://judiciary.house.gov/hearings/hear_11162011.html" title="Hearing on: H.R. 3261, the &quot;Stop Online Piracy Act&quot;">Nov. 16 House Judiciary hearing on SOPA</a> suggest that <strong>their opinions may be rooted less in malice/greed </strong>(if you&#8217;re of the anti-SOPA persuasion) <strong>than in something far more prosaic: their level of technological comprehension.</strong></p>
<p>You can watch the entire, incredibly-inconvenient-to-access webcast at the <a href="http://judiciary.house.gov/hearings/hear_11162011.html" title="Hearing on: H.R. 3261, the &quot;Stop Online Piracy Act&quot;">House Judiciary&#8217;s hearing page</a>. I&#8217;ve <a href="http://www.youtube.com/watch?v=Kf5J1c6ArGo&amp;context=C3a6a867ADOEgsToPDskKSKXHBLoA7sHiFtm33q9wC" title="SOPA (HR3261) House Judiciary Hearing, Rep. Tom Marino and Katherine Oyama, 11-16-2011 - YouTube">excerpted a specific clip</a> in which <a href="http://sopaopera.org/M001179/" title="Tom Marino's Position on SOPA | Who in Congress Supports SOPA and PROTECT-IP? | SOPA Opera">Rep. Tom Marino</a> (R-PA) is asking Katherine Oyama (Google&#8217;s copyright lawyer) about <a href="http://www.youtube.com/watch?v=Kf5J1c6ArGo&amp;context=C3a6a867ADOEgsToPDskKSKXHBLoA7sHiFtm33q9wC" title="SOPA (HR3261) House Judiciary Hearing, Rep. Tom Marino and Katherine Oyama, 11-16-2011 - YouTube">why Google can stop child porn but not online piracy</a>:</p>
<blockquote>
<p>REP. MARINO: I want to thank Google for what it did for child pornography &ndash; getting it off the website. I was a prosecutor for 18 years and I find it commendable and I put those people away. <strong>So if you can do that with child pornography, why can you not do it [with] these rogue websites [<em>The Pirate Bay, et al.</em>]? Why not hire some whiz kids out of college to come in and monitor this and work for the company to take these off? </strong>
</p>
<p>My daughter who is 16 and my son who is 12, we love to get on the Internet and we download music and we pay for it. And I get to a site and I say this is a new one, this is good, we can get some music here. And my daughter says Dad, don&#8217;t go near that one. It&#8217;s illegal, it&#8217;s free, and given the fact that you&#8217;re on Judiciary, I don&#8217;t think you should be doing that&#8230;Maybe we need to hire her [laugh]&#8230;but, why not?</p>
<p><br /></p>
<p>OYAMA: The two problems are similar in that they&#8217;re both very serious problems they&#8217;re both things that we all should be working to fighting against. But they&#8217;re very different in how you go about combatting it. <strong>So for child porn, we are able to design a machine that is able to detect child porn</strong>. You can detect certain colors that would show up in pornography, you can detect flesh tones. You can have manual review, where someone would look at the content and they would say this is child porn and this shouldn&#8217;t appear.</p>
<p><strong>We can&#8217;t do that for copyright just on our own. Because any video, any clip of content, it&#8217;s going to appear to the user to be the same thing.</strong> So you need to know from the rights holder&#8230;have you licensed it, have you authorized it, or is this infringement?&#8221;
</p>
<p><br /></p>
<p>REP. MARINO: I only have a limited amount of time here and I appreciate your answer. But we have the technology, Google has the technology, we have the brainpower in this country, we certainly can figure it out.</p>
</blockquote>
<p>The subject of child pornography is so awful that it&#8217;s little wonder that no one really thinks about how it&#8217;s actually detected and stopped. As it turns out, it&#8217;s not at all complicated.
</p>
<p>When I was a college reporter, I had the idea to drive down to the county district attorney&#8217;s office and go through all the search warrants. Search warrants become part of the public record, but district attorneys can seal them if police worry that details in an affidavit or search warrant would jeopardize an investigation. I wanted to count how many times this was done at the county DA, because some major cases had been sealed for months. And I wondered if the DA was too overzealous in keeping private what should be the people&#8217;s business.
</p>
<p>But there were plenty of big cases among the unsealed warrants. I went to college in a small town but there was a bizarre, seemingly constant stream of students being charged with child porn possession. Either college students were becoming particularly perverse or the campus police happened to be crack cyber-sleuths in rooting out the purveyors.
</p>
<p>I don&#8217;t know about the former, but I learned that the police were not particularly skilled at hacking, based on their notes in the search warrants. In fact, finding the suspects was comically easy because of the unique setup of our college network. Everyone in the dorms had an ethernet hookup but there was no Google, Napster or BitTorrent at the time. So one of the students built a search engine that allowed any student to search the shared files of every other student. And since Windows apparently made this file sharing a default (and at the time, 90+ percent of students&#8217; computers were PCs), the student population had inadvertent access to a huge breadth of files, including MP3s and copied movies and even homework papers.
</p>
<p>So to find out if anyone had child porn, the police could just log onto the search engine and type in the appropriate search terms. But the police didn&#8217;t even have to do this. Other students would stumble upon someone&#8217;s porn collection (you had the option of exploring anyone&#8217;s entire shared folder, not just files that came up on the search) and report it. The filenames were all the sickening indication needed to suspect someone of possession.
</p>
<p><a href="http://www.youtube.com/watch?v=Kf5J1c6ArGo&amp;context=C3a6a867ADOEgsToPDskKSKXHBLoA7sHiFtm33q9wC" title="SOPA (HR3261) House Judiciary Hearing, Rep. Tom Marino and Katherine Oyama, 11-16-2011 - YouTube">Google&#8217;s Oyama</a> alludes to more technically sophisticated ways of detecting it, but the concept is just as simple as it was at my college: no matter how it&#8217;s found, child pornography is easy to categorize as child porn because of its visual characteristics, whether it&#8217;s the filename or the images itself. In fact, it&#8217;s not even necessary for a human to view a suspected file to know (within a high mathematical probability) that it contains the purported illegal content.
	</p>
<p>
	If you&#8217;ve ever used <a href="http://www.shazam.com/" title="Shazam">Shazam</a> or any of the other song-recognition services, you&#8217;ve put this concept into practice. When you hold up a phone to identify a song playing over the bar&#8217;s speakers, it&#8217;s not as if your phone dials up one of Shazam&#8217;s resident music experts who then responds with her guess of the song. The Shazam app looks for certain high points (as well as their spacing, i.e. the song&#8217;s <em>rhythm</em>) to generate a &#8220;fingerprint&#8221; of the song, <a href="http://www.slate.com/articles/technology/technology/2009/10/that_tune_named.html" title="How does the music-identifying app Shazam work its magic? - Slate Magazine">and then compares it against Shazam&#8217;s master database of song &#8220;fingerprints&#8221;</a>.</p>
<p> No human actually has to &#8220;listen&#8221; to the song. This is not a new technological concept; it&#8217;s as old as, well, the fingerprint database used by law enforcement.
</p>
<p>So what Rep. Marino essentially wants is for Google to build a Shazam-like service that doesn&#8217;t just identify a song by &#8220;listening&#8221; to it, but also determines if whoever playing that song has the legal right to do so. Thus, this anti-pirate-Shazam would have to determine from the <em>musical signature of a song</em> such things as whether it came from an iTunes or Amazon MP3 or a CD. And not only that, it would have to determine whether or not the MP3 or CD is a <strong>legal or illegal copy</strong>. </p>
<p>In a more physical sense, this is like detecting a machine that can determine from a photograph of your handbag whether it&#8217;s a cheap knockoff <strong>and whether or not you actually own that bag</strong> &ndash; as opposed to having stolen it, or having bought it from someone who did steal it.</p>
<p>
I&#8217;m not a particularly skilled engineer but I can&#8217;t fathom how this would be done and neither can Google, apparently. But Rep. Marino and at least a few others on the House Judiciary committee have more faith in Google&#8217;s technical prowess and they don&#8217;t believe that Google is doing enough.
</p>
<p><strong>And frankly, I can&#8217;t blame them</strong>.</p>
<p>From their apparently non-technical vantage point, what they see is that Google is an <strong>amazing company</strong> who seems to have no limit in its capabilities. It can instantly scour billions of webpages. It can plot in seconds the driving route from <a href="http://g.co/maps/a8yhm" title="Des Moines, IA to Oaxaca, Mexico - Google Maps">Des Moines ot Oaxaca, Mexico</a>. And at some point, <a href="http://news.discovery.com/autos/how-google-self-driving-car-works-111018.html" title="How Google's Self-Driving Car Works  : Discovery News">might even make a car that drives that route all by itself</a>.
</p>
<p>And Google has demonstrated the power to stop evil acts, because it has effectively prevented the spread of child porn in its search engine and other networks. Child porn is a terrible evil; software/media piracy less so. It stands to reason &ndash; in a non-technical person&#8217;s thinking &ndash; that anyone who can stop a great evil must surely be able to stop a lesser evil.</p>
<p>And so, to continue this line of reasoning, if Google doesn&#8217;t stop a lesser evil such as illegal MP3 distribution, then it must be <strong>because it doesn&#8217;t care enough</strong>.  Or, <a href="http://thehill.com/blogs/congress-blog/technology/199385-setting-the-record-straight-on-sopa" title="Setting the record straight on SOPA - The Hill's Congress Blog">as some House members noted</a>, Google is loathe to take action because it makes money off of sites that trade in ill-gotten intellectual property.
</p>
<p>So you can see how one&#8217;s position on SOPA may be inspired not as much out of devotion to an industry but more from a particular (or lack thereof) understanding of the technological tradeoffs and hurdles. </p>
<p>Rep. Marino et. all sees this as something within the realm of technological possibility for Google&#8217;s wizards, if only they had some legal incentive. Google and other SOPA opponents see that the problem that SOPA ostensibly tackles is not one that can be solved with any amount of technological expertise. Thus, each side can be as anti-online-piracy/pro-intellectual-property as the other and yet fight fiercely over SOPA.</p>
<h3>Smith&#8217;s anti-child porn, database-building bill</h3>
<p>Though SOPA has taken the spotlight, there is another Internet-related bill on the House Judiciary&#8217;s agenda. It&#8217;s H.R. 1981, a.k.a <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:h.r.1981:" title="Bill Summary &#038; Status  -  112th Congress (2011 - 2012)  - H.R.1981 - THOMAS (Library of Congress)">The Protecting Children from Internet Pornographers Act of 2011</a>, which proposed a mandate that Internet sites keep track of their users IP information for up to 18 months, to make <a href="http://judiciary.house.gov/news/Statement%20HR%201981.html" title="Statement of Judiciary Committee Chairman Lamar Smith">it easier to investigate Internet crimes</a> &ndash; such as downloading child pornography.</p>
<p>H.R. 1981 was introduced by House Judiciary Chairman Rep. Lamar Smith (R-Tex.) who is, of course, the legislator who introduced SOPA. And like SOPA, the support for H.R. 1981 is non-partisan because child pornography is neither a Republican or Democratic cause.</p>
<p>And also like SOPA, the <em>opposition</em> to H.R. 1981 is along non-partisan lines. Among the most vocal opponents to the child porn bill is the Judiciary committee&#8217;s ranking member Rep. John Conyers (D-MI). Is it because he is in the pocket of the child porn lobby? No; Conyers argues that even though child porn is bad, H.R. 1981 <a href="http://news.cnet.com/8301-31921_3-20084939-281/house-panel-approves-broadened-isp-snooping-bill/" title="House panel approves broadened ISP snooping bill | Privacy Inc. - CNET News">relies on using technology in a way that is neither practical nor ethical. From CNET</a>:</p>
<blockquote><p>The bill is mislabeled,&#8221; said Rep. John Conyers of Michigan, the senior Democrat on the panel. &#8220;<strong>This is not protecting children from Internet pornography. It&#8217;s creating a database for everybody in this country for a lot of other purposes</strong>.&#8221;</p>
</blockquote>
<p><div id="attachment_1824" class="wp-caption alignleft" style="width: 210px"><a href="http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/c000714/" rel="attachment wp-att-1824"><img src="http://danwin.com/words/wp-content/uploads/2012/01/C000714.jpg" alt="" title="Rep. John Conyers (D-MI)" width="200" height="250" class="size-full wp-image-1824" /></a><p class="wp-caption-text">Rep. John Conyers (D-MI)</p></div>
<p>Rep. Conyers apparently understands that just because a law purports to fight something as evil (and, of course, politically unpopular) as child pornography doesn&#8217;t mean that the law&#8217;s actual implementation will be sound.</p>
<p>So when the wrong-to-be-righted is online piracy &ndash; i.e. SOPA &ndash; what is Conyers&#8217; stance? <a href="http://sopaopera.org/C000714/" title="John Conyers Jr.'s Position on SOPA | Who in Congress Supports SOPA and PROTECT-IP? | SOPA Opera">He is one of its most vocal supporters</a>:</p>
<blockquote>
<p>The Internet has regrettably become a cash-cow for the criminals and organized crime cartels who profit from digital piracy and counterfeit products. Millions of American jobs are at stake because of these crimes.</p>
</blockquote>
<p>Is it because Conyers is in the pocket of big media? Or that he hates the First Amendment? That&#8217;s not an easily apparent conclusion judging from his past votes and legislative history.</p>
<p>It&#8217;s of course possible that Conyers takes this particular stance on SOPA because SOPA, all things considered, happens to be a practical and fair law in the way that H.R. 1981 <em>isn&#8217;t</em>.</p>
<p>But a more cynical viewpoint is that Conyer&#8217;s <em>technological understanding</em> for one bill does not apply to the other. Everyone has been screwed over at some point by a massive, faceless database so it&#8217;s easy to be fearful of online databases &ndash; in fact, the less you know about computers, the more concerned you&#8217;ll be of the misuse of databases. </p>
<p>The technological issues underlying SOPA are arguably far more complex, though, and it&#8217;s not clear &ndash; as <a href="http://www.youtube.com/watch?v=Kf5J1c6ArGo&amp;context=C3a6a867ADOEgsToPDskKSKXHBLoA7sHiFtm33q9wC" title="SOPA (HR3261) House Judiciary Hearing, Rep. Tom Marino and Katherine Oyama, 11-16-2011 YouTube">evidenced by Rep. Marino&#8217;s line of questioning</a> &ndash; that Congressmembers, <em>whether they support or oppose SOPA</em>, have a full understanding of them.</p>
<p>As it stands though, SOPA had <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR03261:@@@P">31 cosponsors</a> at its heyday. <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:HR01981:@@@P">H.R. 1981 has 39</a>. It will be interesting to see if this bill by Rep. Smith will face any residual backlash after what happened with SOPA.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/the-sopa-debate-and-how-its-affected-by-congresss-understanding-of-child-porn/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>SOPAopera.org &#8211; A hand-made list of SOPA / PROTECT-IP Congressional supporters and opponents</title>
		<link>http://danwin.com/2012/01/sopaopera-org-a-hand-made-list-of-sopa-protect-ip-congressional-supporters-and-opponents/</link>
		<comments>http://danwin.com/2012/01/sopaopera-org-a-hand-made-list-of-sopa-protect-ip-congressional-supporters-and-opponents/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 19:09:42 +0000</pubDate>
		<dc:creator>Dan Nguyen</dc:creator>
				<category><![CDATA[works]]></category>
		<category><![CDATA[SOPA]]></category>

		<guid isPermaLink="false">http://danwin.com/?p=1807</guid>
		<description><![CDATA[I&#8217;ve always been interested in exploring the various online Congressional information sources and the recent SOPA debate seemed like a good time to put some effort in it&#8230;also, I&#8217;ve always wanted to try out the excellent isotope Javascript library. I&#8230; <a href="http://danwin.com/2012/01/sopaopera-org-a-hand-made-list-of-sopa-protect-ip-congressional-supporters-and-opponents/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been interested in exploring the various online Congressional information sources and the recent <a href="http://sopaopera.org/sopa">SOPA debate</a> seemed like a good time to put some effort in it&#8230;also, I&#8217;ve always wanted to try out the excellent <a href="http://isotope.metafizzy.co/">isotope Javascript library</a>.</p>
<p>I had been passively paying attention to the debate and was surprised at how hard it was to find a list of supporters and opponents, given how much it&#8217;s dominated my (admittedly small bubblish) internet communities. </p>
<p>When I set out to compile the list, though, I could see why&#8230;the official government sites don&#8217;t make it easy to find or interpret the information. So <a href="http://sopaopera.org">SOPAopera</a> is my game attempt at putting some basic information about it&#8230;the feedback I&#8217;ve gotten so far indicates that even constituents who have been reading a lot about SOPA/PROTECT-IP are surprised at the level and diversity of support the laws have among Congressmembers.</p>
]]></content:encoded>
			<wfw:commentRss>http://danwin.com/2012/01/sopaopera-org-a-hand-made-list-of-sopa-protect-ip-congressional-supporters-and-opponents/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.810 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-05 22:59:56 -->

