<?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>dev.</title>
	<atom:link href="http://coliena.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://coliena.com/blog</link>
	<description>some developers&#039; random rants and thoughts</description>
	<lastBuildDate>Sun, 25 Jul 2010 16:54:08 +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>Adjusting Brightness on a Samsung NC10 Running (K)Ubuntu</title>
		<link>http://coliena.com/blog/2010/07/adjusting-brightness-on-a-samsung-nc10-running-kubuntu/</link>
		<comments>http://coliena.com/blog/2010/07/adjusting-brightness-on-a-samsung-nc10-running-kubuntu/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:53:34 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[helpdesk]]></category>
		<category><![CDATA[linux kubuntu ubuntu]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=358</guid>
		<description><![CDATA[The hardware keys for adjusting brightness on a Samsung NC10 aren&#8217;t working in an out-of-the-box Kubuntu 10.04. The brightness slider in the Power Management tray application isn&#8217;t working as designed as well. Fortunately, you can set the display brightness using the hardware keys in GRUB, the bootloader that let&#8217;s you choose what OS and/or Kernel [...]]]></description>
			<content:encoded><![CDATA[<p>The hardware keys for adjusting brightness on a Samsung NC10 aren&#8217;t working in an out-of-the-box Kubuntu 10.04. The brightness slider in the Power Management tray application isn&#8217;t working as designed as well.</p>
<p>Fortunately, you can set the display brightness using the hardware keys in GRUB, the bootloader that let&#8217;s you choose what OS and/or Kernel you want to start.</p>
<p>Settings are lost on reboot, and you still can&#8217;t change the brightness at runtime, but it&#8217;s better than nothing.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/07/adjusting-brightness-on-a-samsung-nc10-running-kubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote Of The Day</title>
		<link>http://coliena.com/blog/2010/07/quote-of-the-day/</link>
		<comments>http://coliena.com/blog/2010/07/quote-of-the-day/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:49:03 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[life out there]]></category>
		<category><![CDATA[qotd]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=352</guid>
		<description><![CDATA[It&#8217;s forgotten all too often: Search is a way to harvest demand, not to create it. (Drew Houston, co-founder &#38; CEO of Dropbox, about Google AdWords in his &#8220;Startup Lessons Learned&#8221; presentation). via Jeff Barr.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s forgotten all too often:</p>
<blockquote><p>Search is a way to harvest demand, not to create it.</p></blockquote>
<p>(Drew Houston, co-founder &amp; CEO of Dropbox, about Google AdWords in his <a href="http://www.slideshare.net/gueste94e4c/dropbox-startup-lessons-learned-3836587">&#8220;Startup Lessons Learned&#8221; presentation</a>).</p>
<p>via <a href="http://www.jeff-barr.com/?p=1551">Jeff Barr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/07/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better Threads with Active Objects</title>
		<link>http://coliena.com/blog/2010/07/better-threads-with-active-objects/</link>
		<comments>http://coliena.com/blog/2010/07/better-threads-with-active-objects/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 19:13:36 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=347</guid>
		<description><![CDATA[As part of his Effective Concurrency column, Herb Sutter describes the Active Object Pattern this month. It&#8217;s not just a C++ thing, but usable in C# and Java as well. Suggested reading]]></description>
			<content:encoded><![CDATA[<p>As part of his Effective Concurrency column, <a href="http://www.drdobbs.com/go-parallel/article/showArticle.jhtml;jsessionid=JM3XD1KM22SCRQE1GHPSKH4ATMY32JVN?articleID=225700095">Herb Sutter describes the Active Object</a> Pattern this month.<br />
It&#8217;s not just a C++ thing, but usable in C# and Java as well.</p>
<p>Suggested reading <img src='http://coliena.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/07/better-threads-with-active-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Displaying the latest global Subversion revision ID in an application</title>
		<link>http://coliena.com/blog/2010/06/displaying-the-latest-subversion-revision-id-in-an-application/</link>
		<comments>http://coliena.com/blog/2010/06/displaying-the-latest-subversion-revision-id-in-an-application/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 19:40:12 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=338</guid>
		<description><![CDATA[When you have to display the latest global svn revision number in your application you face different options. Using Subversion keywords, like $Revision$ or $Id$, sounds like the most natural approach. Unfortunately the keywords are updated only when you change and commit the corresponding file. In short: if you intend to grab the revision ID [...]]]></description>
			<content:encoded><![CDATA[<p>When you have to display the latest global svn revision number in your application you face different options.<br />
Using Subversion keywords, like $Revision$ or $Id$, sounds like the most natural approach. Unfortunately the keywords are updated only when you change and commit the corresponding file. In short: if you intend to grab the revision ID from a central header file, like version.h, this file has to be edited and committed whenever a svn commit on any file in your project takes place. So either you do that manually (<em>&#8220;erm, no?&#8221;</em> &#8211; right!), or you create a commit hook and bloat your repository.<br />
Another approach is to fetch the latest number of the latest revision and update your version.h as part of your build. In short: whenever you trigger a build by calling <em>make</em>, <em>ant</em> or build your project in your IDE, you invoke a script that generates your header file (or .java, .cs, .rb &#8230; you name it). On Linux and Unix, you might use a script just like this:<br />
<span id="more-338"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/csh</span>
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">SVNREV</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">svnversion</span> -n<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">FILENAME</span>=<span style="color: #007800;">$my</span><span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>version.h
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'/*******************************************************************'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'* '</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'* This include file is automatically generated. All manual '</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'* changes will be lost.'</span>  <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'* '</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'*******************************************************************/'</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">''</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'/* latest Subversion revision */'</span>  <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'#define SVNREV '</span> <span style="color: #007800;">$SVNREV</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">''</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$FILENAME</span></pre></div></div>

<p>If you develop on Windows, you might adopt this script:</p>

<div class="wp_syntax"><div class="code"><pre class="bat" style="font-family:monospace;">@echo off
&nbsp;
REM store latest revision number as SVNREV
for /f &quot;delims=:&quot; %%a in ('svnversion') do @set SVNREV=%%a
&nbsp;
set FILENAME=%my%\path\to\include\version.h
echo /*******************************************************************  &gt; %FILENAME%
echo * &gt;&gt; %FILENAME%
echo * This include file is automatically generated. All manual  &gt;&gt; %FILENAME%
echo * changes will be lost.  &gt;&gt; %FILENAME%
echo * &gt;&gt; %FILENAME%
echo *******************************************************************/  &gt;&gt; %FILENAME%
echo.  &gt;&gt; %FILENAME%
echo /* latest Subversion revision */  &gt;&gt; %FILENAME%
echo #define SVNREV  %SVNREV$ &gt;&gt; %FILENAME%
echo.  &gt;&gt; %FILENAME%</pre></div></div>

<p>Make sure that you add version.h to svn:ignore.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/06/displaying-the-latest-subversion-revision-id-in-an-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piping text to the clipboard in Vista and Windows 7</title>
		<link>http://coliena.com/blog/2010/05/piping-text-to-the-clipboard-in-vista-and-windows-7/</link>
		<comments>http://coliena.com/blog/2010/05/piping-text-to-the-clipboard-in-vista-and-windows-7/#comments</comments>
		<pubDate>Mon, 31 May 2010 12:39:24 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[shell]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=334</guid>
		<description><![CDATA[Microsoft added a new command line tool to Vista and Windows 7: clip.exe. This nifty little utility allows user to copy program output to the clipboard on the windows command line. Its usage is pretty straightforward: dir &#124; clip &#8211; copies the output of the dir command to the clipboard clip &#60; example.txt – copy [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft added a new command line tool to Vista and Windows 7: clip.exe. This nifty little utility allows user to copy program output to the clipboard on the windows command line. Its usage is pretty straightforward:</p>
<p><code>dir | clip</code> &#8211; copies the output of the <em>dir </em>command to the clipboard<br />
<code>clip &lt; example.txt </code>– copy the contents of the file <em>example.txt</em> to the clipboard</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/05/piping-text-to-the-clipboard-in-vista-and-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fighting Windows Sockets Legacy Troubles</title>
		<link>http://coliena.com/blog/2010/05/winsock-troubles/</link>
		<comments>http://coliena.com/blog/2010/05/winsock-troubles/#comments</comments>
		<pubDate>Fri, 14 May 2010 19:00:31 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[sockets]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=290</guid>
		<description><![CDATA[I came across a really annoying problem while using win32 sockets one of my bigger projects. In short, the VisualC compiler complained about redefinitions of basic Windows socket macros: C:\sdk\windows\v6.0a\include\ws2def.h&#40;91&#41; : warning C4005: 'AF_IPX' : macro redefinition C:\sdk\windows\v6.0a\include\winsock.h&#40;460&#41; : see previous definition of 'AF_IPX' C:\sdk\windows\v6.0a\include\ws2def.h&#40;124&#41; : warning C4005: 'AF_MAX' : macro redefinition C:\sdk\windows\v6.0a\include\winsock.h&#40;479&#41; : see [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a really annoying problem while using win32 sockets one of my bigger projects. In short, the VisualC compiler complained about redefinitions of basic Windows socket macros:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">91</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> warning C4005<span style="color: #339933;">:</span> <span style="color: #ff0000;">'AF_IPX'</span> <span style="color: #339933;">:</span> macro redefinition
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\winsock.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">460</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> see previous definition of <span style="color: #ff0000;">'AF_IPX'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">124</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> warning C4005<span style="color: #339933;">:</span> <span style="color: #ff0000;">'AF_MAX'</span> <span style="color: #339933;">:</span> macro redefinition
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\winsock.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">479</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> see previous definition of <span style="color: #ff0000;">'AF_MAX'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">163</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> warning C4005<span style="color: #339933;">:</span> <span style="color: #ff0000;">'SO_DONTLINGER'</span> <span style="color: #339933;">:</span> macro redefinition
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\winsock.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">402</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> see previous definition of <span style="color: #ff0000;">'SO_DONTLINGER'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">206</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> error C2011<span style="color: #339933;">:</span> <span style="color: #ff0000;">'sockaddr'</span> <span style="color: #339933;">:</span> <span style="color: #ff0000;">'struct'</span> type redefinition
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\winsock.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">485</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> see declaration of <span style="color: #ff0000;">'sockaddr'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">384</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> error C2143<span style="color: #339933;">:</span> syntax error <span style="color: #339933;">:</span> missing <span style="color: #ff0000;">'}'</span> before <span style="color: #ff0000;">'constant'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">384</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> error C2143<span style="color: #339933;">:</span> syntax error <span style="color: #339933;">:</span> missing <span style="color: #ff0000;">';'</span> before <span style="color: #ff0000;">'constant'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">384</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> error C2059<span style="color: #339933;">:</span> syntax error <span style="color: #339933;">:</span> <span style="color: #ff0000;">'constant'</span>
C<span style="color: #339933;">:</span>\sdk\windows\v6.0a\include\ws2def.<span style="color: #202020;">h</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">437</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> error C2143<span style="color: #339933;">:</span> syntax error <span style="color: #339933;">:</span> missing <span style="color: #ff0000;">';'</span> before <span style="color: #ff0000;">'}
(...)</span></pre></div></div>

<p><span id="more-290"></span><br />
After some digging in the code I noticed that <em>windows.h</em> had been included before <em>winsock2.h</em>. And that <em>windows.h</em> includes <em>winsock.h</em>. When digging deeper, I found <a href="http://msdn.microsoft.com/en-us/library/ms738562.aspx">an article in the MSDN</a> describing what had happened here:<br />
actually, this is a legacy problem. In Windows versions <= Windows 98, WinSock 1.1 had been used. The current win32 socket implementation, Windows Sockets 2 (WinSock 2.0), is backwards compatible to Windows Sockets 1.1. Additionally, the <em>winsock2.h</em> header files prevents the inclusion of the legacy <em>winsock.h</em> header file. But once you include <em>winsock.h</em>, you can not include <em>winsock2.h</em> later on.<br />
Unfortunately, <em>windows.h</em> still includes <em>winsock.h</em>.<br />
Fortunately, you can disable the legacy parts of the Windows SDK easily:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#define WIN32_LEAN_AND_MEAN</span></pre></div></div>

<p>You will not be able to build Windows 95/Windows 98 applications when using this definition. But if you were targeting those OS versions, you wouldn&#8217;t be using Windows Sockets 2 anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/05/winsock-troubles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entering Foreign Characters in Firefox</title>
		<link>http://coliena.com/blog/2010/05/entering-foreign-characters-in-firefox/</link>
		<comments>http://coliena.com/blog/2010/05/entering-foreign-characters-in-firefox/#comments</comments>
		<pubDate>Tue, 04 May 2010 17:11:08 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[helpdesk]]></category>
		<category><![CDATA[life out there]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[i18n]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=321</guid>
		<description><![CDATA[When dealing with foreign names, it is a matter of both correctness and courtesy to use the right spelling. But quite often it is also a problem of “how do I enter this darn character”. Luckily, there is abcTajpu, a Firefox extension that allows you to select foreign characters, umlauts, … quite easily. Free, no [...]]]></description>
			<content:encoded><![CDATA[<p>When dealing with foreign names, it is a matter of both correctness and courtesy to use the right spelling. But quite often it is also a problem of “how do I enter this darn character”.</p>
<p>Luckily, there is <a href="https://addons.mozilla.org/firefox/459/">abcTajpu</a>, a Firefox extension that allows you to select foreign characters, umlauts, … quite easily.</p>
<p>Free, no ads – really worth a try <img src='http://coliena.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://coliena.com/blog/wp-content/uploads/abcTaipu.png"><img class="alignnone size-medium wp-image-319" title="abcTaipu.png" src="http://coliena.com/blog/wp-content/uploads/abcTaipu-199x300.png" alt="" width="199" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/05/entering-foreign-characters-in-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synchronizing Google Contacts and Google Calendar in KDE 4</title>
		<link>http://coliena.com/blog/2010/05/synchronizing-google-contacts-and-google-calendar-in-kde-4/</link>
		<comments>http://coliena.com/blog/2010/05/synchronizing-google-contacts-and-google-calendar-in-kde-4/#comments</comments>
		<pubDate>Sun, 02 May 2010 13:12:30 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=313</guid>
		<description><![CDATA[The support for Google Contacts and Google Calendar in KDE 4.4 is pretty good. All you need is libgcal (sudo apt-get install libgcal0 in Kubuntu). This library provides Akonadi access to your Google account. Once it is installed you just have to configure it in Akonadi, and then you can access your Google contacts and [...]]]></description>
			<content:encoded><![CDATA[<p>The support for Google Contacts and Google Calendar in KDE 4.4 is pretty good. All you need is <em>libgcal</em> (<em>sudo apt-get install libgcal0</em> in Kubuntu). This library provides Akonadi access to your Google account. Once it is installed you just have to configure it in Akonadi, and then you can access your Google contacts and calendar in KMail, KAddressBook, Kontact and Korganizer.</p>
<p>Unfortunately there is no sync option for Akregator and Google Reader yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/05/synchronizing-google-contacts-and-google-calendar-in-kde-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Ubuntu 10.04 on a Netbook with Full Disk Encryption</title>
		<link>http://coliena.com/blog/2010/05/how-to-install-ubuntu-10-04-on-a-netbook-with-full-disk-encryption/</link>
		<comments>http://coliena.com/blog/2010/05/how-to-install-ubuntu-10-04-on-a-netbook-with-full-disk-encryption/#comments</comments>
		<pubDate>Sun, 02 May 2010 12:55:00 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[helpdesk]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=303</guid>
		<description><![CDATA[Installing Ubuntu on a netbook is trivial. Installing Ubuntu/Kubuntu with full disk encryption is absolutely easy. Unfortunately, installing it on a netbook with full disk encryption is not (at least not without a CD-ROM drive). First of all, the desktop Ubuntu and Kubuntu install images don&#8217;t support full disk encryption. So get the Alternate ISO [...]]]></description>
			<content:encoded><![CDATA[<p>Installing Ubuntu on a netbook is trivial. Installing Ubuntu/Kubuntu with full disk encryption is <a title="really easy" href="http://learninginlinux.wordpress.com/2008/04/23/installing-ubuntu-804-with-full-disk-encryption/" target="_blank">absolutely easy</a>. Unfortunately, installing it on a netbook with full disk encryption is not (at least not without a CD-ROM drive).</p>
<p>First of all, the desktop Ubuntu and Kubuntu install images don&#8217;t support full disk encryption. So get the Alternate ISO from <a title="here" href="http://www.ubuntu.com/getubuntu/downloadmirrors#alternate" target="_blank">here</a> (Kubuntu users <a title="this way" href="http://releases.ubuntu.com/kubuntu/10.04/" target="_blank">this way</a>, please). Then create a bootable USB drive using <a title="UNetbootin" href="http://unetbootin.sourceforge.net/" target="_blank">UNetbootin</a>.</p>
<p>Ready? Then boot your netbook from the USB drive, and proceed with the installation using <a title="this guide" href="http://learninginlinux.wordpress.com/2008/04/23/installing-ubuntu-804-with-full-disk-encryption/" target="_blank">this guide</a>. You will be able to select your country, keyboard and configure your network. Then the installation will fail, because the installer won&#8217;t find a CD-ROM drive. Yuck.</p>
<p>Okay, if there is no CD-ROM drive we just have to mount the installer ISO. For this we copy the alternate installer ISO to a second USB stick, plug it into the netbook and give the system a few seconds to recognize it. Then we use alt+F2 to switch to a command line and hit <enter> so we can enter commands. First, we should make sure that both USB drives are there:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sd<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p>should return something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda2
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdc</pre></div></div>

<p><em>/dev/sda</em> is your hard disk, <em>/dev/sdb</em> is the USB drive you booted from, and <em>/dev/sdc</em> is the second USB drive containing the installer ISO file (unless you have a second hard drive). Now you can mount the second USB drive to <em>/mnt</em> and the ISO image to <em>/cdrom</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> vfat <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdc <span style="color: #000000; font-weight: bold;">/</span>mnt
<span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>ubuntu-<span style="color: #000000;">10.04</span>-alternate-i386.iso <span style="color: #000000; font-weight: bold;">/</span>cdrom<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<p>Next, hit <em>alt+f1</em> to return to the install menu and select &#8220;Detect CD-ROM&#8221;. The installation will proceed as described in the blog post above.</p>
<p>Have fun with Ubuntu 10.04! <img src='http://coliena.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/05/how-to-install-ubuntu-10-04-on-a-netbook-with-full-disk-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View and Kill Processes using the Windows Command Line</title>
		<link>http://coliena.com/blog/2010/04/view-and-kill-processes-using-the-windows-command-line/</link>
		<comments>http://coliena.com/blog/2010/04/view-and-kill-processes-using-the-windows-command-line/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 17:49:59 +0000</pubDate>
		<dc:creator>niels</dc:creator>
				<category><![CDATA[helpdesk]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://coliena.com/blog/?p=296</guid>
		<description><![CDATA[It&#8217;s pretty convenient to list and kill processes using ps and kill / pkill on *nix. Actually, you can do that on a Windows command line as well: tasklist: shows a list of all running processes taskkill: kills processes Among other options, processes can be killed by their process ID (taskkill /PID 4711) and by [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s pretty convenient to list and kill processes using <em>ps</em> and <em>kill</em> / <em>pkill</em> on *nix. Actually, you can do that on a Windows command line as well:</p>
<ul>
<li><em>tasklist</em>: shows a list of all running processes</li>
<li><em>taskkill</em>: kills processes</li>
</ul>
<p>Among other options, processes can be killed by their process ID (<em>taskkill /PID 4711</em>) and by the name of their executable (<em>taskkill /IM firefox.exe</em>).<br />
So, if you have perl scripts running wild, just execute <em>taskkill perl.exe</em> to kill all of them down with a single command.</p>
<p>More lesser known Windows commands are described in <a href="http://www.sans.org/security-resources/sec560/windows_command_line_sheet_v1.pdf">this PDF</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coliena.com/blog/2010/04/view-and-kill-processes-using-the-windows-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
