1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Coz can help you find bottlenecks in multi-threaded software - nice free software
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Coz can help you find bottlenecks in multi-threaded software - nice free software
</div>
24 <div class=
"date">11th August
2016</div>
25 <div class=
"body"><p>This summer, I read a great article
26 "
<a href=
"https://www.usenix.org/publications/login/summer2016/curtsinger">coz:
27 This Is the Profiler You're Looking For
</a>" in USENIX ;login: about
28 how to profile multi-threaded programs. It presented a system for
29 profiling software by running experiences in the running program,
30 testing how run time performance is affected by "speeding up
" parts of
31 the code to various degrees compared to a normal run. It does this by
32 slowing down parallel threads while the "faster up
" code is running
33 and measure how this affect processing time. The processing time is
34 measured using probes inserted into the code, either using progress
35 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
36 can also measure unmodified code by measuring complete the program
37 runtime and running the program several times instead.</p>
39 <p>The project and presentation was so inspiring that I would like to
40 get the system into Debian. I
41 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
830708">created
42 a WNPP request for it</a> and contacted upstream to try to make the
43 system ready for Debian by sending patches. The build process need to
44 be changed a bit to avoid running 'git clone' to get dependencies, and
45 to include the JavaScript web page used to visualize the collected
46 profiling information included in the source package.
47 But I expect that should work out fairly soon.</p>
49 <p>The way the system work is fairly simple. To run an coz experiment
50 on a binary with debug symbols available, start the program like this:
53 coz run --- program-to-run
54 </pre></blockquote></p>
56 <p>This will create a text file profile.coz with the instrumentation
57 information. To show what part of the code affect the performance
58 most, use a web browser and either point it to
59 <a href="http://plasma-umass.github.io/coz/
">http://plasma-umass.github.io/coz/</a>
60 or use the copy from git (in the gh-pages branch). Check out this web
61 site to have a look at several example profiling runs and get an idea what the end result from the profile runs look like. To make the
62 profiling more useful you include <coz.h> and insert the
63 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
64 code, rebuild and run the profiler. This allow coz to do more
65 targeted experiments.</p>
67 <p>A video published by ACM
68 <a href="https://www.youtube.com/watch?v=jE0V-p1odPg
">presenting the
69 Coz profiler</a> is available from Youtube. There is also a paper
70 from the 25th Symposium on Operating Systems Principles available
72 <a href="https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger
">Coz:
73 finding code that counts with causal profiling</a>.</p>
75 <p><a href="https://github.com/plasma-umass/coz
">The source code</a>
76 for Coz is available from github. It will only build with clang
78 <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=
55606">C++
79 feature missing in GCC</a>, but I've submitted
80 <a href="https://github.com/plasma-umass/coz/pull/
67">a patch to solve
81 it</a> and hope it will be included in the upstream source soon.</p>
83 <p>Please get in touch if you, like me, would like to see this piece
84 of software in Debian. I would very much like some help with the
85 packaging effort, as I lack the in depth knowledge on how to package
89 <div class="tags
">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software
">nice free software</a>.</div>
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
01/
">January (1)</a></li>
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
02/
">February (5)</a></li>
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
03/
">March (5)</a></li>
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
04/
">April (3)</a></li>
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
06/
">June (2)</a></li>
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
07/
">July (5)</a></li>
119 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
08/
">August (3)</a></li>
121 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
09/
">September (3)</a></li>
123 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
10/
">October (5)</a></li>
125 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
11/
">November (2)</a></li>
127 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2018/
12/
">December (4)</a></li>
134 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
01/
">January (4)</a></li>
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
02/
">February (3)</a></li>
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
03/
">March (5)</a></li>
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
04/
">April (2)</a></li>
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
06/
">June (5)</a></li>
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
07/
">July (1)</a></li>
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
08/
">August (1)</a></li>
148 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
09/
">September (3)</a></li>
150 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
10/
">October (5)</a></li>
152 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
11/
">November (3)</a></li>
154 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2017/
12/
">December (4)</a></li>
161 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
01/
">January (3)</a></li>
163 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
02/
">February (2)</a></li>
165 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
03/
">March (3)</a></li>
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
04/
">April (8)</a></li>
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
05/
">May (8)</a></li>
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
06/
">June (2)</a></li>
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
07/
">July (2)</a></li>
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
08/
">August (5)</a></li>
177 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
09/
">September (2)</a></li>
179 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
10/
">October (3)</a></li>
181 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
11/
">November (8)</a></li>
183 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2016/
12/
">December (5)</a></li>
190 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
01/
">January (7)</a></li>
192 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
02/
">February (6)</a></li>
194 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
03/
">March (1)</a></li>
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
04/
">April (4)</a></li>
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
05/
">May (3)</a></li>
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
06/
">June (4)</a></li>
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
07/
">July (6)</a></li>
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
08/
">August (2)</a></li>
206 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
09/
">September (2)</a></li>
208 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
10/
">October (9)</a></li>
210 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
11/
">November (6)</a></li>
212 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
12/
">December (3)</a></li>
219 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
01/
">January (2)</a></li>
221 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
02/
">February (3)</a></li>
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
03/
">March (8)</a></li>
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
04/
">April (7)</a></li>
227 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
05/
">May (1)</a></li>
229 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
06/
">June (2)</a></li>
231 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
07/
">July (2)</a></li>
233 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
08/
">August (2)</a></li>
235 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
09/
">September (5)</a></li>
237 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
10/
">October (6)</a></li>
239 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
11/
">November (3)</a></li>
241 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
12/
">December (5)</a></li>
248 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
01/
">January (11)</a></li>
250 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
02/
">February (9)</a></li>
252 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
03/
">March (9)</a></li>
254 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
04/
">April (6)</a></li>
256 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
05/
">May (9)</a></li>
258 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
06/
">June (10)</a></li>
260 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
07/
">July (7)</a></li>
262 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
08/
">August (3)</a></li>
264 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
09/
">September (5)</a></li>
266 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
10/
">October (7)</a></li>
268 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
11/
">November (9)</a></li>
270 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
12/
">December (3)</a></li>
277 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
01/
">January (7)</a></li>
279 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
02/
">February (10)</a></li>
281 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
03/
">March (17)</a></li>
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
04/
">April (12)</a></li>
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
05/
">May (12)</a></li>
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
06/
">June (20)</a></li>
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
07/
">July (17)</a></li>
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
08/
">August (6)</a></li>
293 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
09/
">September (9)</a></li>
295 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
10/
">October (17)</a></li>
297 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
11/
">November (10)</a></li>
299 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
12/
">December (7)</a></li>
306 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
01/
">January (16)</a></li>
308 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
02/
">February (6)</a></li>
310 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
03/
">March (6)</a></li>
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
04/
">April (7)</a></li>
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
05/
">May (3)</a></li>
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
06/
">June (2)</a></li>
318 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
07/
">July (7)</a></li>
320 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
08/
">August (6)</a></li>
322 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
09/
">September (4)</a></li>
324 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
10/
">October (2)</a></li>
326 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
11/
">November (3)</a></li>
328 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
12/
">December (1)</a></li>
335 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
01/
">January (2)</a></li>
337 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
02/
">February (1)</a></li>
339 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
03/
">March (3)</a></li>
341 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
04/
">April (3)</a></li>
343 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
05/
">May (9)</a></li>
345 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
06/
">June (14)</a></li>
347 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
07/
">July (12)</a></li>
349 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
08/
">August (13)</a></li>
351 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
09/
">September (7)</a></li>
353 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
10/
">October (9)</a></li>
355 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
11/
">November (13)</a></li>
357 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
12/
">December (12)</a></li>
364 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
01/
">January (8)</a></li>
366 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
02/
">February (8)</a></li>
368 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
03/
">March (12)</a></li>
370 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
04/
">April (10)</a></li>
372 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
05/
">May (9)</a></li>
374 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
06/
">June (3)</a></li>
376 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
07/
">July (4)</a></li>
378 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
08/
">August (3)</a></li>
380 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
09/
">September (1)</a></li>
382 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
10/
">October (2)</a></li>
384 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
11/
">November (3)</a></li>
386 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
12/
">December (3)</a></li>
393 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
11/
">November (5)</a></li>
395 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
12/
">December (7)</a></li>
406 <li><a href="http://people.skolelinux.org/pere/blog/tags/
3d-printer
">3d-printer (16)</a></li>
408 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga
">amiga (1)</a></li>
410 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros
">aros (1)</a></li>
412 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid
">bankid (4)</a></li>
414 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin
">bitcoin (10)</a></li>
416 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem
">bootsystem (17)</a></li>
418 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa
">bsa (2)</a></li>
420 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath
">chrpath (2)</a></li>
422 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian (165)</a></li>
424 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu
">debian edu (158)</a></li>
426 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook
">debian-handbook (4)</a></li>
428 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan
">digistan (10)</a></li>
430 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld
">dld (17)</a></li>
432 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook
">docbook (25)</a></li>
434 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser
">drivstoffpriser (4)</a></li>
436 <li><a href="http://people.skolelinux.org/pere/blog/tags/english
">english (395)</a></li>
438 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami
">fiksgatami (23)</a></li>
440 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling
">fildeling (13)</a></li>
442 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture
">freeculture (32)</a></li>
444 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox
">freedombox (9)</a></li>
446 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen (19)</a></li>
448 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264
">h264 (20)</a></li>
450 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju
">intervju (42)</a></li>
452 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram
">isenkram (16)</a></li>
454 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart
">kart (20)</a></li>
456 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi
">kodi (4)</a></li>
458 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap
">ldap (9)</a></li>
460 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego
">lego (4)</a></li>
462 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker
">lenker (8)</a></li>
464 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd
">lsdvd (2)</a></li>
466 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp
">ltsp (1)</a></li>
468 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network
">mesh network (8)</a></li>
470 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia (41)</a></li>
472 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software
">nice free software (11)</a></li>
474 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk (300)</a></li>
476 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug (191)</a></li>
478 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn
">offentlig innsyn (34)</a></li>
480 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311
">open311 (2)</a></li>
482 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett
">opphavsrett (72)</a></li>
484 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern (108)</a></li>
486 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid
">raid (2)</a></li>
488 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos
">reactos (1)</a></li>
490 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap
">reprap (11)</a></li>
492 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid
">rfid (3)</a></li>
494 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot
">robot (10)</a></li>
496 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss
">rss (1)</a></li>
498 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter
">ruter (6)</a></li>
500 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki
">scraperwiki (2)</a></li>
502 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet (55)</a></li>
504 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary
">sitesummary (4)</a></li>
506 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis
">skepsis (5)</a></li>
508 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard
">standard (58)</a></li>
510 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll
">stavekontroll (6)</a></li>
512 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget
">stortinget (12)</a></li>
514 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance (55)</a></li>
516 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin
">sysadmin (4)</a></li>
518 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix
">usenix (2)</a></li>
520 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg
">valg (9)</a></li>
522 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri
">verkidetfri (14)</a></li>
524 <li><a href="http://people.skolelinux.org/pere/blog/tags/video
">video (71)</a></li>
526 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap
">vitenskap (4)</a></li>
528 <li><a href="http://people.skolelinux.org/pere/blog/tags/web
">web (42)</a></li>
534 <p style="text-align: right
">
535 Created by <a href="http://steve.org.uk/Software/chronicle
">Chronicle v4.6</a>