<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.python.pt/~d/styles/itemcontent.css"?><rss version="2.0"><channel><title>Python Portugal: Latest planet entries</title><link>http://python.pt/planeta/</link><description /><language>pt</language><lastBuildDate>Sat, 28 Aug 2010 16:09:37 +0100</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.python.pt/pythonpt-planeta" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="pythonpt-planeta" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Wiki Alcides Fonseca - How to install RPy2 on Mac OS 10.6</title><link>http://feedproxy.google.com/%7Er/alcides/%7E3/sjHAE6Cv7AE/install-rpy2-mac-os-106</link><description>&lt;p&gt;How to install the R python bindings library &lt;a href="http://rpy.sourceforge.net/rpy2.html" rel="nofollow" target="_blank"&gt;RPy2&lt;/a&gt; on Mac OS 10.6 Snow Leopard using &lt;a href="http://github.com/mxcl/homebrew" rel="nofollow" target="_blank"&gt;Homebrew&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;Install R&lt;/h3&gt; &lt;p&gt;In order to install R in your Mac as a framework, make &lt;a href="http://github.com/alcides/homebrew/commit/67e334e43e5fd2f332bf450bcd5411eca53a7dcc" rel="nofollow" target="_blank"&gt;this change&lt;/a&gt; in your homebrew/Library/Formula&lt;/p&gt; &lt;p&gt;&lt;code&gt;brew install r&lt;/code&gt;&lt;/p&gt; &lt;h3&gt;Install RPy2&lt;/h3&gt; &lt;p&gt;&lt;code&gt;
wget http://pypi.python.org/packages/source/r/rpy2/rpy2-2.1.4.tar.gz#md5=cf4e0d80ba498a6d76f107531966478d
tar xfz rpy2-2.1.4.tar.gz
cd rpy2-2.1.4/
sudo python setup.py build --r-home /usr/local/Cellar/r/2.11.1/R.framework/Resources/ install
&lt;/code&gt;&lt;/p&gt; &lt;h3&gt;Troubleshooting&lt;/h3&gt; &lt;p&gt;If you are having a problem related to &amp;#8220;-framework vecLib&amp;#8221; when installing rpy2, insert a new line after #134 of setup.py with the following:&lt;/p&gt; &lt;p&gt;&lt;code&gt;extra_link_args = extra_link_args[:-1]&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Worked for me.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alcides?a=sjHAE6Cv7AE:LZn6S57lqB0:F7zBnMyn0Lo" rel="nofollow" target="_blank"&gt;&lt;img border="0" src="http://feeds.feedburner.com/~ff/alcides?i=sjHAE6Cv7AE:LZn6S57lqB0:F7zBnMyn0Lo" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alcides?a=sjHAE6Cv7AE:LZn6S57lqB0:RA5wSiGCOJw" rel="nofollow" target="_blank"&gt;&lt;img border="0" src="http://feeds.feedburner.com/~ff/alcides?i=sjHAE6Cv7AE:LZn6S57lqB0:RA5wSiGCOJw" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height="1" src="http://feeds.feedburner.com/~r/alcides/~4/sjHAE6Cv7AE" width="1" /&gt;
</description><pubDate>Sat, 28 Aug 2010 16:09:37 +0100</pubDate><guid>http://feedproxy.google.com/~r/alcides/~3/sjHAE6Cv7AE/install-rpy2-mac-os-106</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - One more step in OCR with OCRFeeder 0.7</title><link>http://www.joaquimrocha.com/2010/07/30/one-more-step-in-ocr-with-ocrfeeder-0-7/</link><description>&lt;p&gt;I have been hacking on some new and cool features on &lt;a href="http://live.gnome.org/OCRFeeder" target="_blank"&gt;OCRFeeder&lt;/a&gt; for a while and now it is time to show them to the world in a new release.&lt;/p&gt;
&lt;p&gt;These features I&amp;#8217;m talking about fall mainly in 2 areas: improving the a11y of the UI and improving the recognition of documents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A11y Improvement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The improvement of the a11y has the typical UI changes to include mnemonics, missing labels and relations, but also other approaches that have more to do with UX like using a progress dialog to inform users that time-taking operations are being carried. This means that now, the PDF importation and OCR won&amp;#8217;t block the UI.&lt;br /&gt;
Other changes in this category were the navigation through the content boxes (before, these could only be selected by clicking on them), the selection of all boxes and the deletion of selected boxes.&lt;/p&gt;
&lt;p&gt;The following screenshot shows the box editor area of OCRFeeder with its mnemonics highlighted:&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_508" style="width: 160px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_a11y1.png"&gt;&lt;img alt="Box edition area" class="size-medium wp-image-508" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_a11y1-150x300.png" title="ocrfeeder_a11y" width="150" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Box edition area&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Recognition Improvements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sometimes, text columns are so close to each other that they end up being recognized as a single paragraph, so I added a post-detection method to solve this issue. This feature is optional and can be toggled from the Preferences dialog.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s an example of the difference it makes:&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_503" style="width: 229px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_no_columns1.png"&gt;&lt;img alt="Before columns' detection improvements" class="size-medium wp-image-503" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_no_columns1-219x300.png" title="ocrfeeder_no_columns" width="219" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Before columns' detection improvements&lt;/p&gt;&lt;/div&gt;
&lt;div class="wp-caption aligncenter" id="attachment_504" style="width: 230px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_columns1.png"&gt;&lt;img alt="After columns' detection improvements" class="size-medium wp-image-504" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_columns1-220x300.png" title="ocrfeeder_columns" width="220" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;After columns' detection improvements&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Scanned document images are usually skewed and this makes it more difficult for the contents to be successfully detected and &amp;#8220;OCRed&amp;#8221;. I decided to implement an algorithm to deskew these images. The algorithm uses the &lt;a href="http://en.wikipedia.org/wiki/Hough_transform" target="_blank"&gt;Hough transform&lt;/a&gt; to try to find lines in the image and their angles and, while it is a bit slow, it works well:&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_509" style="width: 201px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_skewed1.png"&gt;&lt;img alt="Skewed image" class="size-medium wp-image-509" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_skewed1-191x300.png" title="ocrfeeder_skewed" width="191" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Skewed image&lt;/p&gt;&lt;/div&gt;
&lt;div class="wp-caption aligncenter" id="attachment_510" style="width: 201px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_deskewed1.png"&gt;&lt;img alt="Deskewed image" class="size-medium wp-image-510" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/ocrfeeder_deskewed1-191x300.png" title="ocrfeeder_deskewed" width="191" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Deskewed image&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;This action can be used in a loaded image but can also be configured to be automatically performed before the images are added. The Unpaper tool can now also be set to be clean images before adding them.&lt;br /&gt;
This makes it much easier to successfully recognize images obtained from a scanner device.&lt;/p&gt;
&lt;p&gt;Some fine tunning of the content boxes&amp;#8217; bounds was done by trying to shorten their margins, that is, lowering the distance between the boxes and their actual contents.&lt;/p&gt;
&lt;p&gt;The font size recognition was also tweaked to solve the problem of having paragraphs with initials (you know, the huge starting characters) which were influencing the whole paragraphs&amp;#8217; font size.&lt;/p&gt;
&lt;p&gt;To finish the recognition&amp;#8217;s improvements, I have added an optional action to find and fix the text&amp;#8217;s line breaks. Usually, OCR engines don&amp;#8217;t consider &amp;#8220;semantic line-breaks&amp;#8221;, that is, OCR engines always insert a newline in the end of each line.&lt;br /&gt;
Using some regular expressions, I try to find these &amp;#8220;fake&amp;#8221; line-breaks and recover the original flow of the text. Like some of the features mentioned above, this one can also be turned on/off from the Preferences dialog.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s how the Preferences dialog looks like now:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/Preferences_dialog1.png"&gt;&lt;img alt="Preferences_dialog" class="aligncenter size-medium wp-image-511" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/Preferences_dialog1-263x300.png" title="Preferences_dialog" width="263" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/07/Preferences_dialog_recognition1.png"&gt;&lt;img alt="Preferences_dialog_recognition" class="aligncenter size-medium wp-image-512" height="300" src="http://www.joaquimrocha.com/wp-content/uploads/2010/07/Preferences_dialog_recognition1-263x300.png" title="Preferences_dialog_recognition" width="263" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To finish, images can now be dragged and dropped onto the pages&amp;#8217; area and the mouse wheel can be used to scroll horizontally combining it with the Shift key, thanks to Stefan Löffler, and of course, several bugs were corrected and code was improved.&lt;/p&gt;
&lt;p&gt;As you see, this is a &amp;#8220;rich&amp;#8221; new version of OCRFeeder that keeps being the easiest way to use OCR in a desktop. You are welcome to file bugs in &lt;a href="http://www.joaquimrocha.com/category/python/feed/bugzilla.gnome.org/" target="_blank"&gt;bugzilla&lt;/a&gt; or to send patches and features&amp;#8217; requests to its &lt;a href="http://mail.gnome.org/mailman/listinfo/ocrfeeder-list" target="_blank"&gt;mailing list&lt;/a&gt; or approaching me if you&amp;#8217;re in &lt;a href="http://www.guadec.org" target="_blank"&gt;GUADEC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Download: &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.7" target="_blank"&gt;OCRFeeder 0.7 tarball on GNOME FTP&lt;/a&gt;&lt;/p&gt;
</description><pubDate>Fri, 30 Jul 2010 13:44:14 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/07/30/one-more-step-in-ocr-with-ocrfeeder-0-7/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - SeriesFinale 0.6.1 released</title><link>http://www.joaquimrocha.com/2010/07/19/seriesfinale-0-6-1-released/</link><description>&lt;p&gt;It&amp;#8217;s been a while now since I released the last version of &lt;a href="http://maemo.org/downloads/product/Maemo5/seriesfinale/"&gt;SeriesFinale&lt;/a&gt;.&lt;br /&gt;
The truth is that I&amp;#8217;ve been busier than usual these days and of course, this is reflected on pet projects.&lt;/p&gt;
&lt;p&gt;As some of you may have experienced, there was a kind of a nasty bug in SeriesFinale&amp;#8217;s last version: it wouldn&amp;#8217;t update certain shows (when they had been added long ago)&amp;#8230; and the good news is that this is one of the things that got fixed in this new version.&lt;/p&gt;
&lt;p&gt;One of the good things &lt;a href="http://blogs.igalia.com/jasuarez/"&gt;Juan&lt;/a&gt; introduced for this version is how the next episodes to be watched are shown. Before, the episodes were shown according to their &amp;#8220;first aired&amp;#8221; date and in case of the same date for two or more episodes, the highest index one would be marked as the one to be watched. In this &lt;a href="http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/seriesfinale/0.6.1-1/"&gt;0.6.1&lt;/a&gt; version, the episodes are shown according to their number and season, so, if episode #3 has the same air date as episode #4, #3 will always be shown as the next one to be watched.&lt;/p&gt;
&lt;p&gt;It is now using a priority queue to download the series&amp;#8217; covers and info that gives priority to the info. This means you won&amp;#8217;t have to wait for the info AND covers to download when you hit the Update All menu but instead wait only for the info; the covers will then be downloaded in the background while you use the app normally.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m now introducing the new Russian translation, which Misha Ketslah had kindly sent to me a while ago but that I hadn&amp;#8217;t had the time to integrate.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s the list of major changes for this new version:&lt;/p&gt;
&lt;p&gt;* Add Russian translation (thanks to Misha Ketslah)&lt;br /&gt;
* Fix updating of shows&lt;br /&gt;
* Use a priority queue to differentiate the downloads of covers or series&amp;#8217; info&lt;br /&gt;
* Use only one AsyncWorker at most to deal with the series&lt;br /&gt;
* Prevent the download and usage of images to generate problems&lt;br /&gt;
* Fix showing next episode&lt;br /&gt;
* Add TheTVDB credits&lt;br /&gt;
* Add THANKS file&lt;/p&gt;
&lt;p&gt;So&amp;#8230; what about that GNOME version, you ask? I&amp;#8217;ve already started to port it to GNOME but couldn&amp;#8217;t dedicate much time to it and taking into account that I&amp;#8217;ll be on vacation very soon, it&amp;#8217;s likely it will take a little longer. But I&amp;#8217;m looking forward to use SeriesFinale on GNOME!&lt;/p&gt;
&lt;p&gt;As for the N900 owners, I&amp;#8217;ve just promoted the package to &lt;a href="http://maemo.org/packages/package_instance/view/fremantle_extras-testing_free_armel/seriesfinale/0.6.1-1/"&gt;Extras-Testing&lt;/a&gt; so either use the Extras-Devel repo as usual or wait ~10 days for it to appear in Extras.&lt;/p&gt;
</description><pubDate>Mon, 19 Jul 2010 10:05:37 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/07/19/seriesfinale-0-6-1-released/</guid></item><item><title>open core - Test Driven Development with PHP</title><link>http://blog.rogeriopvl.com/archives/test-driven-development-with-php</link><description>&lt;p&gt;This week I had the oportunity to give an introduction talk about Test Driven Development with PHP at &lt;a href="http://www.dri.pt"&gt;DRI&lt;/a&gt; Code Sessions. I&amp;#8217;m no TDD expert, but I&amp;#8217;ve been using this methodology on some of my personal projects, and this was a great way to consolidate what I&amp;#8217;ve been learning and also share and discuss it with other programmers.&lt;/p&gt;

&lt;p&gt;The slides are very concise, as they had the sole purpose of guiding my speech. But I believe that they give, along with the code examples, a good notion of what TDD is about.&lt;/p&gt;
&lt;div id="__ss_4764870" style="text-align: center;"&gt;

&lt;/div&gt;
&lt;p&gt;You can find the &lt;a href="http://github.com/rogeriopvl/dri_codesessions_tdd"&gt;code examples&lt;/a&gt; on Github and also the slides in PDF and ODP formats.&lt;/p&gt;
</description><pubDate>Sat, 17 Jul 2010 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/test-driven-development-with-php</guid></item><item><title>open core - Moved from Wordpress to Jekyll</title><link>http://blog.rogeriopvl.com//archives/moved-from-wordpress-to-jekyll</link><description>&lt;p&gt;I&amp;#8217;ve been wanting to leave the &lt;a href="http://wordpress.com" title="Wordpress website"&gt;Wordpress&lt;/a&gt; platform for a while now, and last week I finally managed to start rebuilding this blog with &lt;a href="http://jekyllrb.com" title="Jekyll website"&gt;Jekyll&lt;/a&gt; - a blog-aware, static site generator in Ruby.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t get me wrong, I still think that Wordpress is a great blogging/CMS platform. But for me and the purpose of this blog, it has become a little overkill.&lt;/p&gt;

&lt;p&gt;Jekyll is my ideal way to maintain a blog. I get to use my favorite daily work tools (&lt;a href="http://git-scm.com" title="Git website"&gt;Git&lt;/a&gt; and &lt;a href="http://macromates.com" title="Textmate website"&gt;Textmate&lt;/a&gt;) and in terms of performance, static files are just great, no need to spend precious VPS resources. Oh, did I mention that this blog is now running on a VPS? That&amp;#8217;s right, &lt;a href="http://prgmr.com" title="Prgmr website"&gt;prgmr.com&lt;/a&gt; powered. I&amp;#8217;m gradually moving all content in the Dreamhost account to the VPS.&lt;/p&gt;

&lt;p&gt;Regarding the migration, it went almost perfect except for the feed. Feed subscribers may notice some weird behavior, like sudden unread posts showing up that aren&amp;#8217;t new at all and stuff like that. Things will get stable with new posts.&lt;/p&gt;

&lt;p&gt;The blog design has also changed from a modified &lt;a href="http://wordpress.org/extend/themes/simplicitybright" title="Simplicity Bright theme"&gt;Wordpress template&lt;/a&gt; to something built from scratch. This new design keeps things simple and readable, just the way I like. So no fancy stuff, just plain focus on content. And it&amp;#8217;s still being improved along with the markup, so there will be some changes in the next few days.&lt;/p&gt;
&lt;div class="update"&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I&amp;#8217;m now using the &lt;a href="http://code.google.com/apis/webfonts/" title="Google Webfonts API"&gt;Google Webfonts API&lt;/a&gt; to serve the some beautiful fonts. The header title font is &lt;a href="http://code.google.com/webfonts/family?family=Lobster" title="Lobster font"&gt;Lobster&lt;/a&gt;, the body font is &lt;a href="http://code.google.com/webfonts/family?family=Droid+Sans" title="Droid Sans font"&gt;Droid Sans&lt;/a&gt; and the code font is &lt;a href="http://code.google.com/webfonts/family?family=Droid+Sans+Mono" title="Droid Sans Mono font"&gt;Droid Sans Mono&lt;/a&gt;. If your browser does not support Webfonts the CSS will fallback to Georgia, the original font of this blog.&lt;/p&gt;
&lt;/div&gt;
</description><pubDate>Sat, 26 Jun 2010 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com//archives/moved-from-wordpress-to-jekyll</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - Grilo powered Rhythmbox</title><link>http://www.joaquimrocha.com/2010/06/02/grilo-powered-rhythmbox/</link><description>&lt;p&gt;&lt;a href="http://live.gnome.org/Grilo" target="_blank"&gt;Grilo&lt;/a&gt; is getting really interesting and one of its newest nice things is the DBUS interface &lt;a href="http://blogs.igalia.com/jasuarez/" target="_blank" title="Juan Suarez's blog"&gt;Juan&lt;/a&gt; has been working on lately.&lt;/p&gt;
&lt;p&gt;This DBUS interface is currently known as &lt;a href="http://live.gnome.org/Grilo#Grilo_feeding_Rygel" target="_blank"&gt;Rygel-Grilo&lt;/a&gt; (it was originally intended to be a source for Rygel) and uses the &lt;a href="http://live.gnome.org/Rygel/MediaServerSpec" target="_blank" title="MediaServerSpec"&gt;MediaServerSpec&lt;/a&gt; to allow developers to retrieve the media objects Grilo provides.&lt;/p&gt;
&lt;p&gt;Since there aren&amp;#8217;t still Python bindings for Grilo, I decided to use the Rygel-Grilo to be able to use Grilo from Python.&lt;br /&gt;
So I developed a &lt;a href="http://projects.gnome.org/rhythmbox/" target="_blank" title="Rhythmbox"&gt;Rhythmbox&lt;/a&gt; plugin that shows every MediaServer1 object available and lets the use browse through the contents of these. Needless to say, although this plugin provides a very generic basic and usage, it&amp;#8217;s easy to see how applications like Rhythmbox could be using Grilo to get their media.&lt;br /&gt;
&lt;em&gt;The philosophy is:&lt;/em&gt; Grilo gives you content, GStreamer plays that content, and you&amp;#8217;re free to focus in the rest of your app&amp;#8217;s details.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a video of Rygel-Grilo and the Rhythmbox MediaServer1 plugin in action:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/12093435"&gt;Grilo MediaServer1 Rhythmbox Plugin&lt;/a&gt; from &lt;a href="http://vimeo.com/user1454556"&gt;Joaquim Rocha&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can find this plugin under the &lt;a href="http://gitorious.org/mediaserver1-plugins" target="_blank"&gt;MediaServer1 Plugins&lt;/a&gt; project on Gitorious.&lt;/p&gt;
&lt;p&gt;Juan did also developed a cool plugin for &lt;a href="http://projects.gnome.org/totem/" target="_blank" title="Totem"&gt;Totem&lt;/a&gt; similar to this one. Take a look at &lt;a href="http://blogs.igalia.com/jasuarez/2010/06/02/rygel-and-grilo-dating-together/" target="_blank" title="Post about Grilo MediaServer1 plugin for Totem"&gt;this post&lt;/a&gt; to see the plugin working and a more detailed explanation of what Rygel-Grilo is.&lt;/p&gt;
</description><pubDate>Wed, 02 Jun 2010 11:42:09 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/06/02/grilo-powered-rhythmbox/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - Summer internships in 2010 at Igalia</title><link>http://www.joaquimrocha.com/2010/05/18/summer-internships-in-2010-at-igalia/</link><description>&lt;p&gt;Igalia, a Free Software Galician company, offers for the ninth consecutive year the possibility of undertaking internships for twelve to fourteen weeks from early June to early September, at its offices in A Coruña and Pontevedra (Spain).&lt;/p&gt;
&lt;p&gt;This opportunity is offered to Computer Engineers or Computer Technical Engineers who have completed over 50% of their degrees.&lt;/p&gt;
&lt;p&gt;Why do it?&lt;/p&gt;
&lt;p&gt;* Most of us undertook internships when we were students.&lt;br /&gt;
* It is a good way to give back something to the university from which we come.&lt;br /&gt;
* It is also a good way to hire people. Almost 50% of the people who made undertook internships with us in the past are part of the company today.&lt;/p&gt;
&lt;p&gt;How are the internships?&lt;/p&gt;
&lt;p&gt;* 350 hours with flextime, with a minimum of 5 hours/day and a maximum of 8 hours/day during July, August and September.&lt;br /&gt;
* 325 hours working on a Free Software project and 25 hours to write the report.&lt;br /&gt;
* Help 1500 €.&lt;/p&gt;
&lt;p&gt;If you are interested in applying for the internship, the period for receiving of applications starts from May 14th to May 28th.&lt;br /&gt;
Please, fill &lt;a href="http://www.igalia.com/nc/igalia/workwithus/form/" target="_blank"&gt;this form&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Tue, 18 May 2010 11:14:15 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/05/18/summer-internships-in-2010-at-igalia/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - SeriesFinale v0.6 AKA “Xmas Comes Earlier” edition</title><link>http://www.joaquimrocha.com/2010/05/11/seriesfinale-v0-6-aka-xmas-comes-earlier-edition/</link><description>&lt;p&gt;It&amp;#8217;s been a while since last SeriesFinale&amp;#8217;s version and I have been a bit busy meanwhile but still got time, together with &lt;a href="http://blogs.igalia.com/jasuarez" target="_blank" title="Juan Suarez"&gt;Juan&lt;/a&gt;, to pull up some nice new features. In the end, we had so many changes and the app felt so smooth that we nicknamed it &amp;#8220;Xmas Comes Earlier&amp;#8221;!&lt;/p&gt;
&lt;p&gt;So what can you find in this new version?&lt;/p&gt;
&lt;p&gt;* The covers are now downloaded in the background which allows users to keep  using the application and improves idle times when adding/updating  shows.&lt;br /&gt;
* No more database deletions. Many people complained that sometimes it would suddenly delete all the database. We have now introduced a few verifications that make it harder for the database to be deleted unless you do it yourself.&lt;br /&gt;
* The format of the JSON of the database and the way the serialization is done is now faster which allows faster load and save times.&lt;br /&gt;
* The impossibility to delete shows is also fixed.&lt;br /&gt;
* No more problems with characters like &amp;amp; on the episodes and shows&amp;#8217; names.&lt;br /&gt;
* Already added shows are now marked with color when searching for shows.&lt;br /&gt;
* The highlight of episodes is now fixed, when marking them.&lt;br /&gt;
* A new logo that works in a black background has been added.&lt;br /&gt;
* Images are now downloaded to temporary files which allows a safer assignment to the shows/seasons.&lt;br /&gt;
* The images are now deleted if it&amp;#8217;s not being used anymore (when shows are deleted), and are not downloaded more than once (when a show is added twice).&lt;br /&gt;
* The removal of the application now deletes the images folder.&lt;br /&gt;
* AUTHORS, README and THANKS files were added to the package.&lt;br /&gt;
* Translations were updated.&lt;br /&gt;
* The search dialog now allows you to search shows in a chosen language.&lt;br /&gt;
* The About dialog was added.  Here are a few screenshots:&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_376" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/05/no_covers.png"&gt;&lt;img alt="Shows when no cover has been added" class="size-medium wp-image-376" height="182" src="http://www.joaquimrocha.com/wp-content/uploads/2010/05/no_covers-300x182.png" title="Shows when no cover has been added" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Shows when no cover has been added&lt;/p&gt;&lt;/div&gt;
&lt;div class="wp-caption aligncenter" id="attachment_377" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/05/downloading_covers.png"&gt;&lt;img alt="Temporary image when downloading cover" class="size-medium wp-image-377" height="182" src="http://www.joaquimrocha.com/wp-content/uploads/2010/05/downloading_covers-300x182.png" title="Temporary image when downloading cover" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Temporary image when downloading cover&lt;/p&gt;&lt;/div&gt;
&lt;div class="wp-caption aligncenter" id="attachment_378" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/05/search_dialog.png"&gt;&lt;img alt="Search dialog with Language choices" class="size-medium wp-image-378" height="182" src="http://www.joaquimrocha.com/wp-content/uploads/2010/05/search_dialog-300x182.png" title="Search dialog with Language choices" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Search dialog with Language choices&lt;/p&gt;&lt;/div&gt;
&lt;div class="wp-caption aligncenter" id="attachment_379" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/05/about_dialog.png"&gt;&lt;img alt="About dialog" class="size-medium wp-image-379" height="182" src="http://www.joaquimrocha.com/wp-content/uploads/2010/05/about_dialog-300x182.png" title="About dialog" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;About dialog&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Two other things that are new are the creation of two mailing lists for SeriesFinale:&lt;br /&gt;
&lt;a href="https://garage.maemo.org/mailman/listinfo/seriesfinale-general" target="_blank" title="SF General ML"&gt;seriesfinale-general&lt;/a&gt; for general discussion, help and feature requests&lt;br /&gt;
&lt;a href="https://garage.maemo.org/mailman/listinfo/seriesfinale-development" target="_blank" title="SF Development ML"&gt;seriesfinale-development&lt;/a&gt; for discussions related to features development and bug tracking&lt;/p&gt;
&lt;p&gt;You should be able to upgrade SeriesFinale from the extras-devel repository. I&amp;#8217;ll promote it extras later.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
</description><pubDate>Tue, 11 May 2010 13:21:12 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/05/11/seriesfinale-v0-6-aka-xmas-comes-earlier-edition/</guid></item><item><title>Valério Valério&amp;#39;s blog - Are you the next star application developer for MeeGo?</title><link>http://www.valeriovalerio.org/?p=362</link><description>&lt;p&gt;Want to work in the coolest team at Nokia ? (mine of course &lt;img alt=";)" class="wp-smiley" src="http://www.valeriovalerio.org/wp-includes/images/smilies/icon_wink.gif" /&gt;  )&lt;/p&gt;
&lt;p&gt;MeeGo devices at Nokia is looking for a Linux expert that knows how to write C++ code, knowledge of Qt, Python and HTML 5 is a plus, check out this event for more details:&lt;a href="http://www.facebook.com/event.php?eid=105529266158916"&gt; http://www.facebook.com/event.php?eid=105529266158916&lt;/a&gt;&lt;/p&gt;
</description><pubDate>Fri, 07 May 2010 15:43:41 +0100</pubDate><guid>http://www.valeriovalerio.org/?p=362</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - Python class at Master in Free Software 09/10</title><link>http://www.joaquimrocha.com/2010/04/25/python-class-at-master-in-free-software-0910/</link><description>&lt;p&gt;Last Friday I gave an introduction to Python as class in &lt;a href="http://www.mastersoftwarelibre.com/" target="_blank" title="Master Software Libre"&gt;Master in Free Software&lt;/a&gt;.&lt;br /&gt;
In this session I tried to cover Python from the very basics to decorators, properties and &lt;a href="http://docs.python.org/library/pdb.html" target="_blank" title="Python Debugger"&gt;PDB&lt;/a&gt;. All covered only as an overview, not in deep detail.&lt;/p&gt;
&lt;p&gt;After the introduction we did a simple &lt;a href="http://www.pygtk.org" target="_blank" title="PyGTK"&gt;PyGTK&lt;/a&gt; application to list the files from a folder the user gives it; it will hopefully come in handy when they start to develop their project&amp;#8217;s UI.&lt;/p&gt;
&lt;p&gt;So I&amp;#8217;m sharing here the presentation I created for it. If you&amp;#8217;re thinking of learning Python or have started learning it recently it might be helpful for you.&lt;/p&gt;
&lt;div style="width: 425px; text-align: left;"&gt;&lt;/div&gt;
</description><pubDate>Sun, 25 Apr 2010 10:02:49 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/04/25/python-class-at-master-in-free-software-0910/</guid></item><item><title>Wiki Alcides Fonseca - PIL on SnowLeopard</title><link>http://feedproxy.google.com/%7Er/alcides/%7E3/ZnrI0dU2f7s/pil-snowleopard</link><description>&lt;p&gt;How to install &lt;span class="caps"&gt;PIL&lt;/span&gt; (Python Image Library) in Snow Leopard with freetype2 and libjpg support.&lt;/p&gt; &lt;h4&gt;Libjpg&lt;/h4&gt; &lt;p&gt;&lt;code&gt; brew install jpeg &lt;/code&gt; Or download source and compile.&lt;/p&gt; &lt;h4&gt;Freetype2&lt;/h4&gt; &lt;p&gt;&lt;code&gt;wget http://mirrors.fe.up.pt/pub/nongnu/freetype/freetype-2.1.10.tar.gz&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;tar -zxvf freetype-2.1.10.tar.gz &amp;#38;&amp;#38; cd freetype-2.1.10&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;./configure &amp;#38;&amp;#38; make &amp;#38;&amp;#38; sudo make install&lt;/code&gt;&lt;/p&gt; &lt;h4&gt;&lt;span class="caps"&gt;PIL&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;&lt;code&gt;wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;tar -zxvf Imaging-1.1.6.tar.gz &amp;#38;&amp;#38; cd Imaging-1.1.6/&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Open setup.py and change JPEG_ROOT and FREETYPE_ROOT to:&lt;/p&gt; &lt;p&gt;&lt;code&gt;FREETYPE_ROOT = libinclude("/usr/local")&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;JPEG_ROOT = libinclude("/Users/alcides/Code/Support/homebrew/Cellar/jpeg/7")&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Finally, &lt;code&gt;sudo python setup.py install&lt;/code&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/alcides?a=ZnrI0dU2f7s:LvIg-Yv4nn4:F7zBnMyn0Lo" rel="nofollow" target="_blank"&gt;&lt;img border="0" src="http://feeds.feedburner.com/~ff/alcides?i=ZnrI0dU2f7s:LvIg-Yv4nn4:F7zBnMyn0Lo" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/alcides?a=ZnrI0dU2f7s:LvIg-Yv4nn4:RA5wSiGCOJw" rel="nofollow" target="_blank"&gt;&lt;img border="0" src="http://feeds.feedburner.com/~ff/alcides?i=ZnrI0dU2f7s:LvIg-Yv4nn4:RA5wSiGCOJw" /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height="1" src="http://feeds.feedburner.com/~r/alcides/~4/ZnrI0dU2f7s" width="1" /&gt;
</description><pubDate>Tue, 06 Apr 2010 22:34:13 +0100</pubDate><guid>http://feedproxy.google.com/~r/alcides/~3/ZnrI0dU2f7s/pil-snowleopard</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder 0.6.6</title><link>http://www.joaquimrocha.com/2010/04/05/ocrfeeder-0-6-6/</link><description>&lt;p&gt;&lt;a href="http://live.gnome.org/OCRFeeder" target="_blank" title="OCRFeeder"&gt;OCRFeeder&lt;/a&gt; version 0.6.6 has been released.&lt;/p&gt;
&lt;p&gt;This version has no big improvements and exists mainly to introduce the fix of a bug that prevented using the algorithm for recognizing documents automatically.&lt;/p&gt;
&lt;p&gt;The copyright was updated to include the proper copyright and license notices of &lt;a href="http://odfpy.forge.osor.eu/" target="_blank" title="ODFPy"&gt;ODFPy&lt;/a&gt;, which ships with OCRFeeder.&lt;br /&gt;
It also features some improvements to Debian related files (thanks to &lt;a href="http://blogs.igalia.com/berto/" target="_blank" title="Berto's blog"&gt;Alberto Garcia&lt;/a&gt;, who is creating the official deb package for Debian) and a few translation updates.&lt;/p&gt;
&lt;p&gt;See the whole list of changes &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/ocrfeeder-0.6.6.news" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Your usual links:&lt;a href="http://git.gnome.org/browse/ocrfeeder/" target="_blank" title="OCRFeeder's git"&gt;&lt;br /&gt;
OCRFeeder&amp;#8217;s git&lt;br /&gt;
&lt;/a&gt;&lt;a href="https://bugzilla.gnome.org/buglist.cgi?cmdtype=runnamed&amp;amp;namedcmd=OCRFeeder" target="_blank" title="OCRFeeder's Bugzilla"&gt; OCRFeeder&amp;#8217;s bugzilla&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/" target="_blank" title="OCRFeeder on GNOME's FTP"&gt;OCRFeeder&amp;#8217;s Tarball from GNOME&amp;#8217;s FTP&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ocrfeeder.googlecode.com/files/ocrfeeder_0.6.6-1_all.deb" target="_blank" title="OCRFeeder 0.6.6 deb package"&gt;OCRFeeder 0.6.6 Debian package&lt;/a&gt;&lt;/p&gt;
</description><pubDate>Mon, 05 Apr 2010 15:11:22 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/04/05/ocrfeeder-0-6-6/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - Caribou and Text Predictor Input Mode</title><link>http://www.joaquimrocha.com/2010/04/05/caribou-and-text-predictor-input-mode/</link><description>&lt;p&gt;I have been wanting to show how &lt;a href="http://live.gnome.org/Caribou" target="_blank" title="Caribou"&gt;Caribou&lt;/a&gt; can be used with the &lt;a href="http://www.joaquimrocha.com/2010/03/03/text-prediction-on-gnome/" target="_blank" title="Text Prediction on GNOME"&gt;Text Predictor Input Mode&lt;/a&gt; I wrote a while ago and finally today I took the time to do it.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/10687630"&gt;Caribou with Text Predictor Input Mode&lt;/a&gt; from &lt;a href="http://vimeo.com/user1454556"&gt;Joaquim Rocha&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Okay, the shortcuts  to accept prediction candidates or scroll through them can be changed into some that are quickly accessible.&lt;br /&gt;
With the changes I did to Caribou, one can even easily provide a special button, such as &amp;#8220;ACCEPT&amp;#8221;, like the screenshot below shows:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/04/caribou_with_accept_key.png"&gt;&lt;img alt="Caribou with Accept key" class="aligncenter size-medium wp-image-329" height="99" src="http://www.joaquimrocha.com/wp-content/uploads/2010/04/caribou_with_accept_key-300x99.png" title="Caribou with Accept key" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The changes I&amp;#8217;m talking about and that you see in the video and the QWERTY keyboard layout I used can be found in Caribou&amp;#8217;s bug &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=613229" target="_blank"&gt;#613229&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I wrote these changes because the current way of writing layouts for Caribou doesn&amp;#8217;t seem very flexible nor appropriate for non programmers, in my opinion.&lt;br /&gt;
These changes drop the current usage of Python files with tuples as a way to configure Caribou&amp;#8217;s layouts. Instead, json files should be used and more functionality that wasn&amp;#8217;t implemented before is also possible with the mentioned patch.&lt;/p&gt;
&lt;p&gt;Basically, instead of having either character keys or symbol, label pairs that Caribou understands, each key should be a set of attributes that define it, which Caribou then interprets accordingly.&lt;/p&gt;
&lt;p&gt;For a basic key, all one needs to have is the &lt;em&gt;value&lt;/em&gt; attribute, which can receive a string (for example a character) or the name of a key in GDK (you can easily figure them out from the &lt;a href="http://git.gnome.org/browse/gtk+/tree/gdk/gdkkeysyms.h" target="_blank" title="GDK Keysyms file"&gt;GDK key syms file&lt;/a&gt;).&lt;br /&gt;
So:&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #888888;"&gt;&lt;em&gt;{&amp;#8221;value&amp;#8221;: &amp;#8220;a&amp;#8221;}&lt;/em&gt;&lt;/span&gt; will create a key labeled a that inputs the character a&lt;br /&gt;
&lt;em&gt; &lt;span style="color: #888888;"&gt;{&amp;#8221;value&amp;#8221;: &amp;#8220;BackSpace&amp;#8221;}&lt;/span&gt;&lt;/em&gt; will create a backspace key but labeled with &amp;#8220;BackSpace&amp;#8221;&lt;/p&gt;
&lt;p&gt;You can override the label of a key using the attribute &amp;#8220;label&amp;#8221;, as:&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #888888;"&gt;&lt;em&gt;{&amp;#8221;value&amp;#8221;: &amp;#8220;BackSpace&amp;#8221;,&lt;br /&gt;
&amp;#8220;label&amp;#8221;: &amp;#8220;⌫&amp;#8221;}&lt;/em&gt;&lt;/span&gt; will create a backspace key but labeled with &amp;#8220;⌫&amp;#8221;&lt;/p&gt;
&lt;p&gt;Labels can use &lt;a href="http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html" target="_blank" title="Pango Markup"&gt;Pango Markup&lt;/a&gt; to change its text style, for example: &lt;span style="color: #888888;"&gt;&lt;em&gt;{&amp;#8221;label&amp;#8221;: &amp;#8220;&amp;lt;small&amp;gt;&amp;lt;b&amp;gt;Small Bold Text Key&amp;lt;/b&amp;gt;&amp;lt;/small&amp;gt;&amp;#8221;, &amp;#8230;}&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;width&lt;/em&gt; attribute is also introduced and means the width relative to a usual key&amp;#8217;s width. A width of 3 will generate a key that fills the space of 3 keys whereas 0.25 fills a quarter of a regular key&amp;#8217;s space.&lt;/p&gt;
&lt;p&gt;A key can be of a given type which indicates how it behaviors. There is 5 types of keys: &lt;em&gt;normal&lt;/em&gt;, &lt;em&gt;layout_switcher&lt;/em&gt;, &lt;em&gt;preferences&lt;/em&gt;, &lt;em&gt;mask&lt;/em&gt; and &lt;em&gt;dummy&lt;/em&gt;.&lt;br /&gt;
A &lt;em&gt;normal&lt;/em&gt; key type indicates it is a regular &amp;#8220;you-press-you-input&amp;#8221; key and is the default type, which is why it wasn&amp;#8217;t specified in the examples above.&lt;br /&gt;
A &lt;em&gt;layout_switcher&lt;/em&gt; key, when pressed, will change the keyboard sublayout to the one given by the value attribute (and must exist in the layout file), so, if we are in the &amp;#8220;lowercase&amp;#8221; layout and we want a key labeled &amp;#8220;UP&amp;#8221; to change to the &amp;#8220;uppercase&amp;#8221; layout:&lt;br /&gt;
&lt;span style="color: #888888;"&gt;&lt;em&gt;{&amp;#8221;label&amp;#8221;: &amp;#8220;UP&amp;#8221;, &amp;#8220;key_type&amp;#8221;: &amp;#8220;layout_switcher&amp;#8221;, &amp;#8220;value&amp;#8221;: &amp;#8220;uppercase&amp;#8221;}&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;preferences&lt;/em&gt; key type brings up the preferences menu.&lt;br /&gt;
A &lt;em&gt;mask&lt;/em&gt; key means that you set a mask indicated by the value attribute when you press it. For the Alt key:&lt;br /&gt;
&lt;span style="color: #888888;"&gt;&lt;em&gt;{&amp;#8221;label&amp;#8221;: &amp;#8220;Alt&amp;#8221;, &amp;#8220;key_type&amp;#8221;: &amp;#8220;mask&amp;#8221;, &amp;#8220;value&amp;#8221;: &amp;#8220;mod1&amp;#8243;}&lt;/em&gt;&lt;/span&gt; again, the &amp;#8220;mod1&amp;#8243; is the mask name from GDK.&lt;/p&gt;
&lt;p&gt;Finally, there&amp;#8217;s the &lt;em&gt;dummy&lt;/em&gt; key type which is used basically to set spacer keys and allow to separate some keys from others in order to improve visual grouping. Rows that don&amp;#8217;t have the number of keys in any row (including dummy keys) will be centered horizontally.&lt;/p&gt;
&lt;p&gt;These let you play with keyboards&amp;#8217; layouts and design any kind of layout in a flexible and easy way.&lt;/p&gt;
&lt;p&gt;At the moment, the patch is still pending review. Let&amp;#8217;s hope it gets a green light and is applied.&lt;/p&gt;
</description><pubDate>Mon, 05 Apr 2010 10:26:11 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/04/05/caribou-and-text-predictor-input-mode/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - SeriesFinale 0.5 AKA Supa-Dupa Edition released</title><link>http://www.joaquimrocha.com/2010/03/29/seriesfinale-0-5-aka-supa-dupa-edition-released/</link><description>&lt;p&gt;For those who didn&amp;#8217;t notice, last week SeriesFinale finally got &lt;a href="http://maemo.org/downloads/product/6de94cea369b11df884eedf335f5ad82ad82/" target="_blank" title="SeriesFinale Application"&gt;promoted to Extras&lt;/a&gt; which are very good news and now SeriesFinale 0.5 has been just released!&lt;/p&gt;
&lt;p&gt;Why is this edition so special? Because it will from now on retrieve images for the shows and its seasons.&lt;br /&gt;
This morning I finally took the time to check how to retrieve those and I really like the way SeriesFinale looks like now. Of course, this means that the next shows update you do will start retrieving all the images for your shows and seasons which might take, let&amp;#8217;s say, a while. Still, don&amp;#8217;t worry because once it gets the images, next time you update, only the general information will be retrieved.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve also fixed the slowness when panning the different content views. Panning should now be much more fluid.&lt;/p&gt;
&lt;p&gt;Another good thing in this edition is that the tiny episodes&amp;#8217; checkbox still looks tiny but it&amp;#8217;s in fact larger and this means you can much more easily tap on it to mark episodes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.igalia.com/jasuarez/" target="_blank" title="Juan"&gt;Juan&lt;/a&gt;, the maintainer of the Diablo version and a colleague of mine at &lt;a href="http://www.igalia.com" target="_blank" title="Igalia"&gt;Igalia&lt;/a&gt;, sent patches for including the season number together with the episode number, so it shows like &amp;#8220;2&amp;#215;05&amp;#8243; which is more useful than just the episode&amp;#8217;s number.&lt;br /&gt;
He also pointed a bug when adding a show  manually, which got fixed for this release as well.&lt;/p&gt;
&lt;p&gt;Here are a couple of screenshots showing what you&amp;#8217;ll see soon (I just finished sending the packages to the server) in your favorite mobile phone:&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_320" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/seriesfinale_art.png"&gt;&lt;img alt="SeriesFinale with shows' art" class="size-medium wp-image-320" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/seriesfinale_art-300x180.png" title="seriesfinale_art" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;SeriesFinale with shows' art&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="wp-caption aligncenter" id="attachment_321" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/seriesfinale_season_art.png"&gt;&lt;img alt="SeriesFinale with seasons' art" class="size-medium wp-image-321" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/seriesfinale_season_art-300x180.png" title="seriesfinale_season_art" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;SeriesFinale with seasons' art&lt;/p&gt;&lt;/div&gt;
&lt;h6&gt;(I didn&amp;#8217;t have time to update or integrate any translations in this version but I&amp;#8217;m planning to have it done for the next one so I apologize for any inconvenience.)&lt;/h6&gt;
</description><pubDate>Mon, 29 Mar 2010 15:14:54 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/03/29/seriesfinale-0-5-aka-supa-dupa-edition-released/</guid></item><item><title>open core - Using Things with Dropbox</title><link>http://blog.rogeriopvl.com/archives/using-things-with-dropbox</link><description>&lt;p&gt;&lt;a href="http://culturedcode.com/things/"&gt;Things&lt;/a&gt; is probably one of the best task management applications for Mac that I&amp;#8217;ve come across. And the only that I didn&amp;#8217;t completely forgot after 2-3 days. The iPhone/iPod app is just the cherry on top of the cake. You can sync with your Mac app and all.&lt;/p&gt;
&lt;p&gt;The one feature Things is missing (besides being Mac only), is sync between different computers. I constantly use 2 Macs (personal and work) so this was a major turn off. But that&amp;#8217;s where &lt;a href="https://www.dropbox.com/home"&gt;Dropbox&lt;/a&gt; kicks in and saves the day.&lt;/p&gt;
&lt;p&gt;Although not very explicit, Things has the option to select the location of your tasks database. So it&amp;#8217;s pretty much obvious: save the database in a Dropbox folder, configure all you&amp;#8217;re Things apps to use the new database location and you&amp;#8217;re done.&lt;/p&gt;
&lt;p&gt;This is where you&amp;#8217;re Things database is stored:&lt;/p&gt;
&lt;pre class="code"&gt;
~/Library/Application Support/Cultured Code/
&lt;/pre&gt;
&lt;p&gt;Just copy the &lt;code&gt;Things/&lt;/code&gt; folder that lives in the path above to your Dropbox and then open the Things app pressing simultaneously the option key (alt). A popup will show up asking you to choose the library (database) location:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://blog.rogeriopvl.com/wp-content/uploads/2010/03/ChooseALibraryDialog.jpg" rel="shadowbox"&gt;&lt;img alt="Things - Choose A Library Dialog" height="117" src="http://blog.rogeriopvl.com/wp-content/uploads/2010/03/ChooseALibraryDialog-300x117.jpg" title="Things - Choose A Library Dialog" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now choose the Things folder in your Dropbox and that&amp;#8217;s it. Repeat this step for every application that you use on a different Mac, and you&amp;#8217;re ready to kick some serious ass at &lt;a href="http://en.wikipedia.org/wiki/Getting_Things_Done"&gt;Getting Things Done&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can find this info about selecting Things library/database on the &lt;a href="http://culturedcode.com/things/wiki/index.php/Syncing_Things_on_multiple_Macs_%28FAQ%29"&gt;Cultured Code wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; One thing I forgot to mention is that this approach I described does not work with multiple Things applications running at the same time in different computers. Because Things only reloads the &lt;code&gt;database.xml&lt;/code&gt; file on startup, if you don&amp;#8217;t close the application, it won&amp;#8217;t be aware of the new changes made to the database, and will eventually save the current state over the changes you&amp;#8217;ve made in other instances of the application.&lt;/p&gt;
</description><pubDate>Sun, 28 Mar 2010 17:13:43 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/using-things-with-dropbox</guid></item><item><title>open core - Using Things with Dropbox</title><link>http://blog.rogeriopvl.com//archives/using-things-with-dropbox</link><description>&lt;p&gt;&lt;a href="http://culturedcode.com/things/"&gt;Things&lt;/a&gt; is probably one of the best task management applications for Mac that I've come across. And the only that I didn't completely forgot after 2-3 days. The iPhone/iPod app is just the cherry on top of the cake. You can sync with your Mac app and all.&lt;/p&gt;&lt;p&gt;The one feature Things is missing (besides being Mac only), is sync between different computers. I constantly use 2 Macs (personal and work) so this was a major turn off. But that's where &lt;a href="https://www.dropbox.com/home"&gt;Dropbox&lt;/a&gt; kicks in and saves the day.&lt;/p&gt;&lt;p&gt;Although not very explicit, Things has the option to select the location of your tasks database. So it's pretty much obvious: save the database in a Dropbox folder, configure all your Things apps to use the new database location and you're done.&lt;/p&gt;&lt;p&gt;This is where you're Things database is stored:&lt;/p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="console"&gt;&lt;span class="go"&gt; ~/Library/Application Support/Cultured Code/ &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;Just copy the &lt;code&gt;Things/&lt;/code&gt; folder that lives in the path above to your Dropbox and then open the Things app pressing simultaneously the option key (alt). A popup will show up asking you to choose the library (database) location:&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;a href="http://blog.rogeriopvl.com/img/2010/03/ChooseALibraryDialog.jpg" rel="shadowbox"&gt;&lt;img alt="Things - Choose A Library Dialog" height="117" src="http://blog.rogeriopvl.com/img/2010/03/ChooseALibraryDialog-300x117.jpg" title="Things - Choose A Library Dialog" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Now choose the Things folder in your Dropbox and that's it. Repeat this step for every application that you use on a different Mac, and you're ready to kick some serious ass at &lt;a href="http://en.wikipedia.org/wiki/Getting_Things_Done"&gt;Getting Things Done&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;You can find this info about selecting Things library/database on the &lt;a href="http://culturedcode.com/things/wiki/index.php/Syncing_Things_on_multiple_Macs_%28FAQ%29"&gt;Cultured Code wiki&lt;/a&gt;.&lt;/p&gt;&lt;div class="update"&gt;
&lt;strong&gt;Update:&lt;/strong&gt; One thing I forgot to mention is that this approach I described does not work with multiple Things applications running at the same time in different computers. Because Things only reloads the &lt;code&gt;database.xml&lt;/code&gt; file on startup, if you don't close the application, it won't be aware of the new changes made to the database, and will eventually save the current state over the changes you've made in other instances of the application.
&lt;/div&gt;
</description><pubDate>Sat, 27 Mar 2010 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com//archives/using-things-with-dropbox</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder version 0.6.5</title><link>http://www.joaquimrocha.com/2010/03/24/ocrfeeder-version-0-6-5/</link><description>&lt;p&gt;I have just released OCRFeeder version 0.6.5!&lt;/p&gt;
&lt;p&gt;Here are the main changes in this version:&lt;/p&gt;
&lt;p&gt;* Importing PDF files is now faster&lt;br /&gt;
* The OCR engines manager dialog now allows to detect and choose to use system-wide OCR engines (this action is also used when the application is started with no engines configured)&lt;br /&gt;
* Multiple content areas in OCRFeeder&amp;#8217;s canvas can now be selected using Shift+Click&lt;br /&gt;
* Introduces Ctrl+a shortcut to select all content areas in OCRFeeder&amp;#8217;s canvas&lt;br /&gt;
* The Tools menu now has the new action &amp;#8220;Recognize Selected Areas&amp;#8221; which will perform the automatic recognition on selected content areas of OCRFeeder&amp;#8217;s canvas&lt;/p&gt;
&lt;p&gt;Also, a few bugs were fixed:&lt;/p&gt;
&lt;p&gt;* Removed PDF files&amp;#8217; extension from the images generated from them&lt;br /&gt;
* Sorts images when adding them from a folder&lt;br /&gt;
* Selection areas are now getting selected after creating them&lt;br /&gt;
* Fixed problem when quitting the application&lt;/p&gt;
&lt;p&gt;(You can also read the &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/ocrfeeder-0.6.5.news" target="_blank"&gt;full list of changes&lt;/a&gt;)&lt;/p&gt;
&lt;div class="wp-caption aligncenter" id="attachment_312" style="width: 310px;"&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/OCRFeeder_recognize_all_areas.png"&gt;&lt;img alt="Recognize All Areas action" class="size-medium wp-image-312" height="88" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/OCRFeeder_recognize_all_areas-300x88.png" title="OCRFeeder_recognize_all_areas" width="300" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Recognize All Areas action&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;You can download the new tarball from &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/" target="_blank" title="GNOME's FTP"&gt;GNOME&amp;#8217;s FTP&lt;/a&gt; or a Debian package from &lt;a href="http://ocrfeeder.googlecode.com/files/ocrfeeder_0.6.5-1_all.deb" target="_blank" title="OCRFeeder deb package"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d also would like to thank the &lt;a href="http://www.gnome.org/i18n/" target="_blank" title="GNOME i18n Team"&gt;GNOME i18n Team&lt;/a&gt; for their work translating OCRFeeder.&lt;/p&gt;
</description><pubDate>Wed, 24 Mar 2010 20:59:46 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/03/24/ocrfeeder-version-0-6-5/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - SeriesFinale 0.4 released</title><link>http://www.joaquimrocha.com/2010/03/13/seriesfinale-0-4-released/</link><description>&lt;p&gt;I have just release a new version of SeriesFinale.&lt;/p&gt;
&lt;p&gt;For this 0.4 version there is a very useful and requested feature: Update All!&lt;br /&gt;
Now you will be able to update all the TV shows by just clicking a button instead of having to go show by show and waiting for each one to be updated. As you see on the screenshots below, the shows view now also displays the next episode to watch plus, when updating the shows, feedback on the shows that are finished updating is given by a banner.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005315.png"&gt;&lt;img alt="SeriesFinale new shows view style" class="aligncenter size-medium wp-image-306" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005315-300x180.png" title="SeriesFinale new shows view style" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005325.png"&gt;&lt;img alt="Menu with Update All" class="aligncenter size-medium wp-image-307" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005325-300x180.png" title="Menu with Update All" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005344.png"&gt;&lt;img alt="Banner showing a just updated Show" class="aligncenter size-medium wp-image-308" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2010/03/Screenshot-20100313-005344-300x180.png" title="Banner showing a just updated Show" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You&amp;#8217;ll also notice that initializing and quitting the application is now much faster. This happens because as for the shows&amp;#8217; updates, the loading and saving of the database is now run on a different thread.&lt;/p&gt;
&lt;p&gt;There was also a bug when manually editing an episode, which is now fixed.&lt;br /&gt;
Another bug you might have experienced was duplicated episode entries. It usually happened when there were placeholder episodes named &amp;#8220;TBD&amp;#8221;, since SF was using the episodes&amp;#8217; names to compare them, when the &amp;#8220;TBD&amp;#8221; episode was updated with the correct but different name, a new episode would be added instead&amp;#8230; I removed the name checking from the comparison and now two episodes are the same if they have the same number and same season number.&lt;/p&gt;
&lt;p&gt;Also, you might have noticed that the TV shows view scrolls really slowly. Today I found why such happens and will try to have it fixed for the next release.&lt;/p&gt;
&lt;p&gt;As usual, you can find SeriesFinale code on its &lt;a href="http://gitorious.org/seriesfinale" target="_blank" title="SeriesFinale on Gitorious"&gt;Gitorious project &lt;/a&gt; and expect this new version to appear soon on an AppManager next to you.&lt;/p&gt;
&lt;p&gt;I hope you like this version as much as I do!&lt;/p&gt;
</description><pubDate>Fri, 12 Mar 2010 23:20:32 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/03/13/seriesfinale-0-4-released/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder is now on GNOME Bugzilla</title><link>http://www.joaquimrocha.com/2010/03/08/ocrfeeder-is-now-on-gnome-bugzilla/</link><description>&lt;p&gt;&lt;a href="http://live.gnome.org/OCRFeeder" target="_blank" title="OCRFeeder"&gt;OCRFeeder&lt;/a&gt; is now a product on GNOME Bugzilla and it should now be used for filing new issues. OCRFeeder Google Project&amp;#8217;s bugtracker should be abandoned then.&lt;/p&gt;
&lt;p&gt;So if you have been using OCRFeeder and found some issues or think it&amp;#8217;s missing a great feature, go to the following URL and file a new bug:&lt;br /&gt;
&lt;a href="http://https://bugzilla.gnome.org/enter_bug.cgi?product=ocrfeeder" target="_blank" title="Open a new bug for OCRFeeder"&gt;https://bugzilla.gnome.org/enter_bug.cgi?product=ocrfeeder&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thank you for helping the GNOME&amp;#8217;s OCR application.&lt;/p&gt;
</description><pubDate>Mon, 08 Mar 2010 07:47:53 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/03/08/ocrfeeder-is-now-on-gnome-bugzilla/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder version 0.6.1 released</title><link>http://www.joaquimrocha.com/2010/03/07/ocrfeeder-version-0-6-1-released/</link><description>&lt;p&gt;As has become usual every couple of weeks or so, I released a new version of &lt;a href="http://live.gnome.org/OCRFeeder" target="_blank" title="OCRFeeder's web page"&gt;OCRFeeder&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;This is version 0.6.1 and the main changes this time are:&lt;/p&gt;
&lt;p&gt;* Now you can increase or decrease the zoom using Ctrl+Mouse wheel. This kind of shortcut is well known in many GNOME applications and even I was missing it;&lt;br /&gt;
* Warning dialogs are now shown when something went wrong while opening an image;&lt;br /&gt;
* Fixed encoding problem when reading non-ASCII characters;&lt;br /&gt;
* Fixed error when configuring a new engine;&lt;br /&gt;
* Improved Debian package&amp;#8217;s files (thanks to &lt;a href="http://blogs.igalia.com/berto/" target="_blank" title="Berto's blog"&gt;Alberto Garcia&lt;/a&gt;)&lt;br /&gt;
* Fixed zoom issues (sometimes the allowed zoom would not be consistent among tries);&lt;/p&gt;
&lt;p&gt;It was a good week on &lt;a href="http://code.google.com/p/ocrfeeder/issues/list" target="_blank" title="OCRFeeder's bug tracker"&gt;OCRFeeder&amp;#8217;s bug tracker&lt;/a&gt;, specially thanks to user Hank who reported important problems.&lt;/p&gt;
&lt;p&gt;I am really glad about how OCRFeeder is turning out and I expect to make it even better with the help of its users, either by sending suggestions, reporting bugs or simply by using it you will be helping the project.&lt;/p&gt;
&lt;p&gt;You can download OCRFeeder 0.6.1 tarball from &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/" target="_blank" title="OCRFeeder release on GNOME FTP"&gt;GNOME FTP&lt;/a&gt; or optionally download a &lt;a href="http://ocrfeeder.googlecode.com/files/ocrfeeder_0.6.1-1_all.deb" target="_blank" title="OCRFeeder deb package"&gt;Debian package&lt;/a&gt; directly.&lt;/p&gt;
</description><pubDate>Sat, 06 Mar 2010 23:22:03 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/03/07/ocrfeeder-version-0-6-1-released/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder 0.6 released and the move to GNOME</title><link>http://www.joaquimrocha.com/2010/01/23/ocrfeeder-0-6-released-and-the-move-to-gnome/</link><description>&lt;p&gt;I&amp;#8217;ve just released OCRFeeder 0.6.&lt;/p&gt;
&lt;p&gt;This new version introduces the following changes:&lt;/p&gt;
&lt;p&gt;* Hide import pdf and unpaper menus if the respective commands are not available&lt;br /&gt;
* Several code improvements&lt;br /&gt;
* Removed Studio from the application name&lt;br /&gt;
* Removed unneeded engines folder&lt;br /&gt;
* Lowered the package name font case&lt;br /&gt;
* Updated copyright notice on the about dialog&lt;br /&gt;
* Swedish translation (thanks to Daniel Nylander)&lt;/p&gt;
&lt;p&gt;Another very important change is that I moved the development of OCRFeeder to the GNOME infrastructure.&lt;br /&gt;
This means I&amp;#8217;m using &lt;a href="http://git.gnome.org/browse/ocrfeeder/" target="_blank" title="OCRFeeder in git.gnome.org"&gt;GNOME&amp;#8217;s git server&lt;/a&gt; and will soon use GNOME Bugzilla to track bugs.&lt;br /&gt;
I always thought of OCRFeeder as a unique Free Software application (in the way that there isn&amp;#8217;t anyone similar to it) and that it would be great to get it more involved with our favorite desktop environment.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d like to thank &lt;a href="http://www.gnome.org/~csaavedra/news.html" target="_blank" title="Claudio's blog"&gt;Claudio&lt;/a&gt; for supporting me on this move.&lt;/p&gt;
&lt;p&gt;You can get the latest source from &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/0.6/" target="_blank" title="GNOME FTP"&gt;GNOME FTP&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Sat, 23 Jan 2010 17:32:31 +0100</pubDate><guid>http://www.joaquimrocha.com/2010/01/23/ocrfeeder-0-6-released-and-the-move-to-gnome/</guid></item><item><title>open core - hashr for Google Chrome</title><link>http://blog.rogeriopvl.com//archives/hashr-for-google-chrome</link><description>&lt;p&gt;Yesterday I've released &lt;a href="http://rogeriopvl.com/hashr"&gt;hashr&lt;/a&gt; extension for &lt;a href="http://chrome.google.com"&gt;Google Chrome&lt;/a&gt;. This is the first version, and it was just to try out the extensions platform for Google's browser.&lt;/p&gt;&lt;p&gt;So basically this extension does the same as the &lt;a href="https://addons.mozilla.org/en-US//addon/8539/"&gt;Firefox addon&lt;/a&gt;, and the &lt;a href="http://rogeriopvl.com/hashr"&gt;website&lt;/a&gt;, but in Chrome. Here's a screenshot of it in action:&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;a href="http://blog.rogeriopvl.com/img/2010/01/screen1.png" rel="shadowbox"&gt;&lt;img alt="hashr chrome extension" class="aligncenter size-medium wp-image-736" height="176" src="http://blog.rogeriopvl.com/img/2010/01/screen1-300x176.png" title="hashr for chrome" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;You can find more screenshots, info and install it at the &lt;a href="https://chrome.google.com/extensions/detail/dladaomdbdobknaihmoieedebgcdgbkb"&gt;Extension Gallery page&lt;/a&gt;. Or you can just check out the source at &lt;a href="http://github.com/rogeriopvl/hashr"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Mon, 18 Jan 2010 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com//archives/hashr-for-google-chrome</guid></item><item><title>open core - hashr for Google Chrome</title><link>http://blog.rogeriopvl.com/archives/hashr-for-google-chrome</link><description>&lt;p&gt;Yesterday I&amp;#8217;ve released &lt;a href="http://rogeriopvl.com/hashr"&gt;hashr&lt;/a&gt; extension for &lt;a href="http://chrome.google.com"&gt;Google Chrome&lt;/a&gt;. This is the first version, and it was just to try out the extensions platform for Google&amp;#8217;s browser.&lt;/p&gt;
&lt;p&gt;So basically this extension does the same as the &lt;a href="https://addons.mozilla.org/en-US//addon/8539/"&gt;Firefox addon&lt;/a&gt;, and the &lt;a href="http://rogeriopvl.com/hashr"&gt;website&lt;/a&gt;, but in Chrome. Here&amp;#8217;s a screenshot of it in action:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://blog.rogeriopvl.com/wp-content/uploads/2010/01/screen1.png" rel="shadowbox"&gt;&lt;img alt="hashr chrome extension" class="aligncenter size-medium wp-image-736" height="176" src="http://blog.rogeriopvl.com/wp-content/uploads/2010/01/screen1-300x176.png" title="hashr for chrome" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can find more screenshots, info and install it at the &lt;a href="https://chrome.google.com/extensions/detail/dladaomdbdobknaihmoieedebgcdgbkb"&gt;Extension Gallery page&lt;/a&gt;. Or you can just check out the source at &lt;a href="http://github.com/rogeriopvl/hashr"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Mon, 18 Jan 2010 22:54:05 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/hashr-for-google-chrome</guid></item><item><title>open core - Tinyscrobbler</title><link>http://blog.rogeriopvl.com/archives/tinyscrobbler</link><description>&lt;p&gt;On my spare time I&amp;#8217;ve been learning the &lt;a href="http://www.ruby-lang.org"&gt;Ruby&lt;/a&gt; language. And &lt;a href="http://github.com/rogeriopvl/tinyscrobbler"&gt;Tinyscrobbler&lt;/a&gt; is the first result.&lt;/p&gt;
&lt;p&gt;Tinyscrobbler is a lightweight &lt;a href="http://last.fm"&gt;Last.fm&lt;/a&gt; scrobbler library. It can be used to implement the track scrobbling feature in a ruby player app.&lt;/p&gt;
&lt;p&gt;You can find the source (GitHub) &lt;a href="http://github.com/rogeriopvl/tinyscrobbler"&gt;here&lt;/a&gt; and install the ruby gem from &lt;a href="http://gemcutter.org/gems/tinyscrobbler"&gt;Gemcutter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you opt to install from Gemcutter, you need to add it to your gem sources. Just type the following in your terminal (depending on your system you might need to execute these commands with &lt;code&gt;sudo&lt;/code&gt;):&lt;/p&gt;
&lt;pre class="code"&gt;$ gem sources -a http://gemcutter.org&lt;/pre&gt;
&lt;p&gt;This will add gemcutter to your gem sources. Finally to install the gem just type:&lt;/p&gt;
&lt;pre class="code"&gt;$ gem install tinyscrobbler&lt;/pre&gt;
&lt;p&gt;Tinyscrobbler contains a helper class to read the audio files metadata, but for now it only supports &lt;code&gt;.mp3&lt;/code&gt; files. I&amp;#8217;ll be working on extending the support to other file formats like &lt;code&gt;.ogg&lt;/code&gt;, &lt;code&gt;.mp4a&lt;/code&gt; and &lt;code&gt;.wma&lt;/code&gt;.&lt;/p&gt;
</description><pubDate>Sun, 17 Jan 2010 14:11:20 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/tinyscrobbler</guid></item><item><title>open core - Tinyscrobbler</title><link>http://blog.rogeriopvl.com//archives/tinyscrobbler</link><description>&lt;p&gt;On my spare time I've been learning the &lt;a href="http://www.ruby-lang.org"&gt;Ruby&lt;/a&gt; language. And &lt;a href="http://github.com/rogeriopvl/tinyscrobbler"&gt;Tinyscrobbler&lt;/a&gt; is the first result.&lt;/p&gt;&lt;p&gt;Tinyscrobbler is a lightweight &lt;a href="http://last.fm"&gt;Last.fm&lt;/a&gt; scrobbler library. It can be used to implement the track scrobbling feature in a ruby player app.&lt;/p&gt;&lt;p&gt;You can find the source (GitHub) &lt;a href="http://github.com/rogeriopvl/tinyscrobbler"&gt;here&lt;/a&gt; and install the ruby gem from &lt;a href="http://gemcutter.org/gems/tinyscrobbler"&gt;Gemcutter&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If you opt to install from Gemcutter, you need to add it to your gem sources. Just type the following in your terminal (depending on your system you might need to execute these commands with &lt;code&gt;sudo&lt;/code&gt;):&lt;/p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="console"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; gem sources -a http://gemcutter.org
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;This will add gemcutter to your gem sources. Finally to install the gem just type:&lt;/p&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="console"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; gem install tinyscrobbler
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;Tinyscrobbler contains a helper class to read the audio files metadata, but for now it only supports &lt;code&gt;.mp3&lt;/code&gt; files. I'll be working on extending the support to other file formats like &lt;code&gt;.ogg&lt;/code&gt;, &lt;code&gt;.mp4a&lt;/code&gt; and &lt;code&gt;.wma&lt;/code&gt;.&lt;/p&gt;
</description><pubDate>Sat, 16 Jan 2010 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com//archives/tinyscrobbler</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - OCRFeeder version 0.5</title><link>http://www.joaquimrocha.com/2009/12/24/ocrfeeder-version-0-5/</link><description>&lt;p&gt;What&amp;#8217;s up folks!? I hope everybody is enjoying some good holidays or getting prepared to do so soon.&lt;/p&gt;
&lt;p&gt;As for me, I am currently in Portugal to spend Christmas with my family and I have just released a new version of &lt;a href="http://live.gnome.org/OCRFeeder" target="_blank" title="OCRFeeder"&gt;OCRFeeder&lt;/a&gt;, its 0.5 version. This will be the last version released in 2009.&lt;/p&gt;
&lt;p&gt;So, what&amp;#8217;s new in version 0.5?&lt;/p&gt;
&lt;p&gt;Hongde Liu (刘洪德), a Chinese user, was kind enough to provide me with the Simplified Chinese translation of OCRFeeder.&lt;br /&gt;
This will hopefully allow more &lt;a href="http://www.gnome.org" target="_blank" title="GNOME"&gt;GNOME&lt;/a&gt; users from China to use what is the most complete Open Source OCR application for GNOME.&lt;/p&gt;
&lt;p&gt;The engines &lt;a href="http://code.google.com/p/tesseract-ocr" target="_blank" title="Tesseract OCR engine"&gt;Tesseract&lt;/a&gt;, &lt;a href="http://www.gnu.org/software/ocrad/ocrad.html" target="_blank" title="OCRAD ocr engine"&gt;Ocrad&lt;/a&gt; and &lt;a href="http://jocr.sourceforge.net/" target="_blank" title="GOCR engine"&gt;GOCR&lt;/a&gt; are now automatically detected from the system when no engines are configured.&lt;br /&gt;
Regarding the OCR engines, some verifications were also introduced to prevent errors when no engines are used.&lt;/p&gt;
&lt;p&gt;The bounding boxes are now restricted to be dragged inside the image&amp;#8217;s limits, that is, it will no longer allow a box to be dragged beyond the image&amp;#8217;s borders.&lt;/p&gt;
&lt;p&gt;For users interested in the development, the Makefile now features the generatepot and compilemessages commands which generate the application&amp;#8217;s pot file and compile a po file given its language code, respectively.&lt;br /&gt;
I plan to replace all minidom code by ElementTree, so, since this version, the feeder module is uses ElementTree.&lt;/p&gt;
&lt;p&gt;As usual, get OCRFeeder&amp;#8217;s source from &lt;a href="http://gitorious.org/ocrfeeder" target="_blank" title="OCRFeeder on Gitorious"&gt;Gitorious&lt;/a&gt; or download a &lt;a href="http://code.google.com/p/ocrfeeder/downloads/list" target="_blank" title="OCRFeeder on Google Code"&gt;Debian package&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Thu, 24 Dec 2009 00:02:41 +0100</pubDate><guid>http://www.joaquimrocha.com/2009/12/24/ocrfeeder-version-0-5/</guid></item><item><title>Joaquim Rocha&amp;#39;s Web Page - SeriesFinale 0.2.1 version on Extras Devel</title><link>http://www.joaquimrocha.com/2009/12/15/seriesfinale-0-2-1-version-on-extras-devel/</link><description>&lt;p&gt;&lt;a href="http://gitorious.org/seriesfinale" target="_blank" title="SeriesFinale in Gitorious"&gt;SeriesFinale&lt;/a&gt; seems to have had a good reception by the community. I didn&amp;#8217;t imagine that such a simple app could please to so many people, or more particularly, that so many people would have issues with keeping up with TV series&amp;#8217; episodes. I&amp;#8217;m happy for having written it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2009/12/desktop_sf.png"&gt;&lt;img alt="SeriesFinale in N900 desktop" class="alignnone size-medium wp-image-232" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2009/12/desktop_sf-300x180.png" title="SeriesFinale in N900 desktop" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(SeriesFinale together with some of the community apps I use)&lt;/p&gt;
&lt;p&gt;So, in the middle of last week I uploaded the version 0.1 to extras devel repository after solving the Debian package generation within the Scratchbox (Lizardo, from PyMaemo, helped me on this and wrote a helpful &lt;a href="http://pymaemo.garage.maemo.org/faq.html" target="_blank" title="PyMaemo FAQs"&gt;FAQ entry&lt;/a&gt; to the PyMaemo website). Still, the repository builder kept using Python 2.3 to build the package just like the problem I had on Scratchbox&amp;#8230; tried again to push some changes and build it and still: fail! In the end I just gave up using &lt;a href="http://build-common.alioth.debian.org/" target="_blank" title="The Common Debian Build System"&gt;CDBS&lt;/a&gt; for the package generation and edited the template of dh_make directly. Luckily, having a working &lt;a href="http://docs.python.org/distutils/" target="_blank" title="Python distutils"&gt;Python setup script&lt;/a&gt; cuts part of the work (I like writing software, not packaging it!) and about the failed attempts, that&amp;#8217;s what extras devel are for anyway&amp;#8230;&lt;/p&gt;
&lt;p&gt;Now version 0.2.1 is the one you can install and not call me ugly names afterwards &lt;img alt=":)" class="wp-smiley" src="http://www.joaquimrocha.com/wp-includes/images/smilies/icon_smile.gif" /&gt;&lt;br /&gt;
This version should have been available since last week but apparently there was some kind of problem in the Extras Devel repository and some apps weren&amp;#8217;t made available until yesterday.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2009/12/apps_list_sf.png"&gt;&lt;img alt="SeriesFinale in App Manager" class="alignnone size-medium wp-image-231" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2009/12/apps_list_sf-300x180.png" title="SeriesFinale in App Manager" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What does version 0.2.1 brings apart from working out of the Application Manager?&lt;/p&gt;
&lt;p&gt;* Added mark all/none menus to the episode list view (suggested by Paco Zafra on the comments to my last post)&lt;br /&gt;
* The configurations folder is now stored under /home/user/.osso . My co-worker Calvaris suggested this to me since it will include the folder when you backup the device. And don&amp;#8217;t worry with the current configurations you have now because I added a script to move the old folder automatically to the new location after this package is installed.&lt;br /&gt;
* Code improvements, among them, corrected local paths inclusion in sys path (for developing and running)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.joaquimrocha.com/wp-content/uploads/2009/12/sf_menu.png"&gt;&lt;img alt="Episodes List Menu" class="alignnone size-medium wp-image-233" height="180" src="http://www.joaquimrocha.com/wp-content/uploads/2009/12/sf_menu-300x180.png" title="Episodes List Menu" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For the next version I plan to enhance the visual of things a bit (how or what lies in my brain currently) and to introduce translation files.&lt;/p&gt;
&lt;p&gt;Add your suggestions as comments to this post or sent them by email to me.&lt;/p&gt;
&lt;p&gt;Have a nice weekend!&lt;/p&gt;
</description><pubDate>Tue, 15 Dec 2009 07:12:05 +0100</pubDate><guid>http://www.joaquimrocha.com/2009/12/15/seriesfinale-0-2-1-version-on-extras-devel/</guid></item><item><title>open core - New website and api for hashr</title><link>http://blog.rogeriopvl.com/archives/new-website-and-api-for-hashr</link><description>&lt;p&gt;Finally I just got some time to update the &lt;a href="http://rogeriopvl.com/hashr"&gt;hashr&lt;/a&gt; website.&lt;/p&gt;
&lt;p&gt;I decided to give it some color and some usability improvements. The resulting hash now shows up in a readonly text box so that when you choose long hash algorithms like &lt;a href="http://en.wikipedia.org/wiki/Whirlpool_(cryptography)"&gt;whirlpool&lt;/a&gt; the hash doesn&amp;#8217;t break the website design.&lt;/p&gt;
&lt;p&gt;Also related with this change it&amp;#8217;s the copy button. I know, I hate flash too, but unfortunately due to security issues like &lt;a href="http://blogs.pcmag.com/securitywatch/2008/08/more_on_the_clipboardjacking_a.php"&gt;clipboard-jacking&lt;/a&gt;, there&amp;#8217;s no cross-browser compatible way to place text in user&amp;#8217;s clipboard unless you use flash and the user clicks that.&lt;/p&gt;
&lt;p&gt;Anyway, the button is there to make it easy to copy the hash. But you can still do it the usual way.&lt;/p&gt;
&lt;p&gt;Apart from the interface changes, hashr now also has a stats page. This page for now only shows a chart of the top 10 most used hashing algorithms in the website and api and the total generated hashes. But it will have more charts in the future.&lt;/p&gt;
&lt;p&gt;And finally I rewrote the api and made it public with some documentation. It now supports &lt;code&gt;xml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; and &lt;code&gt;text&lt;/code&gt; responses.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/8539"&gt;Firefox extension&lt;/a&gt; is still using the old api, but soon I&amp;#8217;ll upload to &lt;a href="http://addons.mozilla.com"&gt;Mozilla Addons&lt;/a&gt; a new version using the new one.&lt;/p&gt;
</description><pubDate>Wed, 09 Dec 2009 23:42:30 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/new-website-and-api-for-hashr</guid></item><item><title>open core - New website and api for hashr</title><link>http://blog.rogeriopvl.com//archives/new-website-and-api-for-hashr</link><description>&lt;p&gt;Finally I just got some time to update the &lt;a href="http://rogeriopvl.com/hashr"&gt;hashr&lt;/a&gt; website.&lt;/p&gt;&lt;p&gt;I decided to give it some color and some usability improvements. The resulting hash now shows up in a readonly text box so that when you choose long hash algorithms like &lt;a href="http://en.wikipedia.org/wiki/Whirlpool_(cryptography)"&gt;whirlpool&lt;/a&gt; the hash doesn't break the website design.&lt;/p&gt;&lt;p&gt;Also related with this change it's the copy button. I know, I hate flash too, but unfortunately due to security issues like &lt;a href="http://blogs.pcmag.com/securitywatch/2008/08/more_on_the_clipboardjacking_a.php"&gt;clipboard-jacking&lt;/a&gt;, there's no cross-browser compatible way to place text in user's clipboard unless you use flash and the user clicks that.&lt;/p&gt;&lt;p&gt;Anyway, the button is there to make it easy to copy the hash. But you can still do it the usual way.&lt;/p&gt;&lt;p&gt;Apart from the interface changes, hashr now also has a stats page. This page for now only shows a chart of the top 10 most used hashing algorithms in the website and api and the total generated hashes. But it will have more charts in the future.&lt;/p&gt;&lt;p&gt;And finally I rewrote the api and made it public with some documentation. It now supports &lt;code&gt;xml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; and &lt;code&gt;text&lt;/code&gt; responses.&lt;/p&gt;&lt;p&gt;The &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/8539"&gt;Firefox extension&lt;/a&gt; is still using the old api, but soon I'll upload to &lt;a href="http://addons.mozilla.com"&gt;Mozilla Addons&lt;/a&gt; a new version using the new one.&lt;/p&gt;
</description><pubDate>Wed, 09 Dec 2009 23:00:00 +0100</pubDate><guid>http://blog.rogeriopvl.com//archives/new-website-and-api-for-hashr</guid></item><item><title>open core - Codebits project – Got Gigs?</title><link>http://blog.rogeriopvl.com/archives/codebits-project-got-gigs</link><description>&lt;p&gt;&lt;center&gt;&lt;img alt="Got Gigs?" src="http://blog.rogeriopvl.com/wp-content/uploads/gotg.jpg" /&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;In the last 3 days I&amp;#8217;ve been at &lt;a href="http://www.sapo.pt"&gt;Sapo&lt;/a&gt; &lt;a href="http://codebits.eu"&gt;Codebits&lt;/a&gt;. It was the first time I attended the event and I can only say that I&amp;#8217;ll do my best to be at the next one. Three days of absolute awesomeness.&lt;/p&gt;
&lt;p&gt;The programming contest was sort of an endurance test. Thirty two hours awake, most of them coding like mad (with some PES2009,  lots of pizza and redbull in between).&lt;/p&gt;
&lt;p&gt;And the final output of the contest was an iPhone app called &lt;code&gt;Got Giggs?&lt;/code&gt;. The project consists of not only an iPhone app, but also a web app that fetches concerts from a given country/city from the &lt;a href="http://www.last.fm/api"&gt;Last.fm&lt;/a&gt; api and a public api that serves them from our database in various formats including JSON, XML etc.&lt;/p&gt;
&lt;p&gt;The iPhone app was built using &lt;a href="http://phonegap.com"&gt;PhoneGap&lt;/a&gt;. This open source tool let&amp;#8217;s you build apps for mobile devices like iPhone, Blackberry, Android, etc. using HTML and Javascript. The concept is nice, but the lack of decent documentation and examples makes it a harder challenge than it seems at first hand. But with some persistence and lack of sleep we came up with the app almost complete:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://farm3.static.flickr.com/2619/4166108750_ffc8740437.jpg" rel="shadowbox[gotgigs]"&gt;Featured&lt;/a&gt; | &lt;a href="http://farm3.static.flickr.com/2778/4165425353_487c76d8ee.jpg" rel="shadowbox[gotgigs]"&gt;Soon&lt;/a&gt; | &lt;a href="http://farm3.static.flickr.com/2689/4165425185_f7a16f3c81.jpg" rel="shadowbox[gotgigs]"&gt;All Concerts&lt;/a&gt; | &lt;a href="http://farm3.static.flickr.com/2643/4165425187_3547e7152c.jpg" rel="shadowbox[gotgigs]"&gt;My Bands&lt;/a&gt; | &lt;a href="http://farm3.static.flickr.com/2615/4165425193_1f3584aa27.jpg" rel="shadowbox[gotgigs]"&gt;Settings&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The presentation didn&amp;#8217;t ran quite well. First I got nervous when I opened the macbook pro on stage and found out that I only had less than 20 minutes of battery. This laptop normally shuts down to sleep on the 10 minute mark.&lt;/p&gt;
&lt;p&gt;I had 90 seconds to present the project, but it seemed more like 10 seconds to me. I didn&amp;#8217;t even had the chance to explain half of the app&amp;#8217;s features. That&amp;#8217;s for being a noob presenting projects in public. But well, lesson learned.&lt;/p&gt;
&lt;p&gt;Anyway, this project won&amp;#8217;t stop here. We will continue developing it to reach a final product. The name will be different and will target only musical events in Portugal. So if you&amp;#8217;re interested in this web app/ iPhone app, check this blog for more updates.&lt;/p&gt;
&lt;p&gt;Overall this experience was very enlightening and definitely worth repeating. Next year will be better ;)&lt;/p&gt;
</description><pubDate>Mon, 07 Dec 2009 13:00:12 +0100</pubDate><guid>http://blog.rogeriopvl.com/archives/codebits-project-got-gigs</guid></item></channel></rss>
