<?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>HCoder.org &#187; Freedom</title>
	<atom:link href="http://hcoder.org/category/freedom/feed/" rel="self" type="application/rss+xml" />
	<link>http://hcoder.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 15 Apr 2012 21:43:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Humans as consumers</title>
		<link>http://hcoder.org/2012/02/04/humans-as-consumers/</link>
		<comments>http://hcoder.org/2012/02/04/humans-as-consumers/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 11:06:44 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Freedom]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[consumerism]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=1253</guid>
		<description><![CDATA[This is something I&#8217;ve been thinking about for months, but took me a while to give it a shape in my mind and put it into words. I&#8217;m not done exploring these ideas, I might write about them again. Edit: forgot to thank Manu for her feedback on a draft of this post. It all started [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is something I&#8217;ve been thinking about for months, but took me a while to give it a shape in my mind and put it into words. I&#8217;m not done exploring these ideas, I might write about them again.</em></p>
<p><em><strong>Edit:</strong> forgot to thank <a href="http://www.manooh.com/">Manu</a> for her feedback on a draft of this post.</em></p>
<p>It all started with a couple of conversations I have had with different people, about different topics. The common denominator was me not doing/buying certain stuff for &#8220;non-consumer reasons&#8221;. Some examples (feel free to skip):</p>
<ul>
<li>Apple. I don&#8217;t buy anything from Apple. The most important reason is that I don&#8217;t believe in a closed software ecosystem controlled by a single company (even if I know it has advantages in the short term). There are other reasons, like them trying to fight the right to jailbreak or them supporting SOPA.</li>
<li>Sony/PlayStation. Although I do own a PlayStation 2, many things that have happened since then made me decide not to buy a PlayStation 3 (yes, there are many PS3 games, some of them exclusive, that make me drool and I&#8217;d love to play them). Partly closed systems, partly Sony fighting users&#8217; rights on court and chasing homebrew developers, partly the draconian terms of the PSN.</li>
<li>Being vegetarian/vegan. I&#8217;m actually <em>not</em> a vegetarian (but I&#8217;m somewhat close; long story), but I understand and support vegetarianism and veganism. I was pretty surprised that one concrete person I talked to about this hadn&#8217;t even thought of it as a form of belief or activism (the person thought vegetarians were, more or less, people who &#8220;don&#8217;t like meat&#8221;).</li>
</ul>
<p>Note that I don&#8217;t claim to be right about these beliefs or about the best/most practical way to support them, but that&#8217;s <em>completely</em> besides the point I&#8217;m trying to make, namely that many people seem pretty surprised by those decisions, as if anything that doesn&#8217;t maximise your short-term &#8220;joy&#8221; or minimise the money spent was <em>irrelevant</em> when spending money. As if it was unthinkable not to be a <a href="http://en.wikipedia.org/wiki/Homo_economicus">Homo economicus</a>. I mean, money has essentially <em>zero</em> influence on your happiness once you have enough to live comfortably. Thus, I fail to see how money should be a deciding factor for close to <em>nothing at all</em> (again, assuming you already have enough to live without <em>worrying</em> about money).</p>
<p>I think of myself, first and foremost, as a human being (with values, morals, empathy, etc), not as a consumer or a money-spender. For me it follows that mainly caring about money and &#8220;consumer values&#8221; is wrong, because that <em>consumer</em> identity I have can never override most of my other identities. Even feeling the need to <em>write</em> about this and <em>explain</em> it is pretty awkward. It seems to be a suspicious position to be in, as if you had to explain that not making &#8220;consumer values&#8221; the centre of your life doesn&#8217;t make you a crazy extremist. Part of this awkwardness is somewhat confirmed by a comment I have heard several times, something along the lines of &#8220;it&#8217;s your loss&#8221;, as if eg. having a PlayStation (as opposed to other consoles, or devoting your time to reading more books or jogging or playing board games or whatever) had to be more important than anything else I might care about.</p>
<p>But this is not just a philosophical question, there are two practical points in all this. The first is that how and where you spend your money matters and lot. Let&#8217;s say there&#8217;s two companies providing the same product. Company A offers it cheaper and uses illegal, poorly paid workers, while company B is more expensive but its workers have normal working conditions (this is of course a simplification for the sake of the argument). When you give your money to company A, you <em>are</em> saying that using illegal workforce with a shitty pay <em>is ok as long as</em> they give you a better price. You <em>are</em> saying than you, deep inside, care more about saving a couple of bucks than about having normal working conditions. Those decisions, <em>our</em> decisions, are what make companies behave in this or that way.</p>
<p>The second practical point is that if one makes all decisions based only on &#8220;consumer values&#8221;, you are defining your path of least resistance. And it&#8217;s big companies and lobby groups that have all the money and resources to make that path of least resistance something that makes <em>you</em> do whatever is in <em>their</em> interest (and possibly <em>against yours</em>, in the long term). And I know it&#8217;s human nature to save energy, be lazy, not think too much about every single thing we do, etc. I do that myself all the time. What kills me is not that people don&#8217;t resist, is that people don&#8217;t seem to see it as a limitation in themselves, but as a weirdness in anyone that tries to.</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=1253&amp;md5=86ecf7f6554ca872cba80e92baac6310" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2012/02/04/humans-as-consumers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2012%2F02%2F04%2Fhumans-as-consumers%2F&amp;language=en_GB&amp;category=text&amp;title=Humans+as+consumers&amp;description=This+is+something+I%26%238217%3Bve+been+thinking+about+for+months%2C+but+took+me+a+while+to+give+it+a+shape+in+my+mind+and+put+it+into+words.+I%26%238217%3Bm+not+done...&amp;tags=consumerism%2Cculture%2Cphilosophy%2Csociety%2Cblog" type="text/html" />
	</item>
		<item>
		<title>LeakFeed and &lt;angular/&gt;</title>
		<link>http://hcoder.org/2011/09/15/angular/</link>
		<comments>http://hcoder.org/2011/09/15/angular/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 20:37:35 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[angular]]></category>
		<category><![CDATA[automated tests]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jasmine]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[tests]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=1128</guid>
		<description><![CDATA[A couple of week ago I discovered LeakFeed, an API to fetch cables from Wikileaks. I immediately thought it would be cool to play a bit with it and create some kind of application. After a couple of failed ideas that didn&#8217;t really take off, I decided to exploit my current enthusiasm for Javascript and [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of week ago I discovered <a href="http://www.leakfeed.com/">LeakFeed</a>, an API to fetch cables from <a href="http://www.wikileaks.org/">Wikileaks</a>. I immediately thought it would be cool to play a bit with it and create some kind of application. After a couple of failed ideas that didn&#8217;t really take off, I decided to exploit my current enthusiasm for Javascript and build something without a server. Other advantages were that I knew <a href="http://angularjs.org/">Angular</a>, an HTML &#8220;power up&#8221; written in Javascript (what else?), which I knew it would ease the whole process a lot, and I even got the chance to learn how to use Twitter&#8217;s excellent <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> HTML and CSS toolkit.</p>
<p>What I decided to build is a very simple interface to search for leaked cables. I called it <a href="http://emanchado.github.com/leakyleaks.html">LeakyLeaks</a> (see the <a href="https://github.com/emanchado/LeakyLeaks">code on GitHub</a>). Unfortunately the LeakFeed API is quite limited, so I had to limit my original idea. However, I think the result is kind of neat, especially considering the little effort. To build it, I started writing support classes and functions using Test-Driven Development with <a href="http://pivotal.github.com/jasmine/">Jasmine</a>. Once I had that basic functionality up and running I started building the interface with Bootstrap and, at that point, integrating the data from LeakFeed with Angular was so easy it&#8217;s almost ridiculous. And as LeakFeed can return the data using JSONP, I didn&#8217;t even need a server: all my application is simply a <em>static</em> HTML file with some Javascript code.</p>
<p>All this get-data-from-somewhere-and-display-it is astonishingly simple in Angular. There&#8217;s this functionality (&#8220;<a href="http://docs.angularjs.org/#!/api/angular.service.$resource">resources</a>&#8220;) to declare sources of external data: you define the URLs and methods to get the data from those resources, and then simply call some methods to fetch the data. E.g.: you can get the list of all tags in LeakFeed from <a href="http://api.leakfeed.com/v1/cables/tags.json">http://api.leakfeed.com/v1/cables/tags.json</a> (adding a GET parameter <code>callback</code> with a function name if you want <a href="http://en.wikipedia.org/wiki/JSONP">JSONP</a>). Similarly, you can get the list of all offices in LeakFeed from <a href="http://api.leakfeed.com/v1/cables/offices.json">http://api.leakfeed.com/v1/cables/offices.json</a>. In Angular, you can declare a resource to get all this information like this:</p>
<pre class="syntax javascript">this.LeakFeedResourceProxy = $resource(
 'http://api.leakfeed.com/v1/cables/:id.json',
 { callback: 'JSON_CALLBACK' },
 { getTags:    {method: 'JSON', isArray: true, params: {id: 'tags'}},
   getOffices: {method: 'JSON', isArray: true, params: {id: 'offices'}}}
);</pre>
<p>Once you have declared it, using it is as simple as calling the appropriate method on the object. That is, you can get the tags by calling <code class="syntax javascript">this.LeakFeedResourceProxy.getTags()</code>, and the offices by calling <code class="syntax javascript">this.LeakFeedResourceProxy.getOffices()</code>. And when I say &#8220;get the tags&#8221;, I mean <em>get a list of Javascript objects</em>: no JSON, text or processing involved. If you assign the result of those functions to any property (say, <code class="syntax javascript">this.availableOffices</code>), you&#8217;ll be able to show that information like so (the <code class="syntax javascript">|officename</code> is a custom filter to show the office names with a special format):</p>
<pre class="syntax html">&lt;select id=&quot;office&quot; name=&quot;office&quot;&gt; \
  &lt;option value=&quot;{{o.name}}&quot;&gt;{{o.display_name|officename}} ({{o.cables}})&lt;/option&gt; \
&lt;/select&gt;</pre>
<p>The cool thing is, thanks to Angular&#8217;s data binding, anytime the value of that variable changes, the representation in the HTML changes, too. That is, if you assign another value to <code class="syntax javascript">this.availableOffices</code> the select box will be automatically updated to have the new set of options! But the data binding is two-way, so any changes you make in the UI also get reflected back in the Javascript variables. This further simplifies many tasks and makes programming with Angular a breeze.<br />
There are other nice things about Angular (and many nice things about Bootstrap and Jasmine of course!), but I think that&#8217;s enough for today :-)</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=1128&amp;md5=15fac2e864cbc672f9ea3fd3b8c15bc4" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2011/09/15/angular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2011%2F09%2F15%2Fangular%2F&amp;language=en_GB&amp;category=text&amp;title=LeakFeed+and+%26lt%3Bangular%2F%26gt%3B&amp;description=A+couple+of+week+ago+I+discovered+LeakFeed%2C+an+API+to+fetch+cables+from+Wikileaks.+I+immediately+thought+it+would+be+cool+to+play+a+bit+with+it+and+create...&amp;tags=angular%2Cautomated+tests%2Cbootstrap%2Ccss%2Chtml%2Cjasmine%2Cjavascript%2Ctdd%2Ctests%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Book Summary: Who are we — and should it matter in the 21st century﻿</title>
		<link>http://hcoder.org/2011/08/25/book-summary-who-are-we-%e2%80%94-and-should-it-matter-in-the-21st-century%ef%bb%bf/</link>
		<comments>http://hcoder.org/2011/08/25/book-summary-who-are-we-%e2%80%94-and-should-it-matter-in-the-21st-century%ef%bb%bf/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 19:42:05 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Book summaries]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[identity]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=1063</guid>
		<description><![CDATA[This is my summary of the book &#8220;Who are we — and should it matter in the 21st century&#8221;, by Gary Younge, about identity and nationalism in a globalised world. This time, instead of following the structure of the book, I&#8217;m going to do something similar to what Josh Kaufman does with his summaries: extract [...]]]></description>
			<content:encoded><![CDATA[<p><span>This is my summary of the book &#8220;Who are we — and should it matter in the 21st century&#8221;, by <a href="http://en.wikipedia.org/wiki/Gary_Younge">Gary Younge</a>, about identity and nationalism in a globalised world. This time, instead of following the structure of the book, I&#8217;m going to do something similar to what <a href="http://personalmba.com/">Josh Kaufman</a> does with his summaries: extract the most important ideas from the book. I think it&#8217;s especially appropriate in this case because most of the book is stories that support the author&#8217;s theories. After the ideas there&#8217;s a selection of quotes taken from the book. I hope you like it.</span></p>
<h2>Ideas</h2>
<ol>
<li><strong>The notion that identity is a refugee for the poor and dispossessed is misguided.</strong> The most chained to identity are often the powerful, because they have the most to lose. They don&#8217;t just call it &#8220;identity&#8221;, they call it &#8220;tradition&#8221;, &#8220;heritage&#8221;, or simply &#8220;history&#8221;. See example of girl whose parents would be disappointed if she married someone from another race or religion (p. 30), and &#8220;Just assume everybody is gay&#8221; theory on p. 38.</li>
<li><strong>Everybody has an identity, but the more power it carries the less likely they&#8217;re aware of it</strong>. Those that have never been asked &#8220;how to you balance childcare and work?&#8221; are less likely to think that their masculinity is anything but the normal state of affairs. Because their identity is never interrogated, they&#8217;re likely to think they don&#8217;t have one. Finally, power seems to have many parents, but the brutality it takes to acquire it is an orphan (those who will claim they didn&#8217;t have anything to do with slavery will proudly attach themselves to events at which they were not present and hail achievements to which they contributed nothing).</li>
<li><strong>Every identity has gatekeepers, official or not</strong>. They decide who belongs and who doesn&#8217;t by ignoring the complexity and enforce the archetype, on what basis and to what end. Official gatekeepers hold great power, for with certain pieces of paper come certain rights. The demanded threshold for entry (which keeps on changing according to the political, social and economic demands of the time, even as they insist they&#8217;re authenticating a timeless truth) is typically higher than the norm for those inside. Example of official gatekeepers for the &#8220;Jewish&#8221; identity, and the difference between Jewish for the Estate, and Jewish for the rabbis, on p. 98.</li>
<li><strong>Identities change over the years</strong>, because they&#8217;re rooted in people&#8217;s lives and aspirations. Occasionally, a single event, such as a terrorist attack, a riot, election, murder or judicial ruling, might appear to change people&#8217;s sense of themselves instantaneously. Examples on p. 131, 132. In order to rally people around a flag and anthem, nationalism must convince people not only that their nation has given them exclusive human qualities but that those are eternal. What masquerades as a return to the ancient roots is the invention of tradition, making a desperate bid to prove that the identity doesn&#8217;t change (by, in fact, changing it).</li>
<li><strong>We all have multiple identities</strong>. But that doesn&#8217;t mean that certain identities don&#8217;t come to the front sometimes, according to the circumstances. Example on p. 146. Failing to understand the existence and importance of multiple identities is not just a philosophical problem. Example of unemployed Bangladeshi being addressed by the British government as Muslims rather than poor people who could be assisted economically.</li>
<li><strong>Minorities attacking/comparing with other minorities is wrong</strong>. Three reasons: (1) it treats identities as interchangeable, when they&#8217;re not (they affect different things and work in different ways), (2) it assumes there&#8217;s a &#8220;league&#8221; of better/worse identities, which is wrong and even dangerous, and (3) putting minorities against each other undermines the potential to form coalitions, necessary to eradicate the discrimination.</li>
<li><strong>Identities are rooted in material conditions</strong>. They confer power and privilege in relation to one another. Example of British Muslims alienated and excluded on p.180-182, and comparison to American Muslims on p. 184. Refusing to acknowledge the root causes for these problems helps no one. That the response is through religion is no surprise either (&#8220;attacked as X, they defend themselves as X&#8221;). When Muslims do bad things, it&#8217;s never about individuals, national customs, or political/economical context. It&#8217;s about Islam.</li>
<li><strong>The question is not whether you draw a line for acceptable and non-acceptable, but who gets to draw it (power) and where they draw it (ideology)</strong>. No process of integration can have much moral meaning without some reckoning with where power lies and how it might be differently distributed. Very interesting analysis of the Danish cartoons on p.189-193 (in summary, &#8220;it was a tale of power, hypocrisy and a crippling lack of self-knowledge&#8221;). Finally, see Sarkozy&#8217;s quote below. About it: if this relationship is going to work, France will also have to become more Islamic. This is only a problem for those who believe that Islam doesn&#8217;t have anything positive to offer France. Otherwise, it is up to them to explain why any self-respecting Muslim would want to integrate in a society that sees his or her faith as incapable of making a valuable contribution.</li>
<li><strong>Globalisation brings identity extremism</strong>. The smaller the world seems and the less control we have over it, the more likely we are to retreat into the local spheres where we might have influence. The reason is that globalisation undermines democracy and the sovereignty of the nation state, which results in a dislocation of power because you don&#8217;t get to vote for corporations. Feeling they live in a world where they don&#8217;t have much control, many resort to the defence of &#8220;culture&#8221;, the one thing people think they have a grip on. Not only nationalism is on the increase, so too is the number of &#8220;nations&#8221; seeking to be recognised. The bigger the EU becomes, the smaller the areas where a strong sense of identity may take hold. Some notes about &#8220;national languages&#8221; on p. 220, 221.</li>
</ol>
<h2>Quotes</h2>
<p><strong>Integration of Islam in European countries</strong></p>
<blockquote><p>Whether I like it or not, Islam is the second biggest religion in France. So you&#8217;ve got to integrate it to make it more French.</p>
<p>—Nicolas Sarkozy</p></blockquote>
<p><strong>Globalisation brings identity extremism</strong></p>
<blockquote><p>What ends as Jihad may well begin as a simple search for a local identity, some set of common personal attributes to hold against the numbing and neutering uniformities of industrial modernization and the colonizing culture of McWorld.</p>
<p>—Benjamin Barber, <em>Jihad vs. McWorld</em></p></blockquote>
<p><strong>The lie of nationalism</strong></p>
<blockquote><p>Nationalism is not the awakening of nations into self-conciousness. It invents nations were they didn&#8217;t exist.</p>
<p>—Ernest Gellner, <em>Thought and Change</em></p></blockquote>
<p><strong>Humans being all mixed</strong></p>
<blockquote><p>Marble cake, crazy quilt and tutti-frutti are all better metaphors of human physical variability than is the x number of races of humankind.</p>
<p>—Roger Sanjek</p></blockquote>
<p><strong>National/minority languages</strong></p>
<blockquote><p>The danger for minority languages —and for all small languages— is to be excluded from a select circle of languages, for which it is commercially viable to develop system of voice recognition or of translation by computer.</p>
<p>—Ned Thomas</p></blockquote>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=1063&amp;md5=57b705754f9c6a771dfd43788ab6eb30" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2011/08/25/book-summary-who-are-we-%e2%80%94-and-should-it-matter-in-the-21st-century%ef%bb%bf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2011%2F08%2F25%2Fbook-summary-who-are-we-%25e2%2580%2594-and-should-it-matter-in-the-21st-century%25ef%25bb%25bf%2F&amp;language=en_GB&amp;category=text&amp;title=Book+Summary%3A+Who+are+we+%E2%80%94+and+should+it+matter+in+the+21st+century%EF%BB%BF&amp;description=This+is+my+summary+of+the+book+%26%238220%3BWho+are+we+%E2%80%94+and+should+it+matter+in+the+21st+century%26%238221%3B%2C+by+Gary+Younge%2C+about+identity+and+nationalism+in+a+globalised+world....&amp;tags=books%2Cculture%2Cidentity%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Humble Indie Bundle #3</title>
		<link>http://hcoder.org/2011/07/31/humble-indie-bundle-3/</link>
		<comments>http://hcoder.org/2011/07/31/humble-indie-bundle-3/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 22:04:34 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=1057</guid>
		<description><![CDATA[I had seen the Humble Indie Bundle before, but it wasn&#8217;t until HIB #3 that I decided to actually buy it. I learned about it through the Electronic Frontier Foundation (who else!), and some of the games looked neat. Of course, all of them have a native version for Linux and there is no DRM [...]]]></description>
			<content:encoded><![CDATA[<p>I had seen the <a href="http://www.humblebundle.com/">Humble Indie Bundle</a> before, but it wasn&#8217;t until HIB #3 that I decided to actually buy it. I learned about it through the Electronic Frontier Foundation (who else!), and some of the games looked neat. Of course, all of them have a native version for Linux and there is no DRM whatsoever. The other two reasons why I bought it: (1) <strong>you set the price</strong>, and (2) you donate part of the price to the <a href="http://eff.org">EFF</a> and/or <a href="http://www.childsplaycharity.org/">Child&#8217;s Play</a> (you decide the exact split).</p>
<p>One of them, unfortunately, doesn&#8217;t actually work on my machine (my video card, or my driver, is too crappy), and one of them I haven&#8217;t even tried because I&#8217;m not that interested. However, &#8220;<a href="http://www.andyetitmoves.net/">And Yet It Moves</a>&#8221; and &#8220;<a href="http://www.crayonphysics.com/">Crayon Physics Deluxe</a>&#8221; are fantastic!</p>
<p>Apart from saying that you should buy them, I wanted to write this blog post to give a solution to a problem I had running Crayon Physics Deluxe. When I tried to run it for the first time, I got this error message:</p>
<pre>Cannot mix incompatible Qt library (version 0x40703) with this library (version 0x1040702)
Aborted</pre>
<p>There seems to be a problem between the Qt I have installed and the copy of the Qt library that comes with the game itself. The solution for me was to simply <strong>rename</strong> the directory <tt>lib32</tt> to something else.</p>
<p>Back to playing&#8230; :-P</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=1057&amp;md5=fe50dd2b8749c0173926396a999333c3" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2011/07/31/humble-indie-bundle-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2011%2F07%2F31%2Fhumble-indie-bundle-3%2F&amp;language=en_GB&amp;category=text&amp;title=Humble+Indie+Bundle+%233&amp;description=I+had+seen+the+Humble+Indie+Bundle+before%2C+but+it+wasn%26%238217%3Bt+until+HIB+%233+that+I+decided+to+actually+buy+it.+I+learned+about+it+through+the+Electronic+Frontier+Foundation...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Facebook privacy scanner (ReclaimPrivacy)</title>
		<link>http://hcoder.org/2010/09/05/facebook-privacy-scanner-reclaimprivacy/</link>
		<comments>http://hcoder.org/2010/09/05/facebook-privacy-scanner-reclaimprivacy/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 12:52:48 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[testability]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=486</guid>
		<description><![CDATA[Summary: there&#8217;s a simple tool that will tell you which Facebook sharing options are &#8220;too open&#8221; in your account. I&#8217;d like you to help me by trying it out and telling me what you think (if you had problems using it, if you would like extra/other information to be shown, if you found any bugs, [...]]]></description>
			<content:encoded><![CDATA[<p><em>Summary: there&#8217;s a simple tool that will tell you which Facebook sharing options are &#8220;too open&#8221; in your account. I&#8217;d like you to <strong>help me</strong> by trying it out and telling me what you think (if you had problems using it, if you would like extra/other information to be shown, if you found any bugs, etc.). Skip to &#8220;how to use it&#8221; below if you&#8217;re not interested in the details for developers. Thanks!</em></p>
<p>Some time ago I discovered a neat Javascript tool called <a href="http://www.reclaimprivacy.org/">ReclaimPrivacy</a>. It was a very simple program that scanned your Facebook privacy settings and told you if you had &#8220;too open&#8221; settings so you could review and fix them. I really liked the tool and thought it was a great idea, but after Facebook changed the layout of the privacy settings, the tool stopped working.</p>
<p>Weeks passed and the tool didn&#8217;t get any update, so I decided to step in and try to help the original programmer adapt the tool so it worked again. The <a href="http://github.com/mjpizz/reclaimprivacy">ReclaimPrivacy code</a> is in GitHub so it was pretty easy to make <a href="http://github.com/emanchado/reclaimprivacy">my own fork</a> and start hacking away. It didn&#8217;t take me long to adapt the first things to the new privacy settings layout, and after some more time I was much more comfortable with the code, had made more things work, added tests and even added new features. Now that it&#8217;s <em>starting</em> to get close to something we could release as the new official ReclaimPrivacy version, I&#8217;d like your feedback.</p>
<p><strong>How to use it</strong>: add a new bookmark for <a href="javascript:(function(){var%20script=document.createElement('script');script.src='http://hcoder.org/wp-content/uploads/2010/09/privacyscanner.js';document.getElementsByTagName('head')[0].appendChild(script);})()">this link</a>. You usually just have to drag and drop it to your browser toolbar, or alternatively add a new bookmark (typically you can do that by pressing Ctrl-D) and make sure the address is the above link. Go to the <a href="http://www.reclaimprivacy.org/help">ReclaimPrivacy help page</a> if you have trouble (but use my link, not the one provided there!). Once you have the bookmark, go to Facebook and click on the bookmark. It will show you some information about your Facebook privacy settings on top of the page. Just leave a comment here or drop me an e-mail with your opinion, thanks! You can skip the rest of the post if you are not interested in Javascript programming and/or software automated testing ;-)</p>
<p>During my hacking I made a lot of different changes: I split the source file into several different files, I made the code (more) testable, I added tests, and I added more features. I&#8217;m really into testing and testability, so one of the first things I did with the code was trying to decouple it from the network calls so I could write tests for it. As you may know, I think that code that doesn&#8217;t have tests is very hard to work with, and I even consider it&#8217;s not &#8220;<a href="http://hcoder.org/2010/08/10/from-pseudo-code-to-code/">true code</a>&#8220;. Now, <strong>I&#8217;m no Javascript expert</strong>, so some of my techniques might not be very&#8230; idiomatic. That said, some of the code change highlights you may be interested in:</p>
<ul>
<li> The <a href="http://github.com/mjpizz/reclaimprivacy/blob/master/javascripts/privacyscanner.js#LID7619">getInformationDropdownSettings</a> method, renamed to <a href="http://github.com/emanchado/reclaimprivacy/blob/advanced-settings/javascripts/scanning.js#LID204">getSettingInformation</a>, is now shorter, more readable, more testable and has more features. The changes are: (1) making it receive an object with the relevant part of the DOM, instead of a window object; (2) supporting, in principle, any kind of setting, not only dropdowns; (3) allowing each setting to have its own idea of what &#8220;too open&#8221; means (see <a href="http://github.com/emanchado/reclaimprivacy/blob/advanced-settings/javascripts/scanning.js#LID46">the settings array</a>); (4) allowing the caller of the method to specify its own list of recognised settings and acceptable privacy levels; (5) passing the number of open and total sections to the handler, instead of just a boolean stating whether or not there&#8217;s any &#8220;too open&#8221; setting.</li>
<li>I made the <a href="http://github.com/mjpizz/reclaimprivacy/blob/master/javascripts/privacyscanner.js#LID7425">old getUrlForV2Section</a> more testable by extracting the most <em>interesting</em> (read: likely to break or need maintenance) code to its own method, <a href="http://github.com/emanchado/reclaimprivacy/blob/master/javascripts/utils.js#LID26">_extractUrlsFromPrivacySettingsPage</a>, and making the <a href="http://github.com/emanchado/reclaimprivacy/blob/master/javascripts/utils.js#LID42">new getUrlForV2Section</a> work with both real URLs (checking Facebook with an Ajax call) and fake HTML dumps representing what those URLs would return.</li>
<li>I made the <a href="http://github.com/mjpizz/reclaimprivacy/blob/master/javascripts/privacyscanner.js#LID7387">old withFramedPageOnFacebook</a>, a very important method used in several places, more flexible by accepting not just URLs, but also functions or data structures (<a href="http://github.com/emanchado/reclaimprivacy/blob/advanced-settings/javascripts/utils.js#LID71">new withFramedPageOnFacebook</a>).</li>
<li>Now we have some <a href="http://github.com/emanchado/reclaimprivacy/blob/master/tests/unittest.html">basic tests</a> (with <a href="http://github.com/emanchado/reclaimprivacy/blob/master/tests/fixtures/privacy-pages.js">fixtures</a> even), without which doing some of these changes would have been such a pain, I wouldn&#8217;t have bothered making them in the first place.</li>
</ul>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 666px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://github.com/emanchado/reclaimprivacy/blob/master/javascripts/utils.js#LID42</div>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=486&amp;md5=b1a5ef4c1f236ebc1e8941e0fd781abd" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2010/09/05/facebook-privacy-scanner-reclaimprivacy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2010%2F09%2F05%2Ffacebook-privacy-scanner-reclaimprivacy%2F&amp;language=en_GB&amp;category=text&amp;title=Facebook+privacy+scanner+%28ReclaimPrivacy%29&amp;description=Summary%3A+there%26%238217%3Bs+a+simple+tool+that+will+tell+you+which+Facebook+sharing+options+are+%26%238220%3Btoo+open%26%238221%3B+in+your+account.+I%26%238217%3Bd+like+you+to+help+me+by+trying+it+out+and...&amp;tags=facebook%2Cjavascript%2Cprivacy%2Crefactoring%2Ctestability%2Ctesting%2Cblog" type="text/html" />
	</item>
		<item>
		<title>My first smartphone</title>
		<link>http://hcoder.org/2010/05/23/my-first-smartphone/</link>
		<comments>http://hcoder.org/2010/05/23/my-first-smartphone/#comments</comments>
		<pubDate>Sun, 23 May 2010 15:01:51 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[mini]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[phones]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=361</guid>
		<description><![CDATA[I&#8217;m not really a &#8220;fancy phone&#8221; guy. Actually, some years ago I used to hate mobile phones. Luckily, things have changed, and to make a long story short, I bought a (second hand) HTC Hero after thinking of buying an Android phone for months. My first impression is fairly good: even though it&#8217;s the first [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not really a &#8220;fancy phone&#8221; guy. Actually, some years ago <a href="http://hcoder.org/2008/01/23/mobile-phones/">I used to hate mobile phones</a>. Luckily, things have changed, and to make a long story short, I bought a (second hand) HTC Hero after <a href="http://hcoder.org/2009/09/13/proprietary-vs-open-a-new-hope/">thinking of buying an Android phone</a> for months.</p>
<p>My first impression is fairly good: even though it&#8217;s the first decent Android phone and quite old now, I find it very nice to use and quite customisable (which is great, considering all the applications and widgets available for the platform). And even when using an old version of Android (1.5) I don&#8217;t find it slow. At least not enough to be irritating.</p>
<p>However, there are several annoyances and things I found out that I figured I&#8217;d share:</p>
<ul>
<li>It doesn&#8217;t automatically import SMS from the SIM card, let alone use the SIM card as the SMS storage. I find that really silly, but to be honest it doesn&#8217;t bother me <em>that</em> much. You can of course import your backed-up SMS using some utilities (I haven&#8217;t bothered).</li>
<li>It took me a good deal of effort to import my contacts from the old phone. I tried some app called vCardIO, which sounded awesome but it didn&#8217;t work for me. The final solution was using a utility called &#8220;<a href="http://www.dusystems.com/importContacts.html">Import Contacts</a>&#8221; that doesn&#8217;t seem to be in the Android Market (?). I had exported my contacts using <a href="http://wammu.eu/">gammu/wammu</a>, but I had just in case removed the X-GAMMU-* lines from it. I don&#8217;t know if it had anything to do.</li>
<li>I found the default mail application to be kind of sucky, so I looked around and found <a href="http://code.google.com/p/k9mail/">K-9 Mail</a>. I&#8217;m quite happy with it.</li>
<li>The default browser is some sort of bad joke, but luckily there&#8217;s <a href="http://www.opera.com/mobile/">Opera Mini</a>. Opera Mini 5 totally rocks, especially with <a href="http://www.opera.com/link/">Opera Link</a>.</li>
</ul>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=361&amp;md5=3fbef880a685c8411d977c0bab256761" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2010/05/23/my-first-smartphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2010%2F05%2F23%2Fmy-first-smartphone%2F&amp;language=en_GB&amp;category=text&amp;title=My+first+smartphone&amp;description=I%26%238217%3Bm+not+really+a+%26%238220%3Bfancy+phone%26%238221%3B+guy.+Actually%2C+some+years+ago+I+used+to+hate+mobile+phones.+Luckily%2C+things+have+changed%2C+and+to+make+a+long+story+short%2C+I+bought...&amp;tags=android%2Chero%2Chtc%2Cmini%2Copera%2Cphones%2Csmartphone%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Facebook and privacy</title>
		<link>http://hcoder.org/2010/05/10/facebook-and-privacy/</link>
		<comments>http://hcoder.org/2010/05/10/facebook-and-privacy/#comments</comments>
		<pubDate>Mon, 10 May 2010 18:37:18 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Freedom]]></category>
		<category><![CDATA[eff]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://hcoder.org/?p=348</guid>
		<description><![CDATA[Over the past few weeks I&#8217;ve become increasingly concerned about Facebook. I even considered deleting my account (idea I haven&#8217;t really discarded), but the amount of people I&#8217;m going to lose contact with is making me hesitate. So, why the concern? I&#8217;m glad you asked. You can get a rough idea by reading these articles: [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks I&#8217;ve become increasingly concerned about Facebook. I even considered deleting my account (idea I haven&#8217;t really discarded), but the amount of people I&#8217;m going to lose contact with is making me hesitate.</p>
<p>So, why the concern? I&#8217;m glad you asked. You can get a rough idea by reading these articles:</p>
<ul>
<li><a href="https://www.eff.org/deeplinks/2010/04/facebook-timeline">Facebook&#8217;s Eroding Privacy Policy: A Timeline</a></li>
<li><a href="http://www.eff.org/deeplinks/2010/04/facebook-further-reduces-control-over-personal-information">Facebook Further Reduces Your Control Over Personal Information</a></li>
<li><a href="http://www.eff.org/deeplinks/2010/05/things-you-need-know-about-facebook">Six Things You Need to Know About Facebook Connections</a></li>
<li><a href="https://www.eff.org/deeplinks/2009/12/who-knows-who-your-facebook-friends-are">Who Knows Who Your Facebook Friends Are?</a></li>
<li><a href="http://mattmckeon.com/facebook-privacy/">The Evolution of Privacy on Facebook</a> (infographic)</li>
</ul>
<p>After reading all that, for me it&#8217;s pretty clear that Facebook doesn&#8217;t give a flying fuck about your privacy. Actually, even <a href="http://www.wired.com/epicenter/2010/04/report-facebook-ceo-mark-zuckerberg-doesnt-believe-in-privacy/">Zuckerberg presumably said so</a>. <em>That</em> is for me the big issue: the exact problems we might have now, the current workarounds, the fact that you now have this or that option to counter some of the automatic changes by Facebook&#8230; is all irrelevant. To elaborate a bit:</p>
<ol>
<li>Facebook started as a much more &#8220;private&#8221; space in which you only shared information with your friends. This has radically changed, and I somehow find it disrespectful toward their users. We&#8217;re not talking about evolution here, but of pretty big &#8220;philosophical&#8221; changes. <em>This is not what I signed up for</em>.</li>
<li>It has happened <em>several times</em> that Facebook has changed your privacy settings on updates. Some of those changes can&#8217;t even be countered, or it&#8217;s fairly hard to do so. That pisses me off.</li>
<li>The &#8220;Facebook messing with your privacy settings&#8221; will no doubt <em>happen again</em>. So now, instead of using/enjoying the service, I have to <em>fight</em> against it.</li>
</ol>
<p>So the current situation is that I know that Facebook can, at any moment, change something I don&#8217;t want it to, and I&#8217;ll have to read a bunch of articles to understand the threat and counter it. I don&#8217;t want to review my privacy settings from time to time &#8220;just in case&#8221;. I don&#8217;t want to wonder if my data is available to more people I&#8217;d like it to. I don&#8217;t see the point in using a service that is designed to do the <em>opposite</em> of what I want. And that makes me wonder why do I bother at all. Or if I want to support a company or service that behaves like that.</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=348&amp;md5=466b5a3fcff884a135079ad5f01d2764" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2010/05/10/facebook-and-privacy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2010%2F05%2F10%2Ffacebook-and-privacy%2F&amp;language=en_GB&amp;category=text&amp;title=Facebook+and+privacy&amp;description=Over+the+past+few+weeks+I%26%238217%3Bve+become+increasingly+concerned+about+Facebook.+I+even+considered+deleting+my+account+%28idea+I+haven%26%238217%3Bt+really+discarded%29%2C+but+the+amount+of+people+I%26%238217%3Bm+going+to...&amp;tags=eff%2Cfacebook%2Cprivacy%2Crants%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Review: Dingoo (A320)</title>
		<link>http://hcoder.org/2009/11/12/review-dingoo-a320/</link>
		<comments>http://hcoder.org/2009/11/12/review-dingoo-a320/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 20:58:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[consoles]]></category>
		<category><![CDATA[dingoo]]></category>
		<category><![CDATA[emulators]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[portable]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[When I mentioned that I wanted an &#8220;open&#8221; portable gaming console that played PSP games, Enrique mentioned the Dingoo. Not that it actually plays PSP games, but it&#8217;s indeed an &#8220;open&#8221; console, cheap and with a number of &#8220;extras&#8221;. So I wondered if playing PSP games was so important for me. Not that it wouldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>When I <a href="http://hcoder.org/2009/09/13/proprietary-vs-open-a-new-hope">mentioned</a> that I wanted an &#8220;open&#8221; portable gaming console that played <span class="caps">PSP</span> games, <a href="http://twitter.com/ezanardi">Enrique</a> mentioned the <a href="http://en.wikipedia.org/wiki/Dingoo">Dingoo</a>. Not that it actually plays <span class="caps">PSP</span> games, but it&#8217;s indeed an &#8220;open&#8221; console, cheap and with a number of &#8220;extras&#8221;. So I wondered if playing <span class="caps">PSP</span> games was so important for me. Not that it wouldn&#8217;t be awesome playing <a href="http://en.wikipedia.org/wiki/God_of_War:_Chains_of_Olympus">God of War</a>, <a href="http://en.wikipedia.org/wiki/Me_%26_My_Katamari">Katamari Damacy</a>, <a href="http://en.wikipedia.org/wiki/Patapon">Patapon</a>, <a href="http://en.wikipedia.org/wiki/Locoroco">LocoRoco</a> or <a href="http://en.wikipedia.org/wiki/Echochrome">Echochrome</a> on the train/plane, but the main point was having games, music and the possibility of watching films on a portable device. After a couple of weeks pondering, I decided &#8220;screw Sony&#8221; and ordered the Dingoo.</p>
<p>So, what does the Dingoo have to offer? Well, it&#8217;s a nice and small portable gaming console that apart from games, it plays music, video and radio, and has a simple picture viewer and a basic plain text reader (with features like bookmarking). On the gaming side, it has its own game format (it comes loaded with around 30 games) and emulators for quite a bunch of different machines, so you can play games from <a href="http://en.wikipedia.org/wiki/Nintendo_Entertainment_System"><span class="caps">NES</span></a>, <a href="http://en.wikipedia.org/wiki/Super_nes">Super <span class="caps">NES</span></a>, <a href="http://en.wikipedia.org/wiki/Neo_Geo_(console)">Neo Geo</a>, <a href="http://en.wikipedia.org/wiki/Megadrive">Mega Drive</a>, <a href="http://en.wikipedia.org/wiki/Gba">Game Boy Advance</a>, and the arcade machines <a href="http://en.wikipedia.org/wiki/CP_System">CPS1</a> and <a href="http://en.wikipedia.org/wiki/CP_System_II">CPS2</a>. I don&#8217;t have words to say how awesome that is. The Dingoo has an internal memory of 4Gib and supports one external MiniSD card, so you have more than enough space for a lot of games, some music and even a couple of films.</p>
<p>In general, I have to say that both the emulation and the video playing works very well. A handful of games can&#8217;t be played (they crash or behave funny) and other games can be played but are too slow/annoying to play (e.g. Super Mario World for Super <span class="caps">NES</span>), but in general there aren&#8217;t any problems. I have a couple of minor complaints though:</p>
<ul>
<li>I find some of the button conventions confusing (e.g. for menu navigation). It doesn&#8217;t help that different consoles have different conventions on which buttons to use for which actions.</li>
<li>The Mega Drive emulator doesn&#8217;t seem to support the <code>.bin</code> format, which is slightly annoying.</li>
<li>There are a lot of video formats supported (the console comes with several sample videos), but the first video I tried to copy and watch wasn&#8217;t recognised :-( I hope that won&#8217;t happen often.</li>
</ul>
<p>All in all, I think it&#8217;s a great console and it&#8217;s <a href="http://www.dealextreme.com/details.dx/sku.20217">quite cheap</a>, so I&#8217;m very happy I bought it. If you&#8217;re curious about how it looks and works, have a look at this video review:</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/N-hFui72qWw&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/N-hFui72qWw&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/dhk62W7lVBE&#038;hl=es_ES&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dhk62W7lVBE&#038;hl=es_ES&#038;fs=1" type="application/x-shockwave-flash" width="480" height="295" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=80&amp;md5=325ca9d76cf395c0adcaa97456be6fdd" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2009/11/12/review-dingoo-a320/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2009%2F11%2F12%2Freview-dingoo-a320%2F&amp;language=en_GB&amp;category=text&amp;title=Review%3A+Dingoo+%28A320%29&amp;description=When+I+mentioned+that+I+wanted+an+%26%238220%3Bopen%26%238221%3B+portable+gaming+console+that+played+PSP+games%2C+Enrique+mentioned+the+Dingoo.+Not+that+it+actually+plays+PSP+games%2C+but+it%26%238217%3Bs+indeed+an...&amp;tags=consoles%2Cdingoo%2Cemulators%2Cgames%2Cportable%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Proprietary vs open: a new hope</title>
		<link>http://hcoder.org/2009/09/13/proprietary-vs-open-a-new-hope/</link>
		<comments>http://hcoder.org/2009/09/13/proprietary-vs-open-a-new-hope/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 10:30:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[evil]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[proprietary]]></category>
		<category><![CDATA[ps2]]></category>
		<category><![CDATA[psp]]></category>
		<category><![CDATA[sony]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[There is something that has been bothering me for quite a long time now: while I realise that Sony is often evil and proprietary (I mean, come on, memory stick? the horrible, horrible PS2 memory &#8220;cards&#8221;? the draconian sharing terms for the online PS3 network?), there is something that attracts me to their products. I [...]]]></description>
			<content:encoded><![CDATA[<p>There is something that has been bothering me for quite a long time now: while I realise that Sony is often evil and proprietary (I mean, come on, memory stick? the horrible, <strong>horrible</strong> PS2 memory &#8220;cards&#8221;? the draconian sharing terms for the online PS3 network?), there is something that attracts me to their products. I own a PlayStation 2, a Sony Ericsson phone, and I may even buy a PlayStation Portable.</p>
<p>The PlayStation 2, well, it had all the games I wanted to play when I bought it (the Prince of Persia series, ProEvolution soccer, Ico, Shadow of the Colossus and God of War), it was cheaper than the alternatives and it had a ridiculous amount of second hand games and websites with reviews. The phone I bought mostly because of a recommendation, but actually I find other brands stupid and confusing, so I really like it and my next phone might be another Sony Ericsson. The PlayStation Portable&#8230; well, the DS is awesome in many ways, I realise that, but again the games I want to play (God of War, Patapon, LocoRoco, Echochrome, Katamari Damacy) are <em>all</em> for <span class="caps">PSP</span>.</p>
<p>There&#8217;s something similar with Apple. Some of their products (most? all?) look awesome, and I&#8217;m sure they&#8217;re awesome in many ways&#8230; but I can&#8217;t stand that they&#8217;re so closed in their own world. So far I haven&#8217;t bought anything from them, and when I read certain news I&#8217;m really happy that I haven&#8217;t. That&#8217;s more or less why it bothers me that the iPhone is so successful and that no vendor seemed to be able to do anything about it&#8230; until I saw the <span class="caps">HTC</span> Hero.</p>
<p>I haven&#8217;t used it myself (only played with it a bit and seen some videos), but it looks seriously good. According <a href="http://www.youtube.com/watch?v=G5F0Ruzwos8">to</a> <a href="http:/www.youtube.com/watch?v=5xMUEhFBJ8g">these</a> <a href="http://www.youtube.com/watch?v=xa1zvj5YDy4">videos</a> it&#8217;s still a bit rough around the edges compared to the iPhone, but it has more functionality, the same kind of app store (only open) and based on Android. I&#8217;m not sure what else I could ask for. Ah, yes: a couple of models more so they can polish it further :-) So I wonder if the Android platform, through <span class="caps">HTC</span> Hero and similar phones, will allow me and others to escape Sony (and Apple) on the phone arena.</p>
<p>Now, I only have to find some &#8220;open&#8221; portable console that will allow me to play <span class="caps">PSP</span> games ;-P</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=76&amp;md5=d133ba0daa815baf33669be90287248f" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2009/09/13/proprietary-vs-open-a-new-hope/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2009%2F09%2F13%2Fproprietary-vs-open-a-new-hope%2F&amp;language=en_GB&amp;category=text&amp;title=Proprietary+vs+open%3A+a+new+hope&amp;description=There+is+something+that+has+been+bothering+me+for+quite+a+long+time+now%3A+while+I+realise+that+Sony+is+often+evil+and+proprietary+%28I+mean%2C+come+on%2C+memory+stick%3F...&amp;tags=apple%2Cevil%2Chero%2Chtc%2Cproprietary%2Cps2%2Cpsp%2Csony%2Cblog" type="text/html" />
	</item>
		<item>
		<title>The ultimate TODO app redux</title>
		<link>http://hcoder.org/2009/06/29/the-ultimate-todo-app-redux/</link>
		<comments>http://hcoder.org/2009/06/29/the-ultimate-todo-app-redux/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 19:59:00 +0000</pubDate>
		<dc:creator>emanchado</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Freedom]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[bitbucket]]></category>
		<category><![CDATA[bubug]]></category>
		<category><![CDATA[hg]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[When writing yesterday about the Perl modules, I realised that I hadn&#8217;t written anything about the TODO application since &#8220;The ultimate TODO app&#8221;. Well, a lot has happened to it actually. I&#8217;m glad to announce that: It does have a (lame) name now: Bubug (supposedly stands for &#8220;Barely Unconventional Bug Untracking Gizmo&#8221;. Whatever). It has [...]]]></description>
			<content:encoded><![CDATA[<p>When writing yesterday about the Perl modules, I realised that I hadn&#8217;t written anything about the <span class="caps">TODO</span> application since &#8220;<a href="http://hcoder.org/2009/02/09/the-ultimate-todo-app">The ultimate <span class="caps">TODO</span> app</a>&#8221;. Well, a <em>lot</em> has happened to it actually. I&#8217;m glad to announce that:</p>
<ul>
<li>It does have a (lame) name now: <a href="http://bitbucket.org/emanchado/bubug/wiki/Home">Bubug</a> (supposedly stands for &#8220;Barely Unconventional Bug Untracking Gizmo&#8221;. Whatever).</li>
<li>It has improved a lot here and there, and it now has authentication and multi-user support, not to mention a lot of UI bling bling and goodies.</li>
<li>The development has moved to <a href="http://bitbucket.org/">BitBucket</a>, an excellent free service built by ex-Opera&#8217;s <a href="http://noehr.org/">Jesper Noehr</a>, where you can follow it more easily, comment on, check the Wiki, fork, or whatever you want. You even have a screenshot there ;-)</li>
</ul>
<p>As you can guess from the last point, for this project I&#8217;ve been using Mercurial instead of Git. Although I certainly don&#8217;t have sophisticated needs, so <span class="caps">YMMV</span> (heavily), I find Git more pleasant to use. Which is kind of surprising, because I always thought that Git&#8217;s UI was a pain in the ass. Oh, well. That doesn&#8217;t mean that Mercurial is hard to use, though. I think it&#8217;s more that I&#8217;m used to Git now, and there are a couple of things that I find more convenient: the coloured diff (possible in Hg, but you have to install some extension for it, and only thinking about installing some Python extension that is not even packaged for Debian makes me want to switch to Git) and the staging area are the most important ones I can think of.</p>
<p>So, if you thought I had abandoned the <span class="caps">TODO</span> application thing, you were wrong ;-) If you&#8217;re interested, have a look at the <a href="http://bitbucket.org/emanchado/bubug/wiki/Home">Bubug BitBucket project page</a>, download it, play with it, and tell me what you think.</p>
 <p><a href="http://hcoder.org/?flattrss_redirect&amp;id=71&amp;md5=14fbafa3aa6d871e89681cc8b0ba5c25" title="Flattr" target="_blank"><img src="http://hcoder.org/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://hcoder.org/2009/06/29/the-ultimate-todo-app-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=30124&amp;popout=1&amp;url=http%3A%2F%2Fhcoder.org%2F2009%2F06%2F29%2Fthe-ultimate-todo-app-redux%2F&amp;language=en_GB&amp;category=text&amp;title=The+ultimate+TODO+app+redux&amp;description=When+writing+yesterday+about+the+Perl+modules%2C+I+realised+that+I+hadn%26%238217%3Bt+written+anything+about+the+TODO+application+since+%26%238220%3BThe+ultimate+TODO+app%26%238221%3B.+Well%2C+a+lot+has+happened+to+it...&amp;tags=bitbucket%2Cbubug%2Chg%2Cmerb%2Cmercurial%2Cprojects%2Ctodo%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

