]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Petter Reinholdtsen</title>
5 <description></description>
6 <link>https://people.skolelinux.org/pere/blog/</link>
7 <atom:link href="https://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
8
9 <item>
10 <title>«underordnet tjenestemann blir inhabil fordi en overordnet er inhabil».</title>
11 <link>https://people.skolelinux.org/pere/blog/_underordnet_tjenestemann_blir_inhabil_fordi_en_overordnet_er_inhabil__.html</link>
12 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/_underordnet_tjenestemann_blir_inhabil_fordi_en_overordnet_er_inhabil__.html</guid>
13 <pubDate>Thu, 7 Sep 2023 09:10:00 +0200</pubDate>
14 <description>&lt;p&gt;Medlemmene av Norges regjering har demonstert de siste månedene at
15 habilitetsvureringer ikke er deres sterke side og det gjelder både
16 Arbeiderpartiets og Senterpartiers representater. Det er heldigvis
17 enklere i det private, da inhabilitetsreglene kun gjelder de som
18 jobber for folket, ikke seg selv. Sist ut er utenriksminister
19 Huitfeldt. I går kom nyheten om at
20 &lt;a href=&quot;https://www.nrk.no/nyheter/riksadvokaten_-okokrim-nestsjef-kan-behandle-huitfeldt-saken-1.16545162&quot;&gt;Riksadvokaten
21 har konkludert med at nestsjefen i Økokrim kan behandle sak om
22 habilitet og innsidekunnskap&lt;/a&gt; for Huitfeldt, på tross av at hans
23 overordnede, sjefen for Økokrim, har meldt seg inhabil i saken. Dette
24 er litt rart. I veilednigen
25 «&lt;a href=&quot;https://www.regjeringen.no/globalassets/upload/krd/vedlegg/komm/veiledere/habilitet_i_kommuner_og_fylkeskommuner.pdf&quot;&gt;Habilitet
26 i kommuner og fylkeskommuner&lt;/a&gt;» av Kommunal- og regionaldepartementet
27 forteller de hva som gjelder, riktig nok gjelder veiledningen ikke for
28 Økokrim som jo ikke er kommune eller fylkeskommune, men jeg får ikke
29 inntrykk av at dette er regler som kun gjelder for kommune og
30 fylkeskommune:
31
32 &lt;blockquote&gt;
33 &lt;p&gt;«&lt;strong&gt;2.1 Oversikt over inhabilitetsgrunnlagene&lt;/strong&gt;
34
35 &lt;p&gt;De alminnelige reglene om inhabilitet for den offentlige
36 forvaltningen er gitt i
37 &lt;a href=&quot;https://lovdata.no/dokument/NL/lov/1967-02-10/KAPITTEL_2#KAPITTEL_2&quot;&gt;forvaltningsloven
38 §§ 6 til 10&lt;/a&gt;. Forvaltningslovens hovedregel om inhabilitet framgår
39 av § 6. Her er det gitt tre ulike grunnlag som kan føre til at en
40 tjenestemann eller folkevalgt blir inhabil. I § 6 første ledd
41 bokstavene a til e er det oppstilt konkrete tilknytningsforhold mellom
42 tjenestemannen og saken eller sakens parter som automatisk fører til
43 inhabilitet. Annet ledd oppstiller en skjønnsmessig regel om at
44 tjenestemannen også kan bli inhabil etter en konkret vurdering av
45 inhabilitetsspørsmålet, der en lang rekke momenter kan være
46 relevante. I tredje ledd er det regler om såkalt avledet
47 inhabilitet. Det vil si at en underordnet tjenestemann blir inhabil
48 fordi en overordnet er inhabil.»&lt;/p&gt;
49 &lt;/blockquote&gt;
50
51 &lt;p&gt;Loven sier ganske enkelt «Er den overordnede tjenestemann ugild,
52 kan avgjørelse i saken heller ikke treffes av en direkte underordnet
53 tjenestemann i samme forvaltningsorgan.» Jeg antar tanken er at en
54 underordnet vil stå i fare for å tilpasse sine konklusjoner til det
55 overordnet vil ha fordel av, for å fortsatt ha et godt forhold til sin
56 overordnede. Men jeg er ikke jurist og forstår nok ikke kompliserte
57 juridiske vurderinger. For å sitere «Kamerat Napoleon» av George
58 Orwell: «Alle dyr er like, men noen dyr er likere enn andre».
59 </description>
60 </item>
61
62 <item>
63 <title>Invidious add-on for Kodi 20</title>
64 <link>https://people.skolelinux.org/pere/blog/Invidious_add_on_for_Kodi_20.html</link>
65 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Invidious_add_on_for_Kodi_20.html</guid>
66 <pubDate>Thu, 10 Aug 2023 19:50:00 +0200</pubDate>
67 <description>&lt;p&gt;I still enjoy &lt;a href=&quot;https://kodi.tv/&quot;&gt;Kodi&lt;/a&gt; and
68 &lt;a href=&quot;https://libreelec.tv/&quot;&gt;LibreELEC&lt;/a&gt; as my multimedia center
69 at home. Sadly two of the services I really would like to use from
70 within Kodi are not easily available. The most wanted add-on would be
71 one making &lt;a href=&quot;https://archive.org/&quot;&gt;The Internet Archive&lt;/a&gt;
72 available, and it has
73 &lt;a href=&quot;https://kodi.wiki/view/Add-on:Internet_Archive&quot;&gt;not been
74 working&lt;/a&gt; for many years. The second most wanted add-on is one
75 using &lt;a href=&quot;https://invidious.io/&quot;&gt;the Invidious privacy enhanced
76 Youtube frontent&lt;/a&gt;. A plugin for this has been partly working, but
77 not been kept up to date in the Kodi add-on repository, and its
78 upstream seem to have given it up in April this year, when the git
79 repository was closed. A few days ago I got tired of this sad state
80 of affairs and decided to
81 &lt;a href=&quot;https://github.com/petterreinholdtsen/kodi-invidious-plugin&quot;&gt;have
82 a go at improving the Invidious add-on&lt;/a&gt;. As
83 &lt;a href=&quot;https://github.com/iv-org/invidious/issues/3872&quot;&gt;Google has
84 already attacked&lt;/a&gt; the Invidious concept, so it need all the support
85 if can get. My small contribution here is to improve the service
86 status on Kodi.&lt;/p&gt;
87
88 &lt;p&gt;I added support to the Invidious add-on for automatically picking a
89 working Invidious instance, instead of requiring the user to specify
90 the URL to a specific instance after installation. I also had a look
91 at the set of patches floating around in the various forks on github,
92 and decided to clean up at least some of the features I liked and
93 integrate them into my new release branch. Now the plugin can handle
94 channel and short video items in search results. Earlier it could
95 only handle single video instances in the search response. I also
96 brushed up the set of metadata displayed a bit, but hope I can figure
97 out how to get more relevant metadata displayed.&lt;/p&gt;
98
99 &lt;p&gt;Because I only use Kodi 20 myself, I only test on version 20 and am
100 only motivated to ensure version 20 is working. Because of API changes
101 between version 19 and 20, I suspect it will fail with earlier Kodi
102 versions.&lt;/p&gt;
103
104 &lt;p&gt;I already
105 &lt;a href=&quot;https://github.com/xbmc/repo-plugins/pull/4363&quot;&gt;asked to have
106 the add-on added&lt;/a&gt; to the official Kodi 20 repository, and is
107 waiting to heard back from the repo maintainers.&lt;/p&gt;
108
109 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
110 activities, please send Bitcoin donations to my address
111 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
112 </description>
113 </item>
114
115 <item>
116 <title>What did I learn from OpenSnitch this summer?</title>
117 <link>https://people.skolelinux.org/pere/blog/What_did_I_learn_from_OpenSnitch_this_summer_.html</link>
118 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_did_I_learn_from_OpenSnitch_this_summer_.html</guid>
119 <pubDate>Sun, 11 Jun 2023 08:30:00 +0200</pubDate>
120 <description>&lt;p&gt;With yesterdays
121 &lt;a href=&quot;https://www.debian.org/News/2023/20230610&quot;&gt;release of Debian
122 12 Bookworm&lt;/a&gt;, I am happy to know the
123 &lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
124 application firewall OpenSnitch&lt;/a&gt; is available for a wider audience.
125 I have been running it for a few weeks now, and have been surprised
126 about some of the programs connecting to the Internet. Some programs
127 are obviously calling out from my machine, like the NTP network based
128 clock adjusting system and Tor to reach other Tor clients, but others
129 were more dubious. For example, the KDE Window manager try to look up
130 the host name in DNS, for no apparent reason, but if this lookup is
131 blocked the KDE desktop get periodically stuck when I use it. Another
132 surprise was how much Firefox call home directly to mozilla.com,
133 mozilla.net and googleapis.com, to mention a few, when I visit other
134 web pages. This direct connection happen even if I told Firefox to
135 always use a proxy, and the proxy setting is ignored for this traffic.
136 Other surprising connections come from audacity and dirmngr (I do not
137 use Gnome). It took some trial and error to get a good default set of
138 permissions. Without it, I would get popups asking for permissions at
139 any time, also the most inconvenient ones where I am in the middle of
140 a time sensitive gaming session.&lt;/p&gt;
141
142 &lt;p&gt;I suspect some application developers should rethink when then need
143 to use network connections or DNS lookups, and recommend testing
144 OpenSnitch (only &lt;tt&gt;apt install opensnitch&lt;/tt&gt; away in Debian
145 Bookworm) to locate and report any surprising Internet connections on
146 your desktop machine.&lt;/p&gt;
147
148 &lt;p&gt;At the moment the upstream developer and Debian package maintainer
149 is working on making the system more reliable in Debian, by enabling
150 the eBPF kernel module to track processes and connections instead of
151 depending in content in /proc/. This should enter unstable fairly
152 soon.&lt;/p&gt;
153
154 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
155 activities, please send Bitcoin donations to my address
156 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
157
158 &lt;p&gt;&lt;strong&gt;Update 2023-06-12&lt;/strong&gt;: I got a tip about
159 &lt;a href=&quot;https://wiki.debian.org/PrivacyIssues&quot;&gt;a list of privacy
160 issues in Free Software&lt;/a&gt; and the
161 &lt;a href=&quot;irc://irc.debian.org/%23debian-privacy&quot;&gt;#debian-privacy IRC
162 channel&lt;/a&gt; discussing these topics.&lt;/p&gt;
163
164 </description>
165 </item>
166
167 <item>
168 <title>wmbusmeters, parse data from your utility meter - nice free software</title>
169 <link>https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html</link>
170 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html</guid>
171 <pubDate>Fri, 19 May 2023 21:50:00 +0200</pubDate>
172 <description>&lt;p&gt;There is a European standard for reading utility meters like water,
173 gas, electricity or heat distribution meters. The
174 &lt;a href=&quot;https://en.wikipedia.org/wiki/Meter-Bus&quot;&gt;Meter-Bus standard
175 (EN 13757-2, EN 13757-3 and EN 137574)&lt;/a&gt; provide a cross vendor way
176 to talk to and collect meter data. I ran into this standard when I
177 wanted to monitor some heat distribution meters, and managed to find
178 free software that could do the job. The meters in question broadcast
179 encrypted messages with meter information via radio, and the hardest
180 part was to track down the encryption keys from the vendor. With this
181 in place I could set up a MQTT gateway to submit the meter data for
182 graphing.&lt;/p&gt;
183
184 &lt;p&gt;The free software systems in question,
185 &lt;a href=&quot;https://tracker.debian.org/pkg/rtl-wmbus&quot;&gt;rtl-wmbus&lt;/a&gt; to
186 read the messages from a software defined radio, and
187 &lt;a href=&quot;https://tracker.debian.org/pkg/wmbusmeters&quot;&gt;wmbusmeters&lt;/a&gt; to
188 decrypt and decode the content of the messages, is working very well
189 and allowe me to get frequent updates from my meters. I got in touch
190 with upstream last year to see if there was any interest in publishing
191 the packages via Debian. I was very happy to learn that Fredrik
192 Öhrström volunteered to maintain the packages, and I have since
193 assisted him in getting Debian package build rules in place as well as
194 sponsoring the packages into the Debian archive. Sadly we completed
195 it too late for them to become part of the next stable Debian release
196 (Bookworm). The wmbusmeters package just cleared the NEW queue. It
197 will need some work to fix a built problem, but I expect Fredrik will
198 find a solution soon.&lt;/p&gt;
199
200 &lt;p&gt;If you got a infrastructure meter supporting the Meter Bus
201 standard, I strongly recommend having a look at these nice
202 packages.&lt;/p&gt;
203
204 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
205 activities, please send Bitcoin donations to my address
206 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
207 </description>
208 </item>
209
210 <item>
211 <title>The 2023 LinuxCNC Norwegian developer gathering</title>
212 <link>https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html</link>
213 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html</guid>
214 <pubDate>Sun, 14 May 2023 20:30:00 +0200</pubDate>
215 <description>&lt;p&gt;The LinuxCNC project is making headway these days. A lot of
216 patches and issues have seen activity on
217 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/&quot;&gt;the project github
218 pages&lt;/a&gt; recently. A few weeks ago there was a developer gathering
219 over at the &lt;a href=&quot;https://tormach.com/&quot;&gt;Tormach&lt;/a&gt; headquarter in
220 Wisconsin, and now we are planning a new gathering in Norway. If you
221 wonder what LinuxCNC is, lets quote Wikipedia:&lt;/p&gt;
222
223 &lt;blockquote&gt;
224 &quot;LinuxCNC is a software system for numerical control of
225 machines such as milling machines, lathes, plasma cutters, routers,
226 cutting machines, robots and hexapods. It can control up to 9 axes or
227 joints of a CNC machine using G-code (RS-274NGC) as input. It has
228 several GUIs suited to specific kinds of usage (touch screen,
229 interactive development).&quot;
230 &lt;/blockquote&gt;
231
232 &lt;p&gt;The Norwegian developer gathering take place the weekend June 16th
233 to 18th this year, and is open for everyone interested in contributing
234 to LinuxCNC. Up to date information about the gathering can be found
235 in
236 &lt;a href=&quot;https://sourceforge.net/p/emc/mailman/emc-developers/thread/sa64jp06nob.fsf%40hjemme.reinholdtsen.name/#msg37837251&quot;&gt;the
237 developer mailing list thread&lt;/a&gt; where the gathering was announced.
238 Thanks to the good people at
239 &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt;,
240 &lt;a href=&quot;https://www.redpill-linpro.com/&quot;&gt;Redpill-Linpro&lt;/a&gt; and
241 &lt;a href=&quot;https://www.nuugfoundation.no/no/&quot;&gt;NUUG Foundation&lt;/a&gt;, we
242 have enough sponsor funds to pay for food, and shelter for the people
243 traveling from afar to join us. If you would like to join the
244 gathering, get in touch.&lt;/p&gt;
245
246 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
247 activities, please send Bitcoin donations to my address
248 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
249 </description>
250 </item>
251
252 <item>
253 <title>OpenSnitch in Debian ready for prime time</title>
254 <link>https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html</link>
255 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html</guid>
256 <pubDate>Sat, 13 May 2023 12:10:00 +0200</pubDate>
257 <description>&lt;p&gt;A bit delayed,
258 &lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
259 application firewall OpenSnitch&lt;/a&gt; package in Debian now got the
260 latest fixes ready for Debian Bookworm. Because it depend on a
261 package missing on some architectures, the autopkgtest check of the
262 testing migration script did not understand that the tests were
263 actually working, so the migration was delayed. A bug in the package
264 dependencies is also fixed, so those installing the firewall package
265 (opensnitch) now also get the GUI admin tool (python3-opensnitch-ui)
266 installed by default. I am very grateful to Gustavo Iñiguez Goya for
267 his work on getting the package ready for Debian Bookworm.&lt;/p&gt;
268
269 &lt;p&gt;Armed with this package I have discovered some surprising
270 connections from programs I believed were able to work completly
271 offline, and it has already proven its worth, at least to me. If you
272 too want to get more familiar with the kind of programs using
273 Internett connections on your machine, I recommend testing &lt;tt&gt;apt
274 install opensnitch&lt;/tt&gt; in Bookworm and see what you think.&lt;/p&gt;
275
276 &lt;p&gt;The package is still not able to build its eBPF module within
277 Debian. Not sure how much work it would be to get it working, but
278 suspect some kernel related packages need to be extended with more
279 header files to get it working.&lt;/p&gt;
280
281 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
282 activities, please send Bitcoin donations to my address
283 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
284 </description>
285 </item>
286
287 <item>
288 <title>Speech to text, she APTly whispered, how hard can it be?</title>
289 <link>https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html</link>
290 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html</guid>
291 <pubDate>Sun, 23 Apr 2023 09:40:00 +0200</pubDate>
292 <description>&lt;p&gt;While visiting a convention during Easter, it occurred to me that
293 it would be great if I could have a digital Dictaphone with
294 transcribing capabilities, providing me with texts to cut-n-paste into
295 stuff I need to write. The background is that long drives often bring
296 up the urge to write on texts I am working on, which of course is out
297 of the question while driving. With the release of
298 &lt;a href=&quot;https://github.com/openai/whisper/&quot;&gt;OpenAI Whisper&lt;/a&gt;, this
299 seem to be within reach with Free Software, so I decided to give it a
300 go. OpenAI Whisper is a Linux based neural network system to read in
301 audio files and provide text representation of the speech in that
302 audio recording. It handle multiple languages and according to its
303 creators even can translate into a different language than the spoken
304 one. I have not tested the latter feature. It can either use the CPU
305 or a GPU with CUDA support. As far as I can tell, CUDA in practice
306 limit that feature to NVidia graphics cards. I have few of those, as
307 they do not work great with free software drivers, and have not tested
308 the GPU option. While looking into the matter, I did discover some
309 work to provide CUDA support on non-NVidia GPUs, and some work with
310 the library used by Whisper to port it to other GPUs, but have not
311 spent much time looking into GPU support yet. I&#39;ve so far used an old
312 X220 laptop as my test machine, and only transcribed using its
313 CPU.&lt;/p&gt;
314
315 &lt;p&gt;As it from a privacy standpoint is unthinkable to use computers
316 under control of someone else (aka a &quot;cloud&quot; service) to transcribe
317 ones thoughts and personal notes, I want to run the transcribing
318 system locally on my own computers. The only sensible approach to me
319 is to make the effort I put into this available for any Linux user and
320 to upload the needed packages into Debian. Looking at Debian Bookworm, I
321 discovered that only three packages were missing,
322 &lt;a href=&quot;https://bugs.debian.org/1034307&quot;&gt;tiktoken&lt;/a&gt;,
323 &lt;a href=&quot;https://bugs.debian.org/1034144&quot;&gt;triton&lt;/a&gt;, and
324 &lt;a href=&quot;https://bugs.debian.org/1034091&quot;&gt;openai-whisper&lt;/a&gt;. For a while
325 I also believed
326 &lt;a href=&quot;https://bugs.debian.org/1034286&quot;&gt;ffmpeg-python&lt;/a&gt; was
327 needed, but as its
328 &lt;a href=&quot;https://github.com/kkroening/ffmpeg-python/issues/760&quot;&gt;upstream
329 seem to have vanished&lt;/a&gt; I found it safer
330 &lt;a href=&quot;https://github.com/openai/whisper/pull/1242&quot;&gt;to rewrite
331 whisper&lt;/a&gt; to stop depending on in than to introduce ffmpeg-python
332 into Debian. I decided to place these packages under the umbrella of
333 &lt;a href=&quot;https://salsa.debian.org/deeplearning-team&quot;&gt;the Debian Deep
334 Learning Team&lt;/a&gt;, which seem like the best team to look after such
335 packages. Discussing the topic within the group also made me aware
336 that the triton package was already a future dependency of newer
337 versions of the torch package being planned, and would be needed after
338 Bookworm is released.&lt;/p&gt;
339
340 &lt;p&gt;All required code packages have been now waiting in
341 &lt;a href=&quot;https://ftp-master.debian.org/new.html&quot;&gt;the Debian NEW
342 queue&lt;/a&gt; since Wednesday, heading for Debian Experimental until
343 Bookworm is released. An unsolved issue is how to handle the neural
344 network models used by Whisper. The default behaviour of Whisper is
345 to require Internet connectivity and download the model requested to
346 &lt;tt&gt;~/.cache/whisper/&lt;/tt&gt; on first invocation. This obviously would
347 fail &lt;a href=&quot;https://people.debian.org/~bap/dfsg-faq.html&quot;&gt;the
348 deserted island test of free software&lt;/a&gt; as the Debian packages would
349 be unusable for someone stranded with only the Debian archive and solar
350 powered computer on a deserted island.&lt;/p&gt;
351
352 &lt;p&gt;Because of this, I would love to include the models in the Debian
353 mirror system. This is problematic, as the models are very large
354 files, which would put a heavy strain on the Debian mirror
355 infrastructure around the globe. The strain would be even higher if
356 the models change often, which luckily as far as I can tell they do
357 not. The small model, which according to its creator is most useful
358 for English and in my experience is not doing a great job there
359 either, is 462 MiB (deb is 414 MiB). The medium model, which to me
360 seem to handle English speech fairly well is 1.5 GiB (deb is 1.3 GiB)
361 and the large model is 2.9 GiB (deb is 2.6 GiB). I would assume
362 everyone with enough resources would prefer to use the large model for
363 highest quality. I believe the models themselves would have to go
364 into the non-free part of the Debian archive, as they are not really
365 including any useful source code for updating the models. The
366 &quot;source&quot;, aka the model training set, according to the creators
367 consist of &quot;680,000 hours of multilingual and multitask supervised
368 data collected from the web&quot;, which to me reads material with both
369 unknown copyright terms, unavailable to the general public. In other
370 words, the source is not available according to the Debian Free
371 Software Guidelines and the model should be considered non-free.&lt;/p&gt;
372
373 &lt;p&gt;I asked the Debian FTP masters for advice regarding uploading a
374 model package on their IRC channel, and based on the feedback there it
375 is still unclear to me if such package would be accepted into the
376 archive. In any case I wrote build rules for a
377 &lt;a href=&quot;https://salsa.debian.org/deeplearning-team/openai-whisper-model&quot;&gt;OpenAI
378 Whisper model package&lt;/a&gt; and
379 &lt;a href=&quot;https://github.com/openai/whisper/pull/1257&quot;&gt;modified the
380 Whisper code base&lt;/a&gt; to prefer shared files under &lt;tt&gt;/usr/&lt;/tt&gt; and
381 &lt;tt&gt;/var/&lt;/tt&gt; over user specific files in &lt;tt&gt;~/.cache/whisper/&lt;/tt&gt;
382 to be able to use these model packages, to prepare for such
383 possibility. One solution might be to include only one of the models
384 (small or medium, I guess) in the Debian archive, and ask people to
385 download the others from the Internet. Not quite sure what to do
386 here, and advice is most welcome (use the debian-ai mailing list).&lt;/p&gt;
387
388 &lt;p&gt;To make it easier to test the new packages while I wait for them to
389 clear the NEW queue, I created an APT source targeting bookworm. I
390 selected Bookworm instead of Bullseye, even though I know the latter
391 would reach more users, is that some of the required dependencies are
392 missing from Bullseye and I during this phase of testing did not want
393 to backport a lot of packages just to get up and running.&lt;/p&gt;
394
395 &lt;p&gt;Here is a recipe to run as user root if you want to test OpenAI
396 Whisper using Debian packages on your Debian Bookworm installation,
397 first adding the APT repository GPG key to the list of trusted keys,
398 then setting up the APT repository and finally installing the packages
399 and one of the models:&lt;/p&gt;
400
401 &lt;p&gt;&lt;pre&gt;
402 curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \
403 -o /etc/apt/trusted.gpg.d/pere-whisper.asc
404 mkdir -p /etc/apt/sources.list.d
405 cat &gt; /etc/apt/sources.list.d/pere-whisper.list &amp;lt;&amp;lt;EOF
406 deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
407 deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
408 EOF
409 apt update
410 apt install openai-whisper
411 &lt;/pre&gt;&lt;/p&gt;
412
413 &lt;p&gt;The package work for me, but have not yet been tested on any other
414 computer than my own. With it, I have been able to (badly) transcribe
415 a 2 minute 40 second Norwegian audio clip to test using the small
416 model. This took 11 minutes and around 2.2 GiB of RAM. Transcribing
417 the same file with the medium model gave a accurate text in 77 minutes
418 using around 5.2 GiB of RAM. My test machine had too little memory to
419 test the large model, which I believe require 11 GiB of RAM. In
420 short, this now work for me using Debian packages, and I hope it will
421 for you and everyone else once the packages enter Debian.&lt;/p&gt;
422
423 &lt;p&gt;Now I can start on the audio recording part of this project.&lt;/p&gt;
424
425 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
426 activities, please send Bitcoin donations to my address
427 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
428 </description>
429 </item>
430
431 <item>
432 <title>rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software</title>
433 <link>https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html</link>
434 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html</guid>
435 <pubDate>Fri, 7 Apr 2023 23:10:00 +0200</pubDate>
436 <description>&lt;p&gt;Today I finally found time to track down a useful radio frequency
437 scanner for my software defined radio. Just for fun I tried to locate
438 the radios used in the areas, and a good start would be to scan all
439 the frequencies to see what is in use. I&#39;ve tried to find a useful
440 program earlier, but ran out of time before I managed to find a useful
441 tool. This time I was more successful, and after a few false leads I
442 found a description of
443 &lt;a href=&quot;https://www.kali.org/tools/rtlsdr-scanner/&quot;&gt;rtlsdr-scanner
444 over at the Kali site&lt;/a&gt;, and was able to track down
445 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/rtlsdr-scanner.git&quot;&gt;the
446 Kali package git repository&lt;/a&gt; to build a deb package for the
447 scanner. Sadly the package is missing from the Debian project itself,
448 at least in Debian Bullseye. Two runtime dependencies,
449 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/python-visvis.git&quot;&gt;python-visvis&lt;/a&gt;
450 and
451 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/python-rtlsdr.git&quot;&gt;python-rtlsdr&lt;/a&gt;
452 had to be built and installed separately. Luckily &#39;&lt;tt&gt;gbp
453 buildpackage&lt;/tt&gt;&#39; handled them just fine and no further packages had
454 to be manually built. The end result worked out of the box after
455 installation.&lt;/p&gt;
456
457 &lt;p&gt;My initial scans for FM channels worked just fine, so I knew the
458 scanner was functioning. But when I tried to scan every frequency
459 from 100 to 1000 MHz, the program stopped unexpectedly near the
460 completion. After some debugging I discovered USB software radio I
461 used rejected frequencies above 948 MHz, triggering a unreported
462 exception breaking the scan. Changing the scan to end at 957 worked
463 better. I similarly found the lower limit to be around 15, and ended
464 up with the following full scan:&lt;/p&gt;
465
466 &lt;p&gt;&lt;a href=&quot;https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png&quot;&gt;&lt;img src=&quot;https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png&quot; width=&quot;100%&quot;&gt;&lt;/a&gt;&lt;/p&gt;
467
468 &lt;p&gt;Saving the scan did not work, but exporting it as a CSV file worked
469 just fine. I ended up with around 477k CVS lines with dB level for
470 the given frequency.&lt;/p&gt;
471
472 &lt;p&gt;The save failure seem to be a missing UTF-8 encoding issue in the
473 python code. Will see if I can find time to send a patch
474 &lt;a href=&quot;https://github.com/CdeMills/RTLSDR-Scanner/&quot;&gt;upstream&lt;/a&gt;
475 later to fix this exception:&lt;/p&gt;
476
477 &lt;pre&gt;
478 Traceback (most recent call last):
479 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py&quot;, line 485, in __on_save
480 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
481 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py&quot;, line 408, in save_plot
482 handle.write(json.dumps(data, indent=4))
483 TypeError: a bytes-like object is required, not &#39;str&#39;
484 Traceback (most recent call last):
485 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py&quot;, line 485, in __on_save
486 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
487 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py&quot;, line 408, in save_plot
488 handle.write(json.dumps(data, indent=4))
489 TypeError: a bytes-like object is required, not &#39;str&#39;
490 &lt;/pre&gt;
491
492 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
493 activities, please send Bitcoin donations to my address
494 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
495 </description>
496 </item>
497
498 <item>
499 <title>OpenSnitch available in Debian Sid and Bookworm</title>
500 <link>https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</link>
501 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</guid>
502 <pubDate>Sat, 25 Feb 2023 20:30:00 +0100</pubDate>
503 <description>&lt;p&gt;Thanks to the efforts of the OpenSnitch lead developer Gustavo
504 Iñiguez Goya allowing me to sponsor the upload,
505 &lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
506 application firewall OpenSnitch&lt;/a&gt; is now available in Debian
507 Testing, soon to become the next stable release of Debian.&lt;/p&gt;
508
509 &lt;p&gt;This is a package which set up a network firewall on one or more
510 machines, which is controlled by a graphical user interface that will
511 ask the user if a program should be allowed to connect to the local
512 network or the Internet. If some background daemon is trying to dial
513 home, it can be blocked from doing so with a simple mouse click, or by
514 default simply by not doing anything when the GUI question dialog pop
515 up. A list of all programs discovered using the network is provided
516 in the GUI, giving the user an overview of how the machine(s) programs
517 use the network.&lt;/p&gt;
518
519 &lt;p&gt;OpenSnitch was uploaded for NEW processing about a month ago, and I
520 had little hope of it getting accepted and shaping up in time for the
521 package freeze, but the Debian ftpmasters proved to be amazingly quick
522 at checking out the package and it was accepted into the archive about
523 week after the first upload. It is now team maintained under the Go
524 language team umbrella. A few fixes to the default setup is only in
525 Sid, and should migrate to Testing/Bookworm in a week.&lt;/p&gt;
526
527 &lt;p&gt;During testing I ran into an
528 &lt;a href=&quot;https://github.com/evilsocket/opensnitch/issues/813&quot;&gt;issue
529 with Minecraft server broadcasts disappearing&lt;/a&gt;, which was quickly
530 resolved by the developer with a patch and a proposed configuration
531 change. I&#39;ve been told this was caused by the Debian packages default
532 use if /proc/ information to track down kernel status, instead of the
533 newer eBPF module that can be used. The reason is simply that
534 upstream and I have failed to find a way to build the eBPF modules for
535 OpenSnitch without a complete configured Linux kernel source tree,
536 which as far as we can tell is unavailable as a build dependency in
537 Debian. We tried unsuccessfully so far to use the kernel-headers
538 package. It would be great if someone could provide some clues how to
539 build eBPF modules on build daemons in Debian, possibly without the full
540 kernel source.&lt;/p&gt;
541
542 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
543 activities, please send Bitcoin donations to my address
544 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
545 </description>
546 </item>
547
548 <item>
549 <title>Is the desktop recommending your program for opening its files?</title>
550 <link>https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html</link>
551 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html</guid>
552 <pubDate>Sun, 29 Jan 2023 11:00:00 +0100</pubDate>
553 <description>&lt;p&gt;Linux desktop systems
554 &lt;a href=&quot;https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html&quot;&gt;have
555 standardized&lt;/a&gt; how programs present themselves to the desktop
556 system. If a package include a .desktop file in
557 /usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
558 environments will pick up the file and use its content to generate the
559 menu of available programs in the system. A lesser known fact is that
560 a package can also explain to the desktop system how to recognize the
561 files created by the program in question, and use it to open these
562 files on request, for example via a GUI file browser.&lt;/p&gt;
563
564 &lt;p&gt;A while back I ran into a package that did not tell the desktop
565 system how to recognize its files and was not used to open its files
566 in the file browser and fixed it. In the process I wrote a simple
567 debian/tests/ script to ensure the setup keep working. It might be
568 useful for other packages too, to ensure any future version of the
569 package keep handling its own files.&lt;/p&gt;
570
571 &lt;p&gt;For this to work the file format need a useful MIME type that can
572 be used to identify the format. If the file format do not yet have a
573 MIME type, it should define one and preferably also
574 &lt;a href=&quot;https://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;register
575 it with IANA&lt;/a&gt; to ensure the MIME type string is reserved.&lt;/p&gt;
576
577 &lt;p&gt;The script uses the &lt;tt&gt;xdg-mime&lt;/tt&gt; program from xdg-utils to
578 query the database of standardized package information and ensure it
579 return sensible values. It also need the location of an example file
580 for xdg-mime to guess the format of.&lt;/p&gt;
581
582 &lt;pre&gt;
583 #!/bin/sh
584 #
585 # Author: Petter Reinholdtsen
586 # License: GPL v2 or later at your choice.
587 #
588 # Validate the MIME setup, making sure motor types have
589 # application/vnd.openmotor+yaml associated with them and is connected
590 # to the openmotor desktop file.
591
592 retval=0
593
594 mimetype=&quot;application/vnd.openmotor+yaml&quot;
595 testfile=&quot;test/data/real/o3100/motor.ric&quot;
596 mydesktopfile=&quot;openmotor.desktop&quot;
597
598 filemime=&quot;$(xdg-mime query filetype &quot;$testfile&quot;)&quot;
599
600 if [ &quot;$mimetype&quot; != &quot;$filemime&quot; ] ; then
601 retval=1
602 echo &quot;error: xdg-mime claim motor file MIME type is $filemine, not $mimetype&quot;
603 else
604 echo &quot;success: xdg-mime report correct mime type $mimetype for motor file&quot;
605 fi
606
607 desktop=$(xdg-mime query default &quot;$mimetype&quot;)
608
609 if [ &quot;$mydesktopfile&quot; != &quot;$desktop&quot; ]; then
610 retval=1
611 echo &quot;error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile&quot;
612 else
613 echo &quot;success: xdg-mime agree motor file should be handled by $mydesktopfile&quot;
614 fi
615
616 exit $retval
617 &lt;/pre&gt;
618
619 &lt;p&gt;It is a simple way to ensure your users are not very surprised when
620 they try to open one of your file formats in their file browser.&lt;/p&gt;
621
622 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
623 activities, please send Bitcoin donations to my address
624 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
625 </description>
626 </item>
627
628 </channel>
629 </rss>