<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://julien.danjou.info/blog/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>jd:/dev/blog</title>
  <link>http://julien.danjou.info/blog/index.php/</link>
  <atom:link href="http://julien.danjou.info/blog/index.php/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Julien Danjou's blog</description>
  <language>fr</language>
  <pubDate>Sat, 06 Mar 2010 16:27:19 +0100</pubDate>
  <copyright>All Right Reserved</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>On media players: 2 years after</title>
    <link>http://julien.danjou.info/blog/index.php/post/2010/01/22/On-media-players%3A-2-years-after</link>
    <guid isPermaLink="false">urn:md5:743ddbc97eb7d2799a42ad0116db82b3</guid>
    <pubDate>Fri, 22 Jan 2010 09:17:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>audacious</category><category>mpd</category><category>music</category><category>sonata</category><category>work</category><category>xmms</category>    
    <description>    &lt;p&gt;Two years ago, &lt;a href=&quot;http://julien.danjou.info/blog/index.php/post/2007/08/10/On-media-players-xmms-anda-audacious&quot;&gt;I wrote about my switch&lt;/a&gt; from my beloved &lt;em&gt;xmms&lt;/em&gt; to &lt;a href=&quot;http://audacious-media-player.org/&quot;&gt;audacious&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;During this 2 years with Audacious, I suffered a bit. It was working quite fine, but I saw no big progress around it. Life happened, and I had to use a network system to play music. I started to use PulseAudio over TCP, but it does not work well, and does not work at all with Audacious (and even if the plugin is provided by upstream). So I decided to dump it.&lt;/p&gt;


&lt;p&gt;And some days ago I discovered &lt;a href=&quot;http://sonata.berlios.de/&quot;&gt;Sonata&lt;/a&gt;, a &lt;a href=&quot;http://www.musicpd.org/&quot;&gt;MPD&lt;/a&gt; client. I never liked MPD so far because all clients I found were lame.&lt;/p&gt;


&lt;p&gt;But I really like Sonata. It allows me to listen music the way I still want: load everything in one playlist, listen everything randomly or type a song/artist to jump to it directly in the current playlist. It even has some nice feature (lyrics, so I'll be able to song out loud, covers, tag editing…) and is written in Python and GTK+ (some days I may even hack it!).&lt;/p&gt;



&lt;p&gt;You can rest in peace x11amp :-p&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2010/01/22/On-media-players%3A-2-years-after#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2010/01/22/On-media-players%3A-2-years-after#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/528</wfw:commentRss>
      </item>
    
  <item>
    <title>Python cairo and XCB support</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/12/22/Python-cairo-and-XCB-support</link>
    <guid isPermaLink="false">urn:md5:92fdf5917cda9a21656f9a809160922b</guid>
    <pubDate>Tue, 22 Dec 2009 13:01:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Freedesktop</category>
        <category>cairo</category><category>python</category><category>work</category><category>xcb</category><category>xlib</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.cairographics.org&quot;&gt;cairo&lt;/a&gt; has a &lt;a href=&quot;http://www.cairographics.org/pycairo/&quot;&gt;Python binding (pycairo)&lt;/a&gt; since a long time, and some months ago a &lt;a href=&quot;http://cgit.freedesktop.org/xcb/xpyb/&quot;&gt;Python binding for XCB (xpyb)&lt;/a&gt; has been released.&lt;/p&gt;


&lt;p&gt;Pycairo has no support for creating Xlib surfaces. You can get a Xlib surface from PyGTK and then use Pycairo to draw on it, but there's no way to create one directly.&lt;/p&gt;


&lt;p&gt;What I've done is make Pycairo aware of xpyb so it can creates directly an XCB surface from a XCB connection and a drawable.&lt;/p&gt;


&lt;p&gt;As said in &lt;a href=&quot;http://lists.freedesktop.org/archives/xcb/2009-December/005438.html&quot;&gt;my mail to the XCB list&lt;/a&gt;, I'm now waiting for a review before pushing this upstream. &lt;img src=&quot;/blog//themes/geeek.org/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;For the first time, I guess, XCB has beat Xlib support! &lt;img src=&quot;/blog//themes/geeek.org/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/12/22/Python-cairo-and-XCB-support#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/12/22/Python-cairo-and-XCB-support#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/527</wfw:commentRss>
      </item>
    
  <item>
    <title>Teething troubles</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/12/20/Teething-troubles</link>
    <guid isPermaLink="false">urn:md5:9683a0cd2e7a899c3219ab0e80933254</guid>
    <pubDate>Sun, 20 Dec 2009 11:59:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>python</category><category>work</category>    
    <description>    &lt;p&gt;It's not that often that I start something from scratch. It's an amazing feeling to start a new project, to start writing something new. I like that. It's creation, it's an artistic part of our computing stuff. I feel like a code artist.&lt;/p&gt;


&lt;p&gt;And what I like even more is that little feeling that you are going in an unknown land. Some area in this tech world where nobody ever came before you, or only a few pioneers.&lt;/p&gt;


&lt;p&gt;That the sensation I got starting to using &lt;a href=&quot;http://www.cython.org&quot;&gt;Cython&lt;/a&gt;, &lt;a href=&quot;http://www.python.org&quot;&gt;Python 3&lt;/a&gt; and various other tools. I just spent half of my time trying to fix problems, rather than working on *my* code. Problems in autoconf macro not knowing Python 2.6 or Python 3.1. Problems and limitations in Cython. And problem in Python.&lt;/p&gt;


&lt;p&gt;That last one was a hard one. I'm still a beginner in the Python world: I barely know anything. And I was trying to use something nobody never did: building an embedded Python with a set of built-in modules.&lt;/p&gt;


&lt;p&gt;I spent hours trying to find why one type of module importing was badly failing. I finally found the answer thanks to a guy. who has the same problem A guy ? No. A pioneer. What do I say? A hero. He's been my week-hero! Thank you Miguel Lobo because you found the bug I chased for hours and because you even reported it as &lt;a href=&quot;http://bugs.python.org/issue1644818&quot;&gt;issue 1644818&lt;/a&gt;, including a patch! How not damn wonderful is that?&lt;/p&gt;


&lt;p&gt;I will not bore you with the technical details of that bug, since nobody cares. Nobody cares, even the Python guys, since that bug has been opened for 3 years, and nobody even reviewed in that time. I found an old thread about that bug where some guys were wanking about how they should do the review, because Miguel pushed for several weeks to have a review, back in 2007.&lt;/p&gt;


&lt;p&gt;But that bug was in my way. I had to do something. So I prepared my mail reader, mounted my web browser and here I was for a uniq quest: getting a Python bug fixed.&lt;/p&gt;


&lt;p&gt;At that point, if you did not stop reading earlier, you might get very excited. Don't be, spoiler, it's still not fixed. You'll have to wait the end of the season and see all the episodes I'll have to write to get the end of the story!&lt;/p&gt;


&lt;p&gt;Let's continue.&lt;/p&gt;


&lt;p&gt;I had to create an account on the Python bug tracking system. That was a trivial task for a man like me (you bet). Then, I launched a verbal attack, something you rarely see in a bug tracking system. Something I knew would awake any developer caring about their software.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Julien Danjou&lt;/em&gt;:
Is there any chance to see this *bug* fixed someday?&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;I had the deep feeling that my quest was starting here. How many days would I have to wait until I get an answer? Time was passing. Minutes were ticking while I was waiting, sat in a comfortable sofa in a softly lighted room. It seemed like all my life was shorter than the delay I had to wait to get an answer.&lt;/p&gt;


&lt;p&gt;After waiting for hours, suddenly, and only 15 minutes later, I got an answer:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Martin v. Löwis&lt;/em&gt;:
Please ask on python-dev. I may be willing to revive my five-for-one offer.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Martin? Don't know that guy. Who is he? Who is he like? Will he fix that bug? What is this offer? So many question without an answer. But he asked to ask on python-dev, and I said: challenged accepted! I will write a mail to python-dev to get that bug fixed.&lt;/p&gt;


&lt;p&gt;Which I did. I sent a short (but well written you know, I made efforts) &quot;WTF?&quot; to pyhon-dev.&lt;/p&gt;


&lt;p&gt;And then the guy asked me to review 5 bugs so he will review and fix this one. And this is how I said that he was pissing me off for blackmailing me to fix a bug that was its &quot;duty&quot;.&lt;/p&gt;


&lt;p&gt;Therefore, this is the end of the story so far. Will that bug be fixed some day? There's a hope, because another guy jumped in and took the bug assignment.&lt;/p&gt;


&lt;p&gt;To be continued.&lt;/p&gt;


&lt;p&gt;My conclusion about all that story: that is a little rude to start something new, with new tools, and get quickly into teething troubles. It's even more harsh to enter a community because you just found bugs, and be not very well received when you ask to apply a 10 lines long fix somebody wrote 3 years ago to fix it.&lt;/p&gt;


&lt;p&gt;I'll probably still use Python :-), but I get a darker image of its community now.&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/12/20/Teething-troubles#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/12/20/Teething-troubles#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/526</wfw:commentRss>
      </item>
    
  <item>
    <title>Fuck you GNOME</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/11/09/Fuck-you-GNOME</link>
    <guid isPermaLink="false">urn:md5:61be2e9280d9772c38b5e91b48a57f6c</guid>
    <pubDate>Mon, 09 Nov 2009 17:16:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>gnome</category>    
    <description>    &lt;p&gt;I had to use GNOME today on a random computer. gnome-terminal was beeping all the time. I say no problem, I know how to disable this:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;xset b off&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;It did not work... Hum. I go in the right menu and see a checkbox &quot;Terminal bell&quot;. I click on it. All I got is all my terminal windows going away and:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;gnome-terminal&lt;a href=&quot;http://julien.danjou.info/blog/index.php/post/2009/11/09/3557&quot; title=&quot;3557&quot;&gt;3557&lt;/a&gt;: segfault at 4 ip 0806f417 sp bf9fd000 error 4 in gnome-terminal&lt;a href=&quot;http://julien.danjou.info/blog/index.php/post/2009/11/09/8048000+3a000&quot; title=&quot;8048000+3a000&quot;&gt;8048000+3a000&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;No kidding. You don't want to use X standard ways and prefers to crash at my face. Fuck you.&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/11/09/Fuck-you-GNOME#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/11/09/Fuck-you-GNOME#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/525</wfw:commentRss>
      </item>
    
  <item>
    <title>sysrqd 11</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/10/19/sysrqd-11</link>
    <guid isPermaLink="false">urn:md5:26949335a81212bbfcddf53049cbb621</guid>
    <pubDate>Mon, 19 Oct 2009 11:43:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
            
    <description>    &lt;p&gt;Just got a bug report (SIGPIPE when playing with nmap), so I released a 11th version of &lt;a href=&quot;http://julien.danjou.info/sysrqd/&quot;&gt;sysrqd&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/10/19/sysrqd-11#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/10/19/sysrqd-11#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/524</wfw:commentRss>
      </item>
    
  <item>
    <title>Courier to dovecot migration</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/10/02/Courier-to-dovecot-migration</link>
    <guid isPermaLink="false">urn:md5:66eb6f851a900edf7b2b64a5b2570d4f</guid>
    <pubDate>Fri, 02 Oct 2009 17:03:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>claws</category><category>courier</category><category>dovecot</category><category>imap</category><category>mutt</category><category>work</category>    
    <description>    &lt;p&gt;This week, I've managed to migrate from &lt;a href=&quot;http://www.courier-mta.org/imap/&quot;&gt;courier-imap&lt;/a&gt; to &lt;a href=&quot;http://www.dovecot.org&quot;&gt;dovecot&lt;/a&gt; at work. I always had a good experience with dovecot, and I still have one.&lt;/p&gt;


&lt;p&gt;Dovecot performances are very good in comparison with courier. With that switch, we dropped the CPU usage of the server from 25 % to 10 %, and it's damn faster now. I have no idea why, but I think that it's better written looking at the code, and also that its usage of index files helps a lot.&lt;/p&gt;


&lt;p&gt;We got no problem getting things work with public folders either, so the switch was almost painless.&lt;/p&gt;


&lt;p&gt;The only problem we had is that Dovecot is too smart for some MUA. Consequently, we hit an &lt;a href=&quot;http://dev.mutt.org/trac/ticket/969&quot;&gt;8 years old Mutt bug #969&lt;/a&gt;, which I also reported to the Debian BTS as &lt;a href=&quot;http://bugs.debian.org/549204&quot;&gt;#549204&lt;/a&gt; with a not-well-tested-but-seems-to-work patch.&lt;/p&gt;


&lt;p&gt;Thanks to &lt;a href=&quot;http://www.claws-mail.org/&quot;&gt;Claws mail&lt;/a&gt;, we also found a &lt;a href=&quot;http://dovecot.org/pipermail/dovecot/2009-October/043236.html&quot;&gt;bug in dovecot 1.2.5&lt;/a&gt;, which should be fixed soon. Dovecot upstream is very responsive and that's always something nice to know when you use a free software.&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/10/02/Courier-to-dovecot-migration#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/10/02/Courier-to-dovecot-migration#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/523</wfw:commentRss>
      </item>
    
  <item>
    <title>Various news: what happend durring summer</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/09/22/Various-news%3A-what-happend-durring-summer</link>
    <guid isPermaLink="false">urn:md5:cf0a7025f4a8d160006fa3085511919f</guid>
    <pubDate>Tue, 22 Sep 2009 17:13:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>awesome</category><category>google</category><category>soc</category><category>xcb</category>    
    <description>    &lt;p&gt;It's been a while since I blogged about something. So here's a bunch of things I've done the last month.&lt;/p&gt;


&lt;h2&gt;Holidays&lt;/h2&gt;

&lt;p&gt;Well, I've been in holidays one week. :-P&lt;/p&gt;


&lt;h2&gt;awesome&lt;/h2&gt;


&lt;p&gt;There have been a huge number of changes between 3.3 (released in June) and 3.4 (almost relesed). I wrote a small but very useful object layer on top of Lua, which adds a class/object system a bit like &lt;a href=&quot;http://www.gtk.org&quot;&gt;gobject&lt;/a&gt;. I've also replaced all the hooks by per-class/object signals. Finally, the awesome Lua basement are cleaner than they were before, and the extendability is improved. How nice.&lt;/p&gt;


&lt;p&gt;We're trying to release 3.4 (rc2 should be out soon), but the development pace is a bit slower than a year before. We're basically almost 2 months late on what was our previous release rate. Not a big deal however.&lt;/p&gt;


&lt;p&gt;I've started working on 3.5 slowly. It gonna get amazing new features too. &lt;img src=&quot;/blog//themes/geeek.org/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Google Summer Of Code 2009&lt;/h2&gt;


&lt;p&gt;I've mentored Mariusz Ceier on &lt;a href=&quot;http://xcb.freedesktop.org&quot;&gt;XCB&lt;/a&gt; GSoC. He worked on adding Xinput2 and XKB extensions. And he managed to do this. His work should be imported ASAP, the discussion has started on XCB maling list last week.&lt;/p&gt;


&lt;p&gt;In exchange, Google offered me (and to every mentor) an awful blue t-shirt! Thanks Google! :-P&lt;/p&gt;</description>
    
    
    
          <comments>http://julien.danjou.info/blog/index.php/post/2009/09/22/Various-news%3A-what-happend-durring-summer#comment-form</comments>
      <wfw:comment>http://julien.danjou.info/blog/index.php/post/2009/09/22/Various-news%3A-what-happend-durring-summer#comment-form</wfw:comment>
      <wfw:commentRss>http://julien.danjou.info/blog/index.php/feed/rss2/comments/522</wfw:commentRss>
      </item>
    
  <item>
    <title>awesome survey 2009</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/08/14/awesome-survey-2009</link>
    <guid isPermaLink="false">urn:md5:e93cf9b9d02279037ec28331a9462c74</guid>
    <pubDate>Fri, 14 Aug 2009 16:12:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>survey</category>    
    <description>    &lt;p&gt;I've created a &lt;a href=&quot;http://www.survs.com/survey?id=8BVEV3FO&amp;amp;channel=BH07CQ040D&quot;&gt;small survey about awesome&lt;/a&gt;. I hope that will allow us to enhance our lovely software. &lt;img src=&quot;/blog//themes/geeek.org/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Today's bad pun</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/08/05/Today-s-bad-pun</link>
    <guid isPermaLink="false">urn:md5:db19b6b35421b929340ef6b1dca4bdff</guid>
    <pubDate>Wed, 05 Aug 2009 15:40:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Freedesktop</category>
        <category>fun</category><category>xorg</category>    
    <description>    &lt;p&gt;If X.Org does a press release, is this an event?&lt;/p&gt;


&lt;p&gt;/me goes hidding.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>TODO list management</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/07/10/TODO-list-management</link>
    <guid isPermaLink="false">urn:md5:d835e670d2b1c29e3624573ba3004b93</guid>
    <pubDate>Fri, 10 Jul 2009 09:29:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Life</category>
        <category>life</category><category>palm</category><category>time management</category><category>todo</category>    
    <description>    &lt;p&gt;My fellow Debian developer &lt;a href=&quot;http://blog.steve.org.uk&quot;&gt;Steve Kemp&lt;/a&gt; &lt;a href=&quot;http://blog.steve.org.uk/why_do_you_keep_torturing_yourself_.html&quot;&gt;told us about his TODO list management&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;While reading his post, I was constantly thinking &quot;been there, been there buddy&quot;. Yeah, I've been.&lt;/p&gt;


&lt;p&gt;I had the same problem since months, impossibility to track the things I had to do, being computer related stuff or real life ones. The bad thing is that until you write them down, you keep them in mind, and that's exhausting. You know you have, let's say 5, things to do, but unless you write this 5 items  down in a TODO list, you will keep thinking about it once in a while. And that's a real lost time.&lt;/p&gt;


&lt;p&gt;And that's totally inefficient: imagine you though &quot;it'd be nice if I could buy a USB stick next time I buy some hardware&quot;. Well, unless you actually write this somewhere and have the habit to check the &quot;To Buy&quot; category of your TODO list, you're going to buy a replacement hard drive in a hurry some day, and forget about your USB stick.&lt;/p&gt;


&lt;p&gt;I think the good practice, which I really recommend to everyone, is to write down as soon as possible what you think you have to do. Don't write it on a small paper you will lose, write it in a TODO list, a paper or electronic one, whatever, but write it, and stop thinking about it. When you'll have time, you'll get your TODO list from your pocket and give a look at it, doing what you can do at that moment. Once in a while, you check that list.&lt;/p&gt;


&lt;p&gt;Personally, the tool I chose to handle my TODO list is a Palm Centro phone, which I got for only a hundred of euros. It runs the good old PalmOS, which basically know how to handle TODO list and plannings better than all phones I saw so far (and yes, probably better than your iPhone).&lt;/p&gt;


&lt;p&gt;My choice was based on the fact that I've random ideas almost everywhere: that means while hacking, but also while walking in the street, while being in the train or while sleeping (yeah, already happened). And the only thing I always carry with me is my phone, in my pocket.&lt;/p&gt;


&lt;p&gt;However, Steve choice may be nice if you have Internet access on your phone, which I haven't since it's too expensive for what it is, in my opinion. &lt;img src=&quot;/blog//themes/geeek.org/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Upgrading to dovecot 1.2: hello Sieve!</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/07/09/Upgrading-to-dovecot-12%3A-hello-Sieve</link>
    <guid isPermaLink="false">urn:md5:5a52abc8793d8a4d6dcb6979a794a8aa</guid>
    <pubDate>Thu, 09 Jul 2009 16:43:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Naquadah Network</category>
        <category>debian</category><category>dovecot</category><category>imap</category><category>naquadah</category><category>sieve</category><category>work</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://julien.danjou.info/blog/index.php/post/2008/05/16/Boarding-the-Prometheus&quot;&gt;Last year, I told you&lt;/a&gt; I wanted to use &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)&quot;&gt;Sieve&lt;/a&gt; to filter my mail. I did not switch, because of the lacking implementation of some Sieve features inside &lt;a href=&quot;http://www.dovecot.org&quot;&gt;Dovecot&lt;/a&gt;, my preferred IMAP server.&lt;/p&gt;


&lt;p&gt;After that disapointement, I kept my 8 years old mail setup, being &lt;em&gt;fetchmail&lt;/em&gt; running on my workstation and throwing the mails in &lt;em&gt;procmail&lt;/em&gt;, then using &lt;em&gt;mutt&lt;/em&gt; locally to read the maildirs. But that's over.&lt;/p&gt;


&lt;p&gt;As &lt;a href=&quot;http://julien.danjou.info/blog/index.php/post/2009/07/08/New-laptop%3A-Lenovo-Ideapad-U330&quot;&gt;I told you yesterday&lt;/a&gt;, I got a laptop to replace my workstation. It was not possible to continue using such a mail setup, since my laptop can be offline, and so would be my mails.&lt;/p&gt;


&lt;p&gt;So I decided to upgrade Dovecot to 1.2. I used the &lt;em&gt;dovecot-1.2-work&lt;/em&gt; Subversion branch of our lovely Debian maintainers, and built a Debian package for Lenny. The upgrade from 1.1 was almost painless, since the configuration file did not change heavily.&lt;/p&gt;


&lt;p&gt;Then I started to write my little Sieve script. Sieve is a very nice language. Almost user friendly. So in 20 lines I rewrote all my procmail stuff, matching things like &lt;em&gt;List-Id&lt;/em&gt; with regex to put the mails automagically in the right folder. I reconfigured &lt;em&gt;mutt&lt;/em&gt; to use IMAP, and it works fine. I even reimported my old Maildir via IMAP using &lt;em&gt;mutt&lt;/em&gt; too.&lt;/p&gt;


&lt;p&gt;I am now a happy IMAP user.&lt;/p&gt;


&lt;p&gt;For people wondering why I wanted to switch away from &lt;em&gt;procmail&lt;/em&gt; to &lt;em&gt;Sieve&lt;/em&gt;: the reason is that Sieve script can be uploaded remotely via &lt;em&gt;managesieve&lt;/em&gt;. This means you do not need FTP/SSH/whatever access to put your script. You can, for example, use &lt;em&gt;connect-sieve&lt;/em&gt; or the Sieve plugin for Thunderbird/Icedove.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>New laptop: Lenovo Ideapad U330</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/07/08/New-laptop%3A-Lenovo-Ideapad-U330</link>
    <guid isPermaLink="false">urn:md5:8b6d2525d3ba7498da3eae848cf1b279</guid>
    <pubDate>Wed, 08 Jul 2009 19:05:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Hardware</category>
        <category>debian</category><category>hardware</category><category>lenovo</category><category>u330</category><category>webcam</category><category>wifi</category>    
    <description>    &lt;p&gt;After some though, I decided to switch from my big dual screen workstation (called &lt;em&gt;abydos&lt;/em&gt;) to a laptop system. I used this workstation for more than 8 years now (with 2 massive hardware changes) on a desk. But my flat not being that big (you know, Paris, it's expensive to rent), I decided to remove my desktop in favor of my guitar setup. Anyway, doing geek stuff all the day at work, I was not sitting at my desk very often.&lt;/p&gt;


&lt;p&gt;I've bought a &lt;a href=&quot;http://shop.lenovo.com/us/notebooks/ideapad/u-series/u330&quot;&gt;Lenovo Ideapad U330&lt;/a&gt;, which is a really nice machine. It's not like a real ThinkPad (ThinkPad are more expensive) but it's still very nice. It has almost everything a good laptop would have, dual core, 4 GB RAM, 320 GB hard drive, WiFi up to 802.11n, DVD writer, webcam, HDMI, etc. And a not-too-small-not-too-big 13.3&quot; LCD display. It's quite light with only 1.9 Kg, but IMHO, I still think it's a bit heavy. YMMV.&lt;/p&gt;


&lt;p&gt;I've installed Debian on it (of course) and everything works like a charm. There's only a little bug with the webcam, since the image is upside down. But I'm pretty sure this is already fixed in kernel &amp;gt; 2.6.30. It has been named &lt;em&gt;keller&lt;/em&gt; (Stargate fans will know why).&lt;/p&gt;


&lt;p&gt;For now I really recommend this laptop. &lt;img src=&quot;/blog//themes/geeek.org/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>awesome: larger open-source team than LXCDE one of the largest open-source teams in the world</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/07/03/awesome%3A-larger-open-source-team-than-LXCDE-one-of-the-largest-open-source-teams-in-the-world</link>
    <guid isPermaLink="false">urn:md5:f4aa0971038b59c155eb85ef65cd57fd</guid>
    <pubDate>Fri, 03 Jul 2009 09:05:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>lxde</category><category>ohloh</category>    
    <description>    &lt;p&gt;I just found this &lt;a href=&quot;http://blog.lxde.org/?p=400&quot;&gt;blog post on LXDE blog&lt;/a&gt; while reading &lt;a href=&quot;http://lwn.net&quot;&gt;LWN.net&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;It made me smile because that's what Ohloh says for &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Over the past twelve months, 70 developers contributed new code to awesome.
This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh.
For this measurement, Ohloh considered only recent changes to the code. Over the entire history of the project, 99 developers have contributed.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;So &lt;em&gt;awesome&lt;/em&gt; project is roughly twice bigger than LXDE. Impressive! &lt;img src=&quot;/blog//themes/geeek.org/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>I will tile your face</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/06/15/I-will-tile-your-face</link>
    <guid isPermaLink="false">urn:md5:5ce269fa7e07f4635d94ecdce6cd27c2</guid>
    <pubDate>Mon, 15 Jun 2009 20:35:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category>    
    <description>    &lt;p&gt;Whoever defines &lt;em&gt;&lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt;&lt;/em&gt; as a &lt;em&gt;tiling window manager&lt;/em&gt; should think twice before saying such a thing.&lt;/p&gt;


&lt;p&gt;In that case, I'll change some software description also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firefox&lt;/strong&gt;: FTP browser based on Mozilla&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Thunderbird&lt;/strong&gt;: Software to send mails&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenOffice.org&lt;/strong&gt;: Text editor&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GNOME&lt;/strong&gt;: GTK based game collections&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;: Zope language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A software being able to &lt;em&gt;do something&lt;/em&gt; do not mean that the software is meant to &lt;em&gt;be something&lt;/em&gt;. You can browse FTP servers with Firefox, but it's not mainly a FTP browser. You can send mails with Thunderbird, but it's not mainly what it does. You can edit text with OOo, but also do some spreadsheets stuff. You can play games with GNOME, but you can also do plenty of others stuff. You can write Zope and its applications with Python, but that does not mean Python is Zope.&lt;/p&gt;


&lt;p&gt;So you can definitively do tiling window management with awesome, but you can do &lt;strong&gt;a lot&lt;/strong&gt; more. It's not its primary feature. So it's not a &lt;em&gt;tiling window manager&lt;/em&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>awesome logo and Web site design contest</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/05/27/awesome-logo-and-Web-site-design-contest</link>
    <guid isPermaLink="false">urn:md5:c495f6a5710eee724939b541f5e74b1b</guid>
    <pubDate>Wed, 27 May 2009 15:44:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>logo</category><category>web</category>    
    <description>    &lt;p&gt;I've just &lt;a href=&quot;http://www.mail-archive.com/awesome@naquadah.org/msg01382.html&quot;&gt;announced it&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>awesome is bloated</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/04/29/awesome-is-bloated</link>
    <guid isPermaLink="false">urn:md5:62b202a89968f0c03becb2f14978dcb6</guid>
    <pubDate>Wed, 29 Apr 2009 09:16:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>fluxbox</category><category>metacity</category><category>openbox</category>    
    <description>    &lt;p&gt;That's just something I hear from time to time, and I love it so much.&lt;/p&gt;


&lt;h2&gt;Fluxbox: 65010 SLOC&lt;/h2&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.ohloh.net/p/170/widgets/project_languages.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;&lt;img src=&quot;http://www.ohloh.net/p/170/analyses/472439/codehistory?project_id=170&amp;amp;action=show&amp;amp;id=latest&amp;amp;controller=analyses&amp;amp;height=190&amp;amp;width=360&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Metacity: 62923 SLOC&lt;/h2&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.ohloh.net/p/10193/widgets/project_languages.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;&lt;img src=&quot;http://www.ohloh.net/p/10193/analyses/513422/codehistory?project_id=10193&amp;amp;action=show&amp;amp;id=latest&amp;amp;controller=analyses&amp;amp;height=190&amp;amp;width=360&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Openbox: 36336 SLOC&lt;/h2&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.ohloh.net/p/3903/widgets/project_languages.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;&lt;img src=&quot;http://www.ohloh.net/p/3903/analyses/401724/codehistory?project_id=3903&amp;amp;action=show&amp;amp;id=latest&amp;amp;controller=analyses&amp;amp;height=190&amp;amp;width=360&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;awesome: 19207 SLOC&lt;/h2&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.ohloh.net/p/8909/widgets/project_languages.js&quot;&gt;&lt;/script&gt;


&lt;p&gt;&lt;img src=&quot;http://www.ohloh.net/p/8909/analyses/539205/codehistory?project_id=8909&amp;amp;action=show&amp;amp;id=latest&amp;amp;controller=analyses&amp;amp;height=190&amp;amp;width=360&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Taking the other direction</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/04/15/Taking-the-other-direction</link>
    <guid isPermaLink="false">urn:md5:2984917c110f882773e114ff760bb92d</guid>
    <pubDate>Wed, 15 Apr 2009 19:40:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>dbus</category><category>ewmh</category><category>fluxbox</category><category>freedesktop</category><category>gnome</category><category>lua</category>    
    <description>    &lt;p&gt;I've started to develop &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt; more than 18 months ago, and somehow I feel it's time to stop a bit and think where we come from and where we are going to.&lt;/p&gt;


&lt;h2&gt;The motivation&lt;/h2&gt;

&lt;p&gt;I never though I'd be written a window manager one day. That seems kinda stupid when you see how many window manager there's around.&lt;/p&gt;


&lt;p&gt;As many people, I've tested and have been using tons of window manager: &lt;a href=&quot;http://www.windowmaker.info&quot;&gt;Window Maker&lt;/a&gt;, &lt;a href=&quot;http://www.fluxbox.org&quot;&gt;Fluxbox&lt;/a&gt;, etc.&lt;/p&gt;


&lt;p&gt;In August 2007, I was using &lt;a href=&quot;http://www.fvwm.org&quot;&gt;fvwm&lt;/a&gt; since 2004 and was quite happy with it. I used the famous &lt;a href=&quot;http://www.fvwm-crystal.org&quot;&gt;fvwm crystal&lt;/a&gt; as a configuration starter and then rewrote lots of stuff. Digging into &lt;em&gt;fvwm&lt;/em&gt; configuration files was boring, and since I'm lazy, I never really configured it to fit entirely my needs.&lt;/p&gt;


&lt;p&gt;The thing is that, in July 2007, my workstation died. I bought a new one based on the &lt;em&gt;amd64&lt;/em&gt; architecture. Too bad, with this new box, &lt;em&gt;fvwm&lt;/em&gt; decided that it will not longer runs and was segfaulting almost every time I logged in.&lt;/p&gt;


&lt;p&gt;I was &lt;strong&gt;really&lt;/strong&gt; upset. Another failure in the window manager world. So I decided to get the yearly ride of testing many window managers. I went on the no more developed stuff like the *boxes, ion3, etc… but well, I did not like them, there were not powerful enough, too bugged or upstream was insane.&lt;/p&gt;


&lt;p&gt;Then I found &lt;a href=&quot;http://www.xmonad.org&quot;&gt;xmonad&lt;/a&gt;. The Haskell configuration file format made my cry. I did not want to learn Haskell, it seemed too obfuscated to me. At that time it was even not packaged for &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian&lt;/a&gt;, so I gave up. But I found &lt;a href=&quot;http://dwm.suckless.org&quot;&gt;dwm&lt;/a&gt; in the meantime, and I loved it. It was simple, and the source code was almost understandable and easy to hack.&lt;/p&gt;


&lt;p&gt;I subscribed to the &lt;em&gt;dwm&lt;/em&gt; mailing-list, in order to participate to its development, etc… But I got really disappointed. No patch were welcome and the development seemed to be almost finish in this sight. People patches were lying around, but no one really care. Each user was managing its own set of patches.&lt;/p&gt;


&lt;p&gt;That's not what I learnt and what I love in free software. So, as many users, I began to maintain my patches in my corner. But I began to have more ideas…&lt;/p&gt;


&lt;h2&gt;The jdwm&lt;/h2&gt;

&lt;p&gt;I just added a 'j' in front of &lt;em&gt;dwm&lt;/em&gt; and started to hack it days and nights to add many feature I missed, like multi-head, etc… On 5th September 2007, I created a git repository to host my code.&lt;/p&gt;


&lt;h2&gt;That's gonna be… awesome.&lt;/h2&gt;

&lt;p&gt;Five days later, on 10th September, I finally found a name for my new pet: &lt;strong&gt;awesome&lt;/strong&gt;, borrowed from &lt;a href=&quot;http://en.wikipedia.org/wiki/Barney_Stinson&quot;&gt;Barney Stinson&lt;/a&gt; who heavily uses and abuses this word.&lt;/p&gt;


&lt;h2&gt;The 1.x branch&lt;/h2&gt;

&lt;p&gt;The first releases until December were noted 1.x. It was just a better &lt;em&gt;dwm&lt;/em&gt; with a simple flat configuration file..
The configuration file used &lt;a href=&quot;http://www.hyperrealm.com/libconfig/&quot;&gt;libconfig&lt;/a&gt;, but it was a very poor choice. And I was not able to put in into Debian because of &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=441200&quot;&gt;name clash&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;The 2.x branch&lt;/h2&gt;

&lt;p&gt;The 2.x branch came in January 2008 with a brand new configuration file format based on &lt;a href=&quot;http://www.nongnu.org/confuse/&quot;&gt;libconfuse&lt;/a&gt;, which was a bit more powerful. Many concepts and features that have been added in this branch are still used in the current 3.x branch.&lt;/p&gt;


&lt;p&gt;At this time, between December 2007 and April 2008, the community was growing smoothly.&lt;/p&gt;


&lt;p&gt;But as I said, awesome 2 was based on a flat configuration file. That raised a problem very soon: users expectation were growing and the development team (me and a couple of regular contributors) was unable to cope with them.&lt;/p&gt;


&lt;p&gt;One of the event that started to change my mind was the support for titlebars.&lt;/p&gt;


&lt;p&gt;When I've added titlebar support, it was minimal. It was on top of a window, with the window title. Dot. Then I've started to add a lot of options, like the application icon drawing, the position (left, right, bottom) etc.&lt;/p&gt;


&lt;p&gt;And then users started to ask for more, like: &quot;add titlebar on windows only when the window is floating&quot;.&lt;/p&gt;


&lt;p&gt;That's ok, but that's complicated: that's again &lt;strong&gt;another&lt;/strong&gt; option to do some stuff conditionally. And then, why don't add titlebar on windows when &amp;lt;insert random events here&amp;gt;?&lt;/p&gt;


&lt;h2&gt;The 3.x branch&lt;/h2&gt;

&lt;h3&gt;Why&lt;/h3&gt;

&lt;p&gt;At that time, around April 2008, I'd totally stopped development. I was trying to find a solution which was simple and powerful. But after 2 weeks of thinking, I was not able to find anything else than: use a real language for configuration.&lt;/p&gt;


&lt;p&gt;So, I've started prototyping awesome 3 using &lt;a href=&quot;http://www.lua.org&quot;&gt;Lua&lt;/a&gt;. The choice was not obvious, and despite the problem &lt;em&gt;Lua&lt;/em&gt; might suffer, it's one of the easiest language to integrate into an existing application. There's still a video of a first version &lt;a href=&quot;http://naquadah.org/~jd/videos/awesome-3_move_sbar.ogv&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;But, let's go a little back: in January 2008, Arnaud Fontaine contacted me because he was interested to use &lt;em&gt;awesome&lt;/em&gt; as one of its school project. He decided to port &lt;em&gt;awesome&lt;/em&gt; from &lt;em&gt;Xlib&lt;/em&gt; to &lt;em&gt;&lt;a href=&quot;http://xcb.freedesktop.org&quot;&gt;XCB&lt;/a&gt;&lt;/em&gt;, a modern asynchronous X library.&lt;/p&gt;


&lt;p&gt;His work took some time, but in May 2008, Arnaud did finished to port git master version of &lt;em&gt;awesome&lt;/em&gt; to use &lt;em&gt;XCB&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Consequently, I decided to start a new major branch, using &lt;em&gt;XCB&lt;/em&gt; instead of &lt;em&gt;Xlib&lt;/em&gt; (no change for users in this regard) and &lt;em&gt;Lua&lt;/em&gt; instead of our previous flat configuration file format.&lt;/p&gt;


&lt;h3&gt;Development&lt;/h3&gt;

&lt;p&gt;It took me a while to get from here to there, but in September 2008, it was ready. We had a simple Lua API, and the XCB port was working perfectly.&lt;/p&gt;


&lt;p&gt;It took us some time to release and have something totally working, because we had to work on &lt;em&gt;XCB&lt;/em&gt; and contribute back to the project. It was really not ready to use by an application, but we did great work in this area and it's now really fine.&lt;/p&gt;


&lt;h3&gt;We're still here&lt;/h3&gt;

&lt;p&gt;Releases continue to happens, 3.1 around December 2008, and 3.2 around March 2009. 3.3 should be here in June.&lt;/p&gt;


&lt;p&gt;One of the drawback we had, is that we moved many stuff from C to Lua. Why? Because writing things in Lua is quicker and easier to maintain than C, and makes thing more configurable for the user.&lt;/p&gt;


&lt;p&gt;For example, the layout algorithm used to organize window were written in C until 3.2 came out. At that time, users had no choice than using a set of predefined layout to organize their windows.&lt;/p&gt;


&lt;p&gt;Starting with 3.2, if they have minimal knowledge about geometry, they can start writing a layout function organising windows on the screen.&lt;/p&gt;


&lt;p&gt;But this kind of API changes was a bit rough for users, since they had to port some part of their configuration file to the new API.
The thing is that the project was still a &lt;em&gt;teenager&lt;/em&gt; at that time, not really knowing were it will go. But I'm happy to announce that API breakage are more and more rare (so far only one minor between 3.2 and 3.3), and anyway always for the Good.&lt;/p&gt;


&lt;p&gt;But I admit that it built a bad reputation around &lt;em&gt;awesome 3.x&lt;/em&gt; during its first month of existence.&lt;/p&gt;


&lt;h3&gt;Future direction&lt;/h3&gt;

&lt;p&gt;I am currently working on 3.3 development. We have still many things to do. Time passing, we get more idea, and more users. And more users bring more ideas.
We also have many more contributors, and some guys are even taking maintainer-ship of some code area.&lt;/p&gt;


&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;My post title is &quot;Taking the other direction&quot; because I feel this way.&lt;/p&gt;


&lt;p&gt;I've got that feeling that some approaches in projects like GNOME are sometimes bad. Please don't misread me, I know we are not playing in the same yard.&lt;/p&gt;


&lt;p&gt;When adding a key shortcut for starting an application makes you dig into &lt;em&gt;gconf&lt;/em&gt;, I wonder how this is a win for the user.&lt;/p&gt;


&lt;p&gt;Well, it's probably a win for the end-user, but I surely am not one of them. And I don't intend to target them with my software, anyway.&lt;/p&gt;


&lt;p&gt;And now, when I hear things like GNOME 3.0 and the &quot;&lt;a href=&quot;http://live.gnome.org/GnomeShell&quot;&gt;desktop shell&lt;/a&gt;&quot; approach, that makes me smile.
Guys, it was time, but have luck. What I see from here, is that any desktop control interface is wrong somehow, and that there's no approach that can fulfill all users wishes.&lt;/p&gt;


&lt;p&gt;I think that we, the awesome development team (no pun intended) took the direction of building a frame-work window manager rather than a solution written in marble.&lt;/p&gt;


&lt;p&gt;We (partially) solved the issue of UI ergonomic by not writing one and allowing the user to write his own. I don't say that's easy to do for most of users, but it's doable.&lt;/p&gt;


&lt;p&gt;And I think it's worth it: I use window managers since I use Linux, around 1998. If something like &lt;em&gt;awesome&lt;/em&gt; came 5 years ago, I'd be using it so far, because you can write &lt;em&gt;Fluxbox&lt;/em&gt; or &lt;em&gt;WindowMaker&lt;/em&gt; using &lt;em&gt;awesome&lt;/em&gt; in a hundred of Lua code. And you can write your own version of it. And it starts in less than 3 seconds, supporting almost all standard desktop specification (ICCCM, EWMH, XDG, system tray, message notification, D-Bus, etc), whereas many of the window mangers do not.&lt;/p&gt;


&lt;p&gt;You can even write and play &lt;a href=&quot;http://awesome.naquadah.org/apidoc/modules/invaders.html&quot;&gt;space invaders&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Finally, I'm happy about the the road we took so far, and hope we will continue into that direction. The rants I read about our project are not that big, compared to the kudos we received.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Still working!</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/04/04/Still-working</link>
    <guid isPermaLink="false">urn:md5:e19c38b13595ad9490af01949aa8a9db</guid>
    <pubDate>Sat, 04 Apr 2009 08:58:00 +0200</pubDate>
    <dc:creator>jd</dc:creator>
        <category>awesome</category>
        <category>awesome</category><category>debian</category><category>freedesktop</category><category>startup-notification</category><category>work</category><category>xcb</category>    
    <description>    &lt;p&gt;Well, I'm not dead buddies. I was overbooked.&lt;/p&gt;


&lt;p&gt;Last weeks have been a bit busy for me. I've also been on holidays, so I gave up on computers stuff a bit.&lt;/p&gt;


&lt;h3&gt;awesome&lt;/h3&gt;

&lt;p&gt;Big news: &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt; 3.2 has been released some weeks ago, and seems to be a success so far. We're working on the new 3.3 release, which will have some new sexy feature you'll love. More on that later.&lt;/p&gt;



&lt;h3&gt;Debian&lt;/h3&gt;

&lt;p&gt;I've uploaded a new &lt;a href=&quot;http://packages.debian.org/awesome-extra&quot;&gt;awesome-extra&lt;/a&gt; package with third party modules such as &lt;em&gt;shifty&lt;/em&gt; or &lt;em&gt;wicked&lt;/em&gt;.&lt;/p&gt;



&lt;h3&gt;startup-notification&lt;/h3&gt;

&lt;p&gt;I just managed to be added in the &lt;em&gt;startup-notification&lt;/em&gt; group at Freedesktop. I moved the CVS repository to &lt;a href=&quot;http://cgit.freedesktop.org/startup-notification/&quot;&gt;git&lt;/a&gt; and merged my set of &lt;a href=&quot;http://xcb.freedesktop.org&quot;&gt;XCB&lt;/a&gt; patches.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>sysrqd 10</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/02/12/sysrqd-10</link>
    <guid isPermaLink="false">urn:md5:3dfd1b58e9211c8cfa43793bb766fe35</guid>
    <pubDate>Thu, 12 Feb 2009 12:16:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Free Software</category>
        <category>software</category><category>sysrq</category><category>sysrqd</category><category>work</category>    
    <description>    &lt;p&gt;I've just released &lt;a href=&quot;http://julien.danjou.info/sysrqd/&quot;&gt;sysrqd 10&lt;/a&gt;. I've rewritten big chunks of code, mostly because my C skills have quite improved between now and 4 years ago, and because I've blindly merged contributors patches which were crap.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>OpenOffice is better as a pager than as a text processor</title>
    <link>http://julien.danjou.info/blog/index.php/post/2009/02/11/OpenOffice-is-better-as-a-pager-than-as-a-text-processor</link>
    <guid isPermaLink="false">urn:md5:109217a1e3df723f0bc498a2b536880d</guid>
    <pubDate>Wed, 11 Feb 2009 15:08:00 +0100</pubDate>
    <dc:creator>jd</dc:creator>
        <category>Freedesktop</category>
        <category>awesome</category><category>ewmh</category><category>freedesktop</category><category>openoffice</category><category>openoffice.org</category><category>work</category>    
    <description>    &lt;p&gt;Since several month, &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt; users have reported a bug with &lt;a href=&quot;http://www.openoffice.org&quot;&gt;OpenOffice.org&lt;/a&gt;. When using OOo and clicking on a menu, or using the mouse wheel to read a document, the currently selected tag (desktop) will change automagically to another one.&lt;/p&gt;


&lt;p&gt;I've digged into awesome and found that awesome received a _NET_CURRENT_DESKTOP request. As defined by &lt;a href=&quot;http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#id2550663&quot;&gt;EWMH&lt;/a&gt;, this kind of request are sent by a pager to change the active desktop.&lt;/p&gt;


&lt;p&gt;That was weird. Nobody is using a pager here. So, I just kicked my gdb out, attached it to OOo, breaking on &lt;em&gt;XSendEvent&lt;/em&gt; call. And I got it:&lt;/p&gt;


&lt;pre&gt;Breakpoint 1, XSendEvent (dpy=0x1a00080, w=483, propagate=0, event_mask=1572864, event=0x7fff1fd70d70)
   at ../../src/SendEvent.c:46
(gdb) bt
#0  XSendEvent (dpy=0x1a00080, w=483, propagate=0, event_mask=1572864, event=0x7fff1fd70d70)
   at ../../src/SendEvent.c:46
#1  0x00007f8c0ab4193f in vcl_sal::WMAdaptor::switchToWorkArea ()
  from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#2  0x00007f8c0aafdbd8 in X11SalFrame::Show ()
  from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#3  0x00007f8c1378623c in Window::Show ()
  from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#4  0x00007f8c13785f40 in Window::Show ()
  from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#5  0x00007f8c1372cb54 in FloatingWindow::StartPopupMode ()
  from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#6  0x00007f8c1373c877 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#7  0x00007f8c1373ccf2 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#8  0x00007f8c1373ce84 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#9  0x00007f8c13795e7f in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#10 0x00007f8c13797e74 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#11 0x00007f8c13796748 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#12 0x00007f8c0aafe6f8 in X11SalFrame::HandleMouseEvent ()
  from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#13 0x00007f8c0ab040c2 in X11SalFrame::Dispatch ()
  from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#14 0x00007f8c0ab31625 in SalX11Display::Yield ()
  from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#15 0x00007f8c0ab356f3 in ?? () from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#16 0x00007f8c0ab2df1f in SalXLib::Yield () from /usr/lib/openoffice/basis3.0/program/libvclplug_genlx.so
#17 0x00007f8c135b050e in Application::Yield ()
  from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#18 0x00007f8c135b0587 in Application::Execute ()
  from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#19 0x00007f8c17517e80 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libsofficeapp.so
#20 0x00007f8c135b4b24 in ?? () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#21 0x00007f8c135b4bc5 in SVMain () from /usr/lib/openoffice/program/../basis-link/program/libvcllx.so
#22 0x00007f8c1754ca6c in soffice_main ()
  from /usr/lib/openoffice/program/../basis-link/program/libsofficeapp.so
#23 0x000000000040105b in main ()&lt;/pre&gt;


&lt;p&gt;I started digging more into the code, and this is what I finally found in &lt;em&gt;salframe.cxx&lt;/em&gt;:&lt;/p&gt;


&lt;pre&gt;       // #i45160# switch to desktop where a dialog with parent will appear 
       if( mpParent &amp;amp;&amp;amp; mpParent-&amp;gt;m_nWorkArea != m_nWorkArea ) 
           GetDisplay()-&amp;gt;getWMAdaptor()-&amp;gt;switchToWorkArea( mpParent-&amp;gt;m_nWorkArea );&lt;/pre&gt;


&lt;p&gt;Beautiful! It even has a comment with a IssueZilla bug number. Let's go and see where it comes from.&lt;/p&gt;


&lt;p&gt;After 10 minutes of research to find that fucking IZ, I finally found the link to the &lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=45160&quot;&gt;issue #45160&lt;/a&gt;. The bug is IMHO not related to OOo but to a window manager doing poor job.&lt;/p&gt;


&lt;p&gt;I've found that an awesome user already reported an bug… err, wait, I mean an issue as &lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=96684&quot;&gt;issue #96684&lt;/a&gt; (remember there's no bug in OOo, only issues) and I commented about it.&lt;/p&gt;


&lt;p&gt;UPDATE: It seems OOo developers have agreed to fix that bug eventually.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>