X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/1f2c8c10c70107880aa68eb15bc0e371854c745f..aafeae8b09742c9d300a1ffc222093abff86f970:/blog/index.rss
diff --git a/blog/index.rss b/blog/index.rss
index 32ebaa35cd..64c53fe0c4 100644
--- a/blog/index.rss
+++ b/blog/index.rss
@@ -6,11 +6,474 @@
https://people.skolelinux.org/pere/blog/
+
+ «Virkninger av angrefristloven», hovedfagsoppgaven som fikk endret en lov
+ https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html
+ https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html
+ Sun, 29 Oct 2023 22:00:00 +0100
+ <img src="http://people.skolelinux.org/pere/blog/images/2023-10-29-bok-angrefrist.svg" width="20%" align="center"></a>
+
+<p>I 1979 leverte Ole-Erik Yrvin en hovedfagsoppgave for Cand. Scient.
+ ved Institutt for sosiologi på Universitetet i Oslo på oppdrag fra
+ Forbruker- og administrasjonsdepartementet. Oppgaven evaluerte
+ Angrefristloven fra 1972, og det han oppdaget førte til at loven ble
+ endret fire år senere.</p>
+
+<p>Jeg har kjent Ole-Erik en stund, og synes det var trist at hans
+ oppgave ikke lenger er tilgjengelig, hverken fra oppdragsgiver
+ eller fra universitetet. Hans forsøk på å få den avbildet og lagt
+ ut på Internett har vist seg fånyttes, så derfor tilbød jeg meg for
+ en stund tilbake å publisere den og gjøre den tilgjengelig med
+ fribruksvilkår på Internett. Det er nå klart, og hovedfagsoppgaven
+ er tilgjengelig blant annet via <a
+ href="http://www.hungry.com/~pere/publisher/">min liste over
+ publiserte bøker</a>, både som nettside,
+ <a href="https://www.lulu.com/search?contributor=Ole-Erik+Yrvin">digital
+ bok i ePub-format og på papir fra lulu.com</a>. Jeg regner med at
+ den også vil dukke opp på nettbokhandlere i løpet av en måned eller
+ to.</p>
+
+<p>Alle tabeller og figurer er gjenskapt for bedre lesbarhet, noen
+ skrivefeil rettet opp og mange referanser har fått flere detaljer
+ som ISBN-nummer og DOI-referanse. Selv om jeg ikke regner med at
+ dette blir en kioskvelter, så håper jeg denne nye utgaven kan komme
+ fremtiden til glede.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>. Merk,
+betaling med bitcoin er ikke anonymt. :)</p>
+
+
+
+
+ «underordnet tjenestemann blir inhabil fordi en overordnet er inhabil».
+ https://people.skolelinux.org/pere/blog/_underordnet_tjenestemann_blir_inhabil_fordi_en_overordnet_er_inhabil__.html
+ https://people.skolelinux.org/pere/blog/_underordnet_tjenestemann_blir_inhabil_fordi_en_overordnet_er_inhabil__.html
+ Thu, 7 Sep 2023 09:10:00 +0200
+ <p>Medlemmene av Norges regjering har demonstert de siste månedene at
+habilitetsvureringer ikke er deres sterke side og det gjelder både
+Arbeiderpartiets og Senterpartiers representater. Det er heldigvis
+enklere i det private, da inhabilitetsreglene kun gjelder de som
+jobber for folket, ikke seg selv. Sist ut er utenriksminister
+Huitfeldt. I går kom nyheten om at
+<a href="https://www.nrk.no/nyheter/riksadvokaten_-okokrim-nestsjef-kan-behandle-huitfeldt-saken-1.16545162">Riksadvokaten
+har konkludert med at nestsjefen i Ãkokrim kan behandle sak om
+habilitet og innsidekunnskap</a> for Huitfeldt, på tross av at hans
+overordnede, sjefen for Ãkokrim, har meldt seg inhabil i saken. Dette
+er litt rart. I veilednigen
+«<a href="https://www.regjeringen.no/globalassets/upload/krd/vedlegg/komm/veiledere/habilitet_i_kommuner_og_fylkeskommuner.pdf">Habilitet
+i kommuner og fylkeskommuner</a>» av Kommunal- og regionaldepartementet
+forteller de hva som gjelder, riktig nok gjelder veiledningen ikke for
+Ãkokrim som jo ikke er kommune eller fylkeskommune, men jeg fÃ¥r ikke
+inntrykk av at dette er regler som kun gjelder for kommune og
+fylkeskommune:
+
+<blockquote>
+<p>«<strong>2.1 Oversikt over inhabilitetsgrunnlagene</strong>
+
+<p>De alminnelige reglene om inhabilitet for den offentlige
+forvaltningen er gitt i
+<a href="https://lovdata.no/dokument/NL/lov/1967-02-10/KAPITTEL_2#KAPITTEL_2">forvaltningsloven
+§§ 6 til 10</a>. Forvaltningslovens hovedregel om inhabilitet framgår
+av § 6. Her er det gitt tre ulike grunnlag som kan føre til at en
+tjenestemann eller folkevalgt blir inhabil. I § 6 første ledd
+bokstavene a til e er det oppstilt konkrete tilknytningsforhold mellom
+tjenestemannen og saken eller sakens parter som automatisk fører til
+inhabilitet. Annet ledd oppstiller en skjønnsmessig regel om at
+tjenestemannen også kan bli inhabil etter en konkret vurdering av
+inhabilitetsspørsmålet, der en lang rekke momenter kan være
+relevante. I tredje ledd er det regler om såkalt avledet
+inhabilitet. Det vil si at en underordnet tjenestemann blir inhabil
+fordi en overordnet er inhabil.»</p>
+</blockquote>
+
+<p>Loven sier ganske enkelt «Er den overordnede tjenestemann ugild,
+kan avgjørelse i saken heller ikke treffes av en direkte underordnet
+tjenestemann i samme forvaltningsorgan.» Jeg antar tanken er at en
+underordnet vil stå i fare for å tilpasse sine konklusjoner til det
+overordnet vil ha fordel av, for å fortsatt ha et godt forhold til sin
+overordnede. Men jeg er ikke jurist og forstår nok ikke kompliserte
+juridiske vurderinger. For å sitere «Kamerat Napoleon» av George
+Orwell: «Alle dyr er like, men noen dyr er likere enn andre».
+
+
+
+
+ Invidious add-on for Kodi 20
+ https://people.skolelinux.org/pere/blog/Invidious_add_on_for_Kodi_20.html
+ https://people.skolelinux.org/pere/blog/Invidious_add_on_for_Kodi_20.html
+ Thu, 10 Aug 2023 19:50:00 +0200
+ <p>I still enjoy <a href="https://kodi.tv/">Kodi</a> and
+<a href="https://libreelec.tv/">LibreELEC</a> as my multimedia center
+at home. Sadly two of the services I really would like to use from
+within Kodi are not easily available. The most wanted add-on would be
+one making <a href="https://archive.org/">The Internet Archive</a>
+available, and it has
+<a href="https://kodi.wiki/view/Add-on:Internet_Archive">not been
+working</a> for many years. The second most wanted add-on is one
+using <a href="https://invidious.io/">the Invidious privacy enhanced
+Youtube frontent</a>. A plugin for this has been partly working, but
+not been kept up to date in the Kodi add-on repository, and its
+upstream seem to have given it up in April this year, when the git
+repository was closed. A few days ago I got tired of this sad state
+of affairs and decided to
+<a href="https://github.com/petterreinholdtsen/kodi-invidious-plugin">have
+a go at improving the Invidious add-on</a>. As
+<a href="https://github.com/iv-org/invidious/issues/3872">Google has
+already attacked</a> the Invidious concept, so it need all the support
+if can get. My small contribution here is to improve the service
+status on Kodi.</p>
+
+<p>I added support to the Invidious add-on for automatically picking a
+working Invidious instance, instead of requiring the user to specify
+the URL to a specific instance after installation. I also had a look
+at the set of patches floating around in the various forks on github,
+and decided to clean up at least some of the features I liked and
+integrate them into my new release branch. Now the plugin can handle
+channel and short video items in search results. Earlier it could
+only handle single video instances in the search response. I also
+brushed up the set of metadata displayed a bit, but hope I can figure
+out how to get more relevant metadata displayed.</p>
+
+<p>Because I only use Kodi 20 myself, I only test on version 20 and am
+only motivated to ensure version 20 is working. Because of API changes
+between version 19 and 20, I suspect it will fail with earlier Kodi
+versions.</p>
+
+<p>I already
+<a href="https://github.com/xbmc/repo-plugins/pull/4363">asked to have
+the add-on added</a> to the official Kodi 20 repository, and is
+waiting to heard back from the repo maintainers.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
+
+ What did I learn from OpenSnitch this summer?
+ https://people.skolelinux.org/pere/blog/What_did_I_learn_from_OpenSnitch_this_summer_.html
+ https://people.skolelinux.org/pere/blog/What_did_I_learn_from_OpenSnitch_this_summer_.html
+ Sun, 11 Jun 2023 08:30:00 +0200
+ <p>With yesterdays
+<a href="https://www.debian.org/News/2023/20230610">release of Debian
+12 Bookworm</a>, I am happy to know the
+<a href="https://tracker.debian.org/pkg/opensnitch">the interactive
+application firewall OpenSnitch</a> is available for a wider audience.
+I have been running it for a few weeks now, and have been surprised
+about some of the programs connecting to the Internet. Some programs
+are obviously calling out from my machine, like the NTP network based
+clock adjusting system and Tor to reach other Tor clients, but others
+were more dubious. For example, the KDE Window manager try to look up
+the host name in DNS, for no apparent reason, but if this lookup is
+blocked the KDE desktop get periodically stuck when I use it. Another
+surprise was how much Firefox call home directly to mozilla.com,
+mozilla.net and googleapis.com, to mention a few, when I visit other
+web pages. This direct connection happen even if I told Firefox to
+always use a proxy, and the proxy setting is ignored for this traffic.
+Other surprising connections come from audacity and dirmngr (I do not
+use Gnome). It took some trial and error to get a good default set of
+permissions. Without it, I would get popups asking for permissions at
+any time, also the most inconvenient ones where I am in the middle of
+a time sensitive gaming session.</p>
+
+<p>I suspect some application developers should rethink when then need
+to use network connections or DNS lookups, and recommend testing
+OpenSnitch (only <tt>apt install opensnitch</tt> away in Debian
+Bookworm) to locate and report any surprising Internet connections on
+your desktop machine.</p>
+
+<p>At the moment the upstream developer and Debian package maintainer
+is working on making the system more reliable in Debian, by enabling
+the eBPF kernel module to track processes and connections instead of
+depending in content in /proc/. This should enter unstable fairly
+soon.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+<p><strong>Update 2023-06-12</strong>: I got a tip about
+<a href="https://wiki.debian.org/PrivacyIssues">a list of privacy
+issues in Free Software</a> and the
+<a href="irc://irc.debian.org/%23debian-privacy">#debian-privacy IRC
+channel</a> discussing these topics.</p>
+
+
+
+
+
+ wmbusmeters, parse data from your utility meter - nice free software
+ https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html
+ https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html
+ Fri, 19 May 2023 21:50:00 +0200
+ <p>There is a European standard for reading utility meters like water,
+gas, electricity or heat distribution meters. The
+<a href="https://en.wikipedia.org/wiki/Meter-Bus">Meter-Bus standard
+(EN 13757-2, EN 13757-3 and EN 13757â4)</a> provide a cross vendor way
+to talk to and collect meter data. I ran into this standard when I
+wanted to monitor some heat distribution meters, and managed to find
+free software that could do the job. The meters in question broadcast
+encrypted messages with meter information via radio, and the hardest
+part was to track down the encryption keys from the vendor. With this
+in place I could set up a MQTT gateway to submit the meter data for
+graphing.</p>
+
+<p>The free software systems in question,
+<a href="https://tracker.debian.org/pkg/rtl-wmbus">rtl-wmbus</a> to
+read the messages from a software defined radio, and
+<a href="https://tracker.debian.org/pkg/wmbusmeters">wmbusmeters</a> to
+decrypt and decode the content of the messages, is working very well
+and allowe me to get frequent updates from my meters. I got in touch
+with upstream last year to see if there was any interest in publishing
+the packages via Debian. I was very happy to learn that Fredrik
+Ãhrström volunteered to maintain the packages, and I have since
+assisted him in getting Debian package build rules in place as well as
+sponsoring the packages into the Debian archive. Sadly we completed
+it too late for them to become part of the next stable Debian release
+(Bookworm). The wmbusmeters package just cleared the NEW queue. It
+will need some work to fix a built problem, but I expect Fredrik will
+find a solution soon.</p>
+
+<p>If you got a infrastructure meter supporting the Meter Bus
+standard, I strongly recommend having a look at these nice
+packages.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
+
+ The 2023 LinuxCNC Norwegian developer gathering
+ https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html
+ https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html
+ Sun, 14 May 2023 20:30:00 +0200
+ <p>The LinuxCNC project is making headway these days. A lot of
+patches and issues have seen activity on
+<a href="https://github.com/LinuxCNC/linuxcnc/">the project github
+pages</a> recently. A few weeks ago there was a developer gathering
+over at the <a href="https://tormach.com/">Tormach</a> headquarter in
+Wisconsin, and now we are planning a new gathering in Norway. If you
+wonder what LinuxCNC is, lets quote Wikipedia:</p>
+
+<blockquote>
+"LinuxCNC is a software system for numerical control of
+machines such as milling machines, lathes, plasma cutters, routers,
+cutting machines, robots and hexapods. It can control up to 9 axes or
+joints of a CNC machine using G-code (RS-274NGC) as input. It has
+several GUIs suited to specific kinds of usage (touch screen,
+interactive development)."
+</blockquote>
+
+<p>The Norwegian developer gathering take place the weekend June 16th
+to 18th this year, and is open for everyone interested in contributing
+to LinuxCNC. Up to date information about the gathering can be found
+in
+<a href="https://sourceforge.net/p/emc/mailman/emc-developers/thread/sa64jp06nob.fsf%40hjemme.reinholdtsen.name/#msg37837251">the
+developer mailing list thread</a> where the gathering was announced.
+Thanks to the good people at
+<a href="https://www.debian.org/">Debian</a>,
+<a href="https://www.redpill-linpro.com/">Redpill-Linpro</a> and
+<a href="https://www.nuugfoundation.no/no/">NUUG Foundation</a>, we
+have enough sponsor funds to pay for food, and shelter for the people
+traveling from afar to join us. If you would like to join the
+gathering, get in touch.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
+
+ OpenSnitch in Debian ready for prime time
+ https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html
+ https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html
+ Sat, 13 May 2023 12:10:00 +0200
+ <p>A bit delayed,
+<a href="https://tracker.debian.org/pkg/opensnitch">the interactive
+application firewall OpenSnitch</a> package in Debian now got the
+latest fixes ready for Debian Bookworm. Because it depend on a
+package missing on some architectures, the autopkgtest check of the
+testing migration script did not understand that the tests were
+actually working, so the migration was delayed. A bug in the package
+dependencies is also fixed, so those installing the firewall package
+(opensnitch) now also get the GUI admin tool (python3-opensnitch-ui)
+installed by default. I am very grateful to Gustavo Iñiguez Goya for
+his work on getting the package ready for Debian Bookworm.</p>
+
+<p>Armed with this package I have discovered some surprising
+connections from programs I believed were able to work completly
+offline, and it has already proven its worth, at least to me. If you
+too want to get more familiar with the kind of programs using
+Internett connections on your machine, I recommend testing <tt>apt
+install opensnitch</tt> in Bookworm and see what you think.</p>
+
+<p>The package is still not able to build its eBPF module within
+Debian. Not sure how much work it would be to get it working, but
+suspect some kernel related packages need to be extended with more
+header files to get it working.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
+
+ Speech to text, she APTly whispered, how hard can it be?
+ https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html
+ https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html
+ Sun, 23 Apr 2023 09:40:00 +0200
+ <p>While visiting a convention during Easter, it occurred to me that
+it would be great if I could have a digital Dictaphone with
+transcribing capabilities, providing me with texts to cut-n-paste into
+stuff I need to write. The background is that long drives often bring
+up the urge to write on texts I am working on, which of course is out
+of the question while driving. With the release of
+<a href="https://github.com/openai/whisper/">OpenAI Whisper</a>, this
+seem to be within reach with Free Software, so I decided to give it a
+go. OpenAI Whisper is a Linux based neural network system to read in
+audio files and provide text representation of the speech in that
+audio recording. It handle multiple languages and according to its
+creators even can translate into a different language than the spoken
+one. I have not tested the latter feature. It can either use the CPU
+or a GPU with CUDA support. As far as I can tell, CUDA in practice
+limit that feature to NVidia graphics cards. I have few of those, as
+they do not work great with free software drivers, and have not tested
+the GPU option. While looking into the matter, I did discover some
+work to provide CUDA support on non-NVidia GPUs, and some work with
+the library used by Whisper to port it to other GPUs, but have not
+spent much time looking into GPU support yet. I've so far used an old
+X220 laptop as my test machine, and only transcribed using its
+CPU.</p>
+
+<p>As it from a privacy standpoint is unthinkable to use computers
+under control of someone else (aka a "cloud" service) to transcribe
+ones thoughts and personal notes, I want to run the transcribing
+system locally on my own computers. The only sensible approach to me
+is to make the effort I put into this available for any Linux user and
+to upload the needed packages into Debian. Looking at Debian Bookworm, I
+discovered that only three packages were missing,
+<a href="https://bugs.debian.org/1034307">tiktoken</a>,
+<a href="https://bugs.debian.org/1034144">triton</a>, and
+<a href="https://bugs.debian.org/1034091">openai-whisper</a>. For a while
+I also believed
+<a href="https://bugs.debian.org/1034286">ffmpeg-python</a> was
+needed, but as its
+<a href="https://github.com/kkroening/ffmpeg-python/issues/760">upstream
+seem to have vanished</a> I found it safer
+<a href="https://github.com/openai/whisper/pull/1242">to rewrite
+whisper</a> to stop depending on in than to introduce ffmpeg-python
+into Debian. I decided to place these packages under the umbrella of
+<a href="https://salsa.debian.org/deeplearning-team">the Debian Deep
+Learning Team</a>, which seem like the best team to look after such
+packages. Discussing the topic within the group also made me aware
+that the triton package was already a future dependency of newer
+versions of the torch package being planned, and would be needed after
+Bookworm is released.</p>
+
+<p>All required code packages have been now waiting in
+<a href="https://ftp-master.debian.org/new.html">the Debian NEW
+queue</a> since Wednesday, heading for Debian Experimental until
+Bookworm is released. An unsolved issue is how to handle the neural
+network models used by Whisper. The default behaviour of Whisper is
+to require Internet connectivity and download the model requested to
+<tt>~/.cache/whisper/</tt> on first invocation. This obviously would
+fail <a href="https://people.debian.org/~bap/dfsg-faq.html">the
+deserted island test of free software</a> as the Debian packages would
+be unusable for someone stranded with only the Debian archive and solar
+powered computer on a deserted island.</p>
+
+<p>Because of this, I would love to include the models in the Debian
+mirror system. This is problematic, as the models are very large
+files, which would put a heavy strain on the Debian mirror
+infrastructure around the globe. The strain would be even higher if
+the models change often, which luckily as far as I can tell they do
+not. The small model, which according to its creator is most useful
+for English and in my experience is not doing a great job there
+either, is 462 MiB (deb is 414 MiB). The medium model, which to me
+seem to handle English speech fairly well is 1.5 GiB (deb is 1.3 GiB)
+and the large model is 2.9 GiB (deb is 2.6 GiB). I would assume
+everyone with enough resources would prefer to use the large model for
+highest quality. I believe the models themselves would have to go
+into the non-free part of the Debian archive, as they are not really
+including any useful source code for updating the models. The
+"source", aka the model training set, according to the creators
+consist of "680,000 hours of multilingual and multitask supervised
+data collected from the web", which to me reads material with both
+unknown copyright terms, unavailable to the general public. In other
+words, the source is not available according to the Debian Free
+Software Guidelines and the model should be considered non-free.</p>
+
+<p>I asked the Debian FTP masters for advice regarding uploading a
+model package on their IRC channel, and based on the feedback there it
+is still unclear to me if such package would be accepted into the
+archive. In any case I wrote build rules for a
+<a href="https://salsa.debian.org/deeplearning-team/openai-whisper-model">OpenAI
+Whisper model package</a> and
+<a href="https://github.com/openai/whisper/pull/1257">modified the
+Whisper code base</a> to prefer shared files under <tt>/usr/</tt> and
+<tt>/var/</tt> over user specific files in <tt>~/.cache/whisper/</tt>
+to be able to use these model packages, to prepare for such
+possibility. One solution might be to include only one of the models
+(small or medium, I guess) in the Debian archive, and ask people to
+download the others from the Internet. Not quite sure what to do
+here, and advice is most welcome (use the debian-ai mailing list).</p>
+
+<p>To make it easier to test the new packages while I wait for them to
+clear the NEW queue, I created an APT source targeting bookworm. I
+selected Bookworm instead of Bullseye, even though I know the latter
+would reach more users, is that some of the required dependencies are
+missing from Bullseye and I during this phase of testing did not want
+to backport a lot of packages just to get up and running.</p>
+
+<p>Here is a recipe to run as user root if you want to test OpenAI
+Whisper using Debian packages on your Debian Bookworm installation,
+first adding the APT repository GPG key to the list of trusted keys,
+then setting up the APT repository and finally installing the packages
+and one of the models:</p>
+
+<p><pre>
+curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \
+ -o /etc/apt/trusted.gpg.d/pere-whisper.asc
+mkdir -p /etc/apt/sources.list.d
+cat > /etc/apt/sources.list.d/pere-whisper.list <<EOF
+deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
+deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
+EOF
+apt update
+apt install openai-whisper
+</pre></p>
+
+<p>The package work for me, but have not yet been tested on any other
+computer than my own. With it, I have been able to (badly) transcribe
+a 2 minute 40 second Norwegian audio clip to test using the small
+model. This took 11 minutes and around 2.2 GiB of RAM. Transcribing
+the same file with the medium model gave a accurate text in 77 minutes
+using around 5.2 GiB of RAM. My test machine had too little memory to
+test the large model, which I believe require 11 GiB of RAM. In
+short, this now work for me using Debian packages, and I hope it will
+for you and everyone else once the packages enter Debian.</p>
+
+<p>Now I can start on the audio recording part of this project.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+
+
rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software
https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html
https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html
- Tue, 7 Mar 2023 23:10:00 +0100
+ Fri, 7 Apr 2023 23:10:00 +0200<p>Today I finally found time to track down a useful radio frequency
scanner for my software defined radio. Just for fun I tried to locate
the radios used in the areas, and a good start would be to scan all
@@ -117,594 +580,6 @@ package. It would be great if someone could provide some clues how to
build eBPF modules on build daemons in Debian, possibly without the full
kernel source.</p>
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- Is the desktop recommending your program for opening its files?
- https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html
- https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html
- Sun, 29 Jan 2023 11:00:00 +0100
- <p>Linux desktop systems
-<a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">have
-standardized</a> how programs present themselves to the desktop
-system. If a package include a .desktop file in
-/usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
-environments will pick up the file and use its content to generate the
-menu of available programs in the system. A lesser known fact is that
-a package can also explain to the desktop system how to recognize the
-files created by the program in question, and use it to open these
-files on request, for example via a GUI file browser.</p>
-
-<p>A while back I ran into a package that did not tell the desktop
-system how to recognize its files and was not used to open its files
-in the file browser and fixed it. In the process I wrote a simple
-debian/tests/ script to ensure the setup keep working. It might be
-useful for other packages too, to ensure any future version of the
-package keep handling its own files.</p>
-
-<p>For this to work the file format need a useful MIME type that can
-be used to identify the format. If the file format do not yet have a
-MIME type, it should define one and preferably also
-<a href="https://www.iana.org/assignments/media-types/media-types.xhtml">register
-it with IANA</a> to ensure the MIME type string is reserved.</p>
-
-<p>The script uses the <tt>xdg-mime</tt> program from xdg-utils to
-query the database of standardized package information and ensure it
-return sensible values. It also need the location of an example file
-for xdg-mime to guess the format of.</p>
-
-<pre>
-#!/bin/sh
-#
-# Author: Petter Reinholdtsen
-# License: GPL v2 or later at your choice.
-#
-# Validate the MIME setup, making sure motor types have
-# application/vnd.openmotor+yaml associated with them and is connected
-# to the openmotor desktop file.
-
-retval=0
-
-mimetype="application/vnd.openmotor+yaml"
-testfile="test/data/real/o3100/motor.ric"
-mydesktopfile="openmotor.desktop"
-
-filemime="$(xdg-mime query filetype "$testfile")"
-
-if [ "$mimetype" != "$filemime" ] ; then
- retval=1
- echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype"
-else
- echo "success: xdg-mime report correct mime type $mimetype for motor file"
-fi
-
-desktop=$(xdg-mime query default "$mimetype")
-
-if [ "$mydesktopfile" != "$desktop" ]; then
- retval=1
- echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile"
-else
- echo "success: xdg-mime agree motor file should be handled by $mydesktopfile"
-fi
-
-exit $retval
-</pre>
-
-<p>It is a simple way to ensure your users are not very surprised when
-they try to open one of your file formats in their file browser.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- Opensnitch, the application level interactive firewall, heading into the Debian archive
- https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html
- https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html
- Sun, 22 Jan 2023 23:55:00 +0100
- <p>While reading a
-<a href="https://sneak.berlin/20230115/macos-scans-your-local-files-now/">blog
-post claiming MacOS X recently started scanning local files and
-reporting information about them to Apple</a>, even on a machine where
-all such callback features had been disabled, I came across a
-description of the Little Snitch application for MacOS X. It seemed
-like a very nice tool to have in the tool box, and I decided to see if
-something similar was available for Linux.</p>
-
-<p>It did not take long to find
-<a href="https://github.com/evilsocket/opensnitch">the OpenSnitch
-package</a>, which has been in development since 2017, and now is in
-version 1.5.0. It has had a
-<a href="https://bugs.debian.org/909567">request for Debian
-packaging</a> since 2018, but no-one completed the job so far. Just
-for fun, I decided to see if I could help, and I was very happy to
-discover that
-<a href="https://github.com/evilsocket/opensnitch/issues/304">upstream
-want a Debian package too</a>.</p>
-
-<p>After struggling a bit with getting the program to run, figuring
-out building Go programs (and a little failed detour to look at eBPF
-builds too - help needed), I am very happy to report that I am
-sponsoring upstream to maintain the package in Debian, and it has
-since this morning been waiting in NEW for the ftpmasters to have a
-look. Perhaps it can get into the archive in time for the Bookworm
-release?</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- LinuxCNC MQTT publisher component
- https://people.skolelinux.org/pere/blog/LinuxCNC_MQTT_publisher_component.html
- https://people.skolelinux.org/pere/blog/LinuxCNC_MQTT_publisher_component.html
- Sun, 8 Jan 2023 19:30:00 +0100
- <p>I watched <a href="https://yewtu.be/watch?v=jmKUV3aNLjk">a 2015
-video from Andreas Schiffler</a> the other day, where he set up
-<a href="https://linuxcnc.org/">LinuxCNC</a> to send status
-information to the MQTT broker IBM Bluemix. As I also use MQTT for
-graphing, it occured to me that a generic MQTT LinuxCNC component
-would be useful and I set out to implement it. Today I got the first
-draft limping along and submitted as
-<a href="https://github.com/LinuxCNC/linuxcnc/pull/2253">a patch to the
-LinuxCNC project</a>.</p>
-
-<p>The simple part was setting up the MQTT publishing code in Python.
-I already have set up other parts submitting data to my Mosquito MQTT
-broker, so I could reuse that code. Writing a LinuxCNC component in
-Python as new to me, but using existing examples in the code
-repository and the extensive documentation, this was fairly straight
-forward. The hardest part was creating a automated test for the
-component to ensure it was working. Testing it in a simulated
-LinuxCNC machine proved very useful, as I discovered features I needed
-that I had not thought of yet, and adjusted the code quite a bit to
-make it easier to test without a operational MQTT broker
-available.</p>
-
-<p>The draft is ready and working, but I am unsure which LinuxCNC HAL
-pins I should collect and publish by default (in other words, the
-default set of information pieces published), and how to get the
-machine name from the LinuxCNC INI file. The latter is a minor
-detail, but I expect it would be useful in a setup with several
-machines available. I am hoping for feedback from the experienced
-LinuxCNC developers and users, to make the component even better
-before it can go into the mainland LinuxCNC code base.</p>
-
-<p>Since I started on the MQTT component, I came across
-<a href="https://yewtu.be/watch?v=Bqa2grG0XtA">another video from Kent
-VanderVelden</a> where he combine LinuxCNC with a set of screen glasses
-controlled by a Raspberry Pi, and it occured to me that it would
-be useful for such use cases if LinuxCNC also provided a REST API for
-querying its status. I hope to start on such component once the MQTT
-component is working well.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- ONVIF IP camera management tool finally in Debian
- https://people.skolelinux.org/pere/blog/ONVIF_IP_camera_management_tool_finally_in_Debian.html
- https://people.skolelinux.org/pere/blog/ONVIF_IP_camera_management_tool_finally_in_Debian.html
- Sat, 24 Dec 2022 08:00:00 +0100
- <p>Merry Christmas to you all. Here is a small gift to all those with
-IP cameras following the <a href="https://www.onvif.org/">ONVIF
-specification</a>. There is finally a nice command line and GUI tool
-in Debian to manage ONVIF IP cameras. After working with upstream for
-a few months and sponsoring the upload, I am very happy to report that
-the <a href="https://tracker.debian.org/libonvif">libonvif package</a>
-entered Debian Sid last night.</p>
-
-<p>The package provide a C library to communicate with such cameras, a
-command line tool to locate and update settings of (like password) the
-cameras and a GUI tool to configure and control the units as well as
-preview the video from the camera. Libonvif is available on Both
-Linux and Windows and the GUI tool uses the Qt library. The main
-competitors are non-free software, while libonvif is GNU GPL licensed.
-I am very glad Debian users in the future can control their cameras
-using a free software system provided by Debian. But the ONVIF world
-is full of slightly broken firmware, where the cameras pretend to
-follow the ONVIF specification but fail to set some configuration
-values or refuse to provide video to more than one recipient at the
-time, and the onvif project is quite young and might take a while
-before it completely work with your camera. Upstream seem eager to
-improve the library, so handling any broken camera might be just <a
-href="https://github.com/sr99622/libonvif/">a bug report away</a>.</p>
-
-<p>The package just cleared NEW, and need a new source only upload
-before it can enter testing. This will happen in the next few
-days.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- Managing and using ONVIF IP cameras with Linux
- https://people.skolelinux.org/pere/blog/Managing_and_using_ONVIF_IP_cameras_with_Linux.html
- https://people.skolelinux.org/pere/blog/Managing_and_using_ONVIF_IP_cameras_with_Linux.html
- Wed, 19 Oct 2022 12:30:00 +0200
- <p>Recently I have been looking at how to control and collect data
-from a handful IP cameras using Linux. I both wanted to change their
-settings and to make their imagery available via a free software
-service under my control. Here is a summary of the tools I found.</p>
-
-<p>First I had to identify the cameras and their protocols. As far as
-I could tell, they were using some SOAP looking protocol and their
-internal web server seem to only work with Microsoft Internet Explorer
-with some proprietary binary plugin, which in these days of course is
-a security disaster and also made it impossible for me to use the
-camera web interface. Luckily I discovered that the SOAP looking
-protocol is actually following <a href="https://www.onvif.org/">the
-ONVIF specification</a>, which seem to be supported by a lot of IP
-cameras these days.</p>
-
-<p>Once the protocol was identified, I was able to find what appear to
-be the most popular way to configure ONVIF cameras, the free software
-Windows tool named
-<a href="https://sourceforge.net/projects/onvifdm/">ONVIF Device
-Manager</a>. Lacking any other options at the time, I tried
-unsuccessfully to get it running using Wine, but was missing a dotnet
-40 library and I found no way around it to run it on Linux.</p>
-
-<p>The next tool I found to configure the cameras were a non-free Linux Qt
-client <a href="https://www.lingodigit.com/onvif_nvcdemo.html">ONVIF
-Device Tool</a>. I did not like its terms of use, so did not spend
-much time on it.</p>
-
-<p>To collect the video and make it available in a web interface, I
-found the Zoneminder tool in Debian. A recent version was able to
-automatically detect and configure ONVIF devices, so I could use it to
-set up motion detection in and collection of the camera output. I had
-initial problems getting the ONVIF autodetection to work, as both
-Firefox and Chromium <a href="https://bugs.debian.org/1001188">refused
-the inter-tab communication</a> being used by the Zoneminder web
-pages, but managed to get konqueror to work. Apparently the "Enhanced
-Tracking Protection" in Firefox cause the problem. I ended up
-upgrading to the Bookworm edition of Zoneminder in the process to try
-to fix the issue, and believe the problem might be solved now.</p>
-
-<p>In the process I came across the nice Linux GUI tool
-<a href="https://gitlab.com/caspermeijn/onvifviewer/">ONVIF Viewer</a>
-allowing me to preview the camera output and validate the login
-passwords required. Sadly its author has grown tired of maintaining
-the software, so it might not see any future updates. Which is sad,
-as the viewer is sightly unstable and the picture tend to lock up.
-Note, this lockup might be due to limitations in the cameras and not
-the viewer implementation. I suspect the camera is only able to
-provide pictures to one client at the time, and the Zoneminder feed
-might interfere with the GUI viewer. I have
-<a href="https://bugs.debian.org/1000820">asked for the tool to be
-included in Debian</a>.</p>
-
-<p>Finally, I found what appear to be very nice Linux free software
-replacement for the Windows tool, named
-<a href="https://github.com/sr99622/libonvif/">libonvif</a>. It
-provide a C library to talk to ONVIF devices as well as a command line
-and GUI tool using the library. Using the GUI tool I was able to change
-the admin passwords and update other settings of the cameras. I have
-<a href="https://bugs.debian.org/1021980">asked for the package to be
-included in Debian</a>.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-<p><strong>Update 2022-10-20</strong>: Since my initial publication of
-this text, I got several suggestions for more free software Linux
-tools. There is <a href="https://github.com/quatanium/python-onvif">a
-ONVIF python library</a> (already
-<a href="https://bugs.debian.org/824240">requested into Debian</a>) and
-<a href="https://github.com/FalkTannhaeuser/python-onvif-zeep">a python 3
-fork</a> using a different SOAP dependency. There is also
-<a href="https://www.home-assistant.io/integrations/onvif/">support for
-ONVIF in Home Assistant</a>, and there is an alternative to Zoneminder
-called <a href="https://www.shinobi.video/">Shinobi</a>. The latter
-two are not included in Debian either. I have not tested any of these
-so far.</p>
-
-
-
-
- Time to translate the Bullseye edition of the Debian Administrator's Handbook
- https://people.skolelinux.org/pere/blog/Time_to_translate_the_Bullseye_edition_of_the_Debian_Administrator_s_Handbook.html
- https://people.skolelinux.org/pere/blog/Time_to_translate_the_Bullseye_edition_of_the_Debian_Administrator_s_Handbook.html
- Mon, 12 Sep 2022 15:45:00 +0200
- <p align="center"><img align="center" src="http://people.skolelinux.org/pere/blog/images/2020-10-20-debian-handbook-nb-testprint.jpeg" width="60%"/></p>
-
-<p>(The picture is of the previous edition.)</p>
-
-<p>Almost two years after the previous Norwegian Bokmål translation of
-the "<a href="https://debian-handbook.info/">The Debian Administrator's
-Handbook</a>" was published, a new edition is finally being prepared. The
-english text is updated, and it is time to start working on the
-translations. Around 37 percent of the strings have been updated, one
-way or another, and the translations starting from a complete Debian Buster
-edition now need to bring their translation up from 63% to 100%. The
-complete book is licensed using a Creative Commons license, and has
-been published in several languages over the years. The translations
-are done by volunteers to bring Linux in their native tongue. The
-last time I checked, it complete text was available in English,
-Norwegian Bokmål, German, Indonesian, Brazil Portuguese and Spanish.
-In addition, work has been started for Arabic (Morocco), Catalan,
-Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish,
-Dutch, French, Greek, Italian, Japanese, Korean, Persian, Polish,
-Romanian, Russian, Swedish, Turkish and Vietnamese.</p>
-
-<p>The translation is conducted on
-<a href="https://hosted.weblate.org/projects/debian-handbook/">the
-hosted weblate project page</a>. Prospective translators are
-recommeded to subscribe to
-<a href="http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators">the
-translators mailing list</a> and should also check out
-<a href="https://debian-handbook.info/contribute/">the instructions for
-contributors</a>.</p>
-
-<p>I am one of the Norwegian Bokmål translators of this book, and we
-have just started. Your contribution is most welcome.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- Automatic LinuxCNC servo PID tuning?
- https://people.skolelinux.org/pere/blog/Automatic_LinuxCNC_servo_PID_tuning_.html
- https://people.skolelinux.org/pere/blog/Automatic_LinuxCNC_servo_PID_tuning_.html
- Sat, 16 Jul 2022 22:30:00 +0200
- <p>While working on a CNC with servo motors controlled by the
-<a href="https://en.wikipedia.org/wiki/LinuxCNC">LinuxCNC</a>
-<a href="https://en.wikipedia.org/wiki/PID_controller">PID
-controller</a>, I recently had to learn how to tune the collection of values
-that control such mathematical machinery that a PID controller is. It
-proved to be a lot harder than I hoped, and I still have not succeeded
-in getting the Z PID controller to successfully defy gravity, nor X
-and Y to move accurately and reliably. But while climbing up this
-rather steep learning curve, I discovered that some motor control
-systems are able to tune their PID controllers. I got the impression
-from the documentation that LinuxCNC were not. This proved to be not
-true.</p>
-
-<p>The LinuxCNC
-<a href="http://linuxcnc.org/docs/html/man/man9/pid.9.html">pid
-component</a> is the recommended PID controller to use. It uses eight
-constants <tt>Pgain</tt>, <tt>Igain</tt>, <tt>Dgain</tt>,
-<tt>bias</tt>, <tt>FF0</tt>, <tt>FF1</tt>, <tt>FF2</tt> and
-<tt>FF3</tt> to calculate the output value based on current and wanted
-state, and all of these need to have a sensible value for the
-controller to behave properly. Note, there are even more values
-involved, theser are just the most important ones. In my case I need
-the X, Y and Z axes to follow the requested path with little error.
-This has proved quite a challenge for someone who have never tuned a
-PID controller before, but there is at least some help to be found.
-
-<p>I discovered that included in LinuxCNC was this old PID component
-at_pid claiming to have auto tuning capabilities. Sadly it had been
-neglected since 2011, and could not be used as a plug in replacement
-for the default pid component. One would have to rewriting the
-LinuxCNC HAL setup to test at_pid. This was rather sad, when I wanted
-to quickly test auto tuning to see if it did a better job than me at
-figuring out good P, I and D values to use.</p>
-
-<p>I decided to have a look if the situation could be improved. This
-involved trying to understand the code and history of the pid and
-at_pid components. Apparently they had a common ancestor, as code
-structure, comments and variable names were quite close to each other.
-Sadly this was not reflected in the git history, making it hard to
-figure out what really happened. My guess is that the author of
-<a href="https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/components/at_pid.c">at_pid.c</a>
-took a version of
-<a href="https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/components/pid.c">pid.c</a>,
-rewrote it to follow the structure he wished pid.c to have, then added
-support for auto tuning and finally got it included into the LinuxCNC
-repository. The restructuring and lack of early history made it
-harder to figure out which part of the code were relevant to the auto
-tuning, and which part of the code needed to be updated to work the
-same way as the current pid.c implementation. I started by trying to
-isolate relevant changes in pid.c, and applying them to at_pid.c. My
-aim was to make sure the at_pid component could replace the pid
-component with a simple change in the HAL setup loadrt line, without
-having to "rewire" the rest of the HAL configuration. After a few
-hours following this approach, I had learned quite a lot about the
-code structure of both components, while concluding I was heading down
-the wrong rabbit hole, and should get back to the surface and find a
-different path.</p>
-
-<p>For the second attempt, I decided to throw away all the PID control
-related part of the original at_pid.c, and instead isolate and lift
-the auto tuning part of the code and inject it into a copy of pid.c.
-This ensured compatibility with the current pid component, while
-adding auto tuning as a run time option. To make it easier to identify
-the relevant parts in the future, I wrapped all the auto tuning code
-with '#ifdef AUTO_TUNER'. The end result behave just like the current
-pid component by default, as that part of the code is identical. The
-<a href="https://github.com/LinuxCNC/linuxcnc/pull/1820">end result
-entered the LinuxCNC master branch</a> a few days ago.</p>
-
-<p>To enable auto tuning, one need to set a few HAL pins in the PID
-component. The most important ones are <tt>tune-effort</tt>,
-<tt>tune-mode</tt> and <tt>tune-start</tt>. But lets take a step
-back, and see what the auto tuning code will do. I do not know the
-mathematical foundation of the at_pid algorithm, but from observation
-I can tell that the algorithm will, when enabled, produce a square
-wave pattern centered around the <tt>bias</tt> value on the output pin
-of the PID controller. This can be seen using the HAL Scope provided
-by LinuxCNC. In my case, this is translated into voltage (+-10V) sent
-to the motor controller, which in turn is translated into motor speed.
-So at_pid will ask the motor to move the axis back and forth. The
-number of cycles in the pattern is controlled by the
-<tt>tune-cycles</tt> pin, and the extremes of the wave pattern is
-controlled by the <tt>tune-effort</tt> pin. Of course, trying to
-change the direction of a physical object instantly (as in going
-directly from a positive voltage to the equivalent negative voltage)
-do not change velocity instantly, and it take some time for the object
-to slow down and move in the opposite direction. This result in a
-more smooth movement wave form, as the axis in question were vibrating
-back and forth. When the axis reached the target speed in the
-opposing direction, the auto tuner change direction again. After
-several of these changes, the average time delay between the 'peaks'
-and 'valleys' of this movement graph is then used to calculate
-proposed values for Pgain, Igain and Dgain, and insert them into the
-HAL model to use by the pid controller. The auto tuned settings are
-not great, but htye work a lot better than the values I had been able
-to cook up on my own, at least for the horizontal X and Y axis. But I
-had to use very small <tt>tune-effort<tt> values, as my motor
-controllers error out if the voltage change too quickly. I've been
-less lucky with the Z axis, which is moving a heavy object up and
-down, and seem to confuse the algorithm. The Z axis movement became a
-lot better when I introduced a <tt>bias</tt> value to counter the
-gravitational drag, but I will have to work a lot more on the Z axis
-PID values.</p>
-
-<p>Armed with this knowledge, it is time to look at how to do the
-tuning. Lets say the HAL configuration in question load the PID
-component for X, Y and Z like this:</p>
-
-<blockquote><pre>
-loadrt pid names=pid.x,pid.y,pid.z
-</pre></blockquote>
-
-<p>Armed with the new and improved at_pid component, the new line will
-look like this:</p>
-
-<blockquote><pre>
-loadrt at_pid names=pid.x,pid.y,pid.z
-</pre></blockquote>
-
-<p>The rest of the HAL setup can stay the same. This work because the
-components are referenced by name. If the component had used count=3
-instead, all use of pid.# had to be changed to at_pid.#.</p>
-
-<p>To start tuning the X axis, move the axis to the middle of its
-range, to make sure it do not hit anything when it start moving back
-and forth. Next, set the <tt>tune-effort</tt> to a low number in the
-output range. I used 0.1 as my initial value. Next, assign 1 to the
-<tt>tune-mode</tt> value. Note, this will disable the pid controlling
-part and feed 0 to the output pin, which in my case initially caused a
-lot of drift. In my case it proved to be a good idea with X and Y to
-tune the motor driver to make sure 0 voltage stopped the motor
-rotation. On the other hand, for the Z axis this proved to be a bad
-idea, so it will depend on your setup. It might help to set the
-<tt>bias</tt> value to a output value that reduce or eliminate the
-axis drift. Finally, after setting <tt>tune-mode</tt>, set
-<tt>tune-start</tt> to 1 to activate the auto tuning. If all go well,
-your axis will vibrate for a few seconds and when it is done, new
-values for Pgain, Igain and Dgain will be active. To test them,
-change <tt>tune-mode</tt> back to 0. Note that this might cause the
-machine to suddenly jerk as it bring the axis back to its commanded
-position, which it might have drifted away from during tuning. To
-summarize with some halcmd lines:</p>
-
-<blockquote><pre>
-setp pid.x.tune-effort 0.1
-setp pid.x.tune-mode 1
-setp pid.x.tune-start 1
-# wait for the tuning to complete
-setp pid.x.tune-mode 0
-</pre></blockquote>
-
-<p>After doing this task quite a few times while trying to figure out
-how to properly tune the PID controllers on the machine in, I decided
-to figure out if this process could be automated, and wrote a script
-to do the entire tuning process from power on. The end result will
-ensure the machine is powered on and ready to run, home all axis if it
-is not already done, check that the extra tuning pins are available,
-move the axis to its mid point, run the auto tuning and re-enable the
-pid controller when it is done. It can be run several times. Check
-out the
-<a href="https://github.com/SebKuzminsky/MazakVQC1540/blob/bon-dev/scripts/run-auto-pid-tuner">run-auto-pid-tuner</a>
-script on github if you want to learn how it is done.</p>
-
-<p>My hope is that this little adventure can inspire someone who know
-more about motor PID controller tuning can implement even better
-algorithms for automatic PID tuning in LinuxCNC, making life easier
-for both me and all the others that want to use LinuxCNC but lack the
-in depth knowledge needed to tune PID controllers well.</p>
-
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-
-
-
-
- My free software activity of late (2022)
- https://people.skolelinux.org/pere/blog/My_free_software_activity_of_late__2022_.html
- https://people.skolelinux.org/pere/blog/My_free_software_activity_of_late__2022_.html
- Mon, 20 Jun 2022 14:30:00 +0200
- <p>I guess it is time to bring some light on the various free software
-and open culture activities and projects I have worked on or been
-involved in the last year and a half.</p>
-
-<p>First, lets mention the book
-<a href="http://www.hungry.com/~pere/publisher/">releases I managed to
-publish</a>. The Cory Doctorow book "Hvordan knuse
-overvåkningskapitalismen" argue that it is not the magic machine
-learning of the big technology companies that causes the surveillance
-capitalism to thrive, it is the lack of trust busting to enforce
-existing anti-monopoly laws. I also published a family of
-dictionaries for machinists, one sorted on the English words, one
-sorted on the Norwegian and the last sorted on the North Sámi words.
-A bit on the back burner but not forgotten is the Debian
-Administrators Handbook, where a new edition is being worked on. I
-have not spent as much time as I want to help bring it to completion,
-but hope I will get more spare time to look at it before the end of
-the year.</p>
-
-<p>With my Debian had I have spent time on several projects, both
-updating existing packages, helping to bring in new packages and
-working with upstream projects to try to get them ready to go into
-Debian. The list is rather long, and I will only mention my own
-isenkram, openmotor, vlc bittorrent plugin, xprintidle, norwegian
-letter style for latex, bs1770gain, and recordmydesktop. In addition
-to these I have sponsored several packages into Debian, like audmes.</p>
-
-<p>The last year I have looked at several infrastructure projects for
-collecting meter data and video surveillance recordings. This include
-several ONVIF related tools like onvifviewer and zoneminder as well as
-rtl-433, wmbusmeters and rtl-wmbus.</p>
-
-<p>In parallel with this I have looked at fabrication related free
-software solutions like pycam and LinuxCNC. The latter recently
-gained improved translation support using po4a and weblate, which was
-a harder nut to crack that I had anticipated when I started.</p>
-
-<p>Several hours have been spent translating free software to
-Norwegian Bokmål on the Weblate hosted service. Do not have a
-complete list, but you will find my contributions in at least gnucash,
-minetest and po4a.</p>
-
-<p>I also spent quite some time on the Norwegian archiving specification
-Noark 5, and its companion project Nikita implementing the API
-specification for Noark 5.</p>
-
-<p>Recently I have been looking into free software tools to do company
-accounting here in Norway., which present an interesting mix between
-law, rules, regulations, format specifications and API interfaces.</p>
-
-<p>I guess I should also mention the Norwegian community driven
-government interfacing projects Mimes Brønn and Fiksgatami, which have
-ended up in a kind of limbo while the future of the projects is being
-worked out.</p>
-
-<p>These are just a few of the projects I have been involved it, and
-would like to give more visibility. I'll stop here to avoid delaying
-this post.</p>
-
<p>As usual, if you use Bitcoin and want to show your support of my
activities, please send Bitcoin donations to my address
<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>