<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>vdboor - KMess</title>
    <link>http://www.codingdomain.com/blog/</link>
    <description>About coding, kmess, and uhmm.. everything else</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.1-beta5 - http://www.s9y.org/</generator>
    <pubDate>Thu, 31 Jul 2008 19:33:31 GMT</pubDate>

    <image>
        <url>http://www.codingdomain.com/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: vdboor - KMess - About coding, kmess, and uhmm.. everything else</title>
        <link>http://www.codingdomain.com/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>KMess 2.0 progress, personal stuff</title>
    <link>http://www.codingdomain.com/blog/archives/21-KMess-2.0-progress,-personal-stuff.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Screenshots</category>
    
    <comments>http://www.codingdomain.com/blog/archives/21-KMess-2.0-progress,-personal-stuff.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=21</wfw:comment>

    <slash:comments>16</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;With this blog entry I&#039;d like to inform you all about the amazing progress we&#039;re making with KMess 2.0. It&#039;s been a bit quiet on the blogging side, but development surely didn&#039;t stop. The development timeline at &lt;a target=&quot;_blank&quot; href=&quot;http://trac.kmess.org/&quot;&gt;trac.kmess.org&lt;/a&gt; reveals there are 200 commits within the last 30 days. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;p&gt;Within a few days we hope to release a 2.0-alpha 2 release, which has the following new features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Everything is running quite stable under KDE 4.&lt;/li&gt;&lt;li&gt;Tabbed chats are supported now. This is such a breeze, I wouldn&#039;t ever want to live without that anymore!&lt;/li&gt;&lt;li&gt;Every dialog received a nice makeover.&lt;/li&gt;&lt;li&gt;Connecting over HTTP is supported, making KMess usable for restricted LAN&#039;s.&lt;/li&gt;&lt;li&gt;Ink sending works!&lt;/li&gt;&lt;li&gt;Larger messages can be sent&lt;/li&gt;&lt;li&gt;MSNplus formatting can be displayed.&lt;/li&gt;&lt;li&gt;We&#039;ve added an application-wide settings dialog for common settings.&lt;/li&gt;&lt;li&gt;Lots of nifty improvements everywhere; choose your fire transfer ports, automatically download to a folder, copy contact &#039;now listening&#039; information, etc..&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;We stil have our share of things we like to improve, implement and annoyances to fix, so the upcoming release will still be called an alpha.  Most of the work on KMess 2 has been done by Valerio and Antonio, so I like to thank them for this as well!&lt;/p&gt;&lt;p&gt;This is how KMess 2 look like now:&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://www.codingdomain.com/blog/uploads/kmess-linux.png&quot;&gt;&lt;!-- s9ymdb:21 --&gt;&lt;img width=&quot;300&quot; height=&quot;240&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-linux.serendipityThumb.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In the screenshot you see the ink receiving and tabbed chat in action.&lt;/p&gt;&lt;h4&gt;KMess on Windows&lt;/h4&gt;&lt;p&gt;There is &lt;i&gt;experimental support&lt;/i&gt; for Windows as well:&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://www.codingdomain.com/blog/uploads/kmess-windows-alpha2.png&quot;&gt;&lt;!-- s9ymdb:22 --&gt;&lt;img width=&quot;300&quot; height=&quot;188&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-windows-alpha2.serendipityThumb.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:21 --&gt;&lt;/p&gt;&lt;p&gt;There is no &amp;quot;setup.exe&amp;quot; yet to double-click on, but a lengthy manual of &lt;a target=&quot;_blank&quot; href=&quot;http://trac.kmess.org/wiki/Compiling%20KMess%20for%20Windows&quot;&gt;steps to install&lt;/a&gt;. Hence the reason we still call it experimental. Everything seams to work though.&lt;/p&gt;&lt;h4&gt;Personal stuff&lt;/h4&gt;&lt;p&gt;I didn&#039;t always find time to work on KMess in the past few months. If you have a daily job as web developer, not all evenings are easily spent on coding as well. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; I still do a lot of things in the background, and I&#039;m slowly starting to pick up coding again. I&#039;m working through the first parts to receive webcam sessions, and you can expect this to be present in KMess too.&lt;/p&gt;&lt;p&gt;After the summer holidays I&#039;ll also be moving to to my very own appartment (maisonette actually). It has a small balcony, 3 bedrooms and a view to a lovely park in front, which I really love. Some work needs to be done before I can move in, like installing new kitchen and installing central heating. Guess you&#039;ll know what I&#039;ll be doing this autumn. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;Oh and:&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:24 --&gt;&lt;img width=&quot;320&quot; height=&quot;178&quot; src=&quot;http://www.codingdomain.com/blog/uploads/goingakademy08.png&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/p&gt;&lt;p&gt;So if you see a guy coding for KMess on a white MacBook running KDE on Windows, it&#039;s probably me &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; It&#039;s my first time on Akademy and I didn&#039;t make any plans yet, but love to join some BoF meetings and discuss innovation. Last time I checked, almost every pillar of KDE could find a place within KMess. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 27 Jul 2008 21:21:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/21-guid.html</guid>
    
</item>
<item>
    <title>Communicating emoticons</title>
    <link>http://www.codingdomain.com/blog/archives/20-Communicating-emoticons.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
    
    <comments>http://www.codingdomain.com/blog/archives/20-Communicating-emoticons.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;
This is not meant as a sentimental entry. It&#039;s about marketing and communicating a message to your potential users. Too often I find myself at a website of an Open Source project and ask myself. &amp;quot;where am I now? what the -beep- is this? and what can I do with it?&amp;quot;
&lt;/p&gt;
&lt;p&gt;
As personal example I take &lt;a target=&quot;_blank&quot; href=&quot;http://www.kmess.org/&quot;&gt;kmess.org&lt;/a&gt; as example. We tried really hard to fix this. The site is a lot of content nowadays, but we think there is a lot of room for improvement. While discussing this we Valerio came up with the following blog entry:
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;
&lt;a target=&quot;_blank&quot; href=&quot;http://blog.gobanquet.com/index.php/why-ubuntu-804-needs-better-marketing/&quot;&gt;Why Ubuntu 8.04 needs better marketing&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
That article shows the big difference between a summary of technical details and something that appeals. Their revised announcement makes me all of a sudden excited about downloading Ubuntu 8.04. Less technical wording, clearly written sentenses and focus on &lt;em&gt;what advantages does it has for me&lt;/em&gt;. Worth reading, this article is written really well!&lt;/p&gt;
&lt;p&gt;In the comments there is also a nice &lt;a target=&quot;_blank&quot; href=&quot;http://blog.gobanquet.com/index.php/why-ubuntu-804-needs-better-marketing/#comment-2988&quot;&gt;observation&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;The key however is to, like Apple, make a directly emotional appeal. Even Intel claims to be trying to take this route, inspired by Apple (successfully? Maybe).
Take a look at Apple’s OS X page: &lt;a target=&quot;_blank&quot; href=&quot;http://www.apple.com/macosx/&quot;&gt;http://www.apple.com/macosx/&lt;/a&gt;.
The bold heading is very dominant. And it doesn’t really contain too much logic… again, it is an emotional appeal.&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;
I really like Apple&#039;s site. It makes me enthusiastic about their products, and while browsing it just goes on. Yet I can also find a lot of technical details there. I couldn&#039;t describe why, but now I&#039;m starting to understand the key aspect here: emotions.
&lt;/p&gt;
&lt;p&gt;
Another example: Last week I was on a holiday/journey, and tried to explain a bit Aikido to the guy next to me. It&#039;s the martial art I practice and love. In the years I developed a few short phrases to explain it but somehow my description didn&#039;t get though at all. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/normal.png&quot; alt=&quot;:|&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;
&lt;p&gt;
Fortunately I got a little advise whispered in my other ear: &amp;quot;you are too technical&amp;quot;. Dang! I&#039;m currently inspired by &amp;quot;feeling first, mind later&amp;quot; theories and this is another eye opener for me. By using more vague descriptions adjusted to the receiver (communicating a feeling/emotion) the other guy managed to get it a lot better. Whoa. Using less strict descriptions actually makes people grasp something better?
&lt;/p&gt;
&lt;p&gt;This incident among others makes me realize a lot of people are probably wired this way (call them alpha&#039;s if you wish). As technicians we love to communicate details, and the receiver can reconstruct the same image in their mind. Most people are not like that, or can&#039;t manage to be so. I didn&#039;t expect this gap could be so big. I noticed how this guy next to me responds much better while communicating an emotion, feeling or vague description (which you can technically put down as inaccurate, misleading, etc..). It has a strong effect, as the message is received in a more powerful way.&lt;/p&gt;
&lt;p&gt;
Meanwhile I&#039;m starting to get an itch to do something with this conclusion within the KMess website too.
If a lot of people are wired this way, shouldn&#039;t our websites reflect that?
I&#039;d like to call it &amp;quot;communicating emotions&amp;quot;. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;small&gt;&amp;lt;shameless-plug&amp;gt;We&#039;re looking for more ways to improve the KMess website. If you have suggestions, don&#039;t wait any longer and post them!&amp;lt;/shameless-plug&amp;gt;&lt;/small&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun,  2 Mar 2008 21:37:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/20-guid.html</guid>
    
</item>
<item>
    <title>KDE 4 porting of KMess</title>
    <link>http://www.codingdomain.com/blog/archives/19-KDE-4-porting-of-KMess.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Screenshots</category>
    
    <comments>http://www.codingdomain.com/blog/archives/19-KDE-4-porting-of-KMess.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>12</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;A while ago I mentioned briefly KMess would be ported to KDE 4. We weren&#039;t sure when to do it yet. Eventually we decided to port it as soon as possible before doing new changes to the codebase. That would only make the porting more difficult, or give SVN a vague status to new contributions. So at  15 January I started a branch for porting the code.&lt;/p&gt;

&lt;p&gt;After all automated changes we went through all files one by one (resuling in ~190 commits) before things managed to compile again. For those that are interested, there is a screenshot of the &lt;a title=&quot;Ah, our first Qt4/KDE4 run. Such goodness!&quot; target=&quot;_blank&quot; href=&quot;http://trac.kmess.org/attachment/ticket/192/first%20run.png&quot;&gt;first run&lt;/a&gt;. Things crashed at startup, crashed deep in QHttp, froze, and corrupted memory multiple times. Once you manage to open the settings panel again things look &lt;a href=&quot;http://trac.kmess.org/attachment/ticket/192/kmess2-settingsdialog.png?format=raw&quot; target=&quot;_blank&quot;&gt;really funny&lt;/a&gt;. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;p&gt;We&#039;ve managed to get these issues fixed in the last 2 weeks and things are starting to get back in shape. This is KMess after ~270 commits since the initial start of the &#039;kde4porting&#039; branch:&lt;/p&gt;

&lt;table cellspacing=&quot;5&quot; cellpadding=&quot;0&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://www.codingdomain.com/blog/uploads/kmess2-mainwindow.png&quot; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:15 --&gt;&lt;img width=&quot;150&quot; height=&quot;300&quot; border=&quot;0&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess2-mainwindow.serendipityThumb.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width=&quot;8&quot;&gt; &lt;/td&gt;
&lt;td&gt;&lt;a class=&quot;serendipity_image_link&quot; href=&quot;http://www.codingdomain.com/blog/uploads/kmess2-desktop.png&quot; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:17 --&gt;&lt;img width=&quot;300&quot; height=&quot;240&quot; border=&quot;0&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess2-desktop.serendipityThumb.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;font size=&quot;1&quot;&gt;Login dialog&lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;8&quot;&gt; &lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;font size=&quot;1&quot;&gt;Full desktop&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;

&lt;p&gt;Note that the application is still not usable. Now we&#039;ve gotten past most crashes we can fix everything we&#039;ve broken and make it pretty. Some things were broken on purpose to get past all compiling errors, like the contact list, now playing information and saving of settings. In fact, your settings will likely be eaten at this point. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;p&gt;There are some visible benefits for the KDE 4 porting already. Oxygen alone makes apps breathtaking beautiful. The networking code has less dependencies on KDE now, which helps to build a library from it later. The application startups almost instantly. Memory statistics also show some interesting effects (note the size is also affected by the shared libraries).&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:18 --&gt;&lt;!-- s9ymdb:18 --&gt;&lt;img width=&quot;300&quot; height=&quot;63&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-memory-comparison.serendipityThumb.png&quot; /&gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;I&#039;m not really sure what those numbers mean, but for the ignorant among us it makes KDE 4 applications look so much better. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat,  9 Feb 2008 14:04:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/19-guid.html</guid>
    
</item>
<item>
    <title>KMess 1.5 released!</title>
    <link>http://www.codingdomain.com/blog/archives/18-KMess-1.5-released!.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
    
    <comments>http://www.codingdomain.com/blog/archives/18-KMess-1.5-released!.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=18</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;I&#039;m pleased to announce the release of &lt;a href=&quot;http://www.kmess.org/&quot; target=&quot;_blank&quot;&gt;KMess 1.5&lt;/a&gt;, a MSN Messenger client for KDE.&lt;/p&gt;&lt;p&gt;After a long time of development from version 1.4 first, and the
1.5-pre series after, we&#039;ve been able to obtain a very stable and
feature-filled version.&lt;/p&gt;&lt;h4&gt;Changes&lt;/h4&gt;
&lt;p&gt;Users of KMess 1.5-pre2 will might notice that file transfers have
become stable while operating full-speed. The ugly popup balloons are
gone and you can send custom emoticons now. A lot of bugs are squashed
in the process, and the overall application got the polish it deserves.&lt;/p&gt;&lt;p&gt;Users of the last official stable release (1.4.3) will notice the quite
some new interesting features.
Most parts of the user interface have been improved. Combined with rich
colorful chat styles it&#039;s a refreshing breeze for the eyes.
&lt;/p&gt;
&lt;p&gt;
This release brings the MSN support to a level we&#039;re happy with. During
the development of KMess 1.5-pre1 and pre2, we&#039;ve added support for the
things you&#039;d expect from a MSN Messenger client.
That&#039;s nudges, now playing information, custom emoticons, personal
messages, fast file transfers and automatic download of display
pictures. To make sure you don&#039;t miss something in a conversation,
Winks and offline messages can also be received,
being able to send those as well is still a todo.&lt;/p&gt;&lt;h4&gt;Looking back&lt;/h4&gt;&lt;p&gt;Making the release of KMess 1.5 took a lot of time. Much more time then I anticipated. The introduction of a new developer (thanks Valerio!) helped a lot here. Looking at the &lt;a target=&quot;_blank&quot; href=&quot;http://www.kmess.org/changes/1.5/&quot;&gt;changes&lt;/a&gt; I&#039;m really stunned how much we&#039;ve been able to polish.&lt;/p&gt;&lt;p&gt;It was quite difficult to get the direct connections stable. They&#039;ve been a source of many crashes and lockups. Seeing it work out all smooth now is just unbelievable. It just works, like every user expects it to be. But after so much trouble I&#039;m filled with excitement each time I see that progress bar rush to 100% in no-time. It amazes me every time.&lt;/p&gt;&lt;p&gt;What felt as a little project with the 1.4 / 1.5-pre1 release, seams different now. With the new website, &lt;a href=&quot;http://trac.kmess.org/&quot; target=&quot;_blank&quot;&gt;trac installation&lt;/a&gt; for developers (tickets and wiki pages), announcement writing, and rock solid release it feels this little project has matured a lot. It gives me confidence we&#039;ll be able to pull up a lot more nowadays. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;h4&gt;Future plans&lt;/h4&gt;&lt;p&gt;KMess 1.5
will be the last version based on Qt 3 and KDE 3. The next major
version will be based on Qt 4 / KDE 4. Originally I&#039;d planned to get a release done before the KDE 4 beta&#039;s, but it took far more time to get the file transfers stable. It means there won&#039;t be a KMess 1.6, but a 2.0 version since KDE 4 will likely be adopted (e.g. with 4.1) by the time we&#039;re ready with 2.0.&lt;/p&gt;&lt;p&gt;I had some plans to collaborate with other projects before, but never really gotten to it yet. Since everyone is going for Decibel lately, I&#039;m curious how we work towards that goal as well. I&#039;m curious how it will work out, because I don&#039;t want to loose the specific MSN protocol features we have.&lt;/p&gt;&lt;p&gt;For now, enjoy the release! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 10 Jan 2008 02:16:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/18-guid.html</guid>
    
</item>
<item>
    <title>KMess file transfer fixes; MSN Protocol goodies</title>
    <link>http://www.codingdomain.com/blog/archives/16-KMess-file-transfer-fixes;-MSN-Protocol-goodies.html</link>
            <category>KMess</category>
    
    <comments>http://www.codingdomain.com/blog/archives/16-KMess-file-transfer-fixes;-MSN-Protocol-goodies.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>10</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;Last week I&#039;ve committed a major change to the KMess SVN. In this case &amp;quot;major&amp;quot; means the diffs were 100kB in size. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/eek.png&quot; alt=&quot;:-O&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; It fixes the last two problems we had with MSN direct connections, and brings the next release a lot closer too.&lt;/p&gt;&lt;p&gt;The first problem was caused by our way of sending file data. KMess 1.5-pre2 pushes messages to aggressively to the socket, choking the buffers of KExtendedSocket. By only sending the few bytes it could, this broke all message-length fields of squential packets. Oops..! This is fixed thanks to the readyWrite() signal and a lot of internal API refactoring. Hence the 100kB diffs.&lt;/p&gt;&lt;p&gt;Another problem was caused by some unknown protocol goodies revealed by Windows Live Messenger (WLM). Half way the transfer progressbar stalled in WLM, while KMess still thought it was sending file data. wtf... A closer look revealed it did get some messages back (flag 0x01). Now what..? That flag is isn&#039;t known yet at msnpiki.&lt;/p&gt;&lt;p&gt;From the WLM logs I&#039;ve learned this means &amp;quot;chunk out-of-order&amp;quot;, and it happened after KMess received some kind of &amp;quot;application/x-msnmsgr-transudpswitch&amp;quot; or &amp;quot;application/x-msnmsgr-transdestaddrupdate&amp;quot; message. I still have to clue what that message means or what to do with it, except sending an ACK as usual. I did figure out this broke the transfer in SVN. KMess incremented the message-ID to send the ACK, and now the remaining file data was sent with the wrong message-ID. Whoa. Not good! Fortunately it was easy to fix, and learned about some interesting new protocol messages too.&lt;/p&gt;&lt;p&gt;Finally, these two problems also broke picture transfers,
emoticons and winks. Why you might ask? Those are also sent in parallel
over the same direct connection! Almost everything is sent over the
direct connection! It&#039;s good for performance and server load, but hard to
code right at once. We&#039;ve got it all working now, which I&#039;m really proud of.&lt;/p&gt;&lt;p&gt;I can   finally say that KMess supports direct connections properly for MSN file and picture transfers. Yay! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 12 Oct 2007 01:11:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/16-guid.html</guid>
    
</item>
<item>
    <title>Hello, PlanetKDE!</title>
    <link>http://www.codingdomain.com/blog/archives/14-Hello,-PlanetKDE!.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
    
    <comments>http://www.codingdomain.com/blog/archives/14-Hello,-PlanetKDE!.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;My blog has just been added to PlanetKDE, so I&#039;d like to say hi to everyone!  ..and tell something about what I do for KDE development.&lt;/p&gt;
&lt;p&gt;I&#039;m one of the main developers of &lt;a href=&quot;http://www.kmess.org/&quot; target=&quot;_blank&quot;&gt;KMess&lt;/a&gt;, a MSN Messenger client for KDE. You can say KMess brings an &quot;MSN Messenger like experience&quot; to Linux without copying the annoying parts. I tried all clients when I started with Linux in 2003, and really loved the user interface of KMess. It felt much like MSN, but even better. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;
&lt;p&gt;With my next entries I hope to get more technical, show some screenshots, or post idea&#039;s about Linux. I&#039;m curious how this will all work out.&lt;/p&gt;
&lt;h4&gt;introducing...&lt;/h4&gt;
&lt;p&gt;I&#039;m from the Netherlands, 23 years old, code webapplications for a living and have a passion for KDE (following the dot, blogs and akademy screencasts closely), and started contributing to KMess in 2004. This started because I liked every part of KMess; both UI design and code. It was very easy to jump in.&lt;/p&gt;
&lt;p&gt;Currently we&#039;re finishing up KMess 1.5. It includes a lot of bugfixes and we got rid of more annoyances too. With the next release (either 1.6 or 2.0) we&#039;ll implement webcam and multimedia support. I actually hoped to have 1.5 out already to leave KDE 3 with a good 1.6 release, but it&#039;s likely we&#039;ll be porting to KDE 4 instead because of the multimedia requirements.
&lt;p&gt;We all know Kopete is part of KDE, and KMess exists outside the KDE SVN. I don&#039;t actually mind this; it&#039;s good to have one standard client shipping, even posted some bugzilla comments for Kopete. The bottom line is that KMess got me started with KDE development. If you need more explanation then this, you&#039;re welcome to post a comment though! &lt;/p&gt;
&lt;h4&gt;something about msn&lt;/h4&gt;
&lt;p&gt;One of the most difficult parts of the MSN protocol is the client-to-client part (MSN P2P). It&#039;s used to exchange pictures, emoticons, files and all other kinds of invitations directly between two contacts. It&#039;s what makes most clients distinguish from each other. Not getting this part right means webcam sessions and file transfers break when someone sends an emoticon or changes their avatar. The reverse-engineered documentation help a lot, but I keep noticing they miss practical details you&#039;ll encounter as developer. In KMess, I actually had to refactor the MSN P2P code three times before I saw the whole overall design of it. I&#039;ve been told Mercury&#039;s counter is at 6 now. That&#039;s something new MSN plugins can avoid, and I don&#039;t mind sharing my experience about that!&lt;/p&gt;
&lt;p&gt;A lot of energy has been put in good support for MSN P2P in KMess, and the code works really well. It means we&#039;re ready to build stable webcam sessions in the next release. Combined with the APIDOX examples the P2P code is almost a reference guide to implement MSN P2P. Worth checking out!&lt;/p&gt;
&lt;p&gt;Happy KMess&#039;ing or .. Kopete&#039;ing! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 12 Jul 2007 21:46:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/14-guid.html</guid>
    
</item>
<item>
    <title>KMess sourcecode migrated to subversion</title>
    <link>http://www.codingdomain.com/blog/archives/13-KMess-sourcecode-migrated-to-subversion.html</link>
            <category>KMess</category>
    
    <comments>http://www.codingdomain.com/blog/archives/13-KMess-sourcecode-migrated-to-subversion.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=13</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;The KMess sourcecode has been migrated from CVS to subversion (SVN). (FYI: subversion is the software we use to store the in-development version of KMess). Subversion gives us some advantages over CVS. It&#039;s command line is easier to use, branches/tags are easier to mange, changes to many files - even moved files - are tracked properly with subversion. I actually hoped to migrate earlier, but I wanted to wait until 1.5-pre2 was released.&lt;/p&gt;&lt;p&gt;The CVS to SVN migration did took more time then I&#039;d expected. The cvs2svn tool needs &lt;a href=&quot;http://www.xs4all.nl/~carlo17/svn/cvs2svn.html&quot; target=&quot;_blank&quot;&gt;some help&lt;/a&gt; to convert things properly, and sourceforce&#039;s documentation leaves much ends open. And there was something I overlooked: the website documentation and forum howto&#039;s had to be updated as well... *oops*&lt;/p&gt;&lt;p&gt;An interesting side-effect of subversion are the statistics you can generate from it. If you like to see those statistics, download the repository first with: &lt;font size=&quot;2&quot; face=&quot;courier new,courier,monospace&quot;&gt;rsync -av rsync://kmess.svn.sourceforge.net/svn/kmess/ kmess-svnrepos&lt;/font&gt;. Then  open it locally with &lt;font size=&quot;2&quot; face=&quot;courier new,courier,monospace&quot;&gt;kdesvn&lt;/font&gt;. The most simple statistic is the activity over the years. It&#039;s clearly visible that development slowed down during the 1.3 release, and basically stopped. I was also shocked to find out I&#039;m responsable for ~1200 of the 1700 commits since 2004-07-12. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/eek.png&quot; alt=&quot;:-O&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; It should be noted I had to commit directories and ChangeLog entries separately.&lt;/p&gt;&lt;p&gt;While updating the website, I also improved the documentation about the &lt;a href=&quot;http://www.kmess.org/coding-standards/&quot; target=&quot;_blank&quot;&gt;coding standards&lt;/a&gt;. With the additional examples it easier to follow the proper styles now. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon,  9 Apr 2007 23:36:33 +0200</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/13-guid.html</guid>
    
</item>
<item>
    <title>KMess 1.5-pre2 is out!</title>
    <link>http://www.codingdomain.com/blog/archives/12-KMess-1.5-pre2-is-out!.html</link>
            <category>KMess</category>
    
    <comments>http://www.codingdomain.com/blog/archives/12-KMess-1.5-pre2-is-out!.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=12</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;Finally it&#039;s out! KMess 1.5-pre2 can be downloaded as of today. The current CVS code had many fixes and improvements, so I didn&#039;t want to delay a next release much more.&lt;/p&gt;&lt;p&gt;The most important bugfixes are better support for direct file transfer connections, and links in the chat window. There are also some nice improvements, like file transfer previews, now playing information, and an option to disable the nudge shaking effect. More information can be found at the &lt;a href=&quot;http://www.kmess.org/&quot;&gt;front page&lt;/a&gt; and &lt;a href=&quot;http://www.kmess.org/changes/1.5pre2/&quot;&gt;changelog&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;My favorite features are previews for &lt;i&gt;any&lt;/i&gt; file type (see previous entries), and clickable geek-style links. It happens all the time people write &amp;quot;dot.kde.org&amp;quot;, &amp;quot;planetkde.org&amp;quot;, or &amp;quot;slashdot.org&amp;quot;. I wanted to make these links clickable as well, without getting too many false-positives. This worked out really well, so try it out! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 18 Mar 2007 23:14:01 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/12-guid.html</guid>
    
</item>
<item>
    <title>Weirdest bug ever</title>
    <link>http://www.codingdomain.com/blog/archives/11-Weirdest-bug-ever.html</link>
            <category>KMess</category>
    
    <comments>http://www.codingdomain.com/blog/archives/11-Weirdest-bug-ever.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=11</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;Yesterday I was debugging some weird bugs. Actually spent several hours on it.&lt;/p&gt;&lt;p&gt;With the file transfer previews, Windows Live Messenger chops of some parts. This can be solved by sending the image as 96x96, with transparent parts added. &lt;a target=&quot;_blank&quot; href=&quot;http://doc.trolltech.com/3.3/qimage.html&quot;&gt;QImage&lt;/a&gt; to the resque! Well.. sort of. I ran into a pretty annoying bug.&lt;br /&gt;&lt;br /&gt;This is the code to generate a transparent image:&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;int size = QMAX( image.width(), image.height() );&lt;br /&gt;QImage fixedImage( size, size, 32 );&lt;br /&gt;fixedImage.setAlphaBuffer( true );&lt;br /&gt;fixedImage.fill( qRgba( 0, 0, 0, 0 ) );  // black transparent.&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Saved as PNG,  it produces something like this:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;!-- s9ymdb:14 --&gt;&lt;img width=&quot;96&quot; height=&quot;96&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-transparent-fuzzies.png&quot; /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Well, some parts of the image are transparent.. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; But the remaining of it.. juck! Something produces a fuzzy pattern here. Today it even seams to have more noise.&lt;br /&gt;&lt;br /&gt;After trying the same code in a stand alone application, I got a perfectly transparent image. When the same code runs in KMess, it doesn&#039;t work anymore. That&#039;s the weirdest part of it. It can either be in Qt 3.3.8, KDE  3.5.6 or openSUSE 10.2, I really can&#039;t tell.&lt;br /&gt;&lt;br /&gt;After some debugging, Google codesearch showed how to reset the individual image bits in a for-loop. A bit later I noticed how the image bits are actually one memory block (the Qt API is not really clear about that). So the &lt;font face=&quot;courier new,courier,monospace&quot;&gt;fill()&lt;/font&gt; command can be replaced with &lt;font face=&quot;courier new,courier,monospace&quot;&gt;memset()&lt;/font&gt;, hence the following code fixes the problem:&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;memset( fixedImage.bits(), 0, size * size * 4 );&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;This takes advantage of the image data/scanlines exposed by QImage. Pffew &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;&lt;p&gt;With this fix in place, I&#039;m looking forward to release 1.5-pre2. It should be out really soon, since CVS has some interesting improvements. I&#039;ll have to update the TODO and NEWS files, check for any blockers. Small bugs are not one of those, that&#039;s for the final 1.5. A next preview needs to be avoid really soon first! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt; &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 17 Mar 2007 17:27:01 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/11-guid.html</guid>
    
</item>
<item>
    <title>File transfer previews just even got better</title>
    <link>http://www.codingdomain.com/blog/archives/10-File-transfer-previews-just-even-got-better.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Screenshots</category>
    
    <comments>http://www.codingdomain.com/blog/archives/10-File-transfer-previews-just-even-got-better.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=10</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;There are some additional improvements to the file transfer previews. The previews are now generated with a more low-level KIO API. This no longer blocks the KMess interface to generate the preview.&lt;/p&gt;&lt;p&gt;As extra bonus, KMess generates previews of video files as well. When you send a movie to someone who uses the official client, they&#039;ll see something like this:&lt;br /&gt;&lt;!-- s9ymdb:13 --&gt;&lt;img width=&quot;356&quot; height=&quot;186&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.codingdomain.com/blog/uploads/msn-movies.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Pretty neat, isn&#039;t it? &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Tue, 20 Feb 2007 23:41:45 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/10-guid.html</guid>
    
</item>
<item>
    <title>File transfer previews</title>
    <link>http://www.codingdomain.com/blog/archives/9-File-transfer-previews.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Screenshots</category>
    
    <comments>http://www.codingdomain.com/blog/archives/9-File-transfer-previews.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=9</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;KMess just got a new cool feature! I&#039;ve received a patch for file transfer previews. The result now looks like this:&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:12 --&gt;&lt;img width=&quot;300&quot; height=&quot;180&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-file-preview.serendipityThumb.png&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/p&gt;&lt;p&gt;In the official client this is used to send previews of images. KMess also adds support for almost every imaginable file type, thanksverymuch KDE! Think PDF, OpenDocument, HTML, Qt designer files, really everything. Whooho! &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 14 Feb 2007 22:11:20 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/9-guid.html</guid>
    
</item>
<item>
    <title>You know you have a nice download page when...</title>
    <link>http://www.codingdomain.com/blog/archives/8-You-know-you-have-a-nice-download-page-when....html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Open Source</category>
    
    <comments>http://www.codingdomain.com/blog/archives/8-You-know-you-have-a-nice-download-page-when....html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=8</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;...&lt;a target=&quot;_blank&quot; href=&quot;http://www.amsn-project.net/linux-downloads.php&quot;&gt;someone else&lt;/a&gt; copies your layout and wordings. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/tongue.png&quot; alt=&quot;:-P&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; (compare: &lt;a href=&quot;http://www.kmess.org/download/&quot; target=&quot;_blank&quot;&gt;KMess version&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;All I can say is: I&#039;m flattered. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;
&lt;p&gt;On a side note, I&#039;m still looking for ways to improve the home page. I really like sites that show off their product well at the home page. The recent examples I found are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://basket.kde.org/&quot; target=&quot;_blank&quot;&gt;BasKet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot; target=&quot;_blank&quot;&gt;Firebug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/&quot; target=&quot;_blank&quot;&gt;Mozilla&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/firefox/features.html&quot; target=&quot;_blank&quot;&gt;Firefox features&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why is this important? With my application conversation I litterally got the question &quot;what is KMess actually?&quot;. I never noticed it before; the home page simply didn&#039;t tell. It only rambled the news headlines of things that were improved.&lt;/p&gt;
&lt;p&gt;I&#039;d like to improve the homepage it visually as well, like the sites above managed to. The &lt;a href=&quot;http://www.kmess.org/screenshots/&quot; target=&quot;_blank&quot;&gt;screenshot tour&lt;/a&gt; is a good start, but a bit too hidden yet. Every once in a while I&#039;m thinking how to incorporate new ideas in our home page. Perhaps I manage to get something done with the 1.5 release. Contributions, designs and suggestions are welcome off course. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 27 Jan 2007 18:49:01 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/8-guid.html</guid>
    
</item>
<item>
    <title>Completed now listening support</title>
    <link>http://www.codingdomain.com/blog/archives/6-Completed-now-listening-support.html</link>
            <category>KMess</category>
            <category>Less-technical</category>
            <category>Screenshots</category>
    
    <comments>http://www.codingdomain.com/blog/archives/6-Completed-now-listening-support.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=6</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;I&#039;ve just completed the now listening support in KMess! A month ago KMess could only show what contacts are listening to. Now it also does the reverse; notifying contacts what you&#039;re listening to. &lt;/p&gt;&lt;p&gt;When this feature is active, an additional status line appears in the main window:&lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:7 --&gt;&lt;img width=&quot;450&quot; height=&quot;166&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-nowlistening3.png&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/p&gt;&lt;p&gt;KMess is able to retreive playing information from Amarok, Juk,
Kaffeine, KsCD, and Noatun. Suport for non KDE-players like XMMS and
Banchee could be added later, but I&#039;m not starting with it yet. Each of
these players has it&#039;s own way to provide the playing information.&lt;/p&gt;&lt;p&gt;To enable this feature, check the last option in the settings dialog:&lt;/p&gt;&lt;p&gt;&lt;!-- s9ymdb:5 --&gt;&lt;img width=&quot;471&quot; height=&quot;64&quot; src=&quot;http://www.codingdomain.com/blog/uploads/kmess-nowlistening2.png&quot; style=&quot;border: 0px none ; padding-left: 5px; padding-right: 5px;&quot; /&gt;&lt;/p&gt;&lt;p&gt; KMess uses DCOP to retreive the playing information. DCOP is a really nice KDE feature to make IPC-calls to other applications (it runs over the standard X11 ICE protocol). Try the following commands in the console, and you&#039;ll get the idea:&lt;/p&gt;&lt;pre&gt;dcop&lt;br /&gt;dcop amarok&lt;br /&gt;dcop amarok player&lt;br /&gt;dcop amarok player artist&lt;/pre&gt;&lt;p /&gt;&lt;p&gt;Really amazing, and extremely powerful &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 17 Dec 2006 17:10:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/6-guid.html</guid>
    
</item>
<item>
    <title>Debugging KDE applications in Fedora Core</title>
    <link>http://www.codingdomain.com/blog/archives/5-Debugging-KDE-applications-in-Fedora-Core.html</link>
            <category>KMess</category>
            <category>Open Source</category>
    
    <comments>http://www.codingdomain.com/blog/archives/5-Debugging-KDE-applications-in-Fedora-Core.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    &lt;p&gt;Image speaking to a new developer. With excitement you tell about the debugging features of KMess. We&#039;ve got a network output window, and &lt;u&gt;lots&lt;/u&gt;, really &lt;u&gt;lots&lt;/u&gt; of console output. The console is literally flooded with messages when you run the debug-build of KMess. This allows us to trace how KMess interacted with the protocol messages, how it parsed those and sent responses back.&lt;/p&gt;&lt;blockquote&gt;Now imagine this new developer doesn&#039;t see anything of it. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/normal.png&quot; alt=&quot;:|&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/blockquote&gt;&lt;p&gt;That&#039;s an annoying way to become challenged as developer. First you start guessing where the output could be. SuSE has a nice &lt;code&gt;~/.xsession-errors&lt;/code&gt; file that contains the output of all GUI applications. However, the messages also didn&#039;t appear either when KMess was started from a console window. Googling gave no insight either. It started to feel something is really different in Fedora Core.&lt;/p&gt;&lt;p&gt;My next stop was &lt;code&gt;kdebugdialog&lt;/code&gt;. This is a tool that allows you to turn off debug output in KDE, separated by application and message type. I guessed the output was disabled there, which seamed logical from an end-user perspective. After some inspection, the settings were identical to my SuSE system.&lt;/p&gt;&lt;p&gt;KMess uses standard &lt;code&gt;kdDebug()&lt;/code&gt; calls to output the messages, so I sent a little C++ file that did the most basic thing possible. Eliminating compiler flags, and &lt;code&gt;#ifdef&lt;/code&gt; statements we use to hide output:&lt;/p&gt;&lt;pre&gt;#include &amp;lt;kdebug.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;  kdDebug() &amp;lt;&amp;lt; &amp;quot;test output&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Again, this simple test application gave no output on STDERR or whatsoever.&lt;/p&gt;&lt;p&gt;I seriously started to fear KDE was patched by the developers of Fedora Core. This could mean the developer would never see the output. Stephan Binner has a site of &lt;a target=&quot;_blank&quot; href=&quot;http://ktown.kde.org/%7Ebinner/distributor-patches/&quot;&gt;distributor patches&lt;/a&gt;, for which I can&#039;t thank him enough. Browsing the folders I found a patch on kdelibs/kdebug. Compare the &lt;a target=&quot;_blank&quot; href=&quot;http://websvn.kde.org/tags/KDE/3.5.1/kdelibs/kdecore/kdebug.cpp?rev=578150&amp;view=auto&quot;&gt;original file&lt;/a&gt; with &lt;a target=&quot;_blank&quot; href=&quot;http://ktown.kde.org/~binner/distributor-patches/Fedora/Core5/kdelibs-3.5.1-2.3/kdelibs-3.0.0-ndebug.patch&quot;&gt;this patch&lt;/a&gt;, and notice how Fedora Core hides all output by default! arhg! This not only costs one or two hours of debugging, but it&#039;s even more annoying it isn&#039;t mentioned anywhere. A simple note would have been enough.&lt;/p&gt;&lt;p&gt;The code of the original file acted as a good reference to find a solution. By creating the file &lt;code&gt;~/.kde/share/config/kdebugrc&lt;/code&gt; with the following contents, the new developer got his debugging output:&lt;/p&gt;&lt;pre&gt;[0]&lt;br /&gt;InfoOutput=2&lt;br /&gt;ErrorOutput=2&lt;/pre&gt;&lt;p&gt;This extends the global configuration in &lt;code&gt;$KDEDIR/share/config/kdebugrc&lt;/code&gt;, and outputs all messages to STDERR.&lt;/p&gt;&lt;p&gt;Needless to say, I&#039;ll propably disfavour distributor patches even more then I already did (i.e. how a Wine developer wasted his Sunday afternoon on debugging &lt;a target=&quot;_blank&quot; href=&quot;http://plan99.net/~mike/blog/2006/03/08/on-forks/&quot;&gt;packaging problems&lt;/a&gt;, scroll to &amp;quot;another example&amp;quot;). When something needs to be patched, it&#039;s likely the upsteam software lacks some option, not an other patch. In the case of KDE this wasn&#039;t needed at all, &lt;code&gt;kdebugdialog&lt;/code&gt; is available already. &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/sad.png&quot; alt=&quot;:-(&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; Guess it&#039;s time to file some bugs, and hoping this post helps a bit too.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun,  3 Dec 2006 17:39:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/5-guid.html</guid>
    
</item>
<item>
    <title>Planet KMess is up</title>
    <link>http://www.codingdomain.com/blog/archives/3-Planet-KMess-is-up.html</link>
            <category>KMess</category>
    
    <comments>http://www.codingdomain.com/blog/archives/3-Planet-KMess-is-up.html#comments</comments>
    <wfw:comment>http://www.codingdomain.com/blog/wfwcomment.php?cid=3</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.codingdomain.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    

    <author>nospam@example.com (Diederik van der Boor)</author>
    <content:encoded>
    
&lt;p&gt;As of today, the KMess website aggregates feeds of development weblogs. This makes the entries of this weblog visible at www.kmess.org too.&lt;/p&gt;&lt;p&gt;I&#039;m really curious about your opinion of new web site feature. What you expect from it, what you&#039;d like to read, or don&#039;t like it at all. &lt;i&gt;Please post your thoughts about this at my blog.&lt;/i&gt; &lt;img src=&quot;http://www.codingdomain.com/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 27 Nov 2006 00:40:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.codingdomain.com/blog/archives/3-guid.html</guid>
    
</item>

</channel>
</rss>