]> pere.pagekite.me Git - homepage.git/blob - blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html
Generated.
[homepage.git] / blog / Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html
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">
4 <head>
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" />
9
10
11 </head>
12 <body>
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <div class="entry">
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>
38
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>
48
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:
51
52 <p><blockquote><pre>
53 coz run --- program-to-run
54 </pre></blockquote></p>
55
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 &lt;coz.h&gt; 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>
66
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
71 titled
72 <a href="https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger">Coz:
73 finding code that counts with causal profiling</a>.</p>
74
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
77 because it uses a
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>
82
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
86 C++ libraries.</p>
87 </div>
88
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>
90
91
92 </div>
93
94
95
96
97 <div id="sidebar">
98
99
100
101 <h2>Archive</h2>
102 <ul>
103
104 <li>2018
105 <ul>
106
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
108
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
110
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
112
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
114
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
116
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
118
119 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
120
121 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
122
123 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
124
125 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
126
127 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
128
129 </ul></li>
130
131 <li>2017
132 <ul>
133
134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
135
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
137
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
139
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
141
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
143
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
145
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
147
148 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
149
150 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
151
152 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
153
154 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
155
156 </ul></li>
157
158 <li>2016
159 <ul>
160
161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
162
163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
164
165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
166
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
168
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
170
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
172
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
174
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
176
177 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
178
179 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
180
181 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
182
183 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
184
185 </ul></li>
186
187 <li>2015
188 <ul>
189
190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
191
192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
193
194 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
195
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
197
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
199
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
201
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
203
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
205
206 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
207
208 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
209
210 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
211
212 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
213
214 </ul></li>
215
216 <li>2014
217 <ul>
218
219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
220
221 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
222
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
224
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
226
227 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
228
229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
230
231 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
232
233 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
234
235 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
236
237 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
238
239 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
240
241 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
242
243 </ul></li>
244
245 <li>2013
246 <ul>
247
248 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
249
250 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
251
252 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
253
254 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
255
256 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
257
258 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
259
260 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
261
262 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
263
264 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
265
266 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
267
268 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
269
270 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
271
272 </ul></li>
273
274 <li>2012
275 <ul>
276
277 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
278
279 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
280
281 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
282
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
284
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
286
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
288
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
290
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
292
293 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
294
295 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
296
297 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
298
299 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
300
301 </ul></li>
302
303 <li>2011
304 <ul>
305
306 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
319
320 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
321
322 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
323
324 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
325
326 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
327
328 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
329
330 </ul></li>
331
332 <li>2010
333 <ul>
334
335 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
336
337 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
338
339 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
340
341 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
342
343 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
344
345 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
346
347 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
348
349 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
350
351 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
352
353 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
354
355 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
356
357 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
358
359 </ul></li>
360
361 <li>2009
362 <ul>
363
364 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
385
386 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
387
388 </ul></li>
389
390 <li>2008
391 <ul>
392
393 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
394
395 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
396
397 </ul></li>
398
399 </ul>
400
401
402
403 <h2>Tags</h2>
404 <ul>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (10)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (165)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (25)</a></li>
433
434 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
435
436 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (395)</a></li>
437
438 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
439
440 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (13)</a></li>
441
442 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (32)</a></li>
443
444 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
445
446 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (19)</a></li>
447
448 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
449
450 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
451
452 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
453
454 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
457
458 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
459
460 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
461
462 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
463
464 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
465
466 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
467
468 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
469
470 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (41)</a></li>
471
472 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (11)</a></li>
473
474 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (300)</a></li>
475
476 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (191)</a></li>
477
478 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (34)</a></li>
479
480 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
481
482 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (72)</a></li>
483
484 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (108)</a></li>
485
486 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
487
488 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
489
490 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
491
492 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
493
494 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
495
496 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
497
498 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (6)</a></li>
499
500 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
501
502 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (55)</a></li>
503
504 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
505
506 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
507
508 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (58)</a></li>
509
510 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
511
512 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
513
514 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (55)</a></li>
515
516 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
517
518 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
519
520 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
521
522 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (14)</a></li>
523
524 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (71)</a></li>
525
526 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
527
528 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
529
530 </ul>
531
532
533 </div>
534 <p style="text-align: right">
535 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
536 </p>
537
538 </body>
539 </html>