]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2017/03/index.html
Generated.
[homepage.git] / blog / archive / 2017 / 03 / index.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: entries from March 2017</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://www.hungry.com/~pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://www.hungry.com/~pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="03.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://www.hungry.com/~pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from March 2017.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://www.hungry.com/~pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html">Free software archive system Nikita now able to store documents</a>
27 </div>
28 <div class="date">
29 19th March 2017
30 </div>
31 <div class="body">
32 <p>The <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
33 Noark 5 core project</a> is implementing the Norwegian standard for
34 keeping an electronic archive of government documents.
35 <a href="http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
36 Noark 5 standard</a> document the requirement for data systems used by
37 the archives in the Norwegian government, and the Noark 5 web interface
38 specification document a REST web service for storing, searching and
39 retrieving documents and metadata in such archive. I've been involved
40 in the project since a few weeks before Christmas, when the Norwegian
41 Unix User Group
42 <a href="https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
43 it supported the project</a>. I believe this is an important project,
44 and hope it can make it possible for the government archives in the
45 future to use free software to keep the archives we citizens depend
46 on. But as I do not hold such archive myself, personally my first use
47 case is to store and analyse public mail journal metadata published
48 from the government. I find it useful to have a clear use case in
49 mind when developing, to make sure the system scratches one of my
50 itches.</p>
51
52 <p>If you would like to help make sure there is a free software
53 alternatives for the archives, please join our IRC channel
54 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
55 irc.freenode.net</a>) and
56 <a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">the
57 project mailing list</a>.</p>
58
59 <p>When I got involved, the web service could store metadata about
60 documents. But a few weeks ago, a new milestone was reached when it
61 became possible to store full text documents too. Yesterday, I
62 completed an implementation of a command line tool
63 <tt>archive-pdf</tt> to upload a PDF file to the archive using this
64 API. The tool is very simple at the moment, and find existing
65 <a href="https://en.wikipedia.org/wiki/Fonds">fonds</a>, series and
66 files while asking the user to select which one to use if more than
67 one exist. Once a file is identified, the PDF is associated with the
68 file and uploaded, using the title extracted from the PDF itself. The
69 process is fairly similar to visiting the archive, opening a cabinet,
70 locating a file and storing a piece of paper in the archive. Here is
71 a test run directly after populating the database with test data using
72 our API tester:</p>
73
74 <p><blockquote><pre>
75 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
76 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
77 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
78
79 0 - Title of the test case file created 2017-03-18T23:49:32.103446
80 1 - Title of the test file created 2017-03-18T23:49:32.103446
81 Select which mappe you want (or search term): 0
82 Uploading mangelmelding/mangler.pdf
83 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
84 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
85 ~/src//noark5-tester$
86 </pre></blockquote></p>
87
88 <p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
89 one option, while the user need to choose which file (mappe) to use
90 among the two created by the API tester. The <tt>archive-pdf</tt>
91 tool can be found in the git repository for the API tester.</p>
92
93 <p>In the project, I have been mostly working on
94 <a href="https://github.com/petterreinholdtsen/noark5-tester">the API
95 tester</a> so far, while getting to know the code base. The API
96 tester currently use
97 <a href="https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links</a>
98 to traverse the entire exposed service API and verify that the exposed
99 operations and objects match the specification, as well as trying to
100 create objects holding metadata and uploading a simple XML file to
101 store. The tester has proved very useful for finding flaws in our
102 implementation, as well as flaws in the reference site and the
103 specification.</p>
104
105 <p>The test document I uploaded is a summary of all the specification
106 defects we have collected so far while implementing the web service.
107 There are several unclear and conflicting parts of the specification,
108 and we have
109 <a href="https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
110 writing down</a> the questions we get from implementing it. We use a
111 format inspired by how <a href="http://www.opengroup.org/austin/">The
112 Austin Group</a> collect defect reports for the POSIX standard with
113 <a href="http://www.opengroup.org/austin/mantis.html">their
114 instructions for the MANTIS defect tracker system</a>, in lack of an official way to structure defect reports for Noark 5 (our first submitted defect report was a <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md">request for a procedure for submitting defect reports</a> :).
115
116 <p>The Nikita project is implemented using Java and Spring, and is
117 fairly easy to get up and running using Docker containers for those
118 that want to test the current code base. The API tester is
119 implemented in Python.</p>
120
121 </div>
122 <div class="tags">
123
124
125 Tags: <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5</a>, <a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug</a>, <a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://www.hungry.com/~pere/blog/tags/standard">standard</a>.
126
127
128 </div>
129 </div>
130 <div class="padding"></div>
131
132 <div class="entry">
133 <div class="title">
134 <a href="http://www.hungry.com/~pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html">Detecting NFS hangs on Linux without hanging yourself...</a>
135 </div>
136 <div class="date">
137 9th March 2017
138 </div>
139 <div class="body">
140 <p>Over the years, administrating thousand of NFS mounting linux
141 computers at the time, I often needed a way to detect if the machine
142 was experiencing NFS hang. If you try to use <tt>df</tt> or look at a
143 file or directory affected by the hang, the process (and possibly the
144 shell) will hang too. So you want to be able to detect this without
145 risking the detection process getting stuck too. It has not been
146 obvious how to do this. When the hang has lasted a while, it is
147 possible to find messages like these in dmesg:</p>
148
149 <p><blockquote>
150 nfs: server nfsserver not responding, still trying
151 <br>nfs: server nfsserver OK
152 </blockquote></p>
153
154 <p>It is hard to know if the hang is still going on, and it is hard to
155 be sure looking in dmesg is going to work. If there are lots of other
156 messages in dmesg the lines might have rotated out of site before they
157 are noticed.</p>
158
159 <p>While reading through the nfs client implementation in linux kernel
160 code, I came across some statistics that seem to give a way to detect
161 it. The om_timeouts sunrpc value in the kernel will increase every
162 time the above log entry is inserted into dmesg. And after digging a
163 bit further, I discovered that this value show up in
164 /proc/self/mountstats on Linux.</p>
165
166 <p>The mountstats content seem to be shared between files using the
167 same file system context, so it is enough to check one of the
168 mountstats files to get the state of the mount point for the machine.
169 I assume this will not show lazy umounted NFS points, nor NFS mount
170 points in a different process context (ie with a different filesystem
171 view), but that does not worry me.</p>
172
173 <p>The content for a NFS mount point look similar to this:</p>
174
175 <p><blockquote><pre>
176 [...]
177 device /dev/mapper/Debian-var mounted on /var with fstype ext3
178 device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
179 opts: rw,vers=3,rsize=65536,wsize=65536,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,soft,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.240.3.145,mountvers=3,mountport=4048,mountproto=udp,local_lock=all
180 age: 7863311
181 caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
182 sec: flavor=1,pseudoflavor=1
183 events: 61063112 732346265 1028140 35486205 16220064 8162542 761447191 71714012 37189 3891185 45561809 110486139 4850138 420353 15449177 296502 52736725 13523379 0 52182 9016896 1231 0 0 0 0 0
184 bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
185 RPC iostats version: 1.0 p/v: 100003/3 (nfs)
186 xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
187 per-op statistics
188 NULL: 0 0 0 0 0 0 0 0
189 GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
190 SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
191 LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
192 ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
193 READLINK: 125 125 0 20472 18620 0 1112 1118
194 READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
195 WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
196 CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
197 MKDIR: 3680 3680 0 773980 993920 26 23990 24245
198 SYMLINK: 903 903 0 233428 245488 6 5865 5917
199 MKNOD: 80 80 0 20148 21760 0 299 304
200 REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
201 RMDIR: 3367 3367 0 645112 484848 22 5782 6002
202 RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
203 LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
204 READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
205 READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
206 FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
207 FSINFO: 2 2 0 232 328 0 1 1
208 PATHCONF: 1 1 0 116 140 0 0 0
209 COMMIT: 0 0 0 0 0 0 0 0
210
211 device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
212 [...]
213 </pre></blockquote></p>
214
215 <p>The key number to look at is the third number in the per-op list.
216 It is the number of NFS timeouts experiences per file system
217 operation. Here 22 write timeouts and 5 access timeouts. If these
218 numbers are increasing, I believe the machine is experiencing NFS
219 hang. Unfortunately the timeout value do not start to increase right
220 away. The NFS operations need to time out first, and this can take a
221 while. The exact timeout value depend on the setup. For example the
222 defaults for TCP and UDP mount points are quite different, and the
223 timeout value is affected by the soft, hard, timeo and retrans NFS
224 mount options.</p>
225
226 <p>The only way I have been able to get working on Debian and RedHat
227 Enterprise Linux for getting the timeout count is to peek in /proc/.
228 But according to
229 <ahref="http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html">Solaris
230 10 System Administration Guide: Network Services</a>, the 'nfsstat -c'
231 command can be used to get these timeout values. But this do not work
232 on Linux, as far as I can tell. I
233 <ahref="http://bugs.debian.org/857043">asked Debian about this</a>,
234 but have not seen any replies yet.</p>
235
236 <p>Is there a better way to figure out if a Linux NFS client is
237 experiencing NFS hangs? Is there a way to detect which processes are
238 affected? Is there a way to get the NFS mount going quickly once the
239 network problem causing the NFS hang has been cleared? I would very
240 much welcome some clues, as we regularly run into NFS hangs.</p>
241
242 </div>
243 <div class="tags">
244
245
246 Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin</a>.
247
248
249 </div>
250 </div>
251 <div class="padding"></div>
252
253 <div class="entry">
254 <div class="title">
255 <a href="http://www.hungry.com/~pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html">How does it feel to be wiretapped, when you should be doing the wiretapping...</a>
256 </div>
257 <div class="date">
258 8th March 2017
259 </div>
260 <div class="body">
261 <p>So the new president in the United States of America claim to be
262 surprised to discover that he was wiretapped during the election
263 before he was elected president. He even claim this must be illegal.
264 Well, doh, if it is one thing the confirmations from Snowden
265 documented, it is that the entire population in USA is wiretapped, one
266 way or another. Of course the president candidates were wiretapped,
267 alongside the senators, judges and the rest of the people in USA.</p>
268
269 <p>Next, the Federal Bureau of Investigation ask the Department of
270 Justice to go public rejecting the claims that Donald Trump was
271 wiretapped illegally. I fail to see the relevance, given that I am
272 sure the surveillance industry in USA believe they have all the legal
273 backing they need to conduct mass surveillance on the entire
274 world.</p>
275
276 <p>There is even the director of the FBI stating that he never saw an
277 order requesting wiretapping of Donald Trump. That is not very
278 surprising, given how the FISA court work, with all its activity being
279 secret. Perhaps he only heard about it?</p>
280
281 <p>What I find most sad in this story is how Norwegian journalists
282 present it. In a news reports the other day in the radio from the
283 Norwegian National broadcasting Company (NRK), I heard the journalist
284 claim that 'the FBI denies any wiretapping', while the reality is that
285 'the FBI denies any illegal wiretapping'. There is a fundamental and
286 important difference, and it make me sad that the journalists are
287 unable to grasp it.</p>
288
289 <p><strong>Update 2017-03-13:</strong> Look like
290 <a href="https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/">The
291 Intercept report that US Senator Rand Paul confirm what I state above</a>.</p>
292
293 </div>
294 <div class="tags">
295
296
297 Tags: <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/surveillance">surveillance</a>.
298
299
300 </div>
301 </div>
302 <div class="padding"></div>
303
304 <div class="entry">
305 <div class="title">
306 <a href="http://www.hungry.com/~pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html">Norwegian Bokmål translation of The Debian Administrator's Handbook complete, proofreading in progress</a>
307 </div>
308 <div class="date">
309 3rd March 2017
310 </div>
311 <div class="body">
312 <p>For almost a year now, we have been working on making a Norwegian
313 Bokmål edition of <a href="https://debian-handbook.info/">The Debian
314 Administrator's Handbook</a>. Now, thanks to the tireless effort of
315 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
316 we are working on the proof reading to ensure consistent language and
317 use of correct computer science terms. The plan is to make the book
318 available on paper, as well as in electronic form. For that to
319 happen, the proof reading must be completed and all the figures need
320 to be translated. If you want to help out, get in touch.</p>
321
322 <p><a href="http://www.hungry.com/~pere/debian-handbook/debian-handbook-nb-NO.pdf">A
323
324 fresh PDF edition</a> in A4 format (the final book will have smaller
325 pages) of the book created every morning is available for
326 proofreading. If you find any errors, please
327 <a href="https://hosted.weblate.org/projects/debian-handbook/">visit
328 Weblate and correct the error</a>. The
329 <a href="http://l.github.io/debian-handbook/stat/nb-NO/index.html">state
330 of the translation including figures</a> is a useful source for those
331 provide Norwegian bokmål screen shots and figures.</p>
332
333 </div>
334 <div class="tags">
335
336
337 Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>.
338
339
340 </div>
341 </div>
342 <div class="padding"></div>
343
344 <div class="entry">
345 <div class="title">
346 <a href="http://www.hungry.com/~pere/blog/Unlimited_randomness_with_the_ChaosKey_.html">Unlimited randomness with the ChaosKey?</a>
347 </div>
348 <div class="date">
349 1st March 2017
350 </div>
351 <div class="body">
352 <p>A few days ago I ordered a small batch of
353 <a href="http://altusmetrum.org/ChaosKey/">the ChaosKey</a>, a small
354 USB dongle for generating entropy created by Bdale Garbee and Keith
355 Packard. Yesterday it arrived, and I am very happy to report that it
356 work great! According to its designers, to get it to work out of the
357 box, you need the Linux kernel version 4.1 or later. I tested on a
358 Debian Stretch machine (kernel version 4.9), and there it worked just
359 fine, increasing the available entropy very quickly. I wrote a small
360 test oneliner to test. It first print the current entropy level,
361 drain /dev/random, and then print the entropy level for five seconds.
362 Here is the situation without the ChaosKey inserted:</p>
363
364 <blockquote><pre>
365 % cat /proc/sys/kernel/random/entropy_avail; \
366 dd bs=1M if=/dev/random of=/dev/null count=1; \
367 for n in $(seq 1 5); do \
368 cat /proc/sys/kernel/random/entropy_avail; \
369 sleep 1; \
370 done
371 300
372 0+1 oppføringer inn
373 0+1 oppføringer ut
374 28 byte kopiert, 0,000264565 s, 106 kB/s
375 4
376 8
377 12
378 17
379 21
380 %
381 </pre></blockquote>
382
383 <p>The entropy level increases by 3-4 every second. In such case any
384 application requiring random bits (like a HTTPS enabled web server)
385 will halt and wait for more entrpy. And here is the situation with
386 the ChaosKey inserted:</p>
387
388 <blockquote><pre>
389 % cat /proc/sys/kernel/random/entropy_avail; \
390 dd bs=1M if=/dev/random of=/dev/null count=1; \
391 for n in $(seq 1 5); do \
392 cat /proc/sys/kernel/random/entropy_avail; \
393 sleep 1; \
394 done
395 1079
396 0+1 oppføringer inn
397 0+1 oppføringer ut
398 104 byte kopiert, 0,000487647 s, 213 kB/s
399 433
400 1028
401 1031
402 1035
403 1038
404 %
405 </pre></blockquote>
406
407 <p>Quite the difference. :) I bought a few more than I need, in case
408 someone want to buy one here in Norway. :)</p>
409
410 <p>Update: The dongle was presented at Debconf last year. You might
411 find <a href="https://debconf16.debconf.org/talks/94/">the talk
412 recording illuminating</a>. It explains exactly what the source of
413 randomness is, if you are unable to spot it from the schema drawing
414 available from the ChaosKey web site linked at the start of this blog
415 post.</p>
416
417 </div>
418 <div class="tags">
419
420
421 Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>.
422
423
424 </div>
425 </div>
426 <div class="padding"></div>
427
428 <p style="text-align: right;"><a href="03.rss"><img src="http://www.hungry.com/~pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
429 <div id="sidebar">
430
431
432
433 <h2>Archive</h2>
434 <ul>
435
436 <li>2025
437 <ul>
438
439 <li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (4)</a></li>
440
441 <li><a href="http://www.hungry.com/~pere/blog/archive/2025/02/">February (3)</a></li>
442
443 </ul></li>
444
445 <li>2024
446 <ul>
447
448 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/01/">January (1)</a></li>
449
450 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/02/">February (1)</a></li>
451
452 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/03/">March (2)</a></li>
453
454 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/04/">April (3)</a></li>
455
456 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/05/">May (1)</a></li>
457
458 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/06/">June (1)</a></li>
459
460 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/07/">July (2)</a></li>
461
462 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/12/">December (1)</a></li>
463
464 </ul></li>
465
466 <li>2023
467 <ul>
468
469 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/01/">January (3)</a></li>
470
471 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/02/">February (1)</a></li>
472
473 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/04/">April (2)</a></li>
474
475 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/05/">May (3)</a></li>
476
477 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/06/">June (1)</a></li>
478
479 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/08/">August (1)</a></li>
480
481 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/09/">September (1)</a></li>
482
483 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/10/">October (1)</a></li>
484
485 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/11/">November (4)</a></li>
486
487 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/12/">December (1)</a></li>
488
489 </ul></li>
490
491 <li>2022
492 <ul>
493
494 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/02/">February (1)</a></li>
495
496 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/03/">March (3)</a></li>
497
498 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/04/">April (2)</a></li>
499
500 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/06/">June (2)</a></li>
501
502 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/07/">July (1)</a></li>
503
504 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/09/">September (1)</a></li>
505
506 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/10/">October (1)</a></li>
507
508 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/12/">December (1)</a></li>
509
510 </ul></li>
511
512 <li>2021
513 <ul>
514
515 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/01/">January (2)</a></li>
516
517 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/02/">February (1)</a></li>
518
519 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/05/">May (1)</a></li>
520
521 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/06/">June (1)</a></li>
522
523 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/07/">July (3)</a></li>
524
525 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/08/">August (1)</a></li>
526
527 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/09/">September (1)</a></li>
528
529 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/10/">October (1)</a></li>
530
531 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/12/">December (1)</a></li>
532
533 </ul></li>
534
535 <li>2020
536 <ul>
537
538 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/02/">February (2)</a></li>
539
540 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/03/">March (2)</a></li>
541
542 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/04/">April (2)</a></li>
543
544 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/05/">May (3)</a></li>
545
546 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/06/">June (2)</a></li>
547
548 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/07/">July (1)</a></li>
549
550 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/09/">September (1)</a></li>
551
552 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/10/">October (1)</a></li>
553
554 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/11/">November (1)</a></li>
555
556 </ul></li>
557
558 <li>2019
559 <ul>
560
561 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/01/">January (4)</a></li>
562
563 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/02/">February (3)</a></li>
564
565 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/03/">March (3)</a></li>
566
567 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/05/">May (2)</a></li>
568
569 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/06/">June (5)</a></li>
570
571 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/07/">July (2)</a></li>
572
573 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/08/">August (1)</a></li>
574
575 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/09/">September (1)</a></li>
576
577 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/11/">November (1)</a></li>
578
579 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/12/">December (4)</a></li>
580
581 </ul></li>
582
583 <li>2018
584 <ul>
585
586 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/01/">January (1)</a></li>
587
588 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/02/">February (5)</a></li>
589
590 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/03/">March (5)</a></li>
591
592 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/04/">April (3)</a></li>
593
594 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/06/">June (2)</a></li>
595
596 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/07/">July (5)</a></li>
597
598 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/08/">August (3)</a></li>
599
600 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/09/">September (3)</a></li>
601
602 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/10/">October (5)</a></li>
603
604 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/11/">November (2)</a></li>
605
606 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/12/">December (4)</a></li>
607
608 </ul></li>
609
610 <li>2017
611 <ul>
612
613 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/01/">January (4)</a></li>
614
615 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/02/">February (3)</a></li>
616
617 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/03/">March (5)</a></li>
618
619 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/04/">April (2)</a></li>
620
621 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/06/">June (5)</a></li>
622
623 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/07/">July (1)</a></li>
624
625 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/08/">August (1)</a></li>
626
627 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/09/">September (3)</a></li>
628
629 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/10/">October (5)</a></li>
630
631 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/11/">November (3)</a></li>
632
633 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/12/">December (4)</a></li>
634
635 </ul></li>
636
637 <li>2016
638 <ul>
639
640 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/01/">January (3)</a></li>
641
642 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/02/">February (2)</a></li>
643
644 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/03/">March (3)</a></li>
645
646 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/04/">April (8)</a></li>
647
648 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/05/">May (8)</a></li>
649
650 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/06/">June (2)</a></li>
651
652 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/07/">July (2)</a></li>
653
654 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/08/">August (5)</a></li>
655
656 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/09/">September (2)</a></li>
657
658 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/10/">October (3)</a></li>
659
660 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/11/">November (8)</a></li>
661
662 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/12/">December (5)</a></li>
663
664 </ul></li>
665
666 <li>2015
667 <ul>
668
669 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/01/">January (7)</a></li>
670
671 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/02/">February (6)</a></li>
672
673 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/03/">March (1)</a></li>
674
675 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/04/">April (4)</a></li>
676
677 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/05/">May (3)</a></li>
678
679 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/06/">June (4)</a></li>
680
681 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/07/">July (6)</a></li>
682
683 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/08/">August (2)</a></li>
684
685 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/09/">September (2)</a></li>
686
687 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/10/">October (9)</a></li>
688
689 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/11/">November (6)</a></li>
690
691 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/12/">December (3)</a></li>
692
693 </ul></li>
694
695 <li>2014
696 <ul>
697
698 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/01/">January (2)</a></li>
699
700 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/02/">February (3)</a></li>
701
702 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/03/">March (8)</a></li>
703
704 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/04/">April (7)</a></li>
705
706 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/05/">May (1)</a></li>
707
708 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/06/">June (2)</a></li>
709
710 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/07/">July (2)</a></li>
711
712 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/08/">August (2)</a></li>
713
714 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/09/">September (5)</a></li>
715
716 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/10/">October (6)</a></li>
717
718 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/11/">November (3)</a></li>
719
720 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/12/">December (5)</a></li>
721
722 </ul></li>
723
724 <li>2013
725 <ul>
726
727 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/01/">January (11)</a></li>
728
729 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/02/">February (9)</a></li>
730
731 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/03/">March (9)</a></li>
732
733 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/04/">April (6)</a></li>
734
735 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/05/">May (9)</a></li>
736
737 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/06/">June (10)</a></li>
738
739 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/07/">July (7)</a></li>
740
741 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/08/">August (3)</a></li>
742
743 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/09/">September (5)</a></li>
744
745 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/10/">October (7)</a></li>
746
747 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/11/">November (9)</a></li>
748
749 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/12/">December (3)</a></li>
750
751 </ul></li>
752
753 <li>2012
754 <ul>
755
756 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/01/">January (7)</a></li>
757
758 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/02/">February (10)</a></li>
759
760 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/03/">March (17)</a></li>
761
762 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/04/">April (12)</a></li>
763
764 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/05/">May (12)</a></li>
765
766 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/06/">June (20)</a></li>
767
768 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/07/">July (17)</a></li>
769
770 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/08/">August (6)</a></li>
771
772 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/09/">September (9)</a></li>
773
774 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/10/">October (17)</a></li>
775
776 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/11/">November (10)</a></li>
777
778 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/12/">December (7)</a></li>
779
780 </ul></li>
781
782 <li>2011
783 <ul>
784
785 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/01/">January (16)</a></li>
786
787 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/02/">February (6)</a></li>
788
789 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/03/">March (6)</a></li>
790
791 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/04/">April (7)</a></li>
792
793 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/05/">May (3)</a></li>
794
795 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/06/">June (2)</a></li>
796
797 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/07/">July (7)</a></li>
798
799 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/08/">August (6)</a></li>
800
801 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/09/">September (4)</a></li>
802
803 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/10/">October (2)</a></li>
804
805 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/11/">November (3)</a></li>
806
807 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/12/">December (1)</a></li>
808
809 </ul></li>
810
811 <li>2010
812 <ul>
813
814 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/01/">January (2)</a></li>
815
816 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/02/">February (1)</a></li>
817
818 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/03/">March (3)</a></li>
819
820 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/04/">April (3)</a></li>
821
822 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/05/">May (9)</a></li>
823
824 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/06/">June (14)</a></li>
825
826 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/07/">July (12)</a></li>
827
828 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/08/">August (13)</a></li>
829
830 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/09/">September (7)</a></li>
831
832 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/10/">October (9)</a></li>
833
834 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/11/">November (13)</a></li>
835
836 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/12/">December (12)</a></li>
837
838 </ul></li>
839
840 <li>2009
841 <ul>
842
843 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/01/">January (8)</a></li>
844
845 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/02/">February (8)</a></li>
846
847 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/03/">March (12)</a></li>
848
849 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/04/">April (10)</a></li>
850
851 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/05/">May (9)</a></li>
852
853 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/06/">June (3)</a></li>
854
855 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/07/">July (4)</a></li>
856
857 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/08/">August (3)</a></li>
858
859 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/09/">September (1)</a></li>
860
861 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/10/">October (2)</a></li>
862
863 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/11/">November (3)</a></li>
864
865 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/12/">December (3)</a></li>
866
867 </ul></li>
868
869 <li>2008
870 <ul>
871
872 <li><a href="http://www.hungry.com/~pere/blog/archive/2008/11/">November (5)</a></li>
873
874 <li><a href="http://www.hungry.com/~pere/blog/archive/2008/12/">December (7)</a></li>
875
876 </ul></li>
877
878 </ul>
879
880
881
882 <h2>Tags</h2>
883 <ul>
884
885 <li><a href="http://www.hungry.com/~pere/blog/tags/3d-printer">3d-printer (19)</a></li>
886
887 <li><a href="http://www.hungry.com/~pere/blog/tags/amiga">amiga (1)</a></li>
888
889 <li><a href="http://www.hungry.com/~pere/blog/tags/aros">aros (1)</a></li>
890
891 <li><a href="http://www.hungry.com/~pere/blog/tags/bankid">bankid (4)</a></li>
892
893 <li><a href="http://www.hungry.com/~pere/blog/tags/betalkontant">betalkontant (9)</a></li>
894
895 <li><a href="http://www.hungry.com/~pere/blog/tags/bitcoin">bitcoin (13)</a></li>
896
897 <li><a href="http://www.hungry.com/~pere/blog/tags/bootsystem">bootsystem (17)</a></li>
898
899 <li><a href="http://www.hungry.com/~pere/blog/tags/bsa">bsa (2)</a></li>
900
901 <li><a href="http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (3)</a></li>
902
903 <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (209)</a></li>
904
905 <li><a href="http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (159)</a></li>
906
907 <li><a href="http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook (9)</a></li>
908
909 <li><a href="http://www.hungry.com/~pere/blog/tags/digistan">digistan (11)</a></li>
910
911 <li><a href="http://www.hungry.com/~pere/blog/tags/dld">dld (18)</a></li>
912
913 <li><a href="http://www.hungry.com/~pere/blog/tags/docbook">docbook (33)</a></li>
914
915 <li><a href="http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
916
917 <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (471)</a></li>
918
919 <li><a href="http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
920
921 <li><a href="http://www.hungry.com/~pere/blog/tags/fildeling">fildeling (14)</a></li>
922
923 <li><a href="http://www.hungry.com/~pere/blog/tags/freeculture">freeculture (34)</a></li>
924
925 <li><a href="http://www.hungry.com/~pere/blog/tags/freedombox">freedombox (9)</a></li>
926
927 <li><a href="http://www.hungry.com/~pere/blog/tags/frikanalen">frikanalen (20)</a></li>
928
929 <li><a href="http://www.hungry.com/~pere/blog/tags/h264">h264 (20)</a></li>
930
931 <li><a href="http://www.hungry.com/~pere/blog/tags/intervju">intervju (43)</a></li>
932
933 <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (21)</a></li>
934
935 <li><a href="http://www.hungry.com/~pere/blog/tags/kart">kart (23)</a></li>
936
937 <li><a href="http://www.hungry.com/~pere/blog/tags/kodi">kodi (6)</a></li>
938
939 <li><a href="http://www.hungry.com/~pere/blog/tags/ldap">ldap (9)</a></li>
940
941 <li><a href="http://www.hungry.com/~pere/blog/tags/lego">lego (5)</a></li>
942
943 <li><a href="http://www.hungry.com/~pere/blog/tags/lenker">lenker (8)</a></li>
944
945 <li><a href="http://www.hungry.com/~pere/blog/tags/linuxcnc">linuxcnc (8)</a></li>
946
947 <li><a href="http://www.hungry.com/~pere/blog/tags/lsdvd">lsdvd (3)</a></li>
948
949 <li><a href="http://www.hungry.com/~pere/blog/tags/ltsp">ltsp (1)</a></li>
950
951 <li><a href="http://www.hungry.com/~pere/blog/tags/madewithcc">madewithcc (3)</a></li>
952
953 <li><a href="http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (8)</a></li>
954
955 <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (48)</a></li>
956
957 <li><a href="http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (15)</a></li>
958
959 <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (27)</a></li>
960
961 <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (326)</a></li>
962
963 <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (200)</a></li>
964
965 <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (42)</a></li>
966
967 <li><a href="http://www.hungry.com/~pere/blog/tags/open311">open311 (2)</a></li>
968
969 <li><a href="http://www.hungry.com/~pere/blog/tags/opensnitch">opensnitch (4)</a></li>
970
971 <li><a href="http://www.hungry.com/~pere/blog/tags/opphavsrett">opphavsrett (76)</a></li>
972
973 <li><a href="http://www.hungry.com/~pere/blog/tags/personvern">personvern (114)</a></li>
974
975 <li><a href="http://www.hungry.com/~pere/blog/tags/raid">raid (4)</a></li>
976
977 <li><a href="http://www.hungry.com/~pere/blog/tags/reactos">reactos (1)</a></li>
978
979 <li><a href="http://www.hungry.com/~pere/blog/tags/reprap">reprap (11)</a></li>
980
981 <li><a href="http://www.hungry.com/~pere/blog/tags/rfid">rfid (3)</a></li>
982
983 <li><a href="http://www.hungry.com/~pere/blog/tags/robot">robot (17)</a></li>
984
985 <li><a href="http://www.hungry.com/~pere/blog/tags/rss">rss (1)</a></li>
986
987 <li><a href="http://www.hungry.com/~pere/blog/tags/ruter">ruter (7)</a></li>
988
989 <li><a href="http://www.hungry.com/~pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
990
991 <li><a href="http://www.hungry.com/~pere/blog/tags/sikkerhet">sikkerhet (60)</a></li>
992
993 <li><a href="http://www.hungry.com/~pere/blog/tags/sitesummary">sitesummary (4)</a></li>
994
995 <li><a href="http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (5)</a></li>
996
997 <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (80)</a></li>
998
999 <li><a href="http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
1000
1001 <li><a href="http://www.hungry.com/~pere/blog/tags/stortinget">stortinget (14)</a></li>
1002
1003 <li><a href="http://www.hungry.com/~pere/blog/tags/surveillance">surveillance (65)</a></li>
1004
1005 <li><a href="http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin (6)</a></li>
1006
1007 <li><a href="http://www.hungry.com/~pere/blog/tags/usenix">usenix (2)</a></li>
1008
1009 <li><a href="http://www.hungry.com/~pere/blog/tags/valg">valg (9)</a></li>
1010
1011 <li><a href="http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (23)</a></li>
1012
1013 <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (82)</a></li>
1014
1015 <li><a href="http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1016
1017 <li><a href="http://www.hungry.com/~pere/blog/tags/web">web (42)</a></li>
1018
1019 </ul>
1020
1021
1022 </div>
1023 <p style="text-align: right">
1024 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1025 </p>
1026
1027 </body>
1028 </html>