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