]> git.donarmstrong.com Git - neurodebian.git/blob - sphinx/blog/2011/2011-06-20_package_swarm.rst
Package swarm blog.
[neurodebian.git] / sphinx / blog / 2011 / 2011-06-20_package_swarm.rst
1 :date: 2011-06-20 20:00:00
2 :tags: debian, neuroscience, download stats
3
4 Package swarm
5 =============
6
7 We are working on integrating neuroscience research software into the Debian
8 operating system for almost six years now. Occasionally looking at the
9 repository web server logs, we knew that a growing number of people were
10 using the packages from http://neuro.debian.net for their Debian and Ubuntu
11 machines. However, we never really looked deeper.
12
13 For our upcoming `booth at HBM2011`_ we need something like a presentation or
14 slides that could run in a loop on a big screen to attract people. It would
15 need to be visually appealing, but also informative. As slides are rather boring,
16 we looked into creating an animation -- a visualization of our repository
17 download statistics.
18
19 There are many boring ways to visualize this type of data, but there is also at
20 least one that is cool enough to yield an appealing, almost mystical,
21 animation: code_swarm_. This great software can visualize somewhat "social"
22 processes based on commit statistics of source code repositories. It extracts
23 information on who is working on which files of a project at any given point in
24 time, and visualizes similarities in these patterns. People that work on the
25 same files in temporal proximity cluster together, and files that are modified
26 by the same people cluster together. From all this information code_swarm
27 generates `beautiful animations`_.
28
29 Download statistics are not that different from commit statistics. Instead of
30 "Who is modifying what?" it is simply: "Who is downloading what?" So we gathered
31 all Apache logs of binary package downloads from our repository over the last
32 two years. We converted the data so that the corresponding source package,
33 became the "author" of a commit/download, and encoded the associated IPv4
34 address (the last 8 bit truncated) together with the target distribution as the
35 "modified file". And code_swarm did the rest (try watching in 480p or above):
36
37 .. raw:: html
38
39   <iframe title="YouTube video player"
40           class="youtube-player"
41           type="text/html"
42           width="640"
43           height="375"
44           src="http://www.youtube.com/embed/dp42rrkrNBI?hd=1"
45           frameborder="0"></iframe>
46
47 Few notes on the video: The animation shows some spikes in the download
48 activity. Most of the big ones are related to new releases of FSL_. FSL is
49 undoubtedly our most popular package. First and foremost, because it is one of
50 *the* standard tools for brain-imaging research, but also, because upstream
51 completely relies on NeuroDebian for deploying FSL on the Debian platform.
52
53 It looks like the majority of our downloads comes from countless Ubuntu
54 machines -- maybe laptops and desktops with dynamic IPs. However, there are
55 also fairly/large deployments of Debian 6.0 (white) and Ubuntu 10.04 (light
56 blue) with static addresses -- probably labs at research institutions. Watch
57 for the large "stars" towards the end.
58
59 You might have noticed the yellow dots. These are downloads from the *data*
60 suite of the NeuroDebian which we use to improve space-efficiency of our
61 repository. This suite has packages (sometimes the size of 1GB in compressed
62 form) that can be installed on any Debian or Ubuntu release and contain only
63 data of various types and formats. Of course many applications depend on these
64 packages, hence you can see some dots constantly changing color between yellow
65 and one of the release colors.
66
67 PS: OpenShot_ became an amazing video editor!
68
69 .. _booth at HBM2011: http://www.debian.org/events/2011/0626-hbm
70 .. _code_swarm: http://code.google.com/p/codeswarm/
71 .. _beautiful animations: http://www.michaelogawa.com/code_swarm/
72 .. _openshot: http://packages.debian.org/sid/openshot
73 .. _fsl: http://packages.debian.org/sid/fsl