<?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>Gustavo Sverzut Barbieri &#187; Python</title>
	<atom:link href="http://blog.gustavobarbieri.com.br/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gustavobarbieri.com.br</link>
	<description>Computer Hacker and Entrepreneur</description>
	<lastBuildDate>Wed, 21 Dec 2011 18:24:27 +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>PythonBrasil[7] = Excellent!</title>
		<link>http://blog.gustavobarbieri.com.br/2011/10/06/pythonbrasil7-excellent/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pythonbrasil7-excellent</link>
		<comments>http://blog.gustavobarbieri.com.br/2011/10/06/pythonbrasil7-excellent/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:00:41 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=266</guid>
		<description><![CDATA[Last week from 29-Sep to 01-Oct we had the amazing 7th PythonBrasil conference, for the first time in São Paulo. Since I&#8217;ve start to use Python in 2002 I loved the language, but after getting introduced to the PythonBrasil community &#8230; <a href="http://blog.gustavobarbieri.com.br/2011/10/06/pythonbrasil7-excellent/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week from 29-Sep to 01-Oct we had the amazing 7th PythonBrasil conference, for the first time in São Paulo.</p>
<p>Since I&#8217;ve start to use Python in 2002 I loved the language, but after getting introduced to the PythonBrasil community in 2004 I&#8217;ve boosted my development skills, got some friends and even my first job (INdT-Recife) was a kind recommendation from Osvaldo Santana in 2005.</p>
<p>By 2005 we had the 1st PythonBrasil Conference, then called PyConBrasil, here in Campinas with the help of UNICAMP and our amazing non-stop contributor Rodrigo Senra. It was very cool, I even presented a talk there&#8230; and it motivated me to go to following conferences in 2006 and 2007 as well.</p>
<p>However if starting to work at INdT reduced my spare time since late 2006, after ProFUSION was born in 2008 I had no time to participate in the lists or even go to conferences. What a shame!</p>
<p>I couldn&#8217;t see how shameful it was until I did this PythonBrasil in 2011. I&#8217; m yet to see a conference with so kind people. People still remembered me and I was ashamed when I couldn&#8217;t remind their names&#8230; although they did remember mine (<em>NOTE TO CONFERENCE: bigger names next year!</em>) Some would even let me know they still use <a href="http://code.google.com/p/eagle-py/">Eagle-Py</a>, something that I already forgot about. And people I had closer contact before were willing to talk as if we had met last week. Amazing.</p>
<p>During these talks I&#8217;ve catch up with Rodrigo Senra, Luciano, Osvaldo, Erico, Marco André, Sidnei, Fernando and many more I couldn&#8217;t remember. However one of the talks was very special: talked to Gustavo Niemeyer about <strong>Go programming language</strong>. That&#8217;s right, people were so kind and open we had a keynote about Go, and we talked a lot afterwards without problems! <img src='http://blog.gustavobarbieri.com.br/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />   Gustavo showed me some nice details about the language and my mind is now burning! I must do Enlightenment Foundation Libraries (EFL) + Go = EGO, a perfect GUI tool.</p>
<p>But I was of use&#8230; not just a leecher! I went there to present 3 talks (slides in Portuguese!):</p>
<ul>
<li><a href="http://talks.gustavobarbieri.com.br/pyconbrasil7/ProFUSION_pycon-bindings.pdf">Tudo que você sempre quis saber sobre Bindings</a></li>
<li><a href="http://talks.gustavobarbieri.com.br/pyconbrasil7/ProFUSION_pycon-embedded.pdf">Python em sistemas embarcados: Sim ou Não?</a></li>
<li><a href="http://talks.gustavobarbieri.com.br/pyconbrasil7/ProFUSION_pycon-canvas2D.pdf">Canvas-2D extremamente rápido usando EFL</a></li>
</ul>
<p>Last but not least, I&#8217;d like to thank everyone that did this amazing conference possible!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2011/10/06/pythonbrasil7-excellent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ANN: LightMediaScanner 0.4.4 released</title>
		<link>http://blog.gustavobarbieri.com.br/2011/08/19/ann-lightmediascanner-0-4-4-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ann-lightmediascanner-0-4-4-released</link>
		<comments>http://blog.gustavobarbieri.com.br/2011/08/19/ann-lightmediascanner-0-4-4-released/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 22:19:21 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[lightmediascanner]]></category>
		<category><![CDATA[lms]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=259</guid>
		<description><![CDATA[I&#8217;m proud to announce LightMediaScanner 0.4.4 was released and I&#8217;d like to take some time to remind you of this awesome project While 0.4.4 is no big leap ahead of 0.4.3 I&#8217;m doing this post more to make clear people &#8230; <a href="http://blog.gustavobarbieri.com.br/2011/08/19/ann-lightmediascanner-0-4-4-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m proud to announce LightMediaScanner 0.4.4 <a href="http://people.profusion.mobi/cgit.cgi/lightmediascanner.git/tag/?id=release_0.4.4">was released</a> and I&#8217;d like to take some time to remind you of this awesome project <img src='http://blog.gustavobarbieri.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>While 0.4.4 is no big leap ahead of 0.4.3 I&#8217;m doing this post more to make clear people that the project is still alive and it may be the right tool for you, particularly if you need fast media scanning on your desktop or embedded device.</p>
<h4>Introduction (History)</h4>
<p><a href="http://people.profusion.mobi/cgit.cgi/lightmediascanner.git/">LightMediaScanner</a> (LMS) was born in 2007 during the development of <a href="openbossa.indt.org.br/canola2/">Canola2</a> media player for Nokia N800 Maemo device. We did a previous try at media scanners for Canola1 and did learn a lot, that would be the foundation of LMS.</p>
<p>We had two major problems to solve:</p>
<ol>
<li>scan large amounts of media as fast as possible</li>
<li>don&#8217;t mess with interactivity.</li>
</ol>
<p>The first problem had more qualifiers, like the <strong>media being unreliable</strong> (broken files), be removed without prior notification (mmc removed when system was off), slow discs (sd/mmc), small amount of available RAM, low-end CPU and so on.</p>
<p>Traditional approaches were slow and would bring your device to unusable state for minutes, even after the scan process finished as they consumed too much memory that would swap your applications and services. They would also be naive with file scanning and would trash filesystem&#8217;s cache with useless data.</p>
<h4>Existing Solutions Problems</h4>
<p>At that time we had Maemo&#8217;s media scanner that was awful and <a href="http://projects.gnome.org/tracker/">Tracker</a> was being developed to solve its problems. However Tracker was immature and had other focus, more like being fancy with new standards and trying to solve all the diseases of the world&#8230; while we need to be fast in some specific cases.</p>
<p>To highlight technical problems, let&#8217;s consider JPEG scanners. Everything one Media Player application would need is the  title, author/artist, date, width, height, orientation and maybe geolocation. These are <strong>few bytes</strong>, particularly because Title and Author are missing in most cases. We should open the file, get these bytes, register these and close the file. Every system at the time used libexif to do so, however it would <strong>copy all the header to memory prior to scanning</strong>. Given that most files contain thumbnails in the header, it would mean <strong>useless malloc + read of around 10-50kb</strong>, to get dozen bytes and exit. This trashes the VM and disc. Moreover, some libraries would open the file themselves and would not fadvise as POSIX_FADV_DONTNEED, thus the filesystem would keep it in cache for further access that never happen! Similar situations existed for PNG, Mp3 and others.</p>
<h4>LightMediaScanner Solution</h4>
<p>We decided to go with a 2 process solution to avoid crashes and hang-ups on the main process. This would be safe and we could kill the slave process if it took too long to report on a given file. Later on we introduced threaded and single process scanning that would be useful in some cases.</p>
<p>We also had dynamic loadable plugins (shared objects) with the media parsers to be used given matching extensions. The plugins can be selected by the user at runtime. Yes, <strong>we would not scan every file with every parser</strong>, we did trust the extension as a way to save work and it worked fine, and fast.</p>
<p>The main process just scans the filesystem and  pipes the files to the slave (thread or process). This slave would open the file, get the data to populate a structure to be written to database, then close the file and report back the progress. If the slave takes too long to reply or dies, it&#8217;s respawned with the next file in the queue.</p>
<p>The database uses SQLite3 and a configurable number of files are processed in one SQL transaction, thus we&#8217;d not hit the filesystem with writes that often. The database access is provided with helper functions that uses pre-compiled statements. However we only provide the insert/update methods, as the fetch (select) are up to the application to use (maybe using their own ORM framework).</p>
<p>Some metadata formats did not specify encoding (ASCII was assumed) and fallbacks can be applied with the charsets. It will use iconv in a priority list to figure out what works.</p>
<h4>Just the Indexer!</h4>
<p>LightMediaScanner is not a daemon-service, it does not talk DBus neither requires you to speak  <a href="http://www.w3.org/RDF/">RDF</a> or <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a>. If you want, you can create one with it, but it does not provide this stuff out of the box. Basically you call it to check for media and then access the database yourself, using the SQLite3 directly or using some ORM, doing caches or not, it&#8217;s up to you.</p>
<p>The database tables are quite simple and try to provide common useful relations. It&#8217;s not designed to cover all weird cases in the world (like multiple artists per song or which lens did you use with your camera).</p>
<h4>Using it!</h4>
<p>Get the code from our GIT or use the release tarball, see <a href="http://people.profusion.mobi/cgit.cgi/lightmediascanner.git/">http://people.profusion.mobi/cgit.cgi/lightmediascanner.git/</a>. It uses standard autoconf/automake to build, so should be familiar to most developers.</p>
<p>It hard-depends only on SQLite3 and iconv (most libC ships with it). Optional dependencies are libvorbis, libmp4v2 and libflac.</p>
<p>You can call the scanner from C, C++ or <a href="http://people.profusion.mobi/cgit.cgi/python-lightmediascanner.git/">Python using our bindings</a>. Comprehensive example can be found at <a href="http://people.profusion.mobi/cgit.cgi/lightmediascanner.git/tree/src/bin/test.c">src/bin/test.c</a></p>
<p>References: <a href="http://blog.gustavobarbieri.com.br/2008/10/05/lightmediascanner-020-released/">previous post about lightmediascanner 0.2.0 release</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2011/08/19/ann-lightmediascanner-0-4-4-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>And more EFL news out there!</title>
		<link>http://blog.gustavobarbieri.com.br/2009/11/23/and-more-efl-news-out-there/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=and-more-efl-news-out-there</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/11/23/and-more-efl-news-out-there/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:03:16 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[ardy]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[free.fr]]></category>
		<category><![CDATA[freebox]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=197</guid>
		<description><![CDATA[Wow! Just after my last week post about companies supporting EFL, we were pleased with two more announcements: Ardy, a tool that brings together EFL and Arduino using Python Free.fr, the second biggest ISP in France opened up the development &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/11/23/and-more-efl-news-out-there/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wow! Just after my <a href="http://blog.gustavobarbieri.com.br/2009/11/18/efl-things-becoming-public/">last week post</a> about companies supporting EFL, we were pleased with two more announcements:</p>
<ul>
<li><a href="http://edjy.wordpress.com/2009/11/19/ardy-arduino-efl-and-python/">Ardy</a>, a tool that brings together EFL and Arduino using Python</li>
<li><a href="http://www.enlightenment.org/p.php?p=news/show&#038;l=en&#038;news_id=18">Free.fr</a>, the second biggest ISP in France opened up the development of their Freebox HD set-top box using Enlightenment Foundation Libraries and Mozilla JavaScript library. This is pretty amazing as it&#8217;s the biggest deployment of EFL out there, an uncertain number that ranges from <b>2 to 3 million devices</b>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/11/23/and-more-efl-news-out-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EFL things becoming public&#8230;</title>
		<link>http://blog.gustavobarbieri.com.br/2009/11/18/efl-things-becoming-public/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=efl-things-becoming-public</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/11/18/efl-things-becoming-public/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 22:48:03 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[INdT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[efl]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=191</guid>
		<description><![CDATA[Hey all, Yesterday we started to see some announcements of companies backing Enlightenment Foundation Libraries development. Of course, INdT was pioneer in that since it was decided to use it for Canola2. Later on I created my own company and &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/11/18/efl-things-becoming-public/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey all,</p>
<p>Yesterday we started to see some <a href="http://www.enlightenment.org/p.php?p=news/show&#038;l=en&#038;news_id=17">announcements</a> of companies backing <a href="http://www.enlightenment.org">Enlightenment Foundation Libraries</a> development. Of course, <a href="http://www.indt.org.br/">INdT</a> was pioneer in that since it was decided to use it for <a href="http://www.openbossa.org/canola2">Canola2</a>. Later on I created my <a href="http://profusion.mobi/">own company</a> and we officially support EFL as GUI alternative (together with <a href="http://www.clutter.org">Clutter</a>, <a href="http://www.gtk.org">GTK</a> and <a href="http://qt.nokia.com/">Qt</a>), being the first company to do that.</p>
<p>While there are speculations about which company is it, what I can assure you is that this company is serious and <b>is not alone</b>. ProFUSION itself worked on EFL on behalf of various clients and you may expect another press release about a big French internet and telecom company deploying a massive number of units with EFL pre-installed. Not accounting various community driven projects that choose it and E17 as its base platform, such as <a href="http://wiki.openmoko.org/wiki/Main_Page">OpenMoko</a> and <a href="http://openinkpot.org/wiki/Documentation/EFL">OpenInkpot</a>.</p>
<p>Bottom line? While EFL does not get the same amount of marketing and visibility as Qt and GTK counterparts, it is playing fine enough to be considered to ship in dozen million devices in the next year. Why don&#8217;t you consider it for your project? Be open minded and try it out <img src='http://blog.gustavobarbieri.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/11/18/efl-things-becoming-public/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memphis on real hardware: Nokia N810</title>
		<link>http://blog.gustavobarbieri.com.br/2009/08/06/memphis-on-real-hardware-nokia-n810/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=memphis-on-real-hardware-nokia-n810</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/08/06/memphis-on-real-hardware-nokia-n810/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 01:50:51 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[canola]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[memphis]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=177</guid>
		<description><![CDATA[This is a followup of my previous post, but now running on Nokia Internet Tablet N810 with Maemo. We interleaved it with parts of screen casts so you can note it&#8217;s very close to the desktop edition, even animated video &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/08/06/memphis-on-real-hardware-nokia-n810/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is a followup of my <a href="http://blog.gustavobarbieri.com.br/2009/07/30/memphis-in-car-entertainment-preview" alt="Memphis in car entertainment preview">previous post</a>, but now running on Nokia Internet Tablet N810 with Maemo. We interleaved it with parts of screen casts so you can note it&#8217;s very close to the desktop edition, even animated video thumbnails works fine:</p>
<div style="text-align: center; padding: 5px;">
<object width="400" height="270"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5983706&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5983706&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="270"></embed></object></div>
<p>We even managed to convince Mariana to do the initial talk!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/08/06/memphis-on-real-hardware-nokia-n810/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memphis in car entertainment preview</title>
		<link>http://blog.gustavobarbieri.com.br/2009/07/30/memphis-in-car-entertainment-preview/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=memphis-in-car-entertainment-preview</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/07/30/memphis-in-car-entertainment-preview/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 00:06:16 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[canola]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[memphis]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=172</guid>
		<description><![CDATA[Over the last months ProFUSION worked hard on building Memphis, an in car entertainment system. Now we can finally publish the first preview of it, it is real and runs on couple of hardware we will demo later, including Nokia &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/07/30/memphis-in-car-entertainment-preview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the last months <a href="http://profusion.mobi">ProFUSION</a> worked hard on building <a href="http://profusion.mobi/node/17">Memphis</a>, an in car entertainment system. Now we can finally publish the first preview of it, it is real and runs on couple of hardware we will demo later, including Nokia N810 (OMAP 2420) and Freescale iMX27, iMX31 and iMX35 with displays ranging from 4 to 7 inches, from 640&#215;480 to 800&#215;480.</p>
<div style="text-align: center; padding: 5px;">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/qENNJsDWMJk&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qENNJsDWMJk&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</div>
<p>The product is based on free software <a href="http://openbossa.indt.org/canola2">Canola2</a> platform, which we support as well. While some parts of it were made available over these months, including our optimized thumbnailer &#8220;Ethumb&#8221;, some parts will be available later, under the same license. It&#8217;s not an issue as you&#8217;re unlikely to get it from Volkswagen and running it BMW, what matter for clients is the product as a whole, not just software interface.</p>
<p>Work done so far is not just a face lift of Canola, it goes deeply in optimizations, platform roots and changes plugins as well. The roadmap includes fast UPnP server and control point, as well as GPS/maps and other car useful services.</p>
<p>Theme is just a demo, we call it &#8220;ProFUSION theme&#8221; as we use our own colors and font. Clients will get an unique look and feel as well as custom changes, such as integrating with real panel keys, text to speech and voice recognition systems.</p>
<p>Read more at <a href="http://profusion.mobi/node/17">http://profusion.mobi/node/17</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/07/30/memphis-in-car-entertainment-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyCON USA and Canola2</title>
		<link>http://blog.gustavobarbieri.com.br/2009/03/28/pycon-usa-and-canola2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pycon-usa-and-canola2</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/03/28/pycon-usa-and-canola2/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 15:33:03 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[INdT]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[canola]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[pycon]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=156</guid>
		<description><![CDATA[So here I am at Chicago attending at PyCON USA where I&#8217;ll present how Python enabled the development of mobile media center (Canola2) in record time. So far it&#8217;s being an amazing conference, lots of interesting talks but more MacOS-X &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/03/28/pycon-usa-and-canola2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So here I am at Chicago attending at <a href="http://us.pycon.org">PyCON USA</a> where I&#8217;ll present <a href="http://us.pycon.org/2009/conference/schedule/event/84/">how Python enabled the development of mobile media center</a> (<a href="http://openbossa.indt.org/canola2">Canola2</a>) in record time. So far it&#8217;s being an amazing conference, lots of interesting talks but more MacOS-X than I&#8217;d like to see in a conference about a free software technology (at least we seem to have more Linux than Windows).</p>
<p>As for freedom, free software, mobile media centers and specially Canola2: as announced previously at Maemo community, <a href="http://etrunko.blogspot.com/2009/03/canola-is-free.html">Canola2 is now opensource (GPLv3)</a>! That&#8217;s amazing news, specially to me as I have Canola2 as my baby and would like to have more people involved into its development. It&#8217;s not just a great end-user software, it&#8217;s an amazing Python platform where you can build all kind of rich user interface.</p>
<p>As you might know, ProFUSION is working with INdT to improve Canola2 and we plan to keep supporting it, starting with some instructions and scripts, see <a href="http://profusion.mobi/setting-up-canola-2.0">our post for more details</a>. As we want to build a community around it, don&#8217;t miss the <a href="https://garage.maemo.org/mailman/listinfo/canola-devel">mailing list</a> and our IRC channel #canola at irc.freenode.net.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/03/28/pycon-usa-and-canola2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presenting at PyCon US &#8217;09</title>
		<link>http://blog.gustavobarbieri.com.br/2009/01/22/presenting-at-pycon-us-09/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=presenting-at-pycon-us-09</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/01/22/presenting-at-pycon-us-09/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 14:12:40 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[INdT]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[canola]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[pycon]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=152</guid>
		<description><![CDATA[Now that the list is published I can announce that my talk was approved and I&#8217;ll present at PyCon US 2009! My talk Python enabling mobile media centers will tell you all how Python made it possible to finish Canola2 &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/01/22/presenting-at-pycon-us-09/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Now that <a href="http://us.pycon.org/2009/conference/talks/">the list is published</a> I can announce that my talk was approved and I&#8217;ll present at PyCon US 2009!</p>
<p>My talk <b>Python enabling mobile media centers</b> will tell you all how Python made it possible to finish Canola2 in record time and how it does not suck performance wise in mobile devices as the Nokia N800, N810 and it is even acceptable on 770! I&#8217;ll quickly cover how painful development of first version in C was, how we profiled, tools we used to write Python-EFL bindings and more.</p>
<p>For my beloved Brazilian friends, I plan to present it (or a similar talk) at <a href="http://www.bossaconference.indt.org/">Bossa Conference &#8217;09</a> and possible present it in Portuguese at <a href="http://pyconbrasil.com.br/">PyCon-Brazil</a> later this year.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/01/22/presenting-at-pycon-us-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surpise: Qt goes LGPL</title>
		<link>http://blog.gustavobarbieri.com.br/2009/01/14/surpise-qt-goes-lgpl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=surpise-qt-goes-lgpl</link>
		<comments>http://blog.gustavobarbieri.com.br/2009/01/14/surpise-qt-goes-lgpl/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 13:27:45 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[qt gpl lgpl free]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=142</guid>
		<description><![CDATA[Wow! Making it stronger WOW to let you all know how I did feel when I received the excellent news: Qt 4.5 will be LGPL 2.1 (see official here). I still remember myself talking to Mark Shuttleworth about possibility of &#8230; <a href="http://blog.gustavobarbieri.com.br/2009/01/14/surpise-qt-goes-lgpl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wow! Making it stronger <b>WOW</b> to let you all know how I did feel when I received the excellent news: <a href="http://labs.trolltech.com/blogs/2009/01/14/nokia-to-license-qt-under-lgpl/">Qt 4.5 will be LGPL 2.1</a> (see <a href="http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt">official here</a>).</p>
<p>I still remember myself talking to Mark Shuttleworth about possibility of Qt going LGPL and I was saying that it would never become LGPL since it was an excellent thing for Nokia, keeping adversaries away.
<p>It turned out that I was wrong&#8230; &#8220;never say never!&#8221; they say. Nokia is seems so confident, or Motorola so non-intimidating, that it believes that doing the right thing and moving its product license to more commercial friendly will bring more developers and thus more applications.</p>
<p>Mark was wondering about <a href= http://derstandard.at/?url=/?id=3413801">GNOME goals could be delivered on top of Qt</a> if this was LGPL. Well, in my opinion it is possible, but very unlikely. I dare to say GTK will get going along Qt and it will never go away. It&#8217;s about passion, not technology there.</p>
<p>Talking about technology and this concerns <a href="http://profusion.mobi">ProFUSION</a>, I really like Qt, always did. As most of you know I hack using Qt, GTK and EFL for a long time, Qt is the easiest to use, largest and most complete library out there. And following their progress with 4.x versions you can see they&#8217;re heading the right direction, heading where EFL or MacOS libraries are today. ProFUSION will now be able to recommend Qt to a broader range of clients, those that wanted LGPL licenses to avoid licensing fees.</p>
<p>I&#8217;m still surprised! I expect Nokia keep doing these great surprises, the next being the next internet tablets (with $99 developer program <img src='http://blog.gustavobarbieri.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) and maybe a Linux phone later this year!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2009/01/14/surpise-qt-goes-lgpl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>work and pleasure</title>
		<link>http://blog.gustavobarbieri.com.br/2008/10/31/work-and-pleasure/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=work-and-pleasure</link>
		<comments>http://blog.gustavobarbieri.com.br/2008/10/31/work-and-pleasure/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 00:48:21 +0000</pubDate>
		<dc:creator>Gustavo Barbieri</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[ProFUSION]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[edje]]></category>
		<category><![CDATA[efl]]></category>
		<category><![CDATA[elementary]]></category>
		<category><![CDATA[guarana]]></category>

		<guid isPermaLink="false">http://blog.gustavobarbieri.com.br/?p=122</guid>
		<description><![CDATA[Today I finished integrating some cool code into Evas: box and table. These utility smart objects are now in Evas for good, we can stop replicating those in many projects and people who just want to use them and not &#8230; <a href="http://blog.gustavobarbieri.com.br/2008/10/31/work-and-pleasure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I finished integrating some <a href="http://trac.enlightenment.org/e/changeset/37362">cool code</a> into Evas: box and table. These utility smart objects are now in Evas for good, we can stop replicating those in many projects and people who just want to use them and not a full featured toolkit like ETK or EWL are now free. More importantly: we can now expose these in Edje, making all layout elements dependent on theme, not having to rely on <code>SWALLOW</code> slots!</p>
<p>The integrated code is very flexible, it make use of the recently introduced &#8220;size hints&#8221; and also postpone heavy calculations to pre-render time with <code>calculate</code> smart callback. <b>Table</b> has three modes: regular, homogeneous based on table size and homogeneous based on largest minimum item size. <b>Box</b>, since it just represent a sequence of items, is more extensible and allows you to specify a layout function, we provide some like vertical, horizontal, stack, homogeneous based on box, homogeneous based on the largest minimum item size, etc&#8230; but you can easily write your &#8220;snake layout&#8221; and use it. If you need more option details than &#8220;size hints&#8221;, you can extend the class and implement <code>options_*</code> virtuals.</p>
<p>These code were integrated by me, but not totally written. Gustavo Lima, from <a href="http://profusion.mobi">ProFUSION</a>, wrote the box for their <a href="http://local.profusion.mobi:8081/?p=guarana.git;a=blob;f=src/lib/widgets/sequence_box.c;h=4c23ed1c34ae380cf3b3503080b5edc6cc242397;hb=HEAD">sequence_box.c</a> (it was relicensed to E&#8217;s BSD with permission) and Rasterman wrote table for his elementary &#8220;toolkit for mobiles&#8221; <a href="http://trac.enlightenment.org/e/browser/trunk/TMP/st/elementary/src/lib/els_table.c">els_table.c</a>.</p>
<p>On the pleasure <b>and</b> work side, I&#8217;ll fly to The Netherlands next Tuesday so I can attend <a href="http://www.embeddedlinuxconference.com/elc_europe08/index.html">ELC-E 2008</a> where I&#8217;ll present a talk about Rich Graphical User Interfaces on mobile systems, covering Evas, Edje and the new kids on the block <b>Elementary</b> and <b>Guarana</b>.</p>
<p>Last but not least, due trip and other stuff to do I&#8217;ll not be able to integrate table and box into Edje soon. If you always wanted to help E17 and EFL, now <b>it&#8217;s your chance!</b> <img src='http://blog.gustavobarbieri.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  <a href="http://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg19569.html">See my mail to the list</a> and start hacking, I can reply to you by mail and IRC (when I&#8217;m online). We will also need <b>Python</b> bindings for those, so patches to python-evas and python-edje are also welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gustavobarbieri.com.br/2008/10/31/work-and-pleasure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

