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