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 &lt;&lt;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>