]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Generated.
[homepage.git] / blog / 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</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="https://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="https://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="https://people.skolelinux.org/pere/blog/index.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html">«Virkninger av angrefristloven», hovedfagsoppgaven som fikk endret en lov</a></div>
24 <div class="date">29th October 2023</div>
25 <div class="body"><img src="http://people.skolelinux.org/pere/blog/images/2023-angrefristloven-nb.svg" width="20%" align="center"></a>
26
27 <p>1979 leverte Ole-Erik Yrvin en hovedfagsoppgave for Cand. Scient
28 ved Institutt for sosiologi på Universitetet i Oslo på oppdrag fra
29 Forbruker- og administrasjonsdepartementet. Oppgaven evaluerte
30 Angrefristloven fra 1972, og det han oppdaget førte til at loven ble
31 endret fire år senere.</p>
32
33 <p>Jeg har kjent Ole-Erik en stund, og synes det var trist at hans
34 oppgave ikke lenger er tilgjengelig, hverken fra oppdragsgiver
35 eller fra universitetet. Hans forsøk på å få den avbildet og lagt
36 ut på Internett har vist seg fånyttes, så derfor tilbød jeg meg for
37 en stund tilbake å publisere den og gjøre den tilgjengelig med
38 fribruksvilkår på Internett. Det er nå klart, og hovedfagsoppgaven
39 er tilgjengelig blant annet via <a
40 href="http://www.hungry.com/~pere/publisher/">min liste over
41 publiserte bøker</a>, både som nettside,
42 <a href="https://www.lulu.com/search?contributor=Ole-Erik+Yrvin">digital
43 bok i ePub-format og på papir fra lulu.com</a>. Jeg regner med at
44 den også vil dukke opp på nettbokhandlere i løpet av en måned eller
45 to.</p>
46
47 <p>Alle tabeller og figurer er gjenskapt for bedre lesbarhet, noen
48 skrivefeil rettet opp og mange referanser har fått flere detaljer
49 som ISBN-nummer og DOI-referanse. Selv om jeg ikke regner med at
50 dette blir en kioskvelter, så håper jeg denne nye utgaven kan komme
51 fremtiden til gled.</p>
52
53 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
54 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
55 til min adresse
56 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>. Merk,
57 betaling med bitcoin er ikke anonymt. :)</p>
58 </div>
59 <div class="tags">
60
61
62 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
63
64
65 </div>
66 </div>
67 <div class="padding"></div>
68
69 <div class="entry">
70 <div class="title"><a href="https://people.skolelinux.org/pere/blog/_underordnet_tjenestemann_blir_inhabil_fordi_en_overordnet_er_inhabil__.html">«underordnet tjenestemann blir inhabil fordi en overordnet er inhabil».</a></div>
71 <div class="date"> 7th September 2023</div>
72 <div class="body"><p>Medlemmene av Norges regjering har demonstert de siste månedene at
73 habilitetsvureringer ikke er deres sterke side og det gjelder både
74 Arbeiderpartiets og Senterpartiers representater. Det er heldigvis
75 enklere i det private, da inhabilitetsreglene kun gjelder de som
76 jobber for folket, ikke seg selv. Sist ut er utenriksminister
77 Huitfeldt. I går kom nyheten om at
78 <a href="https://www.nrk.no/nyheter/riksadvokaten_-okokrim-nestsjef-kan-behandle-huitfeldt-saken-1.16545162">Riksadvokaten
79 har konkludert med at nestsjefen i Økokrim kan behandle sak om
80 habilitet og innsidekunnskap</a> for Huitfeldt, på tross av at hans
81 overordnede, sjefen for Økokrim, har meldt seg inhabil i saken. Dette
82 er litt rart. I veilednigen
83 «<a href="https://www.regjeringen.no/globalassets/upload/krd/vedlegg/komm/veiledere/habilitet_i_kommuner_og_fylkeskommuner.pdf">Habilitet
84 i kommuner og fylkeskommuner</a>» av Kommunal- og regionaldepartementet
85 forteller de hva som gjelder, riktig nok gjelder veiledningen ikke for
86 Økokrim som jo ikke er kommune eller fylkeskommune, men jeg får ikke
87 inntrykk av at dette er regler som kun gjelder for kommune og
88 fylkeskommune:
89
90 <blockquote>
91 <p>«<strong>2.1 Oversikt over inhabilitetsgrunnlagene</strong>
92
93 <p>De alminnelige reglene om inhabilitet for den offentlige
94 forvaltningen er gitt i
95 <a href="https://lovdata.no/dokument/NL/lov/1967-02-10/KAPITTEL_2#KAPITTEL_2">forvaltningsloven
96 §§ 6 til 10</a>. Forvaltningslovens hovedregel om inhabilitet framgår
97 av § 6. Her er det gitt tre ulike grunnlag som kan føre til at en
98 tjenestemann eller folkevalgt blir inhabil. I § 6 første ledd
99 bokstavene a til e er det oppstilt konkrete tilknytningsforhold mellom
100 tjenestemannen og saken eller sakens parter som automatisk fører til
101 inhabilitet. Annet ledd oppstiller en skjønnsmessig regel om at
102 tjenestemannen også kan bli inhabil etter en konkret vurdering av
103 inhabilitetsspørsmålet, der en lang rekke momenter kan være
104 relevante. I tredje ledd er det regler om såkalt avledet
105 inhabilitet. Det vil si at en underordnet tjenestemann blir inhabil
106 fordi en overordnet er inhabil.»</p>
107 </blockquote>
108
109 <p>Loven sier ganske enkelt «Er den overordnede tjenestemann ugild,
110 kan avgjørelse i saken heller ikke treffes av en direkte underordnet
111 tjenestemann i samme forvaltningsorgan.» Jeg antar tanken er at en
112 underordnet vil stå i fare for å tilpasse sine konklusjoner til det
113 overordnet vil ha fordel av, for å fortsatt ha et godt forhold til sin
114 overordnede. Men jeg er ikke jurist og forstår nok ikke kompliserte
115 juridiske vurderinger. For å sitere «Kamerat Napoleon» av George
116 Orwell: «Alle dyr er like, men noen dyr er likere enn andre».
117 </div>
118 <div class="tags">
119
120
121 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
122
123
124 </div>
125 </div>
126 <div class="padding"></div>
127
128 <div class="entry">
129 <div class="title"><a href="https://people.skolelinux.org/pere/blog/Invidious_add_on_for_Kodi_20.html">Invidious add-on for Kodi 20</a></div>
130 <div class="date">10th August 2023</div>
131 <div class="body"><p>I still enjoy <a href="https://kodi.tv/">Kodi</a> and
132 <a href="https://libreelec.tv/">LibreELEC</a> as my multimedia center
133 at home. Sadly two of the services I really would like to use from
134 within Kodi are not easily available. The most wanted add-on would be
135 one making <a href="https://archive.org/">The Internet Archive</a>
136 available, and it has
137 <a href="https://kodi.wiki/view/Add-on:Internet_Archive">not been
138 working</a> for many years. The second most wanted add-on is one
139 using <a href="https://invidious.io/">the Invidious privacy enhanced
140 Youtube frontent</a>. A plugin for this has been partly working, but
141 not been kept up to date in the Kodi add-on repository, and its
142 upstream seem to have given it up in April this year, when the git
143 repository was closed. A few days ago I got tired of this sad state
144 of affairs and decided to
145 <a href="https://github.com/petterreinholdtsen/kodi-invidious-plugin">have
146 a go at improving the Invidious add-on</a>. As
147 <a href="https://github.com/iv-org/invidious/issues/3872">Google has
148 already attacked</a> the Invidious concept, so it need all the support
149 if can get. My small contribution here is to improve the service
150 status on Kodi.</p>
151
152 <p>I added support to the Invidious add-on for automatically picking a
153 working Invidious instance, instead of requiring the user to specify
154 the URL to a specific instance after installation. I also had a look
155 at the set of patches floating around in the various forks on github,
156 and decided to clean up at least some of the features I liked and
157 integrate them into my new release branch. Now the plugin can handle
158 channel and short video items in search results. Earlier it could
159 only handle single video instances in the search response. I also
160 brushed up the set of metadata displayed a bit, but hope I can figure
161 out how to get more relevant metadata displayed.</p>
162
163 <p>Because I only use Kodi 20 myself, I only test on version 20 and am
164 only motivated to ensure version 20 is working. Because of API changes
165 between version 19 and 20, I suspect it will fail with earlier Kodi
166 versions.</p>
167
168 <p>I already
169 <a href="https://github.com/xbmc/repo-plugins/pull/4363">asked to have
170 the add-on added</a> to the official Kodi 20 repository, and is
171 waiting to heard back from the repo maintainers.</p>
172
173 <p>As usual, if you use Bitcoin and want to show your support of my
174 activities, please send Bitcoin donations to my address
175 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
176 </div>
177 <div class="tags">
178
179
180 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi</a>, <a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="https://people.skolelinux.org/pere/blog/tags/video">video</a>.
181
182
183 </div>
184 </div>
185 <div class="padding"></div>
186
187 <div class="entry">
188 <div class="title"><a href="https://people.skolelinux.org/pere/blog/What_did_I_learn_from_OpenSnitch_this_summer_.html">What did I learn from OpenSnitch this summer?</a></div>
189 <div class="date">11th June 2023</div>
190 <div class="body"><p>With yesterdays
191 <a href="https://www.debian.org/News/2023/20230610">release of Debian
192 12 Bookworm</a>, I am happy to know the
193 <a href="https://tracker.debian.org/pkg/opensnitch">the interactive
194 application firewall OpenSnitch</a> is available for a wider audience.
195 I have been running it for a few weeks now, and have been surprised
196 about some of the programs connecting to the Internet. Some programs
197 are obviously calling out from my machine, like the NTP network based
198 clock adjusting system and Tor to reach other Tor clients, but others
199 were more dubious. For example, the KDE Window manager try to look up
200 the host name in DNS, for no apparent reason, but if this lookup is
201 blocked the KDE desktop get periodically stuck when I use it. Another
202 surprise was how much Firefox call home directly to mozilla.com,
203 mozilla.net and googleapis.com, to mention a few, when I visit other
204 web pages. This direct connection happen even if I told Firefox to
205 always use a proxy, and the proxy setting is ignored for this traffic.
206 Other surprising connections come from audacity and dirmngr (I do not
207 use Gnome). It took some trial and error to get a good default set of
208 permissions. Without it, I would get popups asking for permissions at
209 any time, also the most inconvenient ones where I am in the middle of
210 a time sensitive gaming session.</p>
211
212 <p>I suspect some application developers should rethink when then need
213 to use network connections or DNS lookups, and recommend testing
214 OpenSnitch (only <tt>apt install opensnitch</tt> away in Debian
215 Bookworm) to locate and report any surprising Internet connections on
216 your desktop machine.</p>
217
218 <p>At the moment the upstream developer and Debian package maintainer
219 is working on making the system more reliable in Debian, by enabling
220 the eBPF kernel module to track processes and connections instead of
221 depending in content in /proc/. This should enter unstable fairly
222 soon.</p>
223
224 <p>As usual, if you use Bitcoin and want to show your support of my
225 activities, please send Bitcoin donations to my address
226 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
227
228 <p><strong>Update 2023-06-12</strong>: I got a tip about
229 <a href="https://wiki.debian.org/PrivacyIssues">a list of privacy
230 issues in Free Software</a> and the
231 <a href="irc://irc.debian.org/%23debian-privacy">#debian-privacy IRC
232 channel</a> discussing these topics.</p>
233
234 </div>
235 <div class="tags">
236
237
238 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>.
239
240
241 </div>
242 </div>
243 <div class="padding"></div>
244
245 <div class="entry">
246 <div class="title"><a href="https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html">wmbusmeters, parse data from your utility meter - nice free software</a></div>
247 <div class="date">19th May 2023</div>
248 <div class="body"><p>There is a European standard for reading utility meters like water,
249 gas, electricity or heat distribution meters. The
250 <a href="https://en.wikipedia.org/wiki/Meter-Bus">Meter-Bus standard
251 (EN 13757-2, EN 13757-3 and EN 137574)</a> provide a cross vendor way
252 to talk to and collect meter data. I ran into this standard when I
253 wanted to monitor some heat distribution meters, and managed to find
254 free software that could do the job. The meters in question broadcast
255 encrypted messages with meter information via radio, and the hardest
256 part was to track down the encryption keys from the vendor. With this
257 in place I could set up a MQTT gateway to submit the meter data for
258 graphing.</p>
259
260 <p>The free software systems in question,
261 <a href="https://tracker.debian.org/pkg/rtl-wmbus">rtl-wmbus</a> to
262 read the messages from a software defined radio, and
263 <a href="https://tracker.debian.org/pkg/wmbusmeters">wmbusmeters</a> to
264 decrypt and decode the content of the messages, is working very well
265 and allowe me to get frequent updates from my meters. I got in touch
266 with upstream last year to see if there was any interest in publishing
267 the packages via Debian. I was very happy to learn that Fredrik
268 Öhrström volunteered to maintain the packages, and I have since
269 assisted him in getting Debian package build rules in place as well as
270 sponsoring the packages into the Debian archive. Sadly we completed
271 it too late for them to become part of the next stable Debian release
272 (Bookworm). The wmbusmeters package just cleared the NEW queue. It
273 will need some work to fix a built problem, but I expect Fredrik will
274 find a solution soon.</p>
275
276 <p>If you got a infrastructure meter supporting the Meter Bus
277 standard, I strongly recommend having a look at these nice
278 packages.</p>
279
280 <p>As usual, if you use Bitcoin and want to show your support of my
281 activities, please send Bitcoin donations to my address
282 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
283 </div>
284 <div class="tags">
285
286
287 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>.
288
289
290 </div>
291 </div>
292 <div class="padding"></div>
293
294 <div class="entry">
295 <div class="title"><a href="https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html">The 2023 LinuxCNC Norwegian developer gathering</a></div>
296 <div class="date">14th May 2023</div>
297 <div class="body"><p>The LinuxCNC project is making headway these days. A lot of
298 patches and issues have seen activity on
299 <a href="https://github.com/LinuxCNC/linuxcnc/">the project github
300 pages</a> recently. A few weeks ago there was a developer gathering
301 over at the <a href="https://tormach.com/">Tormach</a> headquarter in
302 Wisconsin, and now we are planning a new gathering in Norway. If you
303 wonder what LinuxCNC is, lets quote Wikipedia:</p>
304
305 <blockquote>
306 "LinuxCNC is a software system for numerical control of
307 machines such as milling machines, lathes, plasma cutters, routers,
308 cutting machines, robots and hexapods. It can control up to 9 axes or
309 joints of a CNC machine using G-code (RS-274NGC) as input. It has
310 several GUIs suited to specific kinds of usage (touch screen,
311 interactive development)."
312 </blockquote>
313
314 <p>The Norwegian developer gathering take place the weekend June 16th
315 to 18th this year, and is open for everyone interested in contributing
316 to LinuxCNC. Up to date information about the gathering can be found
317 in
318 <a href="https://sourceforge.net/p/emc/mailman/emc-developers/thread/sa64jp06nob.fsf%40hjemme.reinholdtsen.name/#msg37837251">the
319 developer mailing list thread</a> where the gathering was announced.
320 Thanks to the good people at
321 <a href="https://www.debian.org/">Debian</a>,
322 <a href="https://www.redpill-linpro.com/">Redpill-Linpro</a> and
323 <a href="https://www.nuugfoundation.no/no/">NUUG Foundation</a>, we
324 have enough sponsor funds to pay for food, and shelter for the people
325 traveling from afar to join us. If you would like to join the
326 gathering, get in touch.</p>
327
328 <p>As usual, if you use Bitcoin and want to show your support of my
329 activities, please send Bitcoin donations to my address
330 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
331 </div>
332 <div class="tags">
333
334
335 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc</a>.
336
337
338 </div>
339 </div>
340 <div class="padding"></div>
341
342 <div class="entry">
343 <div class="title"><a href="https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html">OpenSnitch in Debian ready for prime time</a></div>
344 <div class="date">13th May 2023</div>
345 <div class="body"><p>A bit delayed,
346 <a href="https://tracker.debian.org/pkg/opensnitch">the interactive
347 application firewall OpenSnitch</a> package in Debian now got the
348 latest fixes ready for Debian Bookworm. Because it depend on a
349 package missing on some architectures, the autopkgtest check of the
350 testing migration script did not understand that the tests were
351 actually working, so the migration was delayed. A bug in the package
352 dependencies is also fixed, so those installing the firewall package
353 (opensnitch) now also get the GUI admin tool (python3-opensnitch-ui)
354 installed by default. I am very grateful to Gustavo Iñiguez Goya for
355 his work on getting the package ready for Debian Bookworm.</p>
356
357 <p>Armed with this package I have discovered some surprising
358 connections from programs I believed were able to work completly
359 offline, and it has already proven its worth, at least to me. If you
360 too want to get more familiar with the kind of programs using
361 Internett connections on your machine, I recommend testing <tt>apt
362 install opensnitch</tt> in Bookworm and see what you think.</p>
363
364 <p>The package is still not able to build its eBPF module within
365 Debian. Not sure how much work it would be to get it working, but
366 suspect some kernel related packages need to be extended with more
367 header files to get it working.</p>
368
369 <p>As usual, if you use Bitcoin and want to show your support of my
370 activities, please send Bitcoin donations to my address
371 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
372 </div>
373 <div class="tags">
374
375
376 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>.
377
378
379 </div>
380 </div>
381 <div class="padding"></div>
382
383 <div class="entry">
384 <div class="title"><a href="https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html">Speech to text, she APTly whispered, how hard can it be?</a></div>
385 <div class="date">23rd April 2023</div>
386 <div class="body"><p>While visiting a convention during Easter, it occurred to me that
387 it would be great if I could have a digital Dictaphone with
388 transcribing capabilities, providing me with texts to cut-n-paste into
389 stuff I need to write. The background is that long drives often bring
390 up the urge to write on texts I am working on, which of course is out
391 of the question while driving. With the release of
392 <a href="https://github.com/openai/whisper/">OpenAI Whisper</a>, this
393 seem to be within reach with Free Software, so I decided to give it a
394 go. OpenAI Whisper is a Linux based neural network system to read in
395 audio files and provide text representation of the speech in that
396 audio recording. It handle multiple languages and according to its
397 creators even can translate into a different language than the spoken
398 one. I have not tested the latter feature. It can either use the CPU
399 or a GPU with CUDA support. As far as I can tell, CUDA in practice
400 limit that feature to NVidia graphics cards. I have few of those, as
401 they do not work great with free software drivers, and have not tested
402 the GPU option. While looking into the matter, I did discover some
403 work to provide CUDA support on non-NVidia GPUs, and some work with
404 the library used by Whisper to port it to other GPUs, but have not
405 spent much time looking into GPU support yet. I've so far used an old
406 X220 laptop as my test machine, and only transcribed using its
407 CPU.</p>
408
409 <p>As it from a privacy standpoint is unthinkable to use computers
410 under control of someone else (aka a "cloud" service) to transcribe
411 ones thoughts and personal notes, I want to run the transcribing
412 system locally on my own computers. The only sensible approach to me
413 is to make the effort I put into this available for any Linux user and
414 to upload the needed packages into Debian. Looking at Debian Bookworm, I
415 discovered that only three packages were missing,
416 <a href="https://bugs.debian.org/1034307">tiktoken</a>,
417 <a href="https://bugs.debian.org/1034144">triton</a>, and
418 <a href="https://bugs.debian.org/1034091">openai-whisper</a>. For a while
419 I also believed
420 <a href="https://bugs.debian.org/1034286">ffmpeg-python</a> was
421 needed, but as its
422 <a href="https://github.com/kkroening/ffmpeg-python/issues/760">upstream
423 seem to have vanished</a> I found it safer
424 <a href="https://github.com/openai/whisper/pull/1242">to rewrite
425 whisper</a> to stop depending on in than to introduce ffmpeg-python
426 into Debian. I decided to place these packages under the umbrella of
427 <a href="https://salsa.debian.org/deeplearning-team">the Debian Deep
428 Learning Team</a>, which seem like the best team to look after such
429 packages. Discussing the topic within the group also made me aware
430 that the triton package was already a future dependency of newer
431 versions of the torch package being planned, and would be needed after
432 Bookworm is released.</p>
433
434 <p>All required code packages have been now waiting in
435 <a href="https://ftp-master.debian.org/new.html">the Debian NEW
436 queue</a> since Wednesday, heading for Debian Experimental until
437 Bookworm is released. An unsolved issue is how to handle the neural
438 network models used by Whisper. The default behaviour of Whisper is
439 to require Internet connectivity and download the model requested to
440 <tt>~/.cache/whisper/</tt> on first invocation. This obviously would
441 fail <a href="https://people.debian.org/~bap/dfsg-faq.html">the
442 deserted island test of free software</a> as the Debian packages would
443 be unusable for someone stranded with only the Debian archive and solar
444 powered computer on a deserted island.</p>
445
446 <p>Because of this, I would love to include the models in the Debian
447 mirror system. This is problematic, as the models are very large
448 files, which would put a heavy strain on the Debian mirror
449 infrastructure around the globe. The strain would be even higher if
450 the models change often, which luckily as far as I can tell they do
451 not. The small model, which according to its creator is most useful
452 for English and in my experience is not doing a great job there
453 either, is 462 MiB (deb is 414 MiB). The medium model, which to me
454 seem to handle English speech fairly well is 1.5 GiB (deb is 1.3 GiB)
455 and the large model is 2.9 GiB (deb is 2.6 GiB). I would assume
456 everyone with enough resources would prefer to use the large model for
457 highest quality. I believe the models themselves would have to go
458 into the non-free part of the Debian archive, as they are not really
459 including any useful source code for updating the models. The
460 "source", aka the model training set, according to the creators
461 consist of "680,000 hours of multilingual and multitask supervised
462 data collected from the web", which to me reads material with both
463 unknown copyright terms, unavailable to the general public. In other
464 words, the source is not available according to the Debian Free
465 Software Guidelines and the model should be considered non-free.</p>
466
467 <p>I asked the Debian FTP masters for advice regarding uploading a
468 model package on their IRC channel, and based on the feedback there it
469 is still unclear to me if such package would be accepted into the
470 archive. In any case I wrote build rules for a
471 <a href="https://salsa.debian.org/deeplearning-team/openai-whisper-model">OpenAI
472 Whisper model package</a> and
473 <a href="https://github.com/openai/whisper/pull/1257">modified the
474 Whisper code base</a> to prefer shared files under <tt>/usr/</tt> and
475 <tt>/var/</tt> over user specific files in <tt>~/.cache/whisper/</tt>
476 to be able to use these model packages, to prepare for such
477 possibility. One solution might be to include only one of the models
478 (small or medium, I guess) in the Debian archive, and ask people to
479 download the others from the Internet. Not quite sure what to do
480 here, and advice is most welcome (use the debian-ai mailing list).</p>
481
482 <p>To make it easier to test the new packages while I wait for them to
483 clear the NEW queue, I created an APT source targeting bookworm. I
484 selected Bookworm instead of Bullseye, even though I know the latter
485 would reach more users, is that some of the required dependencies are
486 missing from Bullseye and I during this phase of testing did not want
487 to backport a lot of packages just to get up and running.</p>
488
489 <p>Here is a recipe to run as user root if you want to test OpenAI
490 Whisper using Debian packages on your Debian Bookworm installation,
491 first adding the APT repository GPG key to the list of trusted keys,
492 then setting up the APT repository and finally installing the packages
493 and one of the models:</p>
494
495 <p><pre>
496 curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \
497 -o /etc/apt/trusted.gpg.d/pere-whisper.asc
498 mkdir -p /etc/apt/sources.list.d
499 cat > /etc/apt/sources.list.d/pere-whisper.list &lt;&lt;EOF
500 deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
501 deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
502 EOF
503 apt update
504 apt install openai-whisper
505 </pre></p>
506
507 <p>The package work for me, but have not yet been tested on any other
508 computer than my own. With it, I have been able to (badly) transcribe
509 a 2 minute 40 second Norwegian audio clip to test using the small
510 model. This took 11 minutes and around 2.2 GiB of RAM. Transcribing
511 the same file with the medium model gave a accurate text in 77 minutes
512 using around 5.2 GiB of RAM. My test machine had too little memory to
513 test the large model, which I believe require 11 GiB of RAM. In
514 short, this now work for me using Debian packages, and I hope it will
515 for you and everyone else once the packages enter Debian.</p>
516
517 <p>Now I can start on the audio recording part of this project.</p>
518
519 <p>As usual, if you use Bitcoin and want to show your support of my
520 activities, please send Bitcoin donations to my address
521 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
522 </div>
523 <div class="tags">
524
525
526 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="https://people.skolelinux.org/pere/blog/tags/video">video</a>.
527
528
529 </div>
530 </div>
531 <div class="padding"></div>
532
533 <div class="entry">
534 <div class="title"><a href="https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html">rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software</a></div>
535 <div class="date"> 7th April 2023</div>
536 <div class="body"><p>Today I finally found time to track down a useful radio frequency
537 scanner for my software defined radio. Just for fun I tried to locate
538 the radios used in the areas, and a good start would be to scan all
539 the frequencies to see what is in use. I've tried to find a useful
540 program earlier, but ran out of time before I managed to find a useful
541 tool. This time I was more successful, and after a few false leads I
542 found a description of
543 <a href="https://www.kali.org/tools/rtlsdr-scanner/">rtlsdr-scanner
544 over at the Kali site</a>, and was able to track down
545 <a href="https://gitlab.com/kalilinux/packages/rtlsdr-scanner.git">the
546 Kali package git repository</a> to build a deb package for the
547 scanner. Sadly the package is missing from the Debian project itself,
548 at least in Debian Bullseye. Two runtime dependencies,
549 <a href="https://gitlab.com/kalilinux/packages/python-visvis.git">python-visvis</a>
550 and
551 <a href="https://gitlab.com/kalilinux/packages/python-rtlsdr.git">python-rtlsdr</a>
552 had to be built and installed separately. Luckily '<tt>gbp
553 buildpackage</tt>' handled them just fine and no further packages had
554 to be manually built. The end result worked out of the box after
555 installation.</p>
556
557 <p>My initial scans for FM channels worked just fine, so I knew the
558 scanner was functioning. But when I tried to scan every frequency
559 from 100 to 1000 MHz, the program stopped unexpectedly near the
560 completion. After some debugging I discovered USB software radio I
561 used rejected frequencies above 948 MHz, triggering a unreported
562 exception breaking the scan. Changing the scan to end at 957 worked
563 better. I similarly found the lower limit to be around 15, and ended
564 up with the following full scan:</p>
565
566 <p><a href="https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png"><img src="https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png" width="100%"></a></p>
567
568 <p>Saving the scan did not work, but exporting it as a CSV file worked
569 just fine. I ended up with around 477k CVS lines with dB level for
570 the given frequency.</p>
571
572 <p>The save failure seem to be a missing UTF-8 encoding issue in the
573 python code. Will see if I can find time to send a patch
574 <a href="https://github.com/CdeMills/RTLSDR-Scanner/">upstream</a>
575 later to fix this exception:</p>
576
577 <pre>
578 Traceback (most recent call last):
579 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save
580 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
581 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot
582 handle.write(json.dumps(data, indent=4))
583 TypeError: a bytes-like object is required, not 'str'
584 Traceback (most recent call last):
585 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save
586 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
587 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot
588 handle.write(json.dumps(data, indent=4))
589 TypeError: a bytes-like object is required, not 'str'
590 </pre>
591
592 <p>As usual, if you use Bitcoin and want to show your support of my
593 activities, please send Bitcoin donations to my address
594 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
595 </div>
596 <div class="tags">
597
598
599 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>.
600
601
602 </div>
603 </div>
604 <div class="padding"></div>
605
606 <div class="entry">
607 <div class="title"><a href="https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html">OpenSnitch available in Debian Sid and Bookworm</a></div>
608 <div class="date">25th February 2023</div>
609 <div class="body"><p>Thanks to the efforts of the OpenSnitch lead developer Gustavo
610 Iñiguez Goya allowing me to sponsor the upload,
611 <a href="https://tracker.debian.org/pkg/opensnitch">the interactive
612 application firewall OpenSnitch</a> is now available in Debian
613 Testing, soon to become the next stable release of Debian.</p>
614
615 <p>This is a package which set up a network firewall on one or more
616 machines, which is controlled by a graphical user interface that will
617 ask the user if a program should be allowed to connect to the local
618 network or the Internet. If some background daemon is trying to dial
619 home, it can be blocked from doing so with a simple mouse click, or by
620 default simply by not doing anything when the GUI question dialog pop
621 up. A list of all programs discovered using the network is provided
622 in the GUI, giving the user an overview of how the machine(s) programs
623 use the network.</p>
624
625 <p>OpenSnitch was uploaded for NEW processing about a month ago, and I
626 had little hope of it getting accepted and shaping up in time for the
627 package freeze, but the Debian ftpmasters proved to be amazingly quick
628 at checking out the package and it was accepted into the archive about
629 week after the first upload. It is now team maintained under the Go
630 language team umbrella. A few fixes to the default setup is only in
631 Sid, and should migrate to Testing/Bookworm in a week.</p>
632
633 <p>During testing I ran into an
634 <a href="https://github.com/evilsocket/opensnitch/issues/813">issue
635 with Minecraft server broadcasts disappearing</a>, which was quickly
636 resolved by the developer with a patch and a proposed configuration
637 change. I've been told this was caused by the Debian packages default
638 use if /proc/ information to track down kernel status, instead of the
639 newer eBPF module that can be used. The reason is simply that
640 upstream and I have failed to find a way to build the eBPF modules for
641 OpenSnitch without a complete configured Linux kernel source tree,
642 which as far as we can tell is unavailable as a build dependency in
643 Debian. We tried unsuccessfully so far to use the kernel-headers
644 package. It would be great if someone could provide some clues how to
645 build eBPF modules on build daemons in Debian, possibly without the full
646 kernel source.</p>
647
648 <p>As usual, if you use Bitcoin and want to show your support of my
649 activities, please send Bitcoin donations to my address
650 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
651 </div>
652 <div class="tags">
653
654
655 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>.
656
657
658 </div>
659 </div>
660 <div class="padding"></div>
661
662 <p style="text-align: right;"><a href="index.rss"><img src="https://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
663 <div id="sidebar">
664
665
666
667 <h2>Archive</h2>
668 <ul>
669
670 <li>2023
671 <ul>
672
673 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/01/">January (3)</a></li>
674
675 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/02/">February (1)</a></li>
676
677 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/04/">April (2)</a></li>
678
679 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/05/">May (3)</a></li>
680
681 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/06/">June (1)</a></li>
682
683 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/08/">August (1)</a></li>
684
685 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/09/">September (1)</a></li>
686
687 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/10/">October (1)</a></li>
688
689 </ul></li>
690
691 <li>2022
692 <ul>
693
694 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/02/">February (1)</a></li>
695
696 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/03/">March (3)</a></li>
697
698 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/04/">April (2)</a></li>
699
700 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/06/">June (2)</a></li>
701
702 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/07/">July (1)</a></li>
703
704 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/09/">September (1)</a></li>
705
706 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/10/">October (1)</a></li>
707
708 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/12/">December (1)</a></li>
709
710 </ul></li>
711
712 <li>2021
713 <ul>
714
715 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/01/">January (2)</a></li>
716
717 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/02/">February (1)</a></li>
718
719 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/05/">May (1)</a></li>
720
721 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/06/">June (1)</a></li>
722
723 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/07/">July (3)</a></li>
724
725 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/08/">August (1)</a></li>
726
727 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/09/">September (1)</a></li>
728
729 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/10/">October (1)</a></li>
730
731 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/12/">December (1)</a></li>
732
733 </ul></li>
734
735 <li>2020
736 <ul>
737
738 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
739
740 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
741
742 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
743
744 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/05/">May (3)</a></li>
745
746 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/06/">June (2)</a></li>
747
748 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/07/">July (1)</a></li>
749
750 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/09/">September (1)</a></li>
751
752 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/10/">October (1)</a></li>
753
754 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/11/">November (1)</a></li>
755
756 </ul></li>
757
758 <li>2019
759 <ul>
760
761 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
762
763 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
764
765 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
766
767 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
768
769 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
770
771 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
772
773 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
774
775 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
776
777 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
778
779 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
780
781 </ul></li>
782
783 <li>2018
784 <ul>
785
786 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
787
788 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
789
790 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
791
792 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
793
794 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
795
796 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
797
798 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
799
800 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
801
802 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
803
804 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
805
806 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
807
808 </ul></li>
809
810 <li>2017
811 <ul>
812
813 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
814
815 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
816
817 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
818
819 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
820
821 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
822
823 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
824
825 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
826
827 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
828
829 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
830
831 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
832
833 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
834
835 </ul></li>
836
837 <li>2016
838 <ul>
839
840 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
841
842 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
843
844 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
845
846 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
847
848 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
849
850 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
851
852 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
853
854 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
855
856 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
857
858 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
859
860 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
861
862 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
863
864 </ul></li>
865
866 <li>2015
867 <ul>
868
869 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
870
871 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
872
873 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
874
875 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
876
877 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
878
879 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
880
881 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
882
883 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
884
885 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
886
887 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
888
889 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
890
891 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
892
893 </ul></li>
894
895 <li>2014
896 <ul>
897
898 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
899
900 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
901
902 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
903
904 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
905
906 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
907
908 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
909
910 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
911
912 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
913
914 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
915
916 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
917
918 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
919
920 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
921
922 </ul></li>
923
924 <li>2013
925 <ul>
926
927 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
928
929 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
930
931 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
932
933 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
934
935 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
936
937 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
938
939 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
940
941 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
942
943 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
944
945 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
946
947 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
948
949 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
950
951 </ul></li>
952
953 <li>2012
954 <ul>
955
956 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
957
958 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
959
960 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
961
962 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
963
964 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
965
966 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
967
968 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
969
970 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
971
972 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
973
974 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
975
976 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
977
978 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
979
980 </ul></li>
981
982 <li>2011
983 <ul>
984
985 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
986
987 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
988
989 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
990
991 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
992
993 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
994
995 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
996
997 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
998
999 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
1000
1001 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
1002
1003 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
1004
1005 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
1006
1007 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
1008
1009 </ul></li>
1010
1011 <li>2010
1012 <ul>
1013
1014 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1015
1016 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1017
1018 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1019
1020 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1021
1022 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1023
1024 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1025
1026 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1027
1028 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1029
1030 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1031
1032 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1033
1034 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1035
1036 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1037
1038 </ul></li>
1039
1040 <li>2009
1041 <ul>
1042
1043 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1044
1045 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1046
1047 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1048
1049 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1050
1051 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1052
1053 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1054
1055 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1056
1057 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1058
1059 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1060
1061 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1062
1063 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1064
1065 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1066
1067 </ul></li>
1068
1069 <li>2008
1070 <ul>
1071
1072 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1073
1074 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1075
1076 </ul></li>
1077
1078 </ul>
1079
1080
1081
1082 <h2>Tags</h2>
1083 <ul>
1084
1085 <li><a href="https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (19)</a></li>
1086
1087 <li><a href="https://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1088
1089 <li><a href="https://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1090
1091 <li><a href="https://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1092
1093 <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
1094
1095 <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (12)</a></li>
1096
1097 <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
1098
1099 <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1100
1101 <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1102
1103 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (194)</a></li>
1104
1105 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
1106
1107 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (9)</a></li>
1108
1109 <li><a href="https://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
1110
1111 <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
1112
1113 <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (31)</a></li>
1114
1115 <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1116
1117 <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (451)</a></li>
1118
1119 <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1120
1121 <li><a href="https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
1122
1123 <li><a href="https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
1124
1125 <li><a href="https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1126
1127 <li><a href="https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
1128
1129 <li><a href="https://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1130
1131 <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
1132
1133 <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
1134
1135 <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
1136
1137 <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (6)</a></li>
1138
1139 <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1140
1141 <li><a href="https://people.skolelinux.org/pere/blog/tags/lego">lego (5)</a></li>
1142
1143 <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1144
1145 <li><a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (5)</a></li>
1146
1147 <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1148
1149 <li><a href="https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1150
1151 <li><a href="https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (3)</a></li>
1152
1153 <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1154
1155 <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (46)</a></li>
1156
1157 <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (15)</a></li>
1158
1159 <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (23)</a></li>
1160
1161 <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (322)</a></li>
1162
1163 <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (198)</a></li>
1164
1165 <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (40)</a></li>
1166
1167 <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1168
1169 <li><a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (4)</a></li>
1170
1171 <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
1172
1173 <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
1174
1175 <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
1176
1177 <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1178
1179 <li><a href="https://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1180
1181 <li><a href="https://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1182
1183 <li><a href="https://people.skolelinux.org/pere/blog/tags/robot">robot (17)</a></li>
1184
1185 <li><a href="https://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1186
1187 <li><a href="https://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
1188
1189 <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1190
1191 <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (59)</a></li>
1192
1193 <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1194
1195 <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1196
1197 <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (74)</a></li>
1198
1199 <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
1200
1201 <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
1202
1203 <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (64)</a></li>
1204
1205 <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
1206
1207 <li><a href="https://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1208
1209 <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
1210
1211 <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (20)</a></li>
1212
1213 <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (79)</a></li>
1214
1215 <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1216
1217 <li><a href="https://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
1218
1219 </ul>
1220
1221
1222 </div>
1223 <p style="text-align: right">
1224 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1225 </p>
1226
1227 </body>
1228 </html>