1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: 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" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from October
2018.
</h3>
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>
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):
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>
48 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
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>
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>
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>
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>
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>
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>.
109 <div class=
"padding"></div>
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>
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>
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>
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>
150 Python
3 script demonstrating how to use the rfc3161ng module to
151 get trusted timestamps.
153 The license of this code is the same as the license of the rfc3161ng
159 import pyasn1.codec.der
163 import urllib.request
170 def fetch(url, f=None):
171 response = urllib.request.urlopen(url)
172 data = response.read()
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:
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)
187 # Then timestamp the message
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)
194 # Finally, convert message and response to something 'openssl ts' can verify
196 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
197 args = ["openssl", "ts", "-verify",
200 "-CAfile", ca_f.name,
201 "-untrusted", cert_f.name]
202 subprocess.check_call(args)
204 if '__main__' == __name__:
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
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>
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>.
227 <div class=
"padding"></div>
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>
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>
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>
253 Name=Google drive autosync
255 Exec=/home/user/bin/grive-sync
256 </pre></blockquote></p>
258 <p>Finally, I wrote the
<tt>~/bin/grive-sync
</tt> script to sync
259 ~/googledrive/ with the files in Google Drive.
</p>
266 if [ "$syncpid" ] ; then
270 trap cleanup EXIT INT QUIT
271 /usr/lib/grive/grive-sync.sh listen googledrive
2>&
1 | sed "s%^%$
0:%" &
274 if ! xhost
>/dev/null
2>&
1 ; then
275 echo "no DISPLAY, exiting as the user probably logged out"
278 if [ ! -e /run/user/
1000/grive-sync.sh_googledrive ] ; then
279 /usr/lib/grive/grive-sync.sh sync googledrive
282 done
2>&
1 | sed "s%^%$
0:%"
283 </pre></blockquote></p>
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>
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>
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>.
302 <div class=
"padding"></div>
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>
315 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
317 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
319 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
321 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
323 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
325 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
327 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
329 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
331 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
3)
</a></li>
338 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
340 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
342 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
344 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
346 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
348 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
350 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
352 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
354 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
356 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
358 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
365 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
367 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
369 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
371 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
373 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
375 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
377 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
379 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
381 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
383 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
385 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
387 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
394 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
396 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
398 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
400 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
402 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
404 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
406 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
408 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
410 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
412 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
414 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
416 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
423 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
425 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
427 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
429 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
431 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
433 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
435 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
437 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
439 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
441 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
443 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
445 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
452 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
454 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
456 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
458 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
460 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
462 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
464 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
466 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
468 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
470 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
472 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
474 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
481 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
483 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
485 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
487 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
489 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
491 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
493 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
495 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
497 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
499 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
501 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
503 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
510 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
512 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
514 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
516 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
518 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
520 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
522 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
524 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
526 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
528 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
530 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
532 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
549 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
551 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
553 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
557 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
559 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
561 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
568 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
570 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
572 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
574 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
576 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
578 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
580 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
582 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
584 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
586 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
588 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
590 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
599 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
610 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
612 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
616 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
618 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
10)
</a></li>
620 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
622 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
624 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
626 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
163)
</a></li>
628 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
630 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
632 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
634 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
636 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
25)
</a></li>
638 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
640 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
388)
</a></li>
642 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
644 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
13)
</a></li>
646 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
32)
</a></li>
648 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
18)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
20)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
3)
</a></li>
662 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
664 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
666 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
668 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
670 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
672 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
674 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
41)
</a></li>
676 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
10)
</a></li>
678 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
299)
</a></li>
680 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
191)
</a></li>
682 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
34)
</a></li>
684 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
686 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
72)
</a></li>
688 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
107)
</a></li>
690 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
10)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
6)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
55)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
56)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
716 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
718 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
55)
</a></li>
720 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
722 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
724 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
726 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
12)
</a></li>
728 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
68)
</a></li>
730 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
732 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
41)
</a></li>
738 <p style=
"text-align: right">
739 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>