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