<?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 &#187; Linux</title>
	<atom:link href="http://labs.danilocesar.com/blog/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.danilocesar.com/blog</link>
	<description>Free your code, Free your mind!</description>
	<lastBuildDate>Wed, 05 May 2010 20:33:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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>4</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>Pychord 0.4 Release</title>
		<link>http://labs.danilocesar.com/blog/2007/10/09/pychord-04-release/</link>
		<comments>http://labs.danilocesar.com/blog/2007/10/09/pychord-04-release/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 13:20:06 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[N800]]></category>
		<category><![CDATA[Pychord]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/2007/10/09/pychord-04-release/</guid>
		<description><![CDATA[Hi All&#8230; I&#8217;m not having much time to work on my personal projects ( pychord by example ) cause I&#8217;m having a lot of tasks to do ( and to learn ) on my college and on my new job. But I&#8217;m here to talk about pychord, so let me do it! =) Tim wrote [...]]]></description>
			<content:encoded><![CDATA[<p>Hi All&#8230;</p>
<p>I&#8217;m not having much time to work on my personal projects ( pychord by example ) cause I&#8217;m having a lot of tasks to do ( and to learn ) on my <a href="http://www.inf.ufpr.br" target="_blank">college</a> and on my <a href="http://mandriva.com.br" target="_blank">new job</a>.</p>
<p>But I&#8217;m here to talk about <a href="https://garage.maemo.org/projects/pychord/">pychord,</a> so let me do it! =)</p>
<p><a href="http://www.sense-datum.org/tim/">Tim</a> <a href="http://www.sense-datum.org/tim/archive/2007/09/17/PyChord/2" target="_blank">wrote</a> <a href="https://garage.maemo.org/tracker/?atid=1342&amp;group_id=346&amp;func=browse">a lot of good suggestions</a> on <a href="http://garage.maemo.org">garage&#8217;s</a> foruns. So, I&#8217;m working on their ideas now. I need to say &#8220;thanks&#8221; to Tim cause he gave me a lot of good suggestions to make pychord better. Thank you Tim!</p>
<p>On this last weekend I worked in &#8220;Zoom IN/OUT &#8221; feature and change the font of the chord&#8217;s screen. I think that pychord is a little better now.</p>
<p>You can get it <a href="http://labs.danilocesar.com/maemo/bora/pychord_maemo_0.4.deb">here,</a> or do a &#8220;upgrade&#8221; on your device.</p>
<p>That is all!</p>
<p>Have a nice week!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2007/10/09/pychord-04-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PyChord for Maemo: Get your .install here!</title>
		<link>http://labs.danilocesar.com/blog/2007/09/16/pychord-for-maemo-get-your-install-here/</link>
		<comments>http://labs.danilocesar.com/blog/2007/09/16/pychord-for-maemo-get-your-install-here/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 16:17:18 +0000</pubDate>
		<dc:creator>Danilo Cesar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[N800]]></category>

		<guid isPermaLink="false">http://labs.danilocesar.com/blog/2007/09/16/pychord-for-maemo-get-your-install-here/</guid>
		<description><![CDATA[Finally, Pychord is almost ready! All features (about 1.0 version) are working. Now I need to work in two different lines. Source Code improvement [1] Bug Fixes[2] [1] I didn&#8217;t have enough knowledge about pygame when I started this project. So I need to change some parts of the code to fix wrong decisions that [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, <a href="https://garage.maemo.org/projects/pychord/" target="_blank">Pychord</a> is almost ready!</p>
<p>All features (about 1.0 version) are working. Now I need to work in two different lines.</p>
<ul>
<li><a href="https://garage.maemo.org/pm/?group_id=346" target="_blank">Source Code improvement</a> [1]</li>
<li>Bug Fixes[2]</li>
</ul>
<p><strong>[1] </strong>I didn&#8217;t have enough knowledge about <a href="http://www.pygame.org" target="_blank">pygame</a> when I started this project. So I need to change some parts of the code to fix wrong decisions that I made before.<br />
<strong>[2] </strong> If you are using this application, please, give me a <a href="https://garage.maemo.org/tracker/?group_id=346">feedback</a> and I will try to make it better!</p>
<p>Then I will start to develop the 1.1 version ( with some features that I promised before ).</p>
<p>In this version, I created a configuration file (/home/user/.pychord.conf), and this file has to have two simple lines:<br />
<code><br />
db=/home/user/.pychord.db<br />
datadir=/home/user/pychord/data<br />
</code><br />
Where:<br />
&#8220;<strong>db</strong>&#8221; is your DataBase file, with all your chords. Its a sqlite&#8217;s file.<br />
&#8220;<strong>datadir</strong>&#8221; is the folder where pychord will get the chords to put into database file on update process.</p>
<p>You can edit these options by clicking on &#8220;i&#8221; symbol in PyChord&#8217;s first screen. You can also choose by what type of update you want: Full-update or Incremental Update. In Full-update you will lose all your database data. In incremental update pychord will get all files of your datadir and put into database.</p>
<p>All files in your datadir folder have to have the &#8220;.chr&#8221; extension, and have to be like this example:<br />
<code><br />
Name: Music Name<br />
Artist: Music Artist Name<br />
D#       E      F<br />
Your chords<br />
D #      E      F<br />
Your chords<br />
D       E#      F<br />
Your chords<br />
</code><br />
<em>(Two first lines are used like headers, describing the Name of the music and the name of the Artist. Followed by the chords)</em></p>
<p>Ok, its too easy right?!</p>
<p>So, you have to have  a directory (datadir) and put all your files there. Default folder is <code>/home/user/pychord/data.</code> Don&#8217;t forget to update your database when you start to use this application.</p>
<p>So, Ok! Now you can download .install <a href="http://labs.danilocesar.com/maemo/pychord.install" target="_blank">here</a>!</p>
<p>If you have problems to install this application, try again by searching for it on <code>ApplicationManager-&gt;Browse Installable Applications-&gt;others-&gt;pychord</code></p>
<p>If you have any problems after that (or suggestions), please, <a href="https://garage.maemo.org/tracker/?group_id=346">let me know</a>!</p>
<p>[]&#8216;s</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.danilocesar.com/blog/2007/09/16/pychord-for-maemo-get-your-install-here/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
