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/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html">Measuring the speaker frequency response using the AUDMES free software GUI - nice free software
</a>
32 <p><img src=
"http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png" align=
"right" width=
"40%"/></p>
34 <p>My current home stereo is a patchwork of various pieces I got on
35 flee markeds over the years. It is amazing what kind of equipment
36 show up there. I've been wondering for a while if it was possible to
37 measure how well this equipment is working together, and decided to
38 see how far I could get using free software. After trawling the web I
39 came across an article from DIY Audio and Video on
40 <a href=
"https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/">Speaker
41 Testing and Analysis
</a> describing how to test speakers, and it listing
42 several software options, among them
43 <a href=
"https://sourceforge.net/projects/audmes/">AUDio MEasurement
44 System (AUDMES)
</a>. It is the only free software system I could find
45 focusing on measuring speakers and audio frequency response. In the
46 process I also found an interesting article from NOVO on
47 <a href=
"http://novo.press/understanding-speaker-specifications-and-frequency-response/">Understanding
48 Speaker Specifications and Frequency Response
</a> and an article from
50 <a href=
"https://www.ecoustics.com/articles/understanding-speaker-frequency-response/">Understanding
51 Speaker Frequency Response
</a>, with a lot of information on what to
52 look for and how to interpret the graphs. Armed with this knowledge,
53 I set out to measure the state of my speakers.
</p>
55 <p>The first hurdle was that AUDMES hadn't seen a commit for
10 years
56 and did not build with current compilers and libraries. I got in
57 touch with its author, who no longer was spending time on the program
58 but gave me write access to the subversion repository on Sourceforge.
59 The end result is that now the code build on Linux and is capable of
60 saving and loading the collected frequency response data in CSV
61 format. The application is quite nice and flexible, and I was able to
62 select the input and output audio interfaces independently. This made
63 it possible to use a USB mixer as the input source, while sending
64 output via my laptop headphone connection. I lacked the hardware and
65 cabling to figure out a different way to get independent cabling to
66 speakers and microphone.
</p>
68 <p>Using this setup I could see how a large range of high frequencies
69 apparently were not making it out of my speakers. The picture show
70 the frequency response measurement of one of the speakers. Note the
71 frequency lines seem to be slightly misaligned, compared to the CSV
72 output from the program. I can not hear several of these are high
73 frequencies, according to measurement from
74 <a href=
"http://freehearingtestsoftware.com">Free Hearing Test
75 Software
</a>, an freeware system to measure your hearing (still
76 looking for a free software alternative), so I do not know if they are
77 coming out out the speakers. I thus do not quite know how to figure
78 out if the missing frequencies is a problem with the microphone, the
79 amplifier or the speakers, but I managed to rule out the audio card in my
80 PC by measuring my Bose noise canceling headset using its own
81 microphone. This setup was able to see the high frequency tones, so
82 the problem with my stereo had to be in the amplifier or speakers.
</p>
84 <p>Anyway, to try to role out one factor I ended up picking up a new
85 set of speakers at a flee marked, and these work a lot better than the
86 old speakers, so I guess the microphone and amplifier is OK. If you
87 need to measure your own speakers, check out AUDMES. If more people
88 get involved, perhaps the project could become good enough to
89 <a href=
"https://bugs.debian.org/910876">include in Debian
</a>? And if
90 you know of some other free software to measure speakers and amplifier
91 performance, please let me know. I am aware of the freeware option
92 <a href=
"https://www.roomeqwizard.com/">REW
</a>, but I want something
93 that can be developed also when the vendor looses interest.
</p>
95 <p>As usual, if you use Bitcoin and want to show your support of my
96 activities, please send Bitcoin donations to my address
97 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
103 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software
</a>.
108 <div class=
"padding"></div>
112 <a href=
"http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html">Web browser integration of VLC with Bittorrent support
</a>
118 <p>Bittorrent is as far as I know, currently the most efficient way to
119 distribute content on the Internet. It is used all by all sorts of
120 content providers, from national TV stations like
121 <a href=
"https://www.nrk.no/">NRK
</a>, Linux distributors like
122 <a href=
"https://www.debian.org/">Debian
</a> and
123 <a href=
"https://www.ubuntu.com/">Ubuntu
</a>, and of course the
124 <a href=
"https://archive.org/">Internet archive
</A>.
126 <p>Almost a month ago
127 <a href=
"https://tracker.debian.org/pkg/vlc-plugin-bittorrent">a new
128 package adding Bittorrent support to VLC
</a> became available in
129 Debian testing and unstable. To test it, simply install it like
133 apt install vlc-plugin-bittorrent
136 <p>Since the plugin was made available for the first time in Debian,
137 several improvements have been made to it. In version
2.2-
4, now
138 available in both testing and unstable, a desktop file is provided to
139 teach browsers to start VLC when the user click on torrent files or
140 magnet links. The last part is thanks to me finally understanding
141 what the strange x-scheme-handler style MIME types in desktop files
142 are used for. By adding x-scheme-handler/magnet to the MimeType entry
143 in the desktop file, at least the browsers Firefox and Chromium will
144 suggest to start VLC when selecting a magnet URI on a web page. The
145 end result is that now, with the plugin installed in Buster and Sid,
147 <a href=
"https://archive.org/details/CopyingIsNotTheft1080p">Internet
148 Archive page with movies
</a> using a web browser and click on the
149 torrent link to start streaming the movie.
</p>
151 <p>Note, there is still some misfeatures in the plugin. One is the
152 fact that it will hang and
153 <a href=
"https://github.com/johang/vlc-bittorrent/issues/13">block VLC
154 from exiting until the torrent streaming starts
</a>. Another is the
156 <a href=
"https://github.com/johang/vlc-bittorrent/issues/9">will pick
157 and play a random file in a multi file torrent
</a>. This is not
158 always the video file you want. Combined with the first it can be a
159 bit hard to get the video streaming going. But when it work, it seem
160 to do a good job.
</p>
162 <p>For the Debian packaging, I would love to find a good way to test
163 if the plugin work with VLC using autopkgtest. I tried, but do not
164 know enough of the inner workings of VLC to get it working. For now
165 the autopkgtest script is only checking if the .so file was
166 successfully loaded by VLC. If you have any suggestions, please
167 submit a patch to the Debian bug tracking system.
</p>
169 <p>As usual, if you use Bitcoin and want to show your support of my
170 activities, please send Bitcoin donations to my address
171 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
177 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/video">video
</a>.
182 <div class=
"padding"></div>
186 <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>
192 <p>This morning, the new release of the
193 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
194 Noark
5 core project
</a> was
195 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
196 on the project mailing list
</a>. The free software solution is an
197 implementation of the Norwegian archive standard Noark
5 used by
198 government offices in Norway. These were the changes in version
0.2
199 since version
0.1.1 (from NEWS.md):
202 <li>Fix typos in REL names
</li>
203 <li>Tidy up error message reporting
</li>
204 <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()
</li>
205 <li>Change some String handling to StringBuffer
</li>
206 <li>Fix error reporting
</li>
207 <li>Code tidy-up
</li>
208 <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
210 <li>Fix problem where deserialisers were treating integers as strings
</li>
211 <li>Update methods to make them null-safe
</li>
212 <li>Fix many issues reported by coverity
</li>
213 <li>Improve equals(), compareTo() and hash() in domain model
</li>
214 <li>Improvements to the domain model for metadata classes
</li>
215 <li>Fix CORS issues when downloading document
</li>
216 <li>Implementation of case-handling with registryEntry and document upload
</li>
217 <li>Better support in Javascript for OPTIONS
</li>
218 <li>Adding concept description of mail integration
</li>
219 <li>Improve setting of default values for GET on ny-journalpost
</li>
220 <li>Better handling of required values during deserialisation
</li>
221 <li>Changed tilknyttetDato (M620) from date to dateTime
</li>
222 <li>Corrected some opprettetDato (M600) (de)serialisation errors.
</li>
223 <li>Improve parse error reporting.
</li>
224 <li>Started on OData search and filtering.
</li>
225 <li>Added Contributor Covenant Code of Conduct to project.
</li>
226 <li>Moved repository and project from Github to Gitlab.
</li>
227 <li>Restructured repository, moved code into src/ and web/.
</li>
228 <li>Updated code to use Spring Boot version
2.
</li>
229 <li>Added support for OAuth2 authentication.
</li>
230 <li>Fixed several bugs discovered by Coverity.
</li>
231 <li>Corrected handling of date/datetime fields.
</li>
232 <li>Improved error reporting when rejecting during deserializatoin.
</li>
233 <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
234 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.
</li>
235 <li>Several fixes for korrespondansepart*.
</li>
238 <li>Now handle both file upload and download.
</li>
239 <li>Uses new OAuth2 authentication for login.
</li>
240 <li>Forms now fetches default values from API using GET.
</li>
241 <li>Added RFC
822 (email), TIFF and JPEG to list of possible file formats.
</li>
245 <p>The changes and improvements are extensive. Running diffstat on
246 the changes between git tab
0.1.1 and
0.2 show
1098 files changed,
247 108666 insertions(+),
54066 deletions(-).
</p>
249 <p>If free and open standardized archiving API sound interesting to
250 you, please contact us on IRC
251 (
<a href=
"irc://irc.freenode.net/%23nikita">#nikita on
252 irc.freenode.net
</a>) or email
253 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
254 mailing list
</a>).
</p>
256 <p>As usual, if you use Bitcoin and want to show your support of my
257 activities, please send Bitcoin donations to my address
258 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
264 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</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>.
269 <div class=
"padding"></div>
273 <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>
279 <p>I have earlier covered the basics of trusted timestamping using the
280 'openssl ts' client. See blog post for
281 <a href=
"http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
282 <a href=
"http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
284 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
285 for those stories. But some times I want to integrate the timestamping
286 in other code, and recently I needed to integrate it into Python.
287 After searching a bit, I found
288 <a href=
"https://dev.entrouvert.org/projects/python-rfc3161">the
289 rfc3161 library
</a> which seemed like a good fit, but I soon
290 discovered it only worked for python version
2, and I needed something
291 that work with python version
3. Luckily I next came across
292 <a href=
"https://github.com/trbs/rfc3161ng/">the rfc3161ng library
</a>,
293 a fork of the original rfc3161 library. Not only is it working with
294 python
3, it have fixed a few of the bugs in the original library, and
295 it has an active maintainer. I decided to wrap it up and make it
296 <a href=
"https://tracker.debian.org/pkg/python-rfc3161ng">available in
297 Debian
</a>, and a few days ago it entered Debian unstable and testing.
</p>
299 <p>Using the library is fairly straight forward. The only slightly
300 problematic step is to fetch the required certificates to verify the
301 timestamp. For some services it is straight forward, while for others
302 I have not yet figured out how to do it. Here is a small standalone
303 code example based on of the integration tests in the library code:
</p>
310 Python
3 script demonstrating how to use the rfc3161ng module to
311 get trusted timestamps.
313 The license of this code is the same as the license of the rfc3161ng
319 import pyasn1.codec.der
323 import urllib.request
330 def fetch(url, f=None):
331 response = urllib.request.urlopen(url)
332 data = response.read()
338 with tempfile.NamedTemporaryFile() as cert_f,\
339 tempfile.NamedTemporaryFile() as ca_f,\
340 tempfile.NamedTemporaryFile() as msg_f,\
341 tempfile.NamedTemporaryFile() as tsr_f:
343 # First fetch certificates used by service
344 certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
345 ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
347 # Then timestamp the message
349 rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
350 certificate=certificate_data)
351 data = b"Python forever!\n"
352 tsr = timestamper(data=data, return_tsr=True)
354 # Finally, convert message and response to something 'openssl ts' can verify
356 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
357 args = ["openssl", "ts", "-verify",
360 "-CAfile", ca_f.name,
361 "-untrusted", cert_f.name]
362 subprocess.check_call(args)
364 if '__main__' == __name__:
368 <p>The code fetches the required certificates, store them as temporary
369 files, timestamp a simple message, store the message and timestamp to
370 disk and ask 'openssl ts' to verify the timestamp. A timestamp is
371 around
1.5 kiB in size, and should be fairly easy to store for future
374 <p>As usual, if you use Bitcoin and want to show your support of my
375 activities, please send Bitcoin donations to my address
376 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
382 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
387 <div class=
"padding"></div>
391 <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>
397 <p>A few days, I rescued a Windows victim over to Debian. To try to
398 rescue the remains, I helped set up automatic sync with Google Drive.
399 I did not find any sensible Debian package handling this
400 automatically, so I rebuild the grive2 source from
401 <a href=
"http://www.webupd8.org/">the Ubuntu UPD8 PPA
</a> to do the
402 task and added a autostart desktop entry and a small shell script to
403 run in the background while the user is logged in to do the sync.
404 Here is a sketch of the setup for future reference.
</p>
406 <p>I first created
<tt>~/googledrive
</tt>, entered the directory and
407 ran '
<tt>grive -a
</tt>' to authenticate the machine/user. Next, I
408 created a autostart hook in
<tt>~/.config/autostart/grive.desktop
</tt>
409 to start the sync when the user log in:
</p>
413 Name=Google drive autosync
415 Exec=/home/user/bin/grive-sync
416 </pre></blockquote></p>
418 <p>Finally, I wrote the
<tt>~/bin/grive-sync
</tt> script to sync
419 ~/googledrive/ with the files in Google Drive.
</p>
426 if [ "$syncpid" ] ; then
430 trap cleanup EXIT INT QUIT
431 /usr/lib/grive/grive-sync.sh listen googledrive
2>&
1 | sed "s%^%$
0:%" &
434 if ! xhost
>/dev/null
2>&
1 ; then
435 echo "no DISPLAY, exiting as the user probably logged out"
438 if [ ! -e /run/user/
1000/grive-sync.sh_googledrive ] ; then
439 /usr/lib/grive/grive-sync.sh sync googledrive
442 done
2>&
1 | sed "s%^%$
0:%"
443 </pre></blockquote></p>
445 <p>Feel free to use the setup if you want. It can be assumed to be
446 GNU GPL v2 licensed (or any later version, at your leisure), but I
447 doubt this code is possible to claim copyright on.
</p>
449 <p>As usual, if you use Bitcoin and want to show your support of my
450 activities, please send Bitcoin donations to my address
451 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
457 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>.
462 <div class=
"padding"></div>
464 <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>
475 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2021/01/">January (
2)
</a></li>
477 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2021/02/">February (
1)
</a></li>
479 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2021/05/">May (
1)
</a></li>
481 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2021/06/">June (
1)
</a></li>
483 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2021/07/">July (
3)
</a></li>
490 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
492 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/03/">March (
2)
</a></li>
494 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/04/">April (
2)
</a></li>
496 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/05/">May (
3)
</a></li>
498 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/06/">June (
2)
</a></li>
500 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/07/">July (
1)
</a></li>
502 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/09/">September (
1)
</a></li>
504 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/10/">October (
1)
</a></li>
506 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/11/">November (
1)
</a></li>
513 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
515 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
517 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
519 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
521 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
523 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
525 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
527 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
529 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
531 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
538 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
540 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
542 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
544 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
546 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
548 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
550 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
552 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
554 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
556 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
558 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
565 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
567 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
569 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
571 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
573 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
575 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
579 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
581 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
592 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
594 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
596 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
598 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
600 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
602 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
604 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
606 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
608 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
610 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
612 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
621 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
623 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
625 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
627 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
629 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
631 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
633 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
635 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
637 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
639 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
641 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
643 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
662 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
664 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
666 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
668 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
670 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
672 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
679 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
681 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
683 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
685 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
687 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
689 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
691 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
693 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
695 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
697 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
699 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
701 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
716 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
718 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
720 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
722 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
724 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
726 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
728 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
730 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
737 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
739 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
741 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
743 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
745 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
747 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
749 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
751 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
753 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
755 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
757 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
759 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
766 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
768 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
770 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
774 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
776 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
778 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
780 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
782 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
784 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
786 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
788 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
795 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
797 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
799 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
801 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
803 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
805 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
807 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
809 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
811 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
813 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
815 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
817 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
824 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
826 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
837 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
839 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
841 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
843 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
845 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
847 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
12)
</a></li>
849 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
851 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
853 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
855 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
176)
</a></li>
857 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
159)
</a></li>
859 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
8)
</a></li>
861 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
863 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
865 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
28)
</a></li>
867 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
869 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
426)
</a></li>
871 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
873 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
875 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
877 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
879 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
881 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
883 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
43)
</a></li>
885 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
887 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
23)
</a></li>
889 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
891 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
893 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
895 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
897 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
899 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
901 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
903 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
905 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
13)
</a></li>
907 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
23)
</a></li>
909 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
318)
</a></li>
911 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
198)
</a></li>
913 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
40)
</a></li>
915 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
917 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
919 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
112)
</a></li>
921 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
923 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
925 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
927 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
929 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
12)
</a></li>
931 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
933 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
935 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
937 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
59)
</a></li>
939 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
941 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
943 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
71)
</a></li>
945 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
947 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
13)
</a></li>
949 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
61)
</a></li>
951 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
953 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
955 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
957 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
19)
</a></li>
959 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
75)
</a></li>
961 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
963 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
969 <p style=
"text-align: right">
970 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>