<?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>Sat, 27 Feb 2010 15:42:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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 in [...]]]></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>0</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 are [...]]]></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 &#8217;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&#8217;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>2</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>3</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 do [...]]]></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.
Today [...]]]></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>
		<item>
		<title>Bash script to backup every MySQL database to separate files</title>
		<link>http://www.alphatek.info/2010/01/07/bash-script-to-backup-every-mysql-database-to-separate-files/</link>
		<comments>http://www.alphatek.info/2010/01/07/bash-script-to-backup-every-mysql-database-to-separate-files/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 12:57:48 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[/dev/null]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=555</guid>
		<description><![CDATA[To backup MySQL databases, there is the well known and handy executable called mysqldump. It has one big shortcoming though, you can either backup one database to a file or all databases to one giant file with the &#8220;&#8211;all-databases&#8221; option but you can&#8217;t backup every database to separate dump files.

This is not very practical if [...]]]></description>
			<content:encoded><![CDATA[<p>To backup MySQL databases, there is the well known and handy executable called <a href="http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html" target="_blank">mysqldump</a>. It has one big shortcoming though, you can either backup one database to a file or all databases to one giant file with the &#8220;&#8211;all-databases&#8221; option but you can&#8217;t backup every database to separate dump files.</p>
<p><a href="http://www.alphatek.info/wp-content/uploads/2010/01/sakila.png" rel="lightbox[555]"><img class="aligncenter size-full wp-image-563" title="sakila" src="http://www.alphatek.info/wp-content/uploads/2010/01/sakila.png" alt="" width="121" height="79" /></a></p>
<p><span id="more-555"></span>This is not very practical if you have big databases and need to restore only a part of them&#8230;So I searched for a way to backup every database to separate files. The process is quite simple with a little scripting:</p>
<ul>
<li>Find a way to list all databases</li>
<li>For each database, dump it to a file using mysqldump</li>
</ul>
<p>I quickly found a <a href="http://soniahamilton.wordpress.com/2005/11/16/backup-multiple-databases-into-separate-files/" target="_blank">blogpost from 2005</a> about that, but it was a bit outdated and not accurate anymore for MySQL 5.1. So here is an updated version, I hope it helps and saves time to someone:</p>
<blockquote><p>#!/bin/bash<br />
# This script backups every MySQL database to its own file</p>
<p>#Some variables you can set how you like<br />
USER=&#8217;root&#8217;<br />
PASSWORD=&#8217;mypassword&#8217;<br />
OUTPUTDIR=&#8217;/root/backup&#8217;<br />
MYSQLDUMP=&#8217;/usr/bin/mysqldump&#8217;<br />
MYSQL=&#8217;/usr/bin/mysql&#8217;</p>
<p>#Clean up any old backups<br />
rm -f $OUTPUTDIR/*</p>
<p>#Get a list of databases names except the system one<br />
databases=`$MYSQL &#8211;user=$USER &#8211;password=$PASSWORD -e &#8216;SHOW DATABASES;&#8217; | grep -Ev &#8216;(Database|information_schema)&#8217;`</p>
<p>#Dump each database in turn and compress the output<br />
for db in $databases; do<br />
$MYSQLDUMP &#8211;opt &#8211;hex-blob &#8211;force &#8211;user=$USER &#8211;password=$PASSWORD $db | gzip &gt; $OUTPUTDIR/$db.gz<br />
done</p></blockquote>
<p>PS: Wordpress seems to replace double dashes (- -) with a single one (-) in the code, so just be aware of that.</p>
<p>I also <strong>strongly</strong> advise you to use the &#8211;hex-blob option for mysqldump if you have any blobs (binary files like executables, images&#8230;) in your database, otherwise you may end up with an un-restorable database, even if the backup process went well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/01/07/bash-script-to-backup-every-mysql-database-to-separate-files/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Send an SMS when hitting a certain priority level in RequestTracker</title>
		<link>http://www.alphatek.info/2010/01/06/send-an-sms-when-hitting-a-certain-priority-level-in-requesttracker/</link>
		<comments>http://www.alphatek.info/2010/01/06/send-an-sms-when-hitting-a-certain-priority-level-in-requesttracker/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 10:52:05 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[/dev/null]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=536</guid>
		<description><![CDATA[RequestTracker is a widely used tool in many companies as it allows one to implement an effective workflow to handle any kind of events: customer requests, bug resolution etc&#8230;the requests are all filed as tickets to be resolved and put into queues.
RT also has a notion of priority levels for tickets, ranging from 0 to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bestpractical.com/rt/" target="_blank">RequestTracker</a> is a widely used tool in many companies as it allows one to implement an effective workflow to handle any kind of events: customer requests, bug resolution etc&#8230;the requests are all filed as tickets to be resolved and put into queues.</p>
<p>RT also has a notion of priority levels for tickets, ranging from 0 to 100 and it supports scripting to automate some tasks. RT does a lot of things actually, but it&#8217;s a bit of a scary beast at first, with a not-so-clear documentation.</p>
<p><span id="more-536"></span></p>
<p>One need we have at my company is to be able to automatically send SMS notifications to some people when tickets with certain priority levels are filed in a certain queue, or when a ticket is escalated from a low to a medium/high priority.</p>
<p>Not knowing the RT Scrip language (yes, the call scripts scrip), it took my a couple of hours to figure out and test a working solution to handle this case. To avoid a waste of time to other people, here is a working solution&#8230;note that I&#8217;m using the RT 3.8 branch.</p>
<h3><strong>Step 1</strong>: chose an SMTP to SMS provider</h3>
<p>To be able to send SMS messages, you obviously need some kind of gateway between the e-mail RT is able to send and your mobile phone. Many companies are offering SMTP to SMS services&#8230;I use <a href="http://www.clickatell.com/" target="_blank">Clickatell</a> but you can use whoever you want by mildly tweaking the following steps.</p>
<h3><strong>Step 2</strong>: configure a Template in RT</h3>
<p>This Template contains what you will see in the SMS message (the &#8220;text:&#8221; parts) as well as specific information needed to authenticate to the Clickatell SMS gateway. All &#8220;to:&#8221; lines are phone numbers to send the SMS to.</p>
<p><em>Configuration &gt; Global &gt; Templates &gt; New</em><br />
<strong>Name</strong>: SMS-XXX-Queue<br />
<strong>Description</strong>: SMS template for the XXX queue<br />
<strong>Content</strong>:<br />
To: sms@messaging.clickatell.com</p>
<p>user:&lt;you clickatell username&gt;<br />
password:&lt;you clickatell password&gt;<br />
api_id:&lt;you clickatell API ID&gt;<br />
to:xxxxxxxxxx<br />
to:xxxxxxxxxx<br />
text:Medium/High priority ticket filed!<br />
text:{$Ticket-&gt;QueueObj-&gt;Name}: {$Ticket-&gt;Subject}<br />
text:URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket-&gt;id}</p>
<h3><strong>Step 3</strong>: configure a Scrip in RT to send the SMS using the Template</h3>
<p>I&#8217;m having 3 priority levels here, 0 (Low), 50 (Medium) and 100 (High). This Scrip sends an SMS as soon as a 50 or 100 priority level ticket is filed or escalated to, it also nicely handles transitions between states. The &#8220;XXX&#8221; corresponds to the RT queue name you wish the Scrip to apply to.</p>
<p><em>Configuration &gt; Global &gt; Scrips &gt; New</em><br />
<strong>Description</strong>: SMS &#8211; XXX queue<br />
<strong>Condition</strong>: User Defined<br />
<strong>Action</strong>: Notify Other Recipients<br />
<strong>Template</strong>: Global template: SMS-XXX-Queue<br />
<strong>Stage</strong>: TransactionCreate<br />
<strong>Custom</strong> condition:<br />
if (($self-&gt;TransactionObj-&gt;Field eq &#8216;Priority&#8217; &amp;&amp; $self-&gt;TicketObj-&gt;Priority &gt;= 50 &amp;&amp; $self-&gt;TransactionObj-&gt;NewValue &gt; $self-&gt;TransactionObj-&gt;OldValue &amp;&amp; $self-&gt;TransactionObj-&gt;OldValue != 50 &amp;&amp; $self-&gt;TicketObj-&gt;QueueObj-&gt;Name eq &#8220;XXX&#8221;) || ($self-&gt;TransactionObj-&gt;Type eq &#8216;Create&#8217; &amp;&amp; $self-&gt;TicketObj-&gt;Priority &gt;= 50 &amp;&amp; $self-&gt;TicketObj-&gt;QueueObj-&gt;Name eq &#8220;XXX&#8221;)) {<br />
return(1);<br />
}<br />
else {<br />
return(undef);<br />
}<strong><br />
Custom action preparation code</strong>:<br />
return 1;</p>
<p>That&#8217;s it, you have working SMS notifications for your XXX queue now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2010/01/06/send-an-sms-when-hitting-a-certain-priority-level-in-requesttracker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rencontres Fedora 12 à Paris</title>
		<link>http://www.alphatek.info/2009/12/04/rencontres-fedora-12-a-paris/</link>
		<comments>http://www.alphatek.info/2009/12/04/rencontres-fedora-12-a-paris/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 13:47:49 +0000</pubDate>
		<dc:creator>Steven</dc:creator>
				<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://www.alphatek.info/?p=531</guid>
		<description><![CDATA[Pour ceux qui ne seraient pas encore au courant, l&#8217;association Fedora-FR organise les Rencontres Fedora 12 les 12 et 13 décembre 2009 à la Cité des Sciences et de l&#8217;Industrie de Paris. Au programme il y a de nombreuses conférences et des ateliers liés au monde du libre, on vous y attend nombreux!

Le programme complet [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui ne seraient pas encore au courant, l&#8217;association Fedora-FR organise les Rencontres Fedora 12 les 12 et 13 décembre 2009 à la Cité des Sciences et de l&#8217;Industrie de Paris. Au programme il y a de nombreuses conférences et des ateliers liés au monde du libre, on vous y attend nombreux!</p>
<p><img class="aligncenter" src="http://asso.fedora-fr.org/w/images/b/b9/Fan.png" alt="" width="460" height="500" /></p>
<p>Le programme complet est disponible sur le <a href="http://asso.fedora-fr.org/wiki/Rencontres_Fedora_12_%C3%A0_Paris" target="_blank">wiki de l&#8217;association</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alphatek.info/2009/12/04/rencontres-fedora-12-a-paris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
