<?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>Alphatek - Steven&#039;s Tech Blog</title>
	<atom:link href="http://www.alphatek.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alphatek.info</link>
	<description>Random rants and tips about Fedora, CentOS, Maemo and other things I care about</description>
	<lastBuildDate>Tue, 25 May 2010 18:19:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>6 months with KDE 4 wrap up</title>
		<link>http://www.alphatek.info/2010/04/25/6-months-with-kde-4-wrap-up/</link>
		<comments>http://www.alphatek.info/2010/04/25/6-months-with-kde-4-wrap-up/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 09:44:24 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=645</guid>
		<description><![CDATA[About 6 months ago, I wrote a blogpost  entitled &#8220;I&#8217;m giving KDE 4 a shot in Fedora 12&#8220;. Fedora 13 is now just around the corner and it&#8217;s time for some feedback! Performance Overall, I deployed the successive KDE versions showing up during the Fedora 12 life-cycle on 4 computers. What struck me the most [...]]]></description>
			<content:encoded><![CDATA[<p>About 6 months ago, I wrote a blogpost  entitled &#8220;<a href="http://www.alphatek.info/2009/11/01/im-giving-kde-4-a-shot-in-fedora-12/" target="_blank">I&#8217;m giving KDE 4 a shot in Fedora 12</a>&#8220;. Fedora 13 is now just around the corner and it&#8217;s time for some feedback!</p>
<h4>Performance</h4>
<p>Overall, I deployed the successive KDE versions showing up during the Fedora 12 life-cycle on 4 computers. What struck me the most compared to Gnome is how diverse the experience was. Gnome + composition feels much the same on each machine, you don&#8217;t really notice a big difference in terms of performance if you have an integrated Intel chip or the latest ATI graphic card.<span id="more-645"></span></p>
<p>Due to KDE&#8217;s higher usage of composition features (and nobody wants to run KDE without composition), it was much more a hit or miss situation. On 2 of my computers with ATI Radeon HD 4550 + the open source driver, KDE was just unusable. Ironically, KDE feels the fastest on integrated Intel chips. Even there, the kickstart menu opening behaves strangely sometimes, it feels sluggish the first 3-4 times you open it; you can see it open &#8220;transparently&#8221;, then redraw the real menu content on top of it 0.5 seconds later.</p>
<p>I&#8217;m well aware that it&#8217;s probably a driver issue and not KDE&#8217;s fault, but what end-users see is simply a slow desktop&#8230;they don&#8217;t want to know <strong>why</strong> it&#8217;s slow. Installing ATI&#8217;s proprietary driver probably helps, but as ATI seems to only release new drivers following the Ubuntu release cycle, we are out of luck.</p>
<h4>Usability and complexity</h4>
<p>Usability is what I was the most concerned about. As with every new environment, you have to get used to the tools it provides. Here I have to thank the Fedora KDE SIG for quickly migrating to new KDE versions, I could really see a better user experience at each release. All my initial complaints were addressed, which speaks for itself regarding the huge work they (and upstream) do.</p>
<p>What is really nice compared to Gnome is to have only one task bar/panel (like in Windows). On modern 16/10 and even more on 16/9 displays, it gives you more space for your programs. It feels cleaner. After some weeks, I found replacement programs and usage tricks for everything I was doing in Gnome, no problems there.</p>
<p>All the features constantly integrated to KDE also make a huge difference once you learn how to use them. Take tabs merging in KDE 4.4 for example, it&#8217;s just genius. KDE is filled with these great little tricks, <strong>the only problem is to even know that they exist</strong> and learn how to use them.</p>
<p>Fortunately, they do a good marketing and information job, have a look at <a href="http://www.kde.org/announcements/4.4/" target="_blank">http://www.kde.org/announcements/4.4/</a> for example.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="281" 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://vimeo.com/moogaloop.swf?clip_id=9349030&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=9349030&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>What I had the most problems adapting to is the file browser&#8230;renaming files is a pain for example. I just can&#8217;t get used to it; it breaks any convention set by any other desktop environment. It&#8217;s all nice and shiny in demos, but in a production environment I just wanted to shoot myself sometimes. I don&#8217;t know if I&#8217;m using it wrong, but damn&#8230;6 months. Ok, I agree that you don&#8217;t spend your whole day in the file browser.</p>
<p>On a lighter side, what I also don&#8217;t like are the tons of different programs installed by default with KDE, all of them having different icon artworks and styles. It feels bloated with a diverse patchwork of software from the beginning and I somehow have a psychological problem with that <img src='http://www.alphatek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>What now?</h4>
<p>I installed Fedora 13 with KDE and the file indexing feature is now enabled by default, which is nice. So, will I stay with KDE for Fedora 13? No. Let me explain why&#8230;</p>
<ul>
<li>First of all comes the performance problems mentioned above. It&#8217;s just not usable due to the drivers&#8217; composition support. Working with a slow GUI is a no-go for me.</li>
<li>Regressions. During all the different KDE updates I got, there was some kind of regression or big modification in the way a specific KDE feature works. It seems that this is the way KDE does its development, but I&#8217;m not sure I want these changes <strong>during</strong> a Fedora cycle.</li>
</ul>
<p>Don&#8217;t get me wrong, KDE is very cool; it&#8217;s perfectly usable and nice on a machine which can give it good performance. I want to love it and will definitively give it a try at each new version; I&#8217;m pretty much convinced that at some point it will replace my Gnome desktop, just not yet. It&#8217;s just not as polished as Gnome right now.</p>
<p>What I could see during my 6 months with KDE is a very fast moving community which listens to their users, bringing innovative concepts to the desktop environment. I&#8217;m still convinced that the only way to give KDE a fair shot was to &#8220;force&#8221; myself to use it. I really tried to use it from a &#8220;naive&#8221; point of view without prejudices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/04/25/6-months-with-kde-4-wrap-up/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gnome usability tip: show the desktop</title>
		<link>http://www.alphatek.info/2010/04/18/gnome-usability-tip-show-the-desktop/</link>
		<comments>http://www.alphatek.info/2010/04/18/gnome-usability-tip-show-the-desktop/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 09:39:20 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=635</guid>
		<description><![CDATA[Since Fedora 12, the &#8220;Show Desktop&#8221; button that was lurking in the bottom-left corner of Gnome has been removed, as described in the release notes. As I often use this feature, I wondered how to get it back&#8230;Anvil on #fedora-fr pointed me to the System &#62; Preferences &#62; Keyboard Shortcuts configuration window; it&#8217;s amazing how [...]]]></description>
			<content:encoded><![CDATA[<p>Since Fedora 12, the &#8220;Show Desktop&#8221; button that was lurking in the bottom-left corner of Gnome has been removed, as described <a href="http://docs.fedoraproject.org/release-notes/f12/en-US/html/sect-Release_Notes-Changes_in_Fedora_for_Desktop_Users.html" target="_blank">in the release notes</a>.</p>
<p>As I often use this feature, I wondered how to get it back&#8230;Anvil on #fedora-fr pointed me to the System &gt; Preferences &gt; Keyboard Shortcuts configuration window; it&#8217;s amazing how many shortcuts I wasn&#8217;t aware of exist in there.</p>
<p>This feature is simply available by pressing Ctrl+Alt+D.</p>
<p style="text-align: center;"><a href="http://www.alphatek.info/wp-content/uploads/2010/04/Screenshot-Keyboard-Shortcuts.png" rel="lightbox[635]"><img class="aligncenter size-full wp-image-637" title="Screenshot-Keyboard Shortcuts" src="http://www.alphatek.info/wp-content/uploads/2010/04/Screenshot-Keyboard-Shortcuts.png" alt="" width="412" height="250" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/04/18/gnome-usability-tip-show-the-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bind DNS and internal/external networks: how to serve different data</title>
		<link>http://www.alphatek.info/2010/04/16/bind-dns-and-internalexternal-networks-how-to-serve-different-data/</link>
		<comments>http://www.alphatek.info/2010/04/16/bind-dns-and-internalexternal-networks-how-to-serve-different-data/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 11:40:08 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[General Linux]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=620</guid>
		<description><![CDATA[A couple of times during the last years, I faced the problem where I wanted a single DNS server to respond different data for a specific domain wheter I made a request from inside a company&#8217;s network or from the outside world. For example, I want www.foo.com to respond on IP 192.168.1.20 from inside the [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of times during the last years, I faced the problem where I wanted a single DNS server to respond different data for a specific domain wheter I made a request from inside a company&#8217;s network or from the outside world.</p>
<p>For example, I want www.foo.com to respond on IP</p>
<ul>
<li>192.168.1.20 from inside the company&#8217;s network</li>
<li>193.134.215.34 from the outside world</li>
</ul>
<p><span id="more-620"></span>In fact, it turns out that it&#8217;s quite easy to implement with the Bind DNS server. A friend pointed me to the usage of &#8220;ACLs&#8221; and &#8220;views&#8221; in the Bind configuration. Here is a stripped-out basic example for a named.conf acting like we want:</p>
<pre>//We define an ACL for the LAN</pre>
<pre>acl "lan" { localhost; 192.168.1.0/24; };
</pre>
<pre>//We define a view for requests from the LAN</pre>
<pre>view "internal" {</pre>
<pre>  match-clients { lan; };</pre>
<pre>  zone "foo.com" IN {</pre>
<pre>    type master;</pre>
<pre>    allow-query { any; };</pre>
<pre>    file "foo.com.internal.hosts";</pre>
<pre>  };</pre>
<pre>};
</pre>
<pre>//We define a view for external requests</pre>
<pre>view "external" {</pre>
<pre>   match-clients { any; };</pre>
<pre>   zone "foo.com" IN {</pre>
<pre>     type master;</pre>
<pre>     allow-query { any; };</pre>
<pre>     file "foo.com.hosts";</pre>
<pre>   };</pre>
<pre>   zone "bar.com" IN {</pre>
<pre>     type master;</pre>
<pre>     allow-query { any; };</pre>
<pre>     file "bar.com.hosts";</pre>
<pre>   };</pre>
<pre>};</pre>
<p>You first start by defining an ACL (access control list) for your internal network. It&#8217;s just an alias and you can include multiple networks in it. The rest of the world already matches a built-in ACL called &#8220;any&#8221;.</p>
<p>Then you need to define &#8220;views&#8221; which will match an ACL. As Bind reads your configuration in order and stops on the first match, you need to create a view for your internal network first. In our example, any query coming to *.foo.com from our internal network gets a response from the data in the &#8220;foo.com.internal.hosts&#8221; file. If you come from the outside world, you will get a response from the data in the &#8220;foo.com.hosts&#8221; file.</p>
<p>Similarly, if you try to access *.bar.com from inside the network, the server won&#8217;t respond as it isn&#8217;t responsible for this domain. However, if you try to access *.bar.com from the outside world, you will get an answer from the data in &#8220;bar.com.hosts&#8221;.</p>
<p>Easy, isn&#8217;t it? Of yourse this is only a short example.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/04/16/bind-dns-and-internalexternal-networks-how-to-serve-different-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KDE 4.4 in Fedora: new Dasboard configuration</title>
		<link>http://www.alphatek.info/2010/02/27/kde-4-4-in-fedora-new-dasboard-configuration/</link>
		<comments>http://www.alphatek.info/2010/02/27/kde-4-4-in-fedora-new-dasboard-configuration/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 15:39:52 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General Linux]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=613</guid>
		<description><![CDATA[As KDE 4.4 has hit the stable update repositories for Fedora a couple of days ago, I updated my parent&#8217;s computer. While doing that, I noticed that some options have been moved around, noticeably the ones concerning the Dashboard configuration. Some months ago, I wrote a post about &#8220;Configure the KDE Dashboard to behave like [...]]]></description>
			<content:encoded><![CDATA[<p>As KDE 4.4 has hit the stable update repositories for Fedora a couple of days ago, I updated my parent&#8217;s computer. While doing that, I noticed that some options have been moved around, noticeably the ones concerning the Dashboard configuration.</p>
<p>Some months ago, I wrote a post about &#8220;<a href="http://www.alphatek.info/2009/11/01/fedora-configure-the-kde-dashboard-to-behave-like-in-osx/" target="_blank">Configure the KDE Dashboard to behave like in OSX</a>&#8220;; the options to configure this have now been moved to System Settings &gt; Desktop &gt; Workspace. Simply select &#8220;Show an Independent Widget Set&#8221; in the drop-down box and you are done in KDE 4.4.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/27/kde-4-4-in-fedora-new-dasboard-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle doesn&#8217;t like small customers, aka. &#8220;Is Solaris dead?&#8221;</title>
		<link>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/</link>
		<comments>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 18:44:56 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=601</guid>
		<description><![CDATA[Today, a not so surprising news showed up in my RSS feeds. It&#8217;s from PCA, an update tool I use for Solaris (because the tools from Sun are useless). Attention: The patch policy has silently been changed by Oracle quite severely. The new strategy, which is also documented in Software Update Entitlement Policy for Solaris, [...]]]></description>
			<content:encoded><![CDATA[<p>Today, a not so surprising news showed up in my RSS feeds. It&#8217;s from <a href="http://www.par.univie.ac.at/solaris/pca" target="_blank">PCA</a>, an update tool I use for Solaris (because the tools from Sun are useless).</p>
<blockquote><p><strong>Attention</strong>: The patch policy has silently been changed by Oracle quite severely. The new strategy, which is also documented in <a href="http://sunsolve.sun.com/search/document.do?assetkey=1-61-203648-1"> Software Update Entitlement Policy for Solaris</a>, enforces the requirement of a support contract to download any patch.</p>
<p>Unlike before, even security patches are not available for free anymore.</p></blockquote>
<p><span id="more-601"></span>Until recently, Solaris 10 was free to use and Sun provided security patches for free as well; if you wanted further support you had to pay. It&#8217;s a widely used economic model in the open source world and has the great advantage of &#8220;hooking&#8221; up small companies to your products by still making them usable in a production environment.</p>
<p>At the company I&#8217;m working at, that&#8217;s exactly what happened with MySQL: we could use it for free to see if it fitted our needs and when the time came for us to need support, we paid for support. Everyone wins.</p>
<p>Now Oracle has pretty much cut every small Solaris user from using it in a production environment, to me it looks like they don&#8217;t even want to care about them. Solaris is still used in a lot of big corporations who pay a lot of money for support, but I wonder how long this will last&#8230;Just for fun I&#8217;m pasting some phrases from Oracle&#8217;s documentation:</p>
<blockquote>
<ul>
<li>A separate Sun support contract is required for every system to which you apply Solaris Software Updates, including test and development systems.</li>
<li>If your support contract lapses, you loose the right to use most Solaris OS patches and you must remove them from all systems.</li>
</ul>
</blockquote>
<p>Remove patches from a system, is this a joke? Did the guys who decided that already work in IT? Yeah great Oracle, that&#8217;s REALLY a good way to treat your future customers. Now you can be sure that I will try to replace every Solaris I see with a Linux box.</p>
<p>It&#8217;s sad for Solaris, the technology behind the OS is good but due to bad management decisions it&#8217;s getting less and less market-share. I feel sorry for the few passionate people behind Open Solaris.</p>
<p>Some may argue that RHEL is also a paid OS, but at least it&#8217;s clear from the beginning and Red Hat donesn&#8217;t screw their customers with dodgy moves like that in the middle of a product life-cycle.  And you still have CentOS if you don&#8217;t want support. What Oracle just did is a hold-up against the small Solaris users and I&#8217;m really angry at them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/24/oracle-doesnt-like-small-customers-aka-is-solaris-dead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Maemo 5 SDK: add repositories, install QT and deploy our first app in the emulator</title>
		<link>http://www.alphatek.info/2010/02/14/maemo-5-sdk-add-repositories-install-qt-and-deploy-our-first-app-in-the-emulator/</link>
		<comments>http://www.alphatek.info/2010/02/14/maemo-5-sdk-add-repositories-install-qt-and-deploy-our-first-app-in-the-emulator/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 11:18:25 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=589</guid>
		<description><![CDATA[Yesterday I explained how to install the Maemo 5 SDK on Fedora 12 and launch the N900 phone emulator. Today we are going to configure the development environment for QT and deploy a &#8220;Hello World&#8221; application to the Nokia N900 emulator. To have a better understanding of the whole platform, including GTK+ programming that we [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I explained how to install the Maemo 5 SDK on Fedora 12 and launch the N900 phone emulator. Today we are going to configure the development environment for QT and deploy a &#8220;Hello World&#8221; application to the Nokia N900 emulator.</p>
<p>To have a better understanding of the whole platform, including GTK+ programming that we are not going to use, Nokia has a series of good videos:</p>
<ul>
<li><a href="http://www.forum.nokia.com/info/sw.nokia.com/id/0ea5ec64-2d35-4363-94c0-dd2560c6524b/Get_started_with_Maemo_5.html" target="_blank">Get started with Maemo 5</a></li>
<li><a href="http://www.forum.nokia.com/info/sw.nokia.com/id/917eef55-499c-413f-9555-ce1bb2878665/Introduction_to_Qt_on_Mobile_Platforms.html" target="_blank">Introduction to the QT Mobile Platforms</a></li>
</ul>
<p><span id="more-589"></span></p>
<h3>Scratchbox</h3>
<p>When we installed the SDK yesterday, I told you that a lot of files went into a /scratchbox repository. For the sake of clarity, it&#8217;s a good idea to explain what Scratchbox is. Directly stolen from <a href="http://www.scratchbox.org/" target="_blank">Scratchbox&#8217;s website</a> we can read that &#8220;<em>Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.</em>&#8221;</p>
<p>The N900 has an ARM Cortex-A8 processor and we are developing on x86, that&#8217;s why Scratchbox is used&#8230;cross-compile our code to the ARMEL target so it&#8217;s deployable on the real phone. In the SDK, Scratchbox is used as a completely autonomous Linux system living in /scratchbox; so all the packages that we are going to install in this OS won&#8217;t affect Fedora in any way.</p>
<h3>Repositories management in Maemo 5</h3>
<p>As Maemo 5 is &#8220;just&#8221; a modified Debian, so it is using the same tools to manage packages: apt and friends. As with any Linux OS based on packages you can add repositories to get software. In Maemo 5, the repository structure is exactly what we had before Fedora 5/6: a &#8220;base&#8221; repository managed by Nokia and &#8220;extra&#8221; repositories managed by the community.</p>
<p>So&#8230;repositories. By default only a couple of select repositories related to the SDK and Nokia&#8217;s proprietary binaries are enabled. What we want is to enable the community &#8220;extra&#8221; repositories so we can play with other applications. It&#8217;s managed exactly like in yum: edit a text file and update the repository list.</p>
<p>The first thing to do is to login to Scratchbox:</p>
<p><span style="color: #99cc00;">[Steven@x301 ~]$ /scratchbox/login<br />
Welcome to Scratchbox, the cross-compilation toolkit!<br />
Use &#8216;sb-menu&#8217; to change your compilation target.<br />
See /scratchbox/doc/ for documentation.</span></p>
<p>Now edit the repositories list, the links to the extra repos are available on <a href="http://repository.maemo.org/" target="_blank">http://repository.maemo.org</a>. We are going to add extras only, add extras-testing and extras-devel at your own risk&#8230;. Note that &#8220;fremantle&#8221; is Maemo 5&#8242;s name:</p>
<p><span style="color: #99cc00;">[sbox-FREMANTLE_X86: ~] &gt; vim /etc/apt/sources.list<br />
#Extras<br />
deb http://repository.maemo.org/extras/ fremantle free non-free<br />
deb-src http://repository.maemo.org/extras/ fremantle free<br />
#Extras Testing<br />
#deb http://repository.maemo.org/extras-testing/ fremantle free non-free<br />
#deb-src http://repository.maemo.org/extras-testing/ fremantle free<br />
#Extras Devel<br />
#deb http://repository.maemo.org/extras-devel/ fremantle free non-free<br />
#deb-src http://repository.maemo.org/extras-devel/ fremantle free</span></p>
<p>Now update apt&#8217;s local cache:</p>
<p><span style="color: #99cc00;">[sbox-FREMANTLE_X86: ~] &gt; fakeroot apt-get update</span></p>
<h3>Install QT in Scratchbox</h3>
<p>At the moment, QT 4.5 is the default version shipped with the 1.1 firmware, QT 4.6 will come with the 1.2 firmware release as far as I know and it contains many changes to be better on Maemo. If you want to play with QT 4.6, you can <a href="http://wiki.maemo.org/Qt4_Hildon#Installing_Qt_packages_in_Scratchbox" target="_blank">install it from extras-devel</a>, we are going to stick with 4.5 at the moment. The installation is dead simple:</p>
<p><span style="color: #99cc00;">[sbox-FREMANTLE_X86: ~] &gt; fakeroot apt-get install libqt4-gui libqt4-dev</span></p>
<h3>Deploy your first QT application in the emulator</h3>
<p>I&#8217;m not going to start a QT course here, but there is a lot of online material available for that including the first edition of the &#8220;<a href="http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip" target="_blank">C++ GUI Programming with Qt 4</a>&#8221; book. I have ordered the second edition on <a href="http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/" target="_blank">Amazon</a> and it&#8217;s really great.</p>
<p>So, let&#8217;s create our first QT application, compile it and run it on the emulator! You may have noticed that the SDK also installed an &#8220;sbhome&#8221; directory on your desktop. This is your user&#8217;s home directory in Scratchbox. So it&#8217;s a filesystem the Maemo 5 emulator has access to&#8230;that&#8217;s why it&#8217;s a good place to store your QT projects. Go to this directory and create a HelloWorld folder. Create a &#8220;HelloWorld.cpp&#8221; file with the following content in it:</p>
<p><span style="color: #99cc00;">#include &lt;QApplication&gt;<br />
#include &lt;QLabel&gt;<br />
int main(int argc, char *argv[])<br />
{<br />
QApplication app(argc, argv);<br />
QLabel *label = new QLabel(&#8220;Hello World&#8221;);<br />
label-&gt;show();<br />
return app.exec();<br />
}</span></p>
<p>Thanks to QT, these lines will magically generate a complete GUI application. Our source code is ready, now we need to create a QT project from it and compile it. For this, we need to be in Scratchbox:</p>
<p><span style="color: #99cc00;">[Steven@x301 ~]$ /scratchbox/login<br />
</span><span style="color: #99cc00;">[sbox-FREMANTLE_X86: ~] &gt; cd HelloWorld/<br />
[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; qmake -project<br />
[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; ls<br />
HelloWorld.cpp  HelloWorld.pro<br />
[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; qmake<br />
[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; ls<br />
HelloWorld.cpp  HelloWorld.pro  Makefile<br />
[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; make<br />
g++ -c -pipe -O3 -g -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/targets/FREMANTLE_X86/usr/share/qt4/mkspecs/linux-g++-opengl -I. -I/targets/FREMANTLE_X86/usr/include/qt4/QtCore -I/targets/FREMANTLE_X86/usr/include/qt4/QtGui -I/targets/FREMANTLE_X86/usr/include/qt4 -I. -I. -o HelloWorld.o HelloWorld.cpp<br />
g++ -Wl,-O1 -o HelloWorld HelloWorld.o    -L/usr/lib -Wl,-rpath-link=/usr/lib -lQtGui -lQtCore -lpthread</span></p>
<p>Now run the emulator GUI from your desktop and run the program from Scratchbox:</p>
<p><span style="color: #99cc00;">[sbox-FREMANTLE_X86: ~/HelloWorld] &gt; run-standalone.sh ./HelloWorld</span></p>
<p><span style="color: #99cc00;"><a href="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk3.png" rel="lightbox[589]"><img class="aligncenter size-medium wp-image-593" title="maemo sdk3" src="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk3-300x188.png" alt="" width="300" height="188" /></a></span></p>
<p><span style="color: #99cc00;"><span style="color: #000000;">It works! As you can see, QT has done quite some magic for us: the application already looks like a native Maemo 5 application and has a close button!<br />
</span></span></p>
<h3>Next</h3>
<p>In the next article, we are going to create a Debian package for the ARMEL target and deploy the application on the phone. Then we will have completed the development chain overview.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/14/maemo-5-sdk-add-repositories-install-qt-and-deploy-our-first-app-in-the-emulator/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Install the Nokia N900 (Maemo 5) SDK on Fedora</title>
		<link>http://www.alphatek.info/2010/02/13/install-the-nokia-n900-maemo-5-sdk-on-fedora/</link>
		<comments>http://www.alphatek.info/2010/02/13/install-the-nokia-n900-maemo-5-sdk-on-fedora/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 15:44:29 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=578</guid>
		<description><![CDATA[Hey! I finally received my Nokia N900 phone/toy/thing last week after almost 3 months of waiting; of course it&#8217;s full of awesomeness like every device one buys. For those of you who still don&#8217;t know what I&#8217;m talking about, this phone runs Nokia&#8217;s Maemo 5 OS which is essentially a Debian-based Linux distro with an [...]]]></description>
			<content:encoded><![CDATA[<p>Hey! I finally received my Nokia N900 phone/toy/thing last week after almost 3 months of waiting; of course it&#8217;s full of awesomeness like every device one buys. For those of you who still don&#8217;t know what I&#8217;m talking about, this phone runs Nokia&#8217;s Maemo 5 OS which is essentially a Debian-based Linux distro with an adapted GUI.</p>
<p><img class="aligncenter" src="http://maemo.org/static/e/eb42356042ac11ddbc5f8dc15ddf368c368c_maemo_overview.png" alt="" width="400" height="293" /></p>
<p><span id="more-578"></span></p>
<p>Currently, the applications are mainly written using the GTK+ toolkit but the phone also provides QT 4.5/4.6 support. As QT will be the default toolkit for Maemo 6 (and for a lot of other cool reasons), it makes sense to develop new applications directly in QT.</p>
<p>I had some C++ and QT courses at school some years ago, I thought that it would be fun to pick it up again and try to develop a little application for the N900. This is the first article of a series explaining how to set-up an entire QT development environment for the N900 on Fedora, program a little &#8220;Hello World&#8221; application in QT, generate packages for this application and finally run it on the real phone.</p>
<h3>Installing the Nokia N900 SDK</h3>
<p><em>Note: Some months ago, Gerard Braad already <a href="http://blog.gbraad.nl/2009/11/maemo-5-sdk-on-fedora-12.html" target="_blank">wrote an article</a> about installing the beta SDK on Fedora, but things have changed since then and not everything explained on his page still works (Gerard, if you are reading this, the comments on your site are also broken), this is more or less an updated and extended version of his article with my own experiences.</em></p>
<p>For convenience, we assume that the SDK will be installed on a 32-Bit Fedora 12 system with SELinux disabled (it installs files all over the place). It is possible to run the SDK on 64-Bit systems with some tweaking but it&#8217;s absolutely unsupported.</p>
<p>So, let&#8217;s start by installing the N900 SDK provided by Nokia&#8230;It&#8217;s available <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/Maemo/" target="_blank">directly from their</a> website and corresponds to the current 1.1 firmware (version 2.2009.51-1). Nokia provides a nice GUI installer for the SDK in form of a Python script. Unfortunately it is targeted at Debian/Ubuntu systems and won&#8217;t directly install on Fedora.</p>
<p>We need to change 2 lines in the maemo-sdk-install-wizard_5.0.py script for it to install on Fedora:</p>
<p><span style="color: #99cc00;">Line 2449: cmd += sb_installer_fn + opt + &#8220;-s &#8221; + SB_PATH<br />
Line 2504: cmd += &#8220;%s -d -m %s -s %s&#8221; % (sdk_installer_fn, self.__sdk_inst_m_opt_arg, SB_PATH)</span></p>
<p>Alternatively, you can directly download a modified script <a href="http://www.alphatek.info/divers/maemo-sdk-install-wizard_5.0.py" target="_blank">from here</a> if you trust me <img src='http://www.alphatek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . We also need to install some packages with yum so satisfy dependences in the installer and later for development:</p>
<p><span style="color: #99cc00;">$ su -<br />
# yum install kernel-(PAE if you have it)-devel gcc-c++ PyQt4 Xephyr<br />
# chmod +x maemo-sdk-install-wizard_5.0.py<br />
<span style="color: #99cc00;"># ./maemo-sdk-install-wizard_5.0.py </span></span></p>
<p>The installer should start. Select a custom installation, then it&#8217;s a matter of clicking &#8220;next&#8221; a couple of times and wait for it to download and install all the required files&#8230;</p>
<p><a href="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk-1.png" rel="lightbox[578]"><img class="aligncenter size-medium wp-image-579" title="maemo sdk 1" src="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk-1-300x229.png" alt="" width="300" height="229" /></a></p>
<p>When the installation ends, you will have a complete N900 emulator and compilation environment installed in /scratchbox and two icons on your desktop to launch the N900 emulator and access the online SDK documenttion. If you try to run the emulator now, it will fail&#8230;we have to do some further changes.</p>
<p>Edit /usr/local/bin/start_xephyr.sh and remove the &#8220;-kb&#8221; option from the Xephyr startup script, then run &#8220;/scratchbox/sbin/sbox_ctl start&#8221; as root or put this line in your /etc/rc.local file to have scratchbox startup automatically at boot time.</p>
<p>Now you should be able to run the N900 emulator by clicking the &#8220;Maemo 5 SDK&#8221; icon on your desktop&#8230;</p>
<p><a href="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk-2.png" rel="lightbox[578]"><img class="aligncenter size-medium wp-image-580" title="maemo sdk 2" src="http://www.alphatek.info/wp-content/uploads/2010/02/maemo-sdk-2-300x188.png" alt="" width="300" height="188" /></a></p>
<p>At this point, you are pretty much up and running with a basic N900 emulator! In the next article, we are going to install QT 4.6 in the emulator, add some repositories and launch our first QT program!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/13/install-the-nokia-n900-maemo-5-sdk-on-fedora/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Compact VirtualBox disk images</title>
		<link>http://www.alphatek.info/2010/02/09/compact-virtualbox-disk-images/</link>
		<comments>http://www.alphatek.info/2010/02/09/compact-virtualbox-disk-images/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 20:47:06 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[/dev/null]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=574</guid>
		<description><![CDATA[I&#8217;m using VirtualBox since a couple of years to run Windows on top of my Linux boxes. After a while, the virtual disk size may increase to unreasonable sizes and I was searching for an option to &#8220;compact&#8221; it like in Parallels/VMWare. Contrary to these other virtualization tools, there is nothing in VirtualBox&#8217; GUI to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m using VirtualBox since a couple of years to run Windows on top of my Linux boxes. After a while, the virtual disk size may increase to unreasonable sizes and I was searching for an option to &#8220;compact&#8221; it like in Parallels/VMWare.</p>
<p>Contrary to these other virtualization tools, there is nothing in VirtualBox&#8217; GUI to do this. Fortunately, you can use 2 tools to achieve the same goal&#8230;</p>
<p>First, you need to <a href="http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx">download SDelete</a> from Microsoft and run it in the VM:</p>
<pre>
sdelete -c</pre>
<p>Now stop the VM and compact the disk:</p>
<pre>VBoxManage modifyhd blah.vdi --compact
</pre>
<p>That&#8217;s it, your disk is now compacted and you have probably gained a couple of GB!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/02/09/compact-virtualbox-disk-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola Droid/Milestone works on Fedora</title>
		<link>http://www.alphatek.info/2010/01/21/motorola-droidmilestone-works-on-fedora/</link>
		<comments>http://www.alphatek.info/2010/01/21/motorola-droidmilestone-works-on-fedora/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 12:13:23 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[/dev/null]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=570</guid>
		<description><![CDATA[Today, we received a bunch of Android-based phones at work, amongst them a Motorola Droid/Milestone. I quickly tried to connect it to my Fedora 12 box and fired up Banshee. As you can see on the screenshot below, it was perfectly recognized without any intervention and I could synchronize my music library to it]]></description>
			<content:encoded><![CDATA[<p>Today, we received a bunch of Android-based phones at work, amongst them a Motorola Droid/Milestone. I quickly tried to connect it to my Fedora 12 box and fired up Banshee. As you can see on the screenshot below, it was perfectly recognized without any intervention and I could synchronize my music library to it <img src='http://www.alphatek.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.alphatek.info/wp-content/uploads/2010/01/Banshee-Droid-Milestone.png" rel="lightbox[570]"><img class="aligncenter size-medium wp-image-571" title="Banshee-Droid-Milestone" src="http://www.alphatek.info/wp-content/uploads/2010/01/Banshee-Droid-Milestone-300x223.png" alt="" width="300" height="223" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/01/21/motorola-droidmilestone-works-on-fedora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m fed up of companies not delivering products (yes, you Nokia!)</title>
		<link>http://www.alphatek.info/2010/01/12/im-fed-up-of-companies-not-delivering-products-yes-you-nokia/</link>
		<comments>http://www.alphatek.info/2010/01/12/im-fed-up-of-companies-not-delivering-products-yes-you-nokia/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 19:21:46 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[/dev/null]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=568</guid>
		<description><![CDATA[Ok, this is a pure rage rant. I&#8217;m really sick of companies paper launching products that are totally unavailable to customers for months. Last November I made a blogpost about the Nokia N900, which I finally ordered. On the paper it&#8217;s still the best Linux-based phone which has the greatest compatibility with my Fedora boxes. [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, this is a pure rage rant. I&#8217;m really sick of companies paper launching products that are totally unavailable to customers for months. Last November I made a blogpost about the <a href="http://www.alphatek.info/2009/11/22/maemo-or-android-n900-versus-hero/" target="_blank">Nokia N900</a>, which I finally ordered. On the paper it&#8217;s still the best Linux-based phone which has the greatest compatibility with my Fedora boxes.</p>
<p>Today I received an e-mail telling me that my N900 would probably be delivered mid-February. That would be almost 3 months since I paid and of course you don&#8217;t get any money back on the price drop that occurs during this period&#8230;how screwed is that? It wasn&#8217;t even a pre-order, the N900 was &#8220;available&#8221;. Nokia, if you can&#8217;t deliver a product to your customers, fucking don&#8217;t sell it if you have no stock! I&#8217;m so fed up of these lousy business practices.</p>
<p>Nokia are not the only to blame, nVidia and ATI behave exactly the same when they launch new lines of graphic cards. Whose fault is it? The marketing guys? I honestly don&#8217;t see how generating hype on a product and not delivering it for months will help you. All you gain are angry customers who lost money on pre-orders and all the buzz effect is gone once the product really hits the streets. Great job!</p>
<p>On the other hand you have Apple, they have a sense on how to deliver products to the market. When a product is announced, it&#8217;s available. Guess what? They are doing fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/01/12/im-fed-up-of-companies-not-delivering-products-yes-you-nokia/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
