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