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
</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" />
14 <a href=
"https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <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>
24 <div class=
"date"> 7th September
2023</div>
25 <div class=
"body"><p>Medlemmene av Norges regjering har demonstert de siste månedene at
26 habilitetsvureringer ikke er deres sterke side og det gjelder både
27 Arbeiderpartiets og Senterpartiers representater. Det er heldigvis
28 enklere i det private, da inhabilitetsreglene kun gjelder de som
29 jobber for folket, ikke seg selv. Sist ut er utenriksminister
30 Huitfeldt. I går kom nyheten om at
31 <a href=
"https://www.nrk.no/nyheter/riksadvokaten_-okokrim-nestsjef-kan-behandle-huitfeldt-saken-1.16545162">Riksadvokaten
32 har konkludert med at nestsjefen i Økokrim kan behandle sak om
33 habilitet og innsidekunnskap
</a> for Huitfeldt, på tross av at hans
34 overordnede, sjefen for Økokrim, har meldt seg inhabil i saken. Dette
35 er litt rart. I veilednigen
36 «
<a href=
"https://www.regjeringen.no/globalassets/upload/krd/vedlegg/komm/veiledere/habilitet_i_kommuner_og_fylkeskommuner.pdf">Habilitet
37 i kommuner og fylkeskommuner
</a>» av Kommunal- og regionaldepartementet
38 forteller de hva som gjelder, riktig nok gjelder veiledningen ikke for
39 Økokrim som jo ikke er kommune eller fylkeskommune, men jeg får ikke
40 inntrykk av at dette er regler som kun gjelder for kommune og
44 <p>«
<strong>2.1 Oversikt over inhabilitetsgrunnlagene
</strong>
46 <p>De alminnelige reglene om inhabilitet for den offentlige
47 forvaltningen er gitt i
48 <a href=
"https://lovdata.no/dokument/NL/lov/1967-02-10/KAPITTEL_2#KAPITTEL_2">forvaltningsloven
49 §§
6 til
10</a>. Forvaltningslovens hovedregel om inhabilitet framgår
50 av §
6. Her er det gitt tre ulike grunnlag som kan føre til at en
51 tjenestemann eller folkevalgt blir inhabil. I §
6 første ledd
52 bokstavene a til e er det oppstilt konkrete tilknytningsforhold mellom
53 tjenestemannen og saken eller sakens parter som automatisk fører til
54 inhabilitet. Annet ledd oppstiller en skjønnsmessig regel om at
55 tjenestemannen også kan bli inhabil etter en konkret vurdering av
56 inhabilitetsspørsmålet, der en lang rekke momenter kan være
57 relevante. I tredje ledd er det regler om såkalt avledet
58 inhabilitet. Det vil si at en underordnet tjenestemann blir inhabil
59 fordi en overordnet er inhabil.»
</p>
62 <p>Loven sier ganske enkelt «Er den overordnede tjenestemann ugild,
63 kan avgjørelse i saken heller ikke treffes av en direkte underordnet
64 tjenestemann i samme forvaltningsorgan.» Jeg antar tanken er at en
65 underordnet vil stå i fare for å tilpasse sine konklusjoner til det
66 overordnet vil ha fordel av, for å fortsatt ha et godt forhold til sin
67 overordnede. Men jeg er ikke jurist og forstår nok ikke kompliserte
68 juridiske vurderinger. For å sitere «Kamerat Napoleon» av George
69 Orwell: «Alle dyr er like, men noen dyr er likere enn andre».
74 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>.
79 <div class=
"padding"></div>
82 <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>
83 <div class=
"date">10th August
2023</div>
84 <div class=
"body"><p>I still enjoy
<a href=
"https://kodi.tv/">Kodi
</a> and
85 <a href=
"https://libreelec.tv/">LibreELEC
</a> as my multimedia center
86 at home. Sadly two of the services I really would like to use from
87 within Kodi are not easily available. The most wanted add-on would be
88 one making
<a href=
"https://archive.org/">The Internet Archive
</a>
90 <a href=
"https://kodi.wiki/view/Add-on:Internet_Archive">not been
91 working
</a> for many years. The second most wanted add-on is one
92 using
<a href=
"https://invidious.io/">the Invidious privacy enhanced
93 Youtube frontent
</a>. A plugin for this has been partly working, but
94 not been kept up to date in the Kodi add-on repository, and its
95 upstream seem to have given it up in April this year, when the git
96 repository was closed. A few days ago I got tired of this sad state
97 of affairs and decided to
98 <a href=
"https://github.com/petterreinholdtsen/kodi-invidious-plugin">have
99 a go at improving the Invidious add-on
</a>. As
100 <a href=
"https://github.com/iv-org/invidious/issues/3872">Google has
101 already attacked
</a> the Invidious concept, so it need all the support
102 if can get. My small contribution here is to improve the service
105 <p>I added support to the Invidious add-on for automatically picking a
106 working Invidious instance, instead of requiring the user to specify
107 the URL to a specific instance after installation. I also had a look
108 at the set of patches floating around in the various forks on github,
109 and decided to clean up at least some of the features I liked and
110 integrate them into my new release branch. Now the plugin can handle
111 channel and short video items in search results. Earlier it could
112 only handle single video instances in the search response. I also
113 brushed up the set of metadata displayed a bit, but hope I can figure
114 out how to get more relevant metadata displayed.
</p>
116 <p>Because I only use Kodi
20 myself, I only test on version
20 and am
117 only motivated to ensure version
20 is working. Because of API changes
118 between version
19 and
20, I suspect it will fail with earlier Kodi
122 <a href=
"https://github.com/xbmc/repo-plugins/pull/4363">asked to have
123 the add-on added
</a> to the official Kodi
20 repository, and is
124 waiting to heard back from the repo maintainers.
</p>
126 <p>As usual, if you use Bitcoin and want to show your support of my
127 activities, please send Bitcoin donations to my address
128 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
133 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>.
138 <div class=
"padding"></div>
141 <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>
142 <div class=
"date">11th June
2023</div>
143 <div class=
"body"><p>With yesterdays
144 <a href=
"https://www.debian.org/News/2023/20230610">release of Debian
145 12 Bookworm
</a>, I am happy to know the
146 <a href=
"https://tracker.debian.org/pkg/opensnitch">the interactive
147 application firewall OpenSnitch
</a> is available for a wider audience.
148 I have been running it for a few weeks now, and have been surprised
149 about some of the programs connecting to the Internet. Some programs
150 are obviously calling out from my machine, like the NTP network based
151 clock adjusting system and Tor to reach other Tor clients, but others
152 were more dubious. For example, the KDE Window manager try to look up
153 the host name in DNS, for no apparent reason, but if this lookup is
154 blocked the KDE desktop get periodically stuck when I use it. Another
155 surprise was how much Firefox call home directly to mozilla.com,
156 mozilla.net and googleapis.com, to mention a few, when I visit other
157 web pages. This direct connection happen even if I told Firefox to
158 always use a proxy, and the proxy setting is ignored for this traffic.
159 Other surprising connections come from audacity and dirmngr (I do not
160 use Gnome). It took some trial and error to get a good default set of
161 permissions. Without it, I would get popups asking for permissions at
162 any time, also the most inconvenient ones where I am in the middle of
163 a time sensitive gaming session.
</p>
165 <p>I suspect some application developers should rethink when then need
166 to use network connections or DNS lookups, and recommend testing
167 OpenSnitch (only
<tt>apt install opensnitch
</tt> away in Debian
168 Bookworm) to locate and report any surprising Internet connections on
169 your desktop machine.
</p>
171 <p>At the moment the upstream developer and Debian package maintainer
172 is working on making the system more reliable in Debian, by enabling
173 the eBPF kernel module to track processes and connections instead of
174 depending in content in /proc/. This should enter unstable fairly
177 <p>As usual, if you use Bitcoin and want to show your support of my
178 activities, please send Bitcoin donations to my address
179 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
181 <p><strong>Update
2023-
06-
12</strong>: I got a tip about
182 <a href=
"https://wiki.debian.org/PrivacyIssues">a list of privacy
183 issues in Free Software
</a> and the
184 <a href=
"irc://irc.debian.org/%23debian-privacy">#debian-privacy IRC
185 channel
</a> discussing these topics.
</p>
191 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>.
196 <div class=
"padding"></div>
199 <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>
200 <div class=
"date">19th May
2023</div>
201 <div class=
"body"><p>There is a European standard for reading utility meters like water,
202 gas, electricity or heat distribution meters. The
203 <a href=
"https://en.wikipedia.org/wiki/Meter-Bus">Meter-Bus standard
204 (EN
13757-
2, EN
13757-
3 and EN
13757–
4)
</a> provide a cross vendor way
205 to talk to and collect meter data. I ran into this standard when I
206 wanted to monitor some heat distribution meters, and managed to find
207 free software that could do the job. The meters in question broadcast
208 encrypted messages with meter information via radio, and the hardest
209 part was to track down the encryption keys from the vendor. With this
210 in place I could set up a MQTT gateway to submit the meter data for
213 <p>The free software systems in question,
214 <a href=
"https://tracker.debian.org/pkg/rtl-wmbus">rtl-wmbus
</a> to
215 read the messages from a software defined radio, and
216 <a href=
"https://tracker.debian.org/pkg/wmbusmeters">wmbusmeters
</a> to
217 decrypt and decode the content of the messages, is working very well
218 and allowe me to get frequent updates from my meters. I got in touch
219 with upstream last year to see if there was any interest in publishing
220 the packages via Debian. I was very happy to learn that Fredrik
221 Öhrström volunteered to maintain the packages, and I have since
222 assisted him in getting Debian package build rules in place as well as
223 sponsoring the packages into the Debian archive. Sadly we completed
224 it too late for them to become part of the next stable Debian release
225 (Bookworm). The wmbusmeters package just cleared the NEW queue. It
226 will need some work to fix a built problem, but I expect Fredrik will
227 find a solution soon.
</p>
229 <p>If you got a infrastructure meter supporting the Meter Bus
230 standard, I strongly recommend having a look at these nice
233 <p>As usual, if you use Bitcoin and want to show your support of my
234 activities, please send Bitcoin donations to my address
235 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
240 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>.
245 <div class=
"padding"></div>
248 <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>
249 <div class=
"date">14th May
2023</div>
250 <div class=
"body"><p>The LinuxCNC project is making headway these days. A lot of
251 patches and issues have seen activity on
252 <a href=
"https://github.com/LinuxCNC/linuxcnc/">the project github
253 pages
</a> recently. A few weeks ago there was a developer gathering
254 over at the
<a href=
"https://tormach.com/">Tormach
</a> headquarter in
255 Wisconsin, and now we are planning a new gathering in Norway. If you
256 wonder what LinuxCNC is, lets quote Wikipedia:
</p>
259 "LinuxCNC is a software system for numerical control of
260 machines such as milling machines, lathes, plasma cutters, routers,
261 cutting machines, robots and hexapods. It can control up to
9 axes or
262 joints of a CNC machine using G-code (RS-
274NGC) as input. It has
263 several GUIs suited to specific kinds of usage (touch screen,
264 interactive development)."
267 <p>The Norwegian developer gathering take place the weekend June
16th
268 to
18th this year, and is open for everyone interested in contributing
269 to LinuxCNC. Up to date information about the gathering can be found
271 <a href=
"https://sourceforge.net/p/emc/mailman/emc-developers/thread/sa64jp06nob.fsf%40hjemme.reinholdtsen.name/#msg37837251">the
272 developer mailing list thread
</a> where the gathering was announced.
273 Thanks to the good people at
274 <a href=
"https://www.debian.org/">Debian
</a>,
275 <a href=
"https://www.redpill-linpro.com/">Redpill-Linpro
</a> and
276 <a href=
"https://www.nuugfoundation.no/no/">NUUG Foundation
</a>, we
277 have enough sponsor funds to pay for food, and shelter for the people
278 traveling from afar to join us. If you would like to join the
279 gathering, get in touch.
</p>
281 <p>As usual, if you use Bitcoin and want to show your support of my
282 activities, please send Bitcoin donations to my address
283 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
288 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>.
293 <div class=
"padding"></div>
296 <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>
297 <div class=
"date">13th May
2023</div>
298 <div class=
"body"><p>A bit delayed,
299 <a href=
"https://tracker.debian.org/pkg/opensnitch">the interactive
300 application firewall OpenSnitch
</a> package in Debian now got the
301 latest fixes ready for Debian Bookworm. Because it depend on a
302 package missing on some architectures, the autopkgtest check of the
303 testing migration script did not understand that the tests were
304 actually working, so the migration was delayed. A bug in the package
305 dependencies is also fixed, so those installing the firewall package
306 (opensnitch) now also get the GUI admin tool (python3-opensnitch-ui)
307 installed by default. I am very grateful to Gustavo Iñiguez Goya for
308 his work on getting the package ready for Debian Bookworm.
</p>
310 <p>Armed with this package I have discovered some surprising
311 connections from programs I believed were able to work completly
312 offline, and it has already proven its worth, at least to me. If you
313 too want to get more familiar with the kind of programs using
314 Internett connections on your machine, I recommend testing
<tt>apt
315 install opensnitch
</tt> in Bookworm and see what you think.
</p>
317 <p>The package is still not able to build its eBPF module within
318 Debian. Not sure how much work it would be to get it working, but
319 suspect some kernel related packages need to be extended with more
320 header files to get it working.
</p>
322 <p>As usual, if you use Bitcoin and want to show your support of my
323 activities, please send Bitcoin donations to my address
324 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
329 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>.
334 <div class=
"padding"></div>
337 <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>
338 <div class=
"date">23rd April
2023</div>
339 <div class=
"body"><p>While visiting a convention during Easter, it occurred to me that
340 it would be great if I could have a digital Dictaphone with
341 transcribing capabilities, providing me with texts to cut-n-paste into
342 stuff I need to write. The background is that long drives often bring
343 up the urge to write on texts I am working on, which of course is out
344 of the question while driving. With the release of
345 <a href=
"https://github.com/openai/whisper/">OpenAI Whisper
</a>, this
346 seem to be within reach with Free Software, so I decided to give it a
347 go. OpenAI Whisper is a Linux based neural network system to read in
348 audio files and provide text representation of the speech in that
349 audio recording. It handle multiple languages and according to its
350 creators even can translate into a different language than the spoken
351 one. I have not tested the latter feature. It can either use the CPU
352 or a GPU with CUDA support. As far as I can tell, CUDA in practice
353 limit that feature to NVidia graphics cards. I have few of those, as
354 they do not work great with free software drivers, and have not tested
355 the GPU option. While looking into the matter, I did discover some
356 work to provide CUDA support on non-NVidia GPUs, and some work with
357 the library used by Whisper to port it to other GPUs, but have not
358 spent much time looking into GPU support yet. I've so far used an old
359 X220 laptop as my test machine, and only transcribed using its
362 <p>As it from a privacy standpoint is unthinkable to use computers
363 under control of someone else (aka a "cloud" service) to transcribe
364 ones thoughts and personal notes, I want to run the transcribing
365 system locally on my own computers. The only sensible approach to me
366 is to make the effort I put into this available for any Linux user and
367 to upload the needed packages into Debian. Looking at Debian Bookworm, I
368 discovered that only three packages were missing,
369 <a href=
"https://bugs.debian.org/1034307">tiktoken
</a>,
370 <a href=
"https://bugs.debian.org/1034144">triton
</a>, and
371 <a href=
"https://bugs.debian.org/1034091">openai-whisper
</a>. For a while
373 <a href=
"https://bugs.debian.org/1034286">ffmpeg-python
</a> was
375 <a href=
"https://github.com/kkroening/ffmpeg-python/issues/760">upstream
376 seem to have vanished
</a> I found it safer
377 <a href=
"https://github.com/openai/whisper/pull/1242">to rewrite
378 whisper
</a> to stop depending on in than to introduce ffmpeg-python
379 into Debian. I decided to place these packages under the umbrella of
380 <a href=
"https://salsa.debian.org/deeplearning-team">the Debian Deep
381 Learning Team
</a>, which seem like the best team to look after such
382 packages. Discussing the topic within the group also made me aware
383 that the triton package was already a future dependency of newer
384 versions of the torch package being planned, and would be needed after
385 Bookworm is released.
</p>
387 <p>All required code packages have been now waiting in
388 <a href=
"https://ftp-master.debian.org/new.html">the Debian NEW
389 queue
</a> since Wednesday, heading for Debian Experimental until
390 Bookworm is released. An unsolved issue is how to handle the neural
391 network models used by Whisper. The default behaviour of Whisper is
392 to require Internet connectivity and download the model requested to
393 <tt>~/.cache/whisper/
</tt> on first invocation. This obviously would
394 fail
<a href=
"https://people.debian.org/~bap/dfsg-faq.html">the
395 deserted island test of free software
</a> as the Debian packages would
396 be unusable for someone stranded with only the Debian archive and solar
397 powered computer on a deserted island.
</p>
399 <p>Because of this, I would love to include the models in the Debian
400 mirror system. This is problematic, as the models are very large
401 files, which would put a heavy strain on the Debian mirror
402 infrastructure around the globe. The strain would be even higher if
403 the models change often, which luckily as far as I can tell they do
404 not. The small model, which according to its creator is most useful
405 for English and in my experience is not doing a great job there
406 either, is
462 MiB (deb is
414 MiB). The medium model, which to me
407 seem to handle English speech fairly well is
1.5 GiB (deb is
1.3 GiB)
408 and the large model is
2.9 GiB (deb is
2.6 GiB). I would assume
409 everyone with enough resources would prefer to use the large model for
410 highest quality. I believe the models themselves would have to go
411 into the non-free part of the Debian archive, as they are not really
412 including any useful source code for updating the models. The
413 "source", aka the model training set, according to the creators
414 consist of "
680,
000 hours of multilingual and multitask supervised
415 data collected from the web", which to me reads material with both
416 unknown copyright terms, unavailable to the general public. In other
417 words, the source is not available according to the Debian Free
418 Software Guidelines and the model should be considered non-free.
</p>
420 <p>I asked the Debian FTP masters for advice regarding uploading a
421 model package on their IRC channel, and based on the feedback there it
422 is still unclear to me if such package would be accepted into the
423 archive. In any case I wrote build rules for a
424 <a href=
"https://salsa.debian.org/deeplearning-team/openai-whisper-model">OpenAI
425 Whisper model package
</a> and
426 <a href=
"https://github.com/openai/whisper/pull/1257">modified the
427 Whisper code base
</a> to prefer shared files under
<tt>/usr/
</tt> and
428 <tt>/var/
</tt> over user specific files in
<tt>~/.cache/whisper/
</tt>
429 to be able to use these model packages, to prepare for such
430 possibility. One solution might be to include only one of the models
431 (small or medium, I guess) in the Debian archive, and ask people to
432 download the others from the Internet. Not quite sure what to do
433 here, and advice is most welcome (use the debian-ai mailing list).
</p>
435 <p>To make it easier to test the new packages while I wait for them to
436 clear the NEW queue, I created an APT source targeting bookworm. I
437 selected Bookworm instead of Bullseye, even though I know the latter
438 would reach more users, is that some of the required dependencies are
439 missing from Bullseye and I during this phase of testing did not want
440 to backport a lot of packages just to get up and running.
</p>
442 <p>Here is a recipe to run as user root if you want to test OpenAI
443 Whisper using Debian packages on your Debian Bookworm installation,
444 first adding the APT repository GPG key to the list of trusted keys,
445 then setting up the APT repository and finally installing the packages
446 and one of the models:
</p>
449 curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \
450 -o /etc/apt/trusted.gpg.d/pere-whisper.asc
451 mkdir -p /etc/apt/sources.list.d
452 cat
> /etc/apt/sources.list.d/pere-whisper.list
<<EOF
453 deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
454 deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
457 apt install openai-whisper
460 <p>The package work for me, but have not yet been tested on any other
461 computer than my own. With it, I have been able to (badly) transcribe
462 a
2 minute
40 second Norwegian audio clip to test using the small
463 model. This took
11 minutes and around
2.2 GiB of RAM. Transcribing
464 the same file with the medium model gave a accurate text in
77 minutes
465 using around
5.2 GiB of RAM. My test machine had too little memory to
466 test the large model, which I believe require
11 GiB of RAM. In
467 short, this now work for me using Debian packages, and I hope it will
468 for you and everyone else once the packages enter Debian.
</p>
470 <p>Now I can start on the audio recording part of this project.
</p>
472 <p>As usual, if you use Bitcoin and want to show your support of my
473 activities, please send Bitcoin donations to my address
474 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
479 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>.
484 <div class=
"padding"></div>
487 <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>
488 <div class=
"date"> 7th April
2023</div>
489 <div class=
"body"><p>Today I finally found time to track down a useful radio frequency
490 scanner for my software defined radio. Just for fun I tried to locate
491 the radios used in the areas, and a good start would be to scan all
492 the frequencies to see what is in use. I've tried to find a useful
493 program earlier, but ran out of time before I managed to find a useful
494 tool. This time I was more successful, and after a few false leads I
495 found a description of
496 <a href=
"https://www.kali.org/tools/rtlsdr-scanner/">rtlsdr-scanner
497 over at the Kali site
</a>, and was able to track down
498 <a href=
"https://gitlab.com/kalilinux/packages/rtlsdr-scanner.git">the
499 Kali package git repository
</a> to build a deb package for the
500 scanner. Sadly the package is missing from the Debian project itself,
501 at least in Debian Bullseye. Two runtime dependencies,
502 <a href=
"https://gitlab.com/kalilinux/packages/python-visvis.git">python-visvis
</a>
504 <a href=
"https://gitlab.com/kalilinux/packages/python-rtlsdr.git">python-rtlsdr
</a>
505 had to be built and installed separately. Luckily '
<tt>gbp
506 buildpackage
</tt>' handled them just fine and no further packages had
507 to be manually built. The end result worked out of the box after
510 <p>My initial scans for FM channels worked just fine, so I knew the
511 scanner was functioning. But when I tried to scan every frequency
512 from
100 to
1000 MHz, the program stopped unexpectedly near the
513 completion. After some debugging I discovered USB software radio I
514 used rejected frequencies above
948 MHz, triggering a unreported
515 exception breaking the scan. Changing the scan to end at
957 worked
516 better. I similarly found the lower limit to be around
15, and ended
517 up with the following full scan:
</p>
519 <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>
521 <p>Saving the scan did not work, but exporting it as a CSV file worked
522 just fine. I ended up with around
477k CVS lines with dB level for
523 the given frequency.
</p>
525 <p>The save failure seem to be a missing UTF-
8 encoding issue in the
526 python code. Will see if I can find time to send a patch
527 <a href=
"https://github.com/CdeMills/RTLSDR-Scanner/">upstream
</a>
528 later to fix this exception:
</p>
531 Traceback (most recent call last):
532 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line
485, in __on_save
533 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
534 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line
408, in save_plot
535 handle.write(json.dumps(data, indent=
4))
536 TypeError: a bytes-like object is required, not 'str'
537 Traceback (most recent call last):
538 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line
485, in __on_save
539 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
540 File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line
408, in save_plot
541 handle.write(json.dumps(data, indent=
4))
542 TypeError: a bytes-like object is required, not 'str'
545 <p>As usual, if you use Bitcoin and want to show your support of my
546 activities, please send Bitcoin donations to my address
547 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
552 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>.
557 <div class=
"padding"></div>
560 <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>
561 <div class=
"date">25th February
2023</div>
562 <div class=
"body"><p>Thanks to the efforts of the OpenSnitch lead developer Gustavo
563 Iñiguez Goya allowing me to sponsor the upload,
564 <a href=
"https://tracker.debian.org/pkg/opensnitch">the interactive
565 application firewall OpenSnitch
</a> is now available in Debian
566 Testing, soon to become the next stable release of Debian.
</p>
568 <p>This is a package which set up a network firewall on one or more
569 machines, which is controlled by a graphical user interface that will
570 ask the user if a program should be allowed to connect to the local
571 network or the Internet. If some background daemon is trying to dial
572 home, it can be blocked from doing so with a simple mouse click, or by
573 default simply by not doing anything when the GUI question dialog pop
574 up. A list of all programs discovered using the network is provided
575 in the GUI, giving the user an overview of how the machine(s) programs
578 <p>OpenSnitch was uploaded for NEW processing about a month ago, and I
579 had little hope of it getting accepted and shaping up in time for the
580 package freeze, but the Debian ftpmasters proved to be amazingly quick
581 at checking out the package and it was accepted into the archive about
582 week after the first upload. It is now team maintained under the Go
583 language team umbrella. A few fixes to the default setup is only in
584 Sid, and should migrate to Testing/Bookworm in a week.
</p>
586 <p>During testing I ran into an
587 <a href=
"https://github.com/evilsocket/opensnitch/issues/813">issue
588 with Minecraft server broadcasts disappearing
</a>, which was quickly
589 resolved by the developer with a patch and a proposed configuration
590 change. I've been told this was caused by the Debian packages default
591 use if /proc/ information to track down kernel status, instead of the
592 newer eBPF module that can be used. The reason is simply that
593 upstream and I have failed to find a way to build the eBPF modules for
594 OpenSnitch without a complete configured Linux kernel source tree,
595 which as far as we can tell is unavailable as a build dependency in
596 Debian. We tried unsuccessfully so far to use the kernel-headers
597 package. It would be great if someone could provide some clues how to
598 build eBPF modules on build daemons in Debian, possibly without the full
601 <p>As usual, if you use Bitcoin and want to show your support of my
602 activities, please send Bitcoin donations to my address
603 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
608 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>.
613 <div class=
"padding"></div>
616 <div class=
"title"><a href=
"https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html">Is the desktop recommending your program for opening its files?
</a></div>
617 <div class=
"date">29th January
2023</div>
618 <div class=
"body"><p>Linux desktop systems
619 <a href=
"https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">have
620 standardized
</a> how programs present themselves to the desktop
621 system. If a package include a .desktop file in
622 /usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
623 environments will pick up the file and use its content to generate the
624 menu of available programs in the system. A lesser known fact is that
625 a package can also explain to the desktop system how to recognize the
626 files created by the program in question, and use it to open these
627 files on request, for example via a GUI file browser.
</p>
629 <p>A while back I ran into a package that did not tell the desktop
630 system how to recognize its files and was not used to open its files
631 in the file browser and fixed it. In the process I wrote a simple
632 debian/tests/ script to ensure the setup keep working. It might be
633 useful for other packages too, to ensure any future version of the
634 package keep handling its own files.
</p>
636 <p>For this to work the file format need a useful MIME type that can
637 be used to identify the format. If the file format do not yet have a
638 MIME type, it should define one and preferably also
639 <a href=
"https://www.iana.org/assignments/media-types/media-types.xhtml">register
640 it with IANA
</a> to ensure the MIME type string is reserved.
</p>
642 <p>The script uses the
<tt>xdg-mime
</tt> program from xdg-utils to
643 query the database of standardized package information and ensure it
644 return sensible values. It also need the location of an example file
645 for xdg-mime to guess the format of.
</p>
650 # Author: Petter Reinholdtsen
651 # License: GPL v2 or later at your choice.
653 # Validate the MIME setup, making sure motor types have
654 # application/vnd.openmotor+yaml associated with them and is connected
655 # to the openmotor desktop file.
659 mimetype="application/vnd.openmotor+yaml"
660 testfile="test/data/real/o3100/motor.ric"
661 mydesktopfile="openmotor.desktop"
663 filemime="$(xdg-mime query filetype "$testfile")"
665 if [ "$mimetype" != "$filemime" ] ; then
667 echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype"
669 echo "success: xdg-mime report correct mime type $mimetype for motor file"
672 desktop=$(xdg-mime query default "$mimetype")
674 if [ "$mydesktopfile" != "$desktop" ]; then
676 echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile"
678 echo "success: xdg-mime agree motor file should be handled by $mydesktopfile"
684 <p>It is a simple way to ensure your users are not very surprised when
685 they try to open one of your file formats in their file browser.
</p>
687 <p>As usual, if you use Bitcoin and want to show your support of my
688 activities, please send Bitcoin donations to my address
689 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
694 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>.
699 <div class=
"padding"></div>
701 <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>
712 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/01/">January (
3)
</a></li>
714 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/02/">February (
1)
</a></li>
716 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/04/">April (
2)
</a></li>
718 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/05/">May (
3)
</a></li>
720 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/06/">June (
1)
</a></li>
722 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/08/">August (
1)
</a></li>
724 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/09/">September (
1)
</a></li>
731 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/02/">February (
1)
</a></li>
733 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/03/">March (
3)
</a></li>
735 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/04/">April (
2)
</a></li>
737 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/06/">June (
2)
</a></li>
739 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/07/">July (
1)
</a></li>
741 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/09/">September (
1)
</a></li>
743 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/10/">October (
1)
</a></li>
745 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/12/">December (
1)
</a></li>
752 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/01/">January (
2)
</a></li>
754 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/02/">February (
1)
</a></li>
756 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/05/">May (
1)
</a></li>
758 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/06/">June (
1)
</a></li>
760 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/07/">July (
3)
</a></li>
762 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/08/">August (
1)
</a></li>
764 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/09/">September (
1)
</a></li>
766 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/10/">October (
1)
</a></li>
768 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/12/">December (
1)
</a></li>
775 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
777 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/03/">March (
2)
</a></li>
779 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/04/">April (
2)
</a></li>
781 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/05/">May (
3)
</a></li>
783 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/06/">June (
2)
</a></li>
785 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/07/">July (
1)
</a></li>
787 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/09/">September (
1)
</a></li>
789 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/10/">October (
1)
</a></li>
791 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/11/">November (
1)
</a></li>
798 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
800 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
802 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
804 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
806 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
808 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
810 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
812 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
814 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
816 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
823 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
825 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
827 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
829 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
831 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
833 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
835 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
837 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
839 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
841 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
843 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
850 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
852 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
854 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
856 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
858 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
860 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
862 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
864 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
866 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
868 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
870 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
877 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
879 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
881 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
883 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
885 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
887 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
889 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
891 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
893 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
895 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
897 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
899 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
906 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
908 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
910 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
912 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
914 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
916 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
918 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
920 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
922 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
924 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
926 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
928 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
935 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
937 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
939 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
941 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
943 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
945 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
947 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
949 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
951 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
953 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
955 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
957 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
964 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
966 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
968 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
970 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
972 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
974 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
976 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
978 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
980 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
982 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
984 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
986 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
993 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
995 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
997 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
999 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
1001 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
1003 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
1005 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
1007 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
1009 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
1011 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
1013 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
1015 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
1022 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
1024 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
1026 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
1028 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
1030 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
1032 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
1034 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
1036 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
1038 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
1040 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
1042 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
1044 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
1051 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
1053 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
1055 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
1057 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
1059 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
1061 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
1063 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
1065 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
1067 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
1069 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
1071 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
1073 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
1080 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
1082 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
1084 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
1086 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
1088 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
1090 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
1092 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
1094 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
1096 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
1098 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
1100 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
1102 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
1109 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
1111 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
1122 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
1124 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
1126 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
1128 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
1130 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
1132 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
12)
</a></li>
1134 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1136 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
1138 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
1140 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian (
194)
</a></li>
1142 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
159)
</a></li>
1144 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
1146 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
1148 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/dld">dld (
18)
</a></li>
1150 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/docbook">docbook (
30)
</a></li>
1152 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1154 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/english">english (
451)
</a></li>
1156 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1158 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1160 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
1162 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1164 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1166 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
1168 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/intervju">intervju (
43)
</a></li>
1170 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
1172 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kart">kart (
23)
</a></li>
1174 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kodi">kodi (
6)
</a></li>
1176 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
1178 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego (
5)
</a></li>
1180 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
1182 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (
5)
</a></li>
1184 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1186 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1188 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
1190 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1192 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
46)
</a></li>
1194 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
15)
</a></li>
1196 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
23)
</a></li>
1198 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk (
321)
</a></li>
1200 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug (
198)
</a></li>
1202 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
40)
</a></li>
1204 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1206 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
1208 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
1210 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern (
114)
</a></li>
1212 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
1214 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1216 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1218 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1220 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot (
17)
</a></li>
1222 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1224 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1226 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1228 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
59)
</a></li>
1230 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1232 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1234 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/standard">standard (
74)
</a></li>
1236 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
1238 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
14)
</a></li>
1240 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
64)
</a></li>
1242 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
1244 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1246 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1248 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
20)
</a></li>
1250 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/video">video (
79)
</a></li>
1252 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1254 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1260 <p style=
"text-align: right">
1261 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>