<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ulrichs blog - Debian</title>
        <description>Posts tagged with 'debian'</description>
        <link>http://dangel.im/blog/</link>
        <atom:link href="http://dangel.im/blog/debian.xml" rel="self" type="application/rss+xml" />
        
            <item>
                <title>Debian Ireland Meetup Friday 17th of May</title>
                <description>&lt;p&gt;Thanks to Federico the &lt;a href='http://lists.debian.org/debian-dug-ie/'&gt;Debian Irish User Group&lt;/a&gt; celebrates the Wheezy release with some pints this Friday (17.05.2013) at 8 at Mac Turcaill&amp;#8217;s. For more information and a link to the pub have a look at the &lt;a href='http://lists.debian.org/debian-dug-ie/2013/05/msg00002.html'&gt;mailing list posting from Federico&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Oh and by the way: the Irish Debian Community officially launched last year, i.e. &lt;code&gt;debian-dug-ie&lt;/code&gt; is &lt;code&gt;#newinwheezy&lt;/code&gt;.&lt;/p&gt;</description>
                <pubDate>Wed, 15 May 2013 00:00:00 +0100</pubDate>
                <link>http://dangel.im/blog/debian/2013/05/15/debian-ireland-wheezy-drinks.html</link>
                
                <guid isPermaLink="true">http://dangel.im/blog/debian/2013/05/15/debian-ireland-wheezy-drinks.html</guid>
                
            </item>
        
            <item>
                <title>Visualizing DPL votes</title>
                <description>&lt;p&gt;&lt;a href='http://noone.org/blog'&gt;Axel &amp;#8216;XTaran&amp;#8217; Beckert&lt;/a&gt; recently asked in &lt;code&gt;#debian-devel&lt;/code&gt; for a visualization of the &lt;a href='https://lists.debian.org/debian-devel-announce/2013/04/msg00004.html'&gt;Debian Project Leader Election results&lt;/a&gt;. Unfortunately there seems to be none, except the table in the mail. As I am currently trying to use &lt;code&gt;ggplot2&lt;/code&gt; for more things, I thought I would give it a try and convert the data into a &lt;a href='/blog/assets/data/dpl-2013.csv'&gt;csv file&lt;/a&gt; and process the data via &lt;code&gt;R&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For converting the &lt;a href='https://lists.debian.org/debian-devel-announce/2013/04/msg00004.html'&gt;original data&lt;/a&gt; i used &lt;code&gt;vim&lt;/code&gt; to do a little text processing and created a &lt;a href='/blog/assets/data/dpl-2013.csv'&gt;csv file&lt;/a&gt;. By running the following code we can create a nice looking simple graphic:&lt;/p&gt;
&lt;div class='highlight'&gt;&lt;pre&gt;&lt;code class='r'&gt;library&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;ggplot2&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
votes &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; read.csv&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;dpl-2013.csv&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
votes2 &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; melt&lt;span class='p'&gt;(&lt;/span&gt;subset&lt;span class='p'&gt;(&lt;/span&gt;votes&lt;span class='p'&gt;,&lt;/span&gt; select&lt;span class='o'&gt;=&lt;/span&gt;c&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;Year&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='s'&gt;&amp;quot;DDs&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='s'&gt;&amp;quot;unique&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)),&lt;/span&gt; id&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;Year&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;

p &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; ggplot&lt;span class='p'&gt;(&lt;/span&gt;votes2&lt;span class='p'&gt;,&lt;/span&gt; aes&lt;span class='p'&gt;(&lt;/span&gt;Year&lt;span class='p'&gt;,&lt;/span&gt; value&lt;span class='p'&gt;,&lt;/span&gt; group&lt;span class='o'&gt;=&lt;/span&gt;variable&lt;span class='p'&gt;,&lt;/span&gt; fill&lt;span class='o'&gt;=&lt;/span&gt;variable&lt;span class='p'&gt;))&lt;/span&gt; &lt;span class='o'&gt;+&lt;/span&gt; ylab&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;#39;DD #&amp;#39;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
p &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; p &lt;span class='o'&gt;+&lt;/span&gt; geom_point&lt;span class='p'&gt;()&lt;/span&gt; &lt;span class='o'&gt;+&lt;/span&gt; geom_line&lt;span class='p'&gt;()&lt;/span&gt; &lt;span class='o'&gt;+&lt;/span&gt; geom_area&lt;span class='p'&gt;(&lt;/span&gt;position&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;#39;identity&amp;#39;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
p &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; p &lt;span class='o'&gt;+&lt;/span&gt; scale_fill_manual&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;Values&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; values&lt;span class='o'&gt;=&lt;/span&gt;c&lt;span class='p'&gt;(&lt;/span&gt;alpha&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;#39;#d70a53&amp;#39;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='m'&gt;0.5&lt;/span&gt;&lt;span class='p'&gt;),&lt;/span&gt;
alpha&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;blue&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='m'&gt;0.5&lt;/span&gt;&lt;span class='p'&gt;)),&lt;/span&gt; breaks&lt;span class='o'&gt;=&lt;/span&gt;c&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;DDs&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='s'&gt;&amp;quot;unique&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;),&lt;/span&gt; labels&lt;span class='o'&gt;=&lt;/span&gt;c&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;Developer count&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; &lt;span class='s'&gt;&amp;quot;Voters&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;))&lt;/span&gt;

print&lt;span class='p'&gt;(&lt;/span&gt;p&lt;span class='p'&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img alt='DPL Votes 2013' src='/blog/assets/img/dpl-2013.png' /&gt;&lt;/p&gt;

&lt;p&gt;I also created a &lt;a href='https://gist.github.com/mrud/5455016'&gt;little script&lt;/a&gt; for automatically processing the csv file and creating a similar plot. Feel free to fork/clone extend this script.&lt;/p&gt;</description>
                <pubDate>Wed, 24 Apr 2013 00:00:00 +0100</pubDate>
                <link>http://dangel.im/blog/debian/2013/04/24/debian-dpl-votes.html</link>
                
                <guid isPermaLink="true">http://dangel.im/blog/debian/2013/04/24/debian-dpl-votes.html</guid>
                
            </item>
        
            <item>
                <title>Analyzing rc bug messages</title>
                <description>&lt;p&gt;Michael Stapelberg recently posted a &lt;a href='http://people.debian.org/~stapelberg//2013/03/31/analyzing-rc-bug-messages.html'&gt;blog post&lt;/a&gt; about looking into the number of Debian Developers actively working on RC bugs for the upcoming wheezy release.&lt;/p&gt;

&lt;p&gt;In this blog post I analyze the data shared by Michael and provide the &lt;code&gt;R&lt;/code&gt; commands used to generate the plots &amp;amp; findings. If you are interested into looking into the data yourself, but don&amp;#8217;t like &lt;code&gt;R&lt;/code&gt;, I suggest using ipython notebook + numpy instead.&lt;/p&gt;

&lt;h2 id='analysis'&gt;Analysis&lt;/h2&gt;

&lt;p&gt;After parsing the data file we typically want to get an understanding of the data, by using &lt;code&gt;summary(bugs)&lt;/code&gt; we get the &lt;code&gt;minimum(1)&lt;/code&gt;, &lt;code&gt;median(5)&lt;/code&gt;, &lt;code&gt;mean(15.4)&lt;/code&gt;, &lt;code&gt;max(716)&lt;/code&gt; and quantiles of the data. This shows that the number of messages is wide-spread and a few people contribute a lot. To visualize the dispersion of the data we can create a box plot showing the range of messages:&lt;/p&gt;

&lt;p&gt;&lt;img alt='boxplot' src='/blog/assets/img/debian-boxplot.png' /&gt;&lt;/p&gt;

&lt;p&gt;As the first and third quantile are close together we can assume that the majority of the work is done by a few, especially since the second quantile is 5. This is supported by the histogram below, where the x axis is the number of recorded messages and y is the number of developers.&lt;/p&gt;

&lt;p&gt;&lt;img alt='histogram' src='/blog/assets/img/debian-histogram.png' /&gt;&lt;/p&gt;

&lt;h2 id='top_10_contributors'&gt;Top 10 contributors&lt;/h2&gt;

&lt;p&gt;The TOP 10 contributors, according to the dataset, are: &lt;ol&gt;
&lt;li&gt;Lucas Nussbaum - 716 messages&lt;/li&gt;
&lt;li&gt;Gregor Herrmann - 270 messages&lt;/li&gt;
&lt;li style='list-style-type: none' value='2'&gt;Jakub Wilk - 270 messages&lt;/li&gt;
&lt;li value='4'&gt;Andreas Beckmann - 225 messages&lt;/li&gt;
&lt;li&gt;Julien Cristau - 205 messages &lt;/li&gt;
&lt;li&gt;Cyril Brulebois - 169 messages &lt;/li&gt;
&lt;li&gt;Moritz Muehlenhoff - 162 messages&lt;/li&gt;
&lt;li&gt;Michael Biebl - 159 messages&lt;/li&gt;
&lt;li&gt;Salvatore Bonaccorso - 158 messages&lt;/li&gt;
&lt;li&gt;Christoph Egger - 142 messages&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;

&lt;h2 id='r_commands'&gt;r commands&lt;/h2&gt;

&lt;p&gt;These are the commands used to generate the plots and information in this plot:&lt;/p&gt;
&lt;div class='highlight'&gt;&lt;pre&gt;&lt;code class='r'&gt;bugs &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; read.csv&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;by-msg.csv&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
summary&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='p'&gt;)&lt;/span&gt;
boxplot&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='o'&gt;$&lt;/span&gt;rcbugmsg&lt;span class='p'&gt;,&lt;/span&gt; log&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;#39;y&amp;#39;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; range&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='m'&gt;0&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; ylab&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;# bugs&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
quantile&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='o'&gt;$&lt;/span&gt;rcbugmsg&lt;span class='p'&gt;)&lt;/span&gt;
&lt;span class='m'&gt;0&lt;/span&gt;&lt;span class='o'&gt;%  25%&lt;/span&gt;  &lt;span class='m'&gt;50&lt;/span&gt;&lt;span class='o'&gt;%  75%&lt;/span&gt; &lt;span class='m'&gt;100&lt;/span&gt;%
&lt;span class='m'&gt;1&lt;/span&gt;    &lt;span class='m'&gt;2&lt;/span&gt;    &lt;span class='m'&gt;5&lt;/span&gt;   &lt;span class='m'&gt;12&lt;/span&gt;  &lt;span class='m'&gt;716&lt;/span&gt;

&lt;span class='c1'&gt;# create histogram&lt;/span&gt;
llibrary&lt;span class='p'&gt;(&lt;/span&gt;&lt;span class='s'&gt;&amp;#39;ggplot2&amp;#39;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
ggplot&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='p'&gt;,&lt;/span&gt; aes&lt;span class='p'&gt;(&lt;/span&gt;x&lt;span class='o'&gt;=&lt;/span&gt;rcbugmsg&lt;span class='p'&gt;))&lt;/span&gt; &lt;span class='o'&gt;+&lt;/span&gt; geom_histogram&lt;span class='p'&gt;(&lt;/span&gt;binwidth&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='m'&gt;.5&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; colour&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;black&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;,&lt;/span&gt; fill&lt;span class='o'&gt;=&lt;/span&gt;&lt;span class='s'&gt;&amp;quot;black&amp;quot;&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt; &lt;span class='o'&gt;+&lt;/span&gt; scale_x_sqrt&lt;span class='p'&gt;()&lt;/span&gt;

top10 &lt;span class='o'&gt;&amp;lt;-&lt;/span&gt; tail&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='p'&gt;[&lt;/span&gt;order&lt;span class='p'&gt;(&lt;/span&gt;bugs&lt;span class='o'&gt;$&lt;/span&gt;rcbugmsg&lt;span class='p'&gt;),],&lt;/span&gt; &lt;span class='m'&gt;10&lt;/span&gt;&lt;span class='p'&gt;)&lt;/span&gt;
top10
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</description>
                <pubDate>Sun, 21 Apr 2013 00:00:00 +0100</pubDate>
                <link>http://dangel.im/blog/debian/2013/04/21/debian-rc-bug-analysis.html</link>
                
                <guid isPermaLink="true">http://dangel.im/blog//debian/2013/04/21/debian-rc-bug-analysis.html</guid>
                
            </item>
        
    </channel>
</rss>
