<?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>Protected * Void</title>
	<atom:link href="http://labs.danilocesar.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.danilocesar.com/blog</link>
	<description>Free your code, Free your mind!</description>
	<lastBuildDate>Thu, 03 Nov 2011 17:45:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Prague, Telepathy and HTML5 IM Client</title>
		<link>http://labs.danilocesar.com/blog/2011/11/03/prague-telepathy-and-html-5-im-client/</link>
		<comments>http://labs.danilocesar.com/blog/2011/11/03/prague-telepathy-and-html-5-im-client/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 12:37:40 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[GObject]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Telepathy]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=131</guid>
		<description><![CDATA[Hey guys! Last week I&#8217;ve attended to GStreamerConf and LinuxConf conferences in Prague, and Siraj and I had the honor of having our current project for Collabora exposed on Collabora&#8217;s both. It shared space with two others amazing Collabora&#8216;s demos: Media Explorer running a Telepathy plug-in, which adds IM and Audio/Video capabilities to the system. [...]]]></description>
				<content:encoded><![CDATA[<p>Hey guys!</p>
<p>Last week I&#8217;ve attended to GStreamerConf and LinuxConf conferences in Prague, and Siraj and I had the honor of having our current project for Collabora exposed on Collabora&#8217;s both. It shared space with two others amazing <a href="http://www.collabora.co.uk">Collabora</a>&#8216;s demos:</p>
<ol>
<li><a href="http://media-explorer.org/">Media Explorer</a> running a Telepathy plug-in, which adds IM and Audio/Video capabilities to the system.</li>
<li><a href="http://mbatle.wordpress.com/2011/11/02/illusions-in-the-web-a-real-time-video-editor-built-in-html5/">HTML 5 client of a video editor</a>, using GStreamer Editing Services on top of GtkWebkit.</li>
</ol>
<h3>A little bit about Telepathy Webkit Client</h3>
<p>During the last few weeks I&#8217;ve been working on a Telepathy client, a very special one, written almost only with HTML 5 and Javascript, on top of GTK WebKit and <a href="http://live.gnome.org/Seed">Seed</a>.<br />
The goal of this project was writing a Telepathy based IM client, to run on top of WebKit, and it should be able do make and receive audio and video calls.</p>
<h3>GObject introspection magic</h3>
<p>The first question to be answered was &#8220;How access the Telepathy methods from Javascript?&#8221;</p>
<p>And the answer was: GIR and <a href="http://live.gnome.org/Seed">Seed</a>.</p>
<p>As all Gnome developers knows, GObject introspection (GIR) allows us to access a GObject written in C  from a scriptable language, such as Javascript. So that&#8217;s part of the answer.</p>
<p>And Seed binds those introspected objects on WebKit JavascriptCore, which is pretty much what we wanted to do.</p>
<h3>Following a few screen-shots</h3>
<h4>Contact List</h4>
<p>Our first goal was to show the Telepathy&#8217;s roaster list on a HTML5 window. For the widgets, we choose to use <a href="http://joapp.com">joApp</a>, which is a quite nice and stable UI library for HTML 5 applications.</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp1.png"><img class="alignnone size-medium wp-image-139" title="Telepathy contact list" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp1-208x300.png" alt="" width="208" height="300" /></a></p>
<p>&nbsp;</p>
<h4>Chat Window</h4>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp2.png"><img class="alignnone size-medium wp-image-138" title="Telepathy chat window" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp2-227x300.png" alt="Telepathy chat window" width="227" height="300" /></a><br />
<em>What&#8217;s a IM client without a Chat window, right?!</em></p>
<p>The &#8220;tpwebkit&#8221; application with an opened text channel between two users.</p>
<h4>Receiving a call</h4>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp3.png"><img class="alignnone size-medium wp-image-137" title="Receiving a call" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp3-240x300.png" alt="" width="240" height="300" /></a></p>
<p>Telepathy WebKit application acting as a Telepathy approver for audio and video calls</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp4.png"><img class="alignnone size-medium wp-image-136" title="That's me, from the point of view of a camera on another computer" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/11/tp4-263x300.png" alt="" width="263" height="300" /></a></p>
<p>That&#8217;s me, from the point of view of my test machine&#8230;</p>
<h3>The real thing running</h3>
<p>If you want to see the real thing running, you can watch this video showing the application during the early development state.</p>
<p><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/vplj4o9wAzc?version=3&#038;feature=player_detailpage"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/vplj4o9wAzc?version=3&#038;feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></object></p>
<h3>Conclusions and future work</h3>
<p>As we can see from now, Telepathy is ready to be use on native and HTML applications.<br />
I really would like to see the current implementation integrated with the bleeding edge RTC API, which some guys are pushing to WebKit. That would be something really awesome.</p>
<p>If you want to try it, you can get the <a href="http://cgit.collabora.com/git/tpwebkit.git/">code here</a> and play with it. You&#8217;re also going to need a few special changes on Seed package. Check the linuxconf branch <a href="https://gitorious.org/~siraj/seed/sirajs-seed/commits/linuxconf">here</a>.<br />
Or, if you use Ubuntu, you can add <a href="https://launchpad.net/~zdra/+archive/prague-demo">Xavier&#8217;s PPA</a> and install the tpwebkit package.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2011/11/03/prague-telepathy-and-html-5-im-client/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beat Maker &#8211; call for testers</title>
		<link>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/</link>
		<comments>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 02:00:40 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[n900]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=121</guid>
		<description><![CDATA[Hello all! I promised this new release for the end of the last year, but I delayed it a bit due some changes in my professional and personal life. Anyway, basically this release is about bug fixing and performance improvement. It&#8217;s using less power now, and playing faster. If you want to try this version, [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2011/01/splash.jpg"><img class="alignnone size-medium wp-image-124" title="beat maker" src="http://labs.danilocesar.com/blog/wp-content/uploads/2011/01/splash-300x180.jpg" alt="" width="300" height="180" /></a></p>
<p>Hello all!</p>
<p>I promised this new release for the end of the last year, but I delayed it a bit due some changes in my professional and personal life.</p>
<p>Anyway, basically this release is about bug fixing and performance improvement. It&#8217;s using less power now, and playing faster.</p>
<p>If you want to try this version, you can get the package <a href="http://labs.danilocesar.com/qt/maemo/beat-maker_0.1-1_armel.deb">here</a>.</p>
<p>And bugs reports are always welcome, and needed ;)</p>
<p><em>ps.: I&#8217;m still trying to upload it to OVI, lets see&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2011/01/18/beat-maker-call-for-testers/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Beat Maker: The drum loop maker written with Qt</title>
		<link>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/</link>
		<comments>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 23:37:11 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[chord]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[n900]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[openbossa]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=86</guid>
		<description><![CDATA[Beat Maker is my &#8220;pet project&#8221; with Allyson Soares at INdT. It is, basically, a drum loop emulator to be used by musicians during practicing sessions. You just need to select the samples, define a BPM value and listen to the rhythm ;) If you can&#8217;t wait for the official release at Ovi Store, you [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=Ke0zBk73_Zc"><img title="BeatMaker" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/10/bm.png" width="400" height="213" /></a></p>
<p><strong>Beat Maker</strong> is my &#8220;pet project&#8221; with Allyson Soares at INdT.</p>
<p>It is, basically, a drum loop emulator to be used by musicians during practicing sessions.</p>
<p>You just need to select the samples, define a BPM value and listen to the rhythm ;)</p>
<p>If you can&#8217;t wait for the official release at Ovi Store, you can try the <a href="http://labs.danilocesar.com/qt/maemo/beat-maker_0.1-1_armel.deb">beta version</a> for n900 devices.</p>
<p>Remember: it&#8217;s a <strong>beta</strong> version of an open source software. The code can be found linked to my <a href="http://gitorious.org/beat-maker">gitorious</a> account.</p>
<p><strong>The technical point of view:</strong></p>
<p>I&#8217;m a little bit disappointed with phonon. After a <a href="http://lists-archives.org/kde-devel/24844-multiple-sounds-with-phonon.html">long discussion</a> I&#8217;ve realized that phonon could not be used on Beat Maker.</p>
<p>At this time I&#8217;m using an approach suggested by <a href="http://atdrez.wordpress.com/">Adriano Rezende</a>: play the sound using pulseaudio&#8217;s API. I know, it&#8217;s not portable. But hey, my target is N900 devices and it worked pretty well at the time.<br />
However, it doesn&#8217;t scale. So, now, I&#8217;m working on a kind of &#8220;in-app-mixer&#8221;, which should solve this problem.</p>
<p>There is another problem, related to QTimer. Qt can&#8217;t guarantee the timing between the beats using QTimer events. Especially when you generate mouse events.  Anyway, the mixer controller loop should solve this as well.</p>
<p>Big thanks to Adriano for the tips, and Allyson who made the excellent UI design.</p>
<p>I hope you enjoy it.<br />
Suggestions are welcome =)</p>
<p>ps.: youtube video bellow<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Ke0zBk73_Zc&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/Ke0zBk73_Zc&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/10/14/beat-maker-a-drum-loop-application-written-with-qt/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Symbian, 2D games and Qt Optimization Flags</title>
		<link>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/</link>
		<comments>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 20:58:15 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[QtS60]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=51</guid>
		<description><![CDATA[After two and a half years building rich UIs on top of QGraphicsView and trying every kind of exotic flags or approaches to get better performance results on symbian, I&#8217;ve decided to publish some of them which can be useful to game programmers. With a little help of Ademar, we&#8217;ve selected a good use case: [...]]]></description>
				<content:encoded><![CDATA[<p>After two and a half years building rich UIs on top of QGraphicsView and trying every kind of exotic flags or approaches to get better performance results on symbian, I&#8217;ve decided to publish some of them which can be useful to game programmers.</p>
<p>With a little help of <a href="http://www.ademar.org">Ademar</a>, we&#8217;ve selected a good use case: a bouncing game.</p>
<h2>The game</h2>
<p><img class="size-medium wp-image-52 alignleft" style="margin: 2px 20px 2px 2px;" title="ChainReaction" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/10_balls-168x300.png" alt="10 balls image of chainreaction game" width="151" height="270" /></p>
<div style="display: block;">
<p>This game is simple: there are some balls running on the screen, and if you press one of them it will explode, and if a red ball touches a exploded ball, it will explode too. However the game logic is not important here.  Lets list some of the characteristics of this game from a developer&#8217;s point of view:</p>
<ul>
<li>Static background.</li>
<li>Balls can be implemented as GraphicsItems.</li>
<li>Red balls are always moving.</li>
<li>Non-exploded ball doesn&#8217;t collide.</li>
<li>List of elements can grow fast.</li>
<li>The items are scattered on the screen</li>
</ul>
</div>
<div style="display: block; clear: both;"><span style="color: #ff6600;"><strong><em>The comments bellow are only valid for the characteristics of a game defined above.</em></strong></span></div>
<h2>The flags</h2>
<p>The flags I want to comment on this post are:</p>
<ul>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsscene.html#ItemIndexMethod-enum">QGraphicsScene::ItemIndexMethod</a></li>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsview.html#OptimizationFlag-enum">QGraphicsView::OptimizationFlags</a></li>
<li><a href="http://doc.trolltech.com/4.6/qgraphicsview.html#ViewportUpdateMode-enum">QGraphicsView::ViewportUpdateMode</a></li>
</ul>
<h2>The results</h2>
<p>* Those tests were performed on a Nokia 5800, type RM-356, with V51.0.006 firmware and Qt 4.6.3.<br />
** The Y axis is measuring FPS: the higher, the better.</p>
<h3>10 elements on the screen</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/bsp-noindex-all.png"><img class="alignnone size-full wp-image-56" title="bsp-noindex-all" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/bsp-noindex-all.png" alt="" width="721" height="374" /></a></p>
<p>First of all, I&#8217;ve tried the four ViewportUpdate methods, with 10 items on the screen, and the MinimalViewportUpdate and the SmartViewportUpdate gave me the highest FPS( 34 and 33.5) . Qt documentation shows  <a href="http://doc.trolltech.com/4.6/qgraphicsscene.html#ItemIndexMethod-enum">NoIndex</a> as the best option for dynamic scenes&#8230; well, the difference is small for few items, but it&#8217;s true =)</p>
<p>So, for the other tests, lets use the NoIndex flag.</p>
<h4>What about optimization flags?</h4>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-1.png"><img class="alignnone size-full wp-image-57" title="opt-1" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-1.png" alt="" width="575" height="379" /></a></p>
<p>I took two results from the latest test (SmartViewportUpdate and BoundingRectViewportUpdate) and ran it again with two optimizationFlags: <a href="http://doc.trolltech.com/4.6/qgraphicsview.html#OptimizationFlag-enum">QGraphicsView::DontSavePainterState</a> and <a href="QGraphicsView::DontAdjustForAntialiasing">QGraphicsView::DontAdjustForAntialiasing</a>. So, optimizations flags brings us a little bit of improvement when we can control precisely how the items will be drawn.</p>
<h3>20 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-20.png"><img class="alignnone size-full wp-image-58" title="opt-20" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-20.png" alt="" width="728" height="375" /></a></p>
<h3>30 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-30.png"><img class="alignnone size-full wp-image-60" title="opt-30" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-30.png" alt="" width="723" height="376" /></a></p>
<h3>40 elements</h3>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-40.png"><img class="alignnone size-full wp-image-61" title="opt-40" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/opt-40.png" alt="" width="723" height="369" /></a></p>
<h2>Lessons Learned</h2>
<p>It&#8217;s important to select the correct ViewportUpdate method for your kind of scene. It can make the difference.</p>
<p>If there is a lot of dynamic elements, and if they are scattered throughout the scene, it&#8217;s cheaper to paint the whole screen (or, at least, the bounding rect) instead of trying to determinate the affected area.</p>
<p>To be honest I was expecting a better result from FullViewportUpdate, but I believe it would be better than BoundingRect if we use non-static background.</p>
<h2>What if?</h2>
<p>What if I use only one graphicsItem to paint all the balls? What if a ball was not an item but an object with a render method?</p>
<p>I got a little bit surprised, it wasn&#8217;t the result I was expecting &#8211; it&#8217;s worst. It only gets to be better when I put more than 60 items on the screen.</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/hack.png"><img class="alignnone size-full wp-image-62" title="hack" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/hack.png" alt="" width="521" height="379" /></a></p>
<h2>Will I throw the code in the garbage can?</h2>
<p>No! As the result of the tests and with a creative help of <a href="http://www.naraosga.com">Nara</a> &#8211; INdT designer &#8211; I&#8217;m releasing a playable alpha version of this game, called by Chubba-Lubba.  It&#8217;s not finished, since it&#8217;s still missing the icon, sounds and scores features, but it&#8217;s testable =)</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/chubbalubba.png"><img class="alignnone size-medium wp-image-69" title="chubbalubba" src="http://labs.danilocesar.com/blog/wp-content/uploads/2010/09/chubbalubba-168x300.png" alt="" width="168" height="300" /></a></p>
<p><a href="http://labs.danilocesar.com/qt/symbian/chubbyluba.sis">Symbian package here!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/09/19/symbian-2d-games-and-qt-optimization-flags/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Symbian development using Linux on real life&#8230;</title>
		<link>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/</link>
		<comments>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/#comments</comments>
		<pubDate>Wed, 05 May 2010 13:30:13 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[gnupoc]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[QtS60]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=28</guid>
		<description><![CDATA[I believe most companies that develop Symbian products uses windows, and only windows, on their development process. Well&#8230; We don&#8217;t =) When we started to develop symbian applications at INdT we, as open source developers, decided to find a way to keep using linux as our development environment. On the beginning we didn’t have yet an official [...]]]></description>
				<content:encoded><![CDATA[<p>I believe most companies that develop Symbian products uses windows, and only windows, on their development process. Well&#8230; We don&#8217;t =)</p>
<p>When we started to develop symbian applications at <a href="http://www.indt.org.br/">INdT</a> we, as open source developers, decided to find a way to keep using linux as our development environment.<br />
On the beginning we didn’t have yet <a href="http://labs.trolltech.com/blogs/2010/04/21/symbian-development-using-linux/" target="_blank">an official way to compile our applications on linux</a>, so we used (and still use)<a href="http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/" target="_blank"> Lizardo&#8217;s patchs</a> that enables gnupoc to compile Qt-symbian applications on Linux.</p>
<h3>First tip:</h3>
<p>Personally I think finding errors on gnupoc output is an exhaustive job. So, the first tip for those who&#8217;re using Lizardo&#8217;s approach is to use a small piece of code in your <strong>.bashrc</strong></p>
<pre>function makes60
{
  make debug-gcce 2&gt;&amp;1 | while read line
  do
    echo -e $(echo $line |
      sed 's@\\@\\\\@g' |
      sed "s/.*error.*/\\\e[0;31m(&amp;)\\\e[0;31m/I" |
      sed "s/warning/\\\E[33m(&amp;)\\\E[0;37m/gI" |
      sed "s/No such file/\\\E[33m(&amp;)\\\E[0;37m/gI"
      )
  tput sgr0;
done;
}
</pre>
<p><em>By calling <strong>makes60</strong>, every error/warning message will be highlighted in read/yellow.</em><br />
It's a simple tweak, but it is very useful.</p>
<p>So, we can compile our application, easily read the compiler messages... Now what?</p>
<h3>Analyzing the process:</h3>
<p>Let me list our development phases:</p>
<ul>
<li> <span style="color: #339966;">Coding: OK </span>with vim</li>
<li> <span style="color: #339966;">Compiling: OK</span> with gcce and some tweaks</li>
<li> <span style="color: #c1c100;">Debugging:</span> (As we work almost only with default Qt API, we build for linux first and debug there). So, it's almost OK.</li>
<li> <span style="color: #339966;">Packaging .sis</span>: OK with make sis</li>
<li> <span style="color: #ff0000;">Send to device, install and test</span>: It's a slow process yet.</li>
</ul>
<p>Testing on the device is a very difficult/slow task on linux. We don't have a debugger.  We don't even have any output message (Ok, we have: with <a href="http://developer.symbian.org/wiki/index.php/Platform_Opening/Did_You_Know%3F/P.I.P.S.#The_stdio_Subsystem_.28libc.29" target="_blank">stdioserver</a> writing on an txt file. Too hard!).</p>
<p>How does it works for Windows developers? <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/" target="_blank">Carbide++</a> and TRK!</p>
<p>Of course we don't want to install Carbide++ on linux. So, can we use TRK with linux? Yes, we can! First of all you need to get the TRK application in <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/" target="_blank">Carbide++</a> package or in newly released <a href="http://conversations.nokia.com/2010/04/27/nokia-rolls-out-qt-sdk-for-unified-mobile-developer-experience/" target="_blank">Nokia SDK</a>.</p>
<h3>Installing TRK:</h3>
<ol>
<li>Send and execute TRK.sis on the device.</li>
<li>Open TRK application / Options / Settings,  and select <strong>Connection = USB </strong>instead of bluetooth.</li>
<li>Go to TRK mainscreen / Options / Connect.</li>
</ol>
<p>If your USB cable is plugged you will receive a "<strong>Status: Connected</strong>" message on your phone.</p>
<p>Now you need to create a serial connection between the device and your linux machine. If you're using a 2.6.33 kernel you don't need to do that. Otherwise you need to create it manually.</p>
<p>Before you do that you need some information about the device. It can be retrieved with:</p>
<pre>[danilo@docbrown ~]$ lsusb  | grep Nokia
Bus 001 Device 011: ID <strong>0421:0154</strong> Nokia Mobile Phones</pre>
<p>So, <strong>my</strong> vendor ID is <strong>0421</strong>, and my product ID is <strong>0154</strong>.  <span style="color: #ff0000;">Remember to use your own numbers</span> =)<br />
And then you can load the usbserial mobule with the command:</p>
<pre>sudo modprobe usbserial vendor=0x0<strong>421</strong> product=0x<strong>0154</strong></pre>
<p>If everything went OK you should see a message like this:</p>
<pre>[danilo@docbrown ~]$ dmesg | grep ttyUSB
[34063.949446] usb 1-4.3.1.4: generic converter now attached to ttyUSB0</pre>
<p>Your serial port was created on /dev/ttyYSB0.</p>
<p>Ok, perfect! But how to communicate with TRK?</p>
<p>Trolls are working on that, but for now we&#8217;re using the <a href="http://qt.gitorious.org/qt/qt/trees/4.7/tools/runonphone">runonphone</a> tool. It&#8217;s the same tool used by QtCreator on Windows and you can get it by cloning <a href="http://qt.gitorious.org/qt" target="_blank">Qt Repository</a> and compiling the /tools/runonphone folder.</p>
<h3>On device testing</h3>
<p>After compiled, runonphone can be used by passing the serial port, the sis package and the executable file to it.<br />
<em>runonphone -p /dev/ttyUSB0 -s test_package.sis test_package.exe</em></p>
<p>As you probably noticed all your qWarning() messages are being redirected to runonphone output. Which is very nice!</p>
<p><strong>On device debugging</strong></p>
<p>We don&#8217;t have an interative gdb tool as we have on windows, but Qt guys are close and I&#8217;m sure we will have good news in a few days.</p>
<h3>Concluding</h3>
<p>I&#8217;m sure that Symbian development on Linux is near, and it will be massively adopted when those tools became part of QtCreator for linux. For those who can&#8217;t wait, or think that VIM is the best IDE ever, I hope those tips can help you. =)</p>
<p>And for those who&#8217;re working with Qt for symbian, remember to join the <strong>#qt-symbian</strong> on <strong>Freenode</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2010/05/05/symbian-development-using-linux-on-real-life/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Have you ever seen KDE Mobil?</title>
		<link>http://labs.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/</link>
		<comments>http://labs.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 17:27:07 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=24</guid>
		<description><![CDATA[I have! =)]]></description>
				<content:encoded><![CDATA[<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2009/08/kde_mobil.jpg"><img class="alignnone size-medium wp-image-23" title="KDE Mobil" src="http://labs.danilocesar.com/blog/wp-content/uploads/2009/08/kde_mobil-300x225.jpg" alt="KDE Mobil" width="300" height="225" /></a></p>
<p>I have! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2009/08/27/have-you-ever-seen-kde-mobil/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excelent News; Bossa Conference, Kde 4.2 and Debian Lenny!</title>
		<link>http://labs.danilocesar.com/blog/2009/02/05/excelent-news-bossa-conference-kde-42-and-debian-lenny/</link>
		<comments>http://labs.danilocesar.com/blog/2009/02/05/excelent-news-bossa-conference-kde-42-and-debian-lenny/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 13:35:42 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[openbossa]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=18</guid>
		<description><![CDATA[I&#8217;m quite excited about the news of the last few days. First: KDE 4.2 was released. I&#8217;m using as my &#8220;oficial desktop manager&#8221; at work and I&#8217;m pretty happy about it. Second: Debian Lenny might be released this month.  I&#8217;m using it too, and I know the result will be very good! Third: BossaConference agenda [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m quite excited about the news of the last few days.</p>
<p>First: KDE 4.2 was released. I&#8217;m using as my &#8220;oficial desktop manager&#8221; at work and I&#8217;m pretty happy about it.</p>
<p>Second: Debian Lenny might be released this month.  I&#8217;m using it too, and I know the result will be very good!</p>
<p>Third: BossaConference <a href="http://www.bossaconference.indt.org/programme" target="_blank">agenda</a> is ready. Think about great minds talking about OpenSource, Maemo, etc, in a paradisaical beach. I had the opportunity to join Bossa &#8217;07, and it was great! <a href="http://www.bossaconference.indt.org/registration" target="_blank">We can&#8217;t miss this one</a>! See you there! =)</p>
<p><a href="http://www.bossaconference.indt.org/" target="_blank"><img class="alignnone size-full wp-image-19" title="openbossa" src="http://labs.danilocesar.com/blog/wp-content/uploads/2009/02/openbossa.png" alt="openbossa" width="400" height="89" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2009/02/05/excelent-news-bossa-conference-kde-42-and-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SU-W8 accents on N800.</title>
		<link>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/</link>
		<comments>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 05:10:39 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[accents]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[su8w]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=16</guid>
		<description><![CDATA[I was wondering why my SU-8W BT keyboard doesn&#8217;t work well with pt_BR layout. So, yesterday, I decided to investigate this. When I was trying to pairing my keyboard, I could see that Su-8W is a pre-configurated keyboard, and with a little of patience, I dicovered the file who manages this: /usr/share/X11/xkb/symbols/nokia_vndr/su-8w. With 5 minutes [...]]]></description>
				<content:encoded><![CDATA[<p>I was wondering why my SU-8W BT keyboard <a href="http://zyakannazio.eti.br/fudeblog/2007/04/29/sem-acento/" target="_blank">doesn&#8217;t work well with pt_BR layout</a>. So, yesterday, I decided to investigate this.</p>
<p>When I was trying to pairing my keyboard, I could see that Su-8W is a pre-configurated keyboard, and with a little of patience, I dicovered the file who manages this: <code>/usr/share/X11/xkb/symbols/nokia_vndr/su-8w.</code></p>
<p>With 5 minutes by reading this file you can be familiarized with file syntax. And, with 10 minutes, you can note that <strong>THERE IS NOT A LAYOUT DEFINITION FOR PORTUGUESE/SPANISH</strong>. So, now I know why the Portuguese layout doesn&#8217;t work =).</p>
<p>But, Ok. Lets try to fix it.</p>
<p>If I select portuguese layout, and there is no portuguese layout, I assume that it&#8217;ll use <strong>us-intl</strong>, right? But, in the begining of the intl definition exists a anoying comment: &#8220;I can&#8217;t belive! It&#8217;s not intl&#8221;. Hummm&#8230;</p>
<p>Lets ignore this, and go on&#8230; What do I need? Dead_keys in <code>`,~,",',^</code>, and ç when I press &#8220;ALTgr + c&#8221;.</p>
<p>I&#8217;ll not explain all the changes I did (it&#8217;s not too much, just 4 boring lines), is easier to download and replace the old file by <a href="http://labs.danilocesar.com/maemo/keyboard/su-8w" target="_blank">this one</a>, or see the diff. <strong>[ADVISE: DO NOT FORGET TO BACKUP THE OLD FILE]</strong></p>
<p><strong></strong> <a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/06/dsc01622.jpg"><img class="alignnone size-medium wp-image-17" title="SU-8W Working" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/06/dsc01622-300x225.jpg" alt="Su-8W Working" width="300" height="225" /></a></p>
<p>And Voilà, Accents and Cedilla working like a charm.</p>
<p>The right workaround for it is create a valid portuguese layout, but just for testing proposes you can alter the intl layout.</p>
<p>Ok, that is it,</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2008/06/30/su-w8-accents-on-n800/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pychord2 beta Released!!</title>
		<link>http://labs.danilocesar.com/blog/2008/04/07/pychord2-beta-released/</link>
		<comments>http://labs.danilocesar.com/blog/2008/04/07/pychord2-beta-released/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:19:20 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[chord]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[Pychord]]></category>
		<category><![CDATA[pymaemo]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/?p=9</guid>
		<description><![CDATA[Someone told me some years ago: You cannot just put a son in the world. You need to take care of it, to suport it, and help it to grow. So, because of this, I&#8217;m releasing a new N8X0 version of Pychord. As you know, Pychord is an application to help musicians with song chords. [...]]]></description>
				<content:encoded><![CDATA[<p>Someone told me some years ago:</p>
<blockquote><p><strong>You cannot just put a son in the world. You need to take care of it, to suport it, and help it to grow.</strong></p></blockquote>
<p>So, because of this, I&#8217;m releasing a new N8X0 version of <a href="https://garage.maemo.org/projects/pychord/" target="_blank"><em><strong>Pychord</strong></em>.</a></p>
<p>As you know, Pychord is an application to help musicians with song chords. It can be summarized as a <a href="http://en.wikipedia.org/wiki/Songbook" target="_blank">Song Book</a>, but it&#8217;s not only a song book. Think about having all your musics in a small device with a good screen. Think about fast searches by lyrics. Think on changing music tones on demand! It&#8217;s <em><strong>Pychord</strong></em>!</p>
<p>So, if you want to test it, get the install <a href="http://labs.danilocesar.com/maemo/pychord/pychord_maemo_2.0.5_beta.deb" target="_blank">file</a> <a href="http://http//labs.danilocesar.com/maemo/pychord/">here</a>.</p>
<h2>Pychord HowTo</h2>
<h3>1 &#8211; Pychord file format</h3>
<p>First, you need to know the format pychord accepts. It uses a <strong><span style="color: #000000;">chr</span></strong> file format. Bellow you can see a simple example of a valid chr file.</p>
<p><code><br />
name:Backet Case<br />
artist:Green Day<br />
D#5              A#5<br />
Do you have the time<br />
C5           G5<br />
To listen to me whine<br />
G#5              D#5             A#5<br />
About nothing and everything all at once<br />
D#5         A#5<br />
I am one of those<br />
C5        G5<br />
Melodramatic fools<br />
G#5          D#5                    A#5<br />
Neurotic to the bone no doubt about it</code></p>
<p>So, we have two headers:</p>
<ol>
<li>name: Name of the music</li>
<li>artist: Name of the artist</li>
</ol>
<p>And below we have the chords in pure text. It&#8217;s very simple.</p>
<h3>2 &#8211; Installation</h3>
<p>Take the latest deb file <a href="http://labs.danilocesar.com/maemo/pychord/" target="_blank">here</a> and install it on your device. After that, go to your &#8220;Extra Menu&#8221; and open Pychord.</p>
<p>In the pychord first screen we have some informations like:<br />
<a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-1.png"><img class="alignnone size-medium wp-image-10" title="Pychord2 first screen" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-1-300x116.png" alt="This the pychord2 first screen" width="300" height="116" /></a></p>
<ol>
<li> Text you want to search in the database</li>
<li>Search context. You can search music by &#8220;Music Name&#8221;, &#8220;Artist&#8221; or &#8220;Word&#8221; (Lyric part)</li>
<li>Search button</li>
<li>Close window button</li>
<li>Information window</li>
<li>Playlist window</li>
</ol>
<h3>3 &#8211; Start and update</h3>
<p>First of all, you need to create your database file. When you have new lyrics, or in the first time that you execute pychord, you have to execute pychord&#8217;s update procedures. To do that, just click on Information Window[item 5 for the list above]. There&#8217;ll be a window like this:</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-2.png"><img class="aligncenter size-medium wp-image-11" title="pychord-screenshot2" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-2-300x177.png" alt="" width="300" height="177" /></a></p>
<ol>
<li>Where pychord will install their database files (Internal Memory, external memory card, Internal memory card)</li>
<li>Where pychord will look for chr files on updates (Internal Memory, external memory card, Internal memory card)</li>
<li>Show Advanced Options</li>
<li>Save settings</li>
<li>Update database</li>
</ol>
<p>Just explaining: [1] and [2] are combo boxes with a few options (I&#8217;ve tried to keep it as simple as possible). If you want to set a specific local, click on advanced options. ComboBox[1,2] will be replaced by input boxes. And there you can type full paths.</p>
<p>When you are done configuring Pychord, just press Save.</p>
<p>Suppose that your chr files are in your external MMC. On &#8220;<strong>Song Directory</strong>&#8221; select  &#8220;<strong>Pychord/    (External Memory Card)</strong>&#8220;. Then, click on Save, and click on Update.</p>
<p>Probably this operation will take 1 or 2 minutes. Pychord will search by every chr file in &#8220;<strong>Song Directory</strong>&#8221; and put this songs in its database.</p>
<p><span style="color: #ff0000;"><em><strong>Your files needs to be encoded in UTF-8!!! This very is important!!! Remember: UTF-8!!!</strong></em></span></p>
<h3>4 &#8211; Using Pychord as an advanced SongBook</h3>
<p>One major advantage of using Pychord instead of using conventional songbooks is: Faster searches!</p>
<p>Go to pychord main screen and type anything about the song that you are looking for. Now, select the field to be used. It can be the name of the artist ( <strong>Artist</strong> ), part of the lyric ( <strong>Word</strong> ) or part of the music&#8217;s name ( <strong>Music</strong> ). Now, click on <strong>Search</strong> button.</p>
<p>In the next screen you will see a list of results. If the result list does not fit in the screen size, it can be scrolled down so that more results can be seen. To scroll the screen just press anywhere on the result list, and scroll. If you want to do a click, just click the screen without moving.</p>
<h4>4.1 &#8211; When viewing a song</h4>
<p>After choosing your song, it will be displayed in a screen like this:</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-3.png"><img class="alignnone size-medium wp-image-12" title="Pychord Screenshot 3" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-3-300x179.png" alt="" width="300" height="179" /></a></p>
<ol>
<li>Song (scrollable list)</li>
<li>Options window</li>
<li>Scroll speed down</li>
<li>Scroll stop</li>
<li>Scroll speed up</li>
</ol>
<p>4,5,6 are scroll control buttons. Keep the button 5 pressed and see the song [1] scrolling. To reduce the scrolling speed, press button 3, and to stop it press buton 4.</p>
<p>To change song&#8217;s font size, press hardware keys <strong>ZoomIn/ZoomOut</strong>.</p>
<p>Pressing Button-2, a new screen will be displayed.</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-4.png"><img class="alignnone size-medium wp-image-13" title="Pychord-information-window" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/picture-4-300x148.png" alt="" width="300" height="148" /></a></p>
<p>Inside this window, we have tree buttons:</p>
<ol>
<li><strong><em>T+</em>: </strong>increase the music tone</li>
<li><strong><em>T-</em></strong>: decrease music tone</li>
<li><strong><em>Add to playlist: </em></strong>adds (or remove from) the music to playlist =)</li>
</ol>
<h3>5 &#8211; Using Playlist</h3>
<p>On pychord main screen, click the Playlist button <img class="alignnone size-full wp-image-14" title="Pychord playlist button" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/playlist.png" alt="" width="22" height="22" /> and a new window will be shown. In that window you will find all the songs you have added to your playlist.</p>
<p>To remove a song from your playlist, open this song, and click on information button <img class="alignnone size-medium wp-image-15" title="Pychord i button" src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/04/i.png" alt="" width="24" height="24" /> and after that, click on &#8220;<strong>Remove from playlist</strong>&#8221;</p>
<p>You can clear your Playlist by clicking in &#8220;<strong>Clear Playlist</strong>&#8221; on your Playlist screen.</p>
<h3>6 &#8211; Final comments</h3>
<p>I&#8217;m working on an heuristic to recognize whether a line is lyrics or chords. It&#8217;s far away from being perfect, but I&#8217;m working on it!</p>
<p>Pychord is not working with OpenSong format yet because it&#8217;s not so easy to create the xml file.  I thought of an easy way to put songs into pychord, and <em><strong>chr file</strong></em> was the easiest format I found. But I want to support opensong, and it will happen soon.</p>
<p>This is a beta version, the main features are working, but you can find some bugs!</p>
<p>PLEASE: <strong>WE NEED YOUR HELP</strong>! How?</p>
<ol>
<li><a href="https://garage.maemo.org/tracker/?atid=1342&amp;group_id=346&amp;func=browse">Tell me your ideas</a></li>
<li>Send me suggestions and critics</li>
<li><a href="https://garage.maemo.org/tracker/?atid=1339&amp;group_id=346&amp;func=browse">Report bugs</a></li>
</ol>
<p>So, I&#8217;m finishing this post. You are invited to test pychord. I&#8217;m waiting your comments.</p>
<p>[ ]&#8216;s</p>
<p><em>Thanks to <a href="http://www.gustavoboiko.org" target="_blank">Gustavo Boiko</a>, who helped me with this text.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2008/04/07/pychord2-beta-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Will GoogleMaps make me lost in Sorocaba? No, maemo-mapper&#8217;ll help me!</title>
		<link>http://labs.danilocesar.com/blog/2008/01/19/will-googlemaps-make-me-lost-in-sorocaba-no-maemo-mapperll-help-me/</link>
		<comments>http://labs.danilocesar.com/blog/2008/01/19/will-googlemaps-make-me-lost-in-sorocaba-no-maemo-mapperll-help-me/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 22:36:56 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[GPS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Brazil]]></category>
		<category><![CDATA[GoogleMaps]]></category>
		<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/2008/01/19/will-googlemaps-make-me-lost-in-sorocaba-no-maemo-mapperll-help-me/</guid>
		<description><![CDATA[In last two weeks I was testing a GPS device that I bought to use with maemo-mapper on my inter-states trips. Here in my city (Curitiba &#8211; Paraná &#8211; Brazil), maemo-mapper works very well&#8230;. My car is always in the route ( a green line in maemo-mapper ), I know perfectly where streets are, and [...]]]></description>
				<content:encoded><![CDATA[<p>In last two weeks I was testing  a GPS device that I bought to use with maemo-mapper  on my inter-states trips.</p>
<p>Here in my city (<a href="http://curitiba.pr.gov.br/">Curitiba</a> &#8211; Paraná &#8211; Brazil), <a href="http://garage.maemo.org/projects/maemo-mapper">maemo-mapper</a> works very well&#8230;. <a href="http://br.geocities.com/unosite/novomille.htm" target="_blank">My car</a> is always in the route ( a green line in maemo-mapper ), I know perfectly where streets are, and I know exactly where take the exits on the highways.  But Curitiba is a big and important city, <a href="http://www.danilocesar.com/blog/2008/01/11/notas-de-um-viajante/">so I decided to test</a> it in <a href="http://www.londrina.pr.gov.br/" target="_blank">Londrina &#8211; PR</a>.</p>
<p>Londrina is a little country tow here in Paraná,  but probably is the second more important city in my state. Anyway, how I was <strike>saying</strike>  writing before, GoogleMaps is so faw away to be precise in Londrina. Take a look in the photo below:</p>
<p><a href="http://labs.danilocesar.com/blog/wp-content/uploads/2008/01/google-maps_error.png" title="GoogleStreetMaps error"><img src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/01/google-maps_error.png" alt="GoogleStreetMaps error" /></a></p>
<p><em>The red line is what my car was doing and the green line is what GoogleStreetMaps was telling me to do.</em></p>
<p><em>Now I know; it&#8217;s not a Google&#8217;s problem, but it&#8217;s a <a href="http://maplink.uol.com.br/" target="_blank">MapLink</a> problem. Maplink is the company who provides street-maps to google in Brazil.</em></p>
<p>Anyway, on this situation, I can&#8217;t trust in maemo advises anymore. Google&#8217;s way points doesn&#8217;t work anymore. So I decide to fix this problem writing a &#8220;mapper-calibration&#8221; feature inside maemo-mapper. And its ready now.</p>
<p>Go to &#8220;<strong>Menu/Maps/Map Calibrate</strong>&#8220;. After that, just click in a point that you think you really are.</p>
<blockquote><p>I sugest you to stop your car in some corner, find this corner in mapper, and click on it. It&#8217;ll be more precise.</p></blockquote>
<p>And the result will be something like that:</p>
<p><img src="http://labs.danilocesar.com/blog/wp-content/uploads/2008/01/google-maps_no_error.png" alt="GoogleStreetMaps fixed by maemo mapper" /></p>
<p><em>Há! Much better now!</em></p>
<p>I don&#8217;t know if this problem happens in another countries too, but if you think that this feature is interesting to you, you can download the <a href="http://labs.danilocesar.com/maemo/mapper/maemo-mapper2.3_adding_map_calibration.patch" target="_blank">patch here</a>, or get the <a href="http://labs.danilocesar.com/maemo/mapper/maemo-mapper2.3_with_calibration.deb">compiled package</a>. (2008-version only, sorry folks)</p>
<p><em>Just remember to disable this feature when you don&#8217;t need it. =)</em></p>
<p>So, on the next weekend I&#8217;ll be in Sorocaba testing this feature. Then I&#8217;ll describe if this is useful.</p>
<p>So, nice weekend for everyone!</p>
<p>Bye!</p>
<p><strong>[update: 19/01/2008] </strong>BTW, I was forgotting. Maemo-Mapper is very well developed. They have a nice (and interesting) unit-system, so its very easy to transform pixels into latitude/longitude and vice versa. <strong>Congratulations Maemo-Mapper&#8217;s Team!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2008/01/19/will-googlemaps-make-me-lost-in-sorocaba-no-maemo-mapperll-help-me/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
