]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2018/10/index.html
New post on VLC plugin.
[homepage.git] / blog / archive / 2018 / 10 / 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 October 2018</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 <link rel="alternate" title="RSS Feed" href="10.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
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 <h3>Entries from October 2018.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html">Release 0.2 of free software archive system Nikita announced</a>
27 </div>
28 <div class="date">
29 18th October 2018
30 </div>
31 <div class="body">
32 <p>This morning, the new release of the
33 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
34 Noark 5 core project</a> was
35 <a href="https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
36 on the project mailing list</a>. The free software solution is an
37 implementation of the Norwegian archive standard Noark 5 used by
38 government offices in Norway. These were the changes in version 0.2
39 since version 0.1.1 (from NEWS.md):
40
41 <ul>
42 <li>Fix typos in REL names</li>
43 <li>Tidy up error message reporting</li>
44 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()</li>
45 <li>Change some String handling to StringBuffer</li>
46 <li>Fix error reporting</li>
47 <li>Code tidy-up</li>
48 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
49 race conditions</li>
50 <li>Fix problem where deserialisers were treating integers as strings</li>
51 <li>Update methods to make them null-safe</li>
52 <li>Fix many issues reported by coverity</li>
53 <li>Improve equals(), compareTo() and hash() in domain model</li>
54 <li>Improvements to the domain model for metadata classes</li>
55 <li>Fix CORS issues when downloading document</li>
56 <li>Implementation of case-handling with registryEntry and document upload</li>
57 <li>Better support in Javascript for OPTIONS</li>
58 <li>Adding concept description of mail integration</li>
59 <li>Improve setting of default values for GET on ny-journalpost</li>
60 <li>Better handling of required values during deserialisation </li>
61 <li>Changed tilknyttetDato (M620) from date to dateTime</li>
62 <li>Corrected some opprettetDato (M600) (de)serialisation errors.</li>
63 <li>Improve parse error reporting.</li>
64 <li>Started on OData search and filtering.</li>
65 <li>Added Contributor Covenant Code of Conduct to project.</li>
66 <li>Moved repository and project from Github to Gitlab.</li>
67 <li>Restructured repository, moved code into src/ and web/.</li>
68 <li>Updated code to use Spring Boot version 2.</li>
69 <li>Added support for OAuth2 authentication.</li>
70 <li>Fixed several bugs discovered by Coverity.</li>
71 <li>Corrected handling of date/datetime fields.</li>
72 <li>Improved error reporting when rejecting during deserializatoin.</li>
73 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
74 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.</li>
75 <li>Several fixes for korrespondansepart*.</li>
76 <li>Updated web GUI:
77 <ul>
78 <li>Now handle both file upload and download.</li>
79 <li>Uses new OAuth2 authentication for login.</li>
80 <li>Forms now fetches default values from API using GET.</li>
81 <li>Added RFC 822 (email), TIFF and JPEG to list of possible file formats.</li>
82 </ul></li>
83 </ul>
84
85 <p>The changes and improvements are extensive. Running diffstat on
86 the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
87 108666 insertions(+), 54066 deletions(-).</p>
88
89 <p>If free and open standardized archiving API sound interesting to
90 you, please contact us on IRC
91 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
92 irc.freenode.net</a>) or email
93 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
94 mailing list</a>).</p>
95
96 <p>As usual, if you use Bitcoin and want to show your support of my
97 activities, please send Bitcoin donations to my address
98 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
99
100 </div>
101 <div class="tags">
102
103
104 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
105
106
107 </div>
108 </div>
109 <div class="padding"></div>
110
111 <div class="entry">
112 <div class="title">
113 <a href="http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html">Fetching trusted timestamps using the rfc3161ng python module</a>
114 </div>
115 <div class="date">
116 8th October 2018
117 </div>
118 <div class="body">
119 <p>I have earlier covered the basics of trusted timestamping using the
120 'openssl ts' client. See blog post for
121 <a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
122 <a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
123 and
124 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
125 for those stories. But some times I want to integrate the timestamping
126 in other code, and recently I needed to integrate it into Python.
127 After searching a bit, I found
128 <a href="https://dev.entrouvert.org/projects/python-rfc3161">the
129 rfc3161 library</a> which seemed like a good fit, but I soon
130 discovered it only worked for python version 2, and I needed something
131 that work with python version 3. Luckily I next came across
132 <a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
133 a fork of the original rfc3161 library. Not only is it working with
134 python 3, it have fixed a few of the bugs in the original library, and
135 it has an active maintainer. I decided to wrap it up and make it
136 <a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
137 Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
138
139 <p>Using the library is fairly straight forward. The only slightly
140 problematic step is to fetch the required certificates to verify the
141 timestamp. For some services it is straight forward, while for others
142 I have not yet figured out how to do it. Here is a small standalone
143 code example based on of the integration tests in the library code:</p>
144
145 <pre>
146 #!/usr/bin/python3
147
148 """
149
150 Python 3 script demonstrating how to use the rfc3161ng module to
151 get trusted timestamps.
152
153 The license of this code is the same as the license of the rfc3161ng
154 library, ie MIT/BSD.
155
156 """
157
158 import os
159 import pyasn1.codec.der
160 import rfc3161ng
161 import subprocess
162 import tempfile
163 import urllib.request
164
165 def store(f, data):
166 f.write(data)
167 f.flush()
168 f.seek(0)
169
170 def fetch(url, f=None):
171 response = urllib.request.urlopen(url)
172 data = response.read()
173 if f:
174 store(f, data)
175 return data
176
177 def main():
178 with tempfile.NamedTemporaryFile() as cert_f,\
179 tempfile.NamedTemporaryFile() as ca_f,\
180 tempfile.NamedTemporaryFile() as msg_f,\
181 tempfile.NamedTemporaryFile() as tsr_f:
182
183 # First fetch certificates used by service
184 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
185 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
186
187 # Then timestamp the message
188 timestamper = \
189 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
190 certificate=certificate_data)
191 data = b"Python forever!\n"
192 tsr = timestamper(data=data, return_tsr=True)
193
194 # Finally, convert message and response to something 'openssl ts' can verify
195 store(msg_f, data)
196 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
197 args = ["openssl", "ts", "-verify",
198 "-data", msg_f.name,
199 "-in", tsr_f.name,
200 "-CAfile", ca_f.name,
201 "-untrusted", cert_f.name]
202 subprocess.check_call(args)
203
204 if '__main__' == __name__:
205 main()
206 </pre>
207
208 <p>The code fetches the required certificates, store them as temporary
209 files, timestamp a simple message, store the message and timestamp to
210 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
211 around 1.5 kiB in size, and should be fairly easy to store for future
212 use.</p>
213
214 <p>As usual, if you use Bitcoin and want to show your support of my
215 activities, please send Bitcoin donations to my address
216 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
217
218 </div>
219 <div class="tags">
220
221
222 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
223
224
225 </div>
226 </div>
227 <div class="padding"></div>
228
229 <div class="entry">
230 <div class="title">
231 <a href="http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html">Automatic Google Drive sync using grive in Debian</a>
232 </div>
233 <div class="date">
234 4th October 2018
235 </div>
236 <div class="body">
237 <p>A few days, I rescued a Windows victim over to Debian. To try to
238 rescue the remains, I helped set up automatic sync with Google Drive.
239 I did not find any sensible Debian package handling this
240 automatically, so I rebuild the grive2 source from
241 <a href="http://www.webupd8.org/">the Ubuntu UPD8 PPA</a> to do the
242 task and added a autostart desktop entry and a small shell script to
243 run in the background while the user is logged in to do the sync.
244 Here is a sketch of the setup for future reference.</p>
245
246 <p>I first created <tt>~/googledrive</tt>, entered the directory and
247 ran '<tt>grive -a</tt>' to authenticate the machine/user. Next, I
248 created a autostart hook in <tt>~/.config/autostart/grive.desktop</tt>
249 to start the sync when the user log in:</p>
250
251 <p><blockquote><pre>
252 [Desktop Entry]
253 Name=Google drive autosync
254 Type=Application
255 Exec=/home/user/bin/grive-sync
256 </pre></blockquote></p>
257
258 <p>Finally, I wrote the <tt>~/bin/grive-sync</tt> script to sync
259 ~/googledrive/ with the files in Google Drive.</p>
260
261 <p><blockquote><pre>
262 #!/bin/sh
263 set -e
264 cd ~/
265 cleanup() {
266 if [ "$syncpid" ] ; then
267 kill $syncpid
268 fi
269 }
270 trap cleanup EXIT INT QUIT
271 /usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" &
272 syncpdi=$!
273 while true; do
274 if ! xhost >/dev/null 2>&1 ; then
275 echo "no DISPLAY, exiting as the user probably logged out"
276 exit 1
277 fi
278 if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then
279 /usr/lib/grive/grive-sync.sh sync googledrive
280 fi
281 sleep 300
282 done 2>&1 | sed "s%^%$0:%"
283 </pre></blockquote></p>
284
285 <p>Feel free to use the setup if you want. It can be assumed to be
286 GNU GPL v2 licensed (or any later version, at your leisure), but I
287 doubt this code is possible to claim copyright on.</p>
288
289 <p>As usual, if you use Bitcoin and want to show your support of my
290 activities, please send Bitcoin donations to my address
291 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
292
293 </div>
294 <div class="tags">
295
296
297 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>.
298
299
300 </div>
301 </div>
302 <div class="padding"></div>
303
304 <p style="text-align: right;"><a href="10.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
305 <div id="sidebar">
306
307
308
309 <h2>Archive</h2>
310 <ul>
311
312 <li>2018
313 <ul>
314
315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
316
317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
318
319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
320
321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
322
323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
324
325 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
326
327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
330
331 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (3)</a></li>
332
333 </ul></li>
334
335 <li>2017
336 <ul>
337
338 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
359
360 </ul></li>
361
362 <li>2016
363 <ul>
364
365 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
366
367 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
368
369 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
370
371 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
372
373 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
374
375 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
376
377 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
378
379 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
380
381 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
382
383 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
384
385 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
386
387 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
388
389 </ul></li>
390
391 <li>2015
392 <ul>
393
394 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
395
396 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
417
418 </ul></li>
419
420 <li>2014
421 <ul>
422
423 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
424
425 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
426
427 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
428
429 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
430
431 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
432
433 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
434
435 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
436
437 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
438
439 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
440
441 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
442
443 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
444
445 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
446
447 </ul></li>
448
449 <li>2013
450 <ul>
451
452 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
453
454 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
457
458 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
459
460 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
461
462 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
463
464 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
465
466 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
467
468 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
469
470 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
471
472 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
473
474 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
475
476 </ul></li>
477
478 <li>2012
479 <ul>
480
481 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
482
483 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
484
485 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
486
487 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
488
489 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
490
491 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
492
493 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
494
495 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
496
497 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
498
499 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
500
501 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
502
503 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
504
505 </ul></li>
506
507 <li>2011
508 <ul>
509
510 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
511
512 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
513
514 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
515
516 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
517
518 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
519
520 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
521
522 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
523
524 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
525
526 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
527
528 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
529
530 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
531
532 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
533
534 </ul></li>
535
536 <li>2010
537 <ul>
538
539 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
540
541 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
542
543 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
544
545 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
546
547 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
548
549 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
550
551 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
552
553 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
554
555 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
556
557 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
558
559 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
560
561 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
562
563 </ul></li>
564
565 <li>2009
566 <ul>
567
568 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
569
570 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
571
572 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
573
574 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
575
576 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
577
578 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
579
580 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
581
582 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
583
584 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
585
586 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
587
588 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
589
590 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
591
592 </ul></li>
593
594 <li>2008
595 <ul>
596
597 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
598
599 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
600
601 </ul></li>
602
603 </ul>
604
605
606
607 <h2>Tags</h2>
608 <ul>
609
610 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
611
612 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
613
614 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
615
616 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
617
618 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (10)</a></li>
619
620 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
621
622 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
623
624 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
625
626 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (163)</a></li>
627
628 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
629
630 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
631
632 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
633
634 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
635
636 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (25)</a></li>
637
638 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
639
640 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (388)</a></li>
641
642 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
643
644 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (13)</a></li>
645
646 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (32)</a></li>
647
648 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
649
650 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
651
652 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
653
654 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
655
656 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
657
658 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
659
660 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (3)</a></li>
661
662 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
663
664 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
665
666 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
667
668 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
669
670 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
671
672 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
673
674 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (41)</a></li>
675
676 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (10)</a></li>
677
678 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (299)</a></li>
679
680 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (191)</a></li>
681
682 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (34)</a></li>
683
684 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
685
686 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (72)</a></li>
687
688 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (107)</a></li>
689
690 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
691
692 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
693
694 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
695
696 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
697
698 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
699
700 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
701
702 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (6)</a></li>
703
704 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
705
706 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (55)</a></li>
707
708 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
709
710 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
711
712 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (56)</a></li>
713
714 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
715
716 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
717
718 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (55)</a></li>
719
720 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
721
722 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
723
724 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
725
726 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (12)</a></li>
727
728 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (68)</a></li>
729
730 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
731
732 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (41)</a></li>
733
734 </ul>
735
736
737 </div>
738 <p style="text-align: right">
739 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
740 </p>
741
742 </body>
743 </html>