{"id":1277,"date":"2007-09-05T14:55:48","date_gmt":"2007-09-05T12:55:48","guid":{"rendered":"http:\/\/vizZzion.org\/blog\/2007\/09\/lce-power-consumption-and-version-control-systems\/"},"modified":"2007-09-05T14:55:48","modified_gmt":"2007-09-05T12:55:48","slug":"lce-power-consumption-and-version-control-systems","status":"publish","type":"post","link":"https:\/\/vizZzion.org\/blog\/2007\/09\/lce-power-consumption-and-version-control-systems\/","title":{"rendered":"LCE, power consumption and version control systems?"},"content":{"rendered":"<p>I&#8217;m travelling back from <a href=\"http:\/\/www.linuxconf.eu\">LinuxConf.EU<\/a> right now. The<br \/>\nconference was very well organised, taking place in the beautiful Cambridge. My talk went pretty<br \/>\nwell. For me it was the first time I relied on KDE 4 not letting me down, I did the presentation<br \/>\nfrom a KDE 4 desktop, using okular. Glad to tell you it didn&#8217;t let me down. :-)<br \/>\n<br \/>\nMost of the talks were very technical and largely related to kernel-like stuff. No wonder that,<br \/>\nthere were quite some kernel developers around, some of which I got to give me some insight what we<br \/>\nas desktop and their upstream can do better.<\/p>\n<p \/>\nMost notably, I&#8217;ve talked with Arjen van der Ven about power consumption. Arjen advised to do<br \/>\nregular checks with powertop and see who&#8217;s the worst offender in waking up the CPU. He mentioned<br \/>\nthat 2 wakeups per second is a good value and that we should be aiming for that. (Not having a<br \/>\nrecent enough kernel on my notebook right now, I can&#8217;t check how KDE 4 does with respect to that<br \/>\nright now.) He also mentioned that the worst offenders are not-aligned timers, so if we use timers<br \/>\nat all, they should all be aligned with each other so that multiple timer events don&#8217;t wake up the<br \/>\nCPU more often than necessary. I understand that there&#8217;s work in plasma going on to accomplish that,<br \/>\nand that there&#8217;s also a patch for Qt lying on a desk somewhere in Oslo which does this for the whole<br \/>\nof Qt. Would be nice if that could make it in quickly. Arjen noted that there&#8217;s also related work in<br \/>\nglibc going on.<\/p>\n<p \/>\nOn monday night at <a href=\"http:\/\/duxford.iwm.org.uk\/\">Duxford<\/a> Imperial War Museum, I did an interview<br \/>\nwith <a href=\"http:\/\/www.linuxuser.co.uk\">Linux User &#038; Developer Magazine<\/a>. Make sure you don&#8217;t<br \/>\nmiss the next edition if you want to read it.<\/p>\n<p \/>\nYesterday, I chatted with Linus about version control systems, especially the difference between git<br \/>\nand subversion. Important aspects are that git does not do well with binary data (especially not if<br \/>\nit changes frequently), it&#8217;s just not designed for that (no surprise here). There also seem to be a<br \/>\ncouple of performance issues when importing very large repositories (such as KDE).<br \/>\n<br \/>\nMy major gripes on the whole VCS issue are the following (take git as an example for any distributed<br \/>\nVCS here):<\/p>\n<ul>\n<li>\n        Switching from a centralised VCS to a distributed model makes some changes in our social<br \/>\n        structure necessary. In a way, a centralised VCS repository is also some sort of social glue that<br \/>\n        keeps us focused on one authoritative codebase. We should prevent forking (the bad version) &#8212; this<br \/>\n        will do harm to our community. Also, I do understand that a centralised way of using git is<br \/>\n        possible, but that&#8217;s not quite the point here. Also remember that we do not even have maintainers for<br \/>\n        all the module in KDE.\n    <\/li>\n<li>\n        Contributors will inevitably have to adjust their personal workflow. We should make<br \/>\n        absolutely sure that this does not increase the barrier to start contributing to KDE.\n    <\/li>\n<li>\n        Using two VCS in parallel can harm the community. If you really want to use git, make sure<br \/>\n        your code is available for others, sync with our SVN repo on a regular basis. I&#8217;ve already seen<br \/>\n        people using git and not caring about updating the copy in SVN. This hurts our development process,<br \/>\n        especially while we want to get KDE 4.0 ready for consumption.\n    <\/li>\n<li>\n        Consider that switching important tools such as our VCS is a huge step that doesn&#8217;t come<br \/>\n        without costs. It might even be a disruptive change to how we work as a community. We should not<br \/>\n        tinker with our tools more than necessary.\n    <\/li>\n<li>\n        Switching VCS before we are well underway in the 4.0 release cycle is a <em>stupid<br \/>\n        thing<\/em> to do. One major challenge at a time is already enough for us.\n    <\/li>\n<\/ul>\n<p>That said, I <em>do<\/em> see potential benefits from using git. Most of them have been pointed out<br \/>\nby others already. My concerns and thoughts go out more into the social aspects. Git (or any other<br \/>\ndistributed VCS for that matter) might perfectly fit how we (should) collaborate as a project. It<br \/>\nmight make new ways of creating kick-ass software possible for us, just like it did for other<br \/>\nprojects, such as Linus&#8217; baby.<\/p>\n<p \/>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m travelling back from LinuxConf.EU right now. The conference was very well organised, taking place in the beautiful Cambridge. My talk went pretty well. For me it was the first time I relied on KDE 4 not letting me down, I did the presentation from a KDE 4 desktop, using okular. Glad to tell you&hellip; <a class=\"more-link\" href=\"https:\/\/vizZzion.org\/blog\/2007\/09\/lce-power-consumption-and-version-control-systems\/\">Continue reading <span class=\"screen-reader-text\">LCE, power consumption and version control systems?<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1277","post","type-post","status-publish","format-standard","hentry","category-kde"],"_links":{"self":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts\/1277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/comments?post=1277"}],"version-history":[{"count":0,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts\/1277\/revisions"}],"wp:attachment":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/media?parent=1277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/categories?post=1277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/tags?post=1277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}