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