<h3>Entries from January 2025.</h3>
+ <div class="entry">
+ <div class="title">
+ <a href="http://www.hungry.com/~pere/blog/Frokostseminar_om_Noark_5_i_Oslo_fredag_2025_03_14.html">Frokostseminar om Noark 5 i Oslo fredag 2025-03-14</a>
+ </div>
+ <div class="date">
+ 31st January 2025
+ </div>
+ <div class="body">
+ <p>Nikita-prosjektet, der jeg er involvert, inviterer i samarbeid med
+forskningsgruppen METAINFO og foreningen NUUG, til et frokostseminar
+om Noark 5 og Noark 5 Tjenestegrensesnitt fredag 2025-03-14. Fokus
+denne gangen er på bevaring og kassasjon. Seminaret finner sted ved
+OsloMet, Pilestredet 46. Vi håper å få til videostrømming via
+Internett av presentasjoner og paneldiskusjon. Oppdatert program og
+lenker til påmeldingsskjema finner en via
+<a href="https://noark.codeberg.page/noark5-seminars/2025-03-14-noark-workshop.html">arrangementets infoside</a>. Arrangementet er gratis.
+
+<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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5</a>, <a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk</a>, <a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug</a>, <a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://www.hungry.com/~pere/blog/tags/standard">standard</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html">121 packages in Debian mapped to hardware for automatic recommendation</a>
+ </div>
+ <div class="date">
+ 19th January 2025
+ </div>
+ <div class="body">
+ <p>For some years now, I have been working on a automatic hardware
+based package recommendation system for Debian and other Linux
+distributions. The isenkram system I started on back in 2013 now
+consist of two subsystems, one locating firmware files using the
+information provided by apt-file, and one matching hardware to
+packages using information provided by AppStream. The former is very
+similar to the mechanism implemented in debian-installer to pick the
+right firmware packages to install. This post is about the latter
+system. Thanks to steady progress and good help from both other
+Debian and upstream developers, I am happy to report that
+<a href="https://tracker.debian.org/pkg/isenkram">the Isenkram
+system</a> now are able to recommend 121 packages using information
+provided via
+<a href="https://www.freedesktop.org/wiki/Distributions/AppStream/">AppStream</a>.</p>
+
+<p>The mapping is done using modalias information provided by the
+kernel, the same information used by udev when creating device files,
+and the kernel when deciding which kernel modules to load. To get all
+the modalias identifiers relevant for your machine, you can run the
+following command on the command line:</p>
+
+<pre>
+find /sys/devices -name modalias -print0 | xargs -0 sort -u
+</pre>
+
+<p>The modalias identifiers can look something like this:</p>
+
+<pre>
+acpi:PNP0000
+cpu:type:x86,ven0000fam0006mod003F:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,0079,007C,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0092,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E1,00E3,00EB,00ED,00F0,00F1,00F3,00F5,00F6,00F9,00FA,00FB,00FD,00FF,0100,0101,0102,0103,0111,0120,0121,0123,0125,0127,0128,0129,012A,012C,012D,0140,0160,0161,0165,016C,017B,01C0,01C1,01C2,01C4,01C5,01C6,01F9,024A,025A,025B,025C,025F,0282
+dmi:bvnDellInc.:bvr2.18.1:bd08/14/2023:br2.18:svnDellInc.:pnPowerEdgeR730:pvr:rvnDellInc.:rn0H21J3:rvrA09:cvnDellInc.:ct23:cvr:skuSKU=NotProvided
+pci:v00008086d00008D3Bsv00001028sd00000600bc07sc80i00
+platform:serial8250
+scsi:t-0x05
+usb:v413CpA001d0000dc09dsc00dp00ic09isc00ip00in00
+</pre>
+
+<p>The entries above are a selection of the complete set available on
+a Dell PowerEdge R730 machine I have access to, to give an idea about
+the various styles of hardware identifiers presented in the modalias
+format. When looking up relevant packages in a Debian Testing
+installation on the same R730, I get this list of packages
+proposed:</p>
+
+<pre>
+% sudo isenkram-lookup
+firmware-bnx2x
+firmware-nvidia-graphics
+firmware-qlogic
+megactl
+wsl
+%
+</pre>
+
+<p>The list consist of firmware packages requested by kernel modules,
+as well packages with program to get the status from the RAID
+controller and to maintain the LAN console. When the edac-utils
+package providing tools to check the ECC RAM status will enter testing
+in a few days, it will also show up as a proposal from isenkram. In
+addition, once the mfiutil package we uploaded in October get past the
+NEW processing, it will also propose a tool to configure the RAID
+controller.</p>
+
+<p>Another example is the trusty old Lenovo Thinkpad X230, which have
+hardware handled by several packages in the archive. This is running
+on Debian Stable:</p>
+
+<pre>
+% isenkram-lookup
+beignet-opencl-icd
+bluez
+cheese
+ethtool
+firmware-iwlwifi
+firmware-misc-nonfree
+fprintd
+fprintd-demo
+gkrellm-thinkbat
+hdapsd
+libpam-fprintd
+pidgin-blinklight
+thinkfan
+tlp
+tp-smapi-dkms
+tpb
+%
+</pre>
+
+<p>Here there proposal consist of software to handle the camera,
+bluetooth, network card, wifi card, GPU, fan, fingerprint reader and
+acceleration sensor on the machine.</p>
+
+<p>Here is the complete set of packages currently providing hardware
+mapping via AppStream in Debian Unstable: air-quality-sensor,
+alsa-firmware-loaders, antpm, array-info, avarice, avrdude,
+bmusb-v4l2proxy, brltty, calibre, colorhug-client, concordance-common,
+consolekit, dahdi-firmware-nonfree, dahdi-linux, edac-utils,
+eegdev-plugins-free, ekeyd, elogind, firmware-amd-graphics,
+firmware-ath9k-htc, firmware-atheros, firmware-b43-installer,
+firmware-b43legacy-installer, firmware-bnx2, firmware-bnx2x,
+firmware-brcm80211, firmware-carl9170, firmware-cavium,
+firmware-intel-graphics, firmware-intel-misc, firmware-ipw2x00,
+firmware-ivtv, firmware-iwlwifi, firmware-libertas,
+firmware-linux-free, firmware-mediatek, firmware-misc-nonfree,
+firmware-myricom, firmware-netronome, firmware-netxen,
+firmware-nvidia-graphics, firmware-qcom-soc, firmware-qlogic,
+firmware-realtek, firmware-ti-connectivity, fpga-icestorm, g810-led,
+galileo, garmin-forerunner-tools, gkrellm-thinkbat, goldencheetah,
+gpsman, gpstrans, gqrx-sdr, i8kutils, imsprog, ledger-wallets-udev,
+libairspy0, libam7xxx0.1, libbladerf2, libgphoto2-6t64,
+libhamlib-utils, libm2k0.9.0, libmirisdr4, libnxt, libopenxr1-monado,
+libosmosdr0, librem5-flash-image, librtlsdr0, libticables2-8,
+libx52pro0, libykpers-1-1, libyubikey-udev, limesuite,
+linuxcnc-uspace, lomoco, madwimax, media-player-info, megactl, mixxx,
+mkgmap, msi-keyboard, mu-editor, mustang-plug, nbc, nitrokey-app, nqc,
+ola, openfpgaloader, openocd, openrazer-driver-dkms, pcmciautils,
+pcscd, pidgin-blinklight, ponyprog, printer-driver-splix,
+python-yubico-tools, python3-btchip, qlcplus, rosegarden, scdaemon,
+sispmctl, solaar, spectools, sunxi-tools, t2n, thinkfan, tlp,
+tp-smapi-dkms, trezor, tucnak, ubertooth, usbrelay, uuu, viking,
+w1retap, wsl, xawtv, xinput-calibrator, xserver-xorg-input-wacom and
+xtrx-dkms.</p>
+
+<p>In addition to these, there are several
+<a href="https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&tag=appstream-modalias">with
+patches pending in the Debian bug tracking system</a>, and even more
+where no-one wrote patches yet. Good candiates for the latter are
+packages
+<a href="https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide">with
+udev rules but no AppStream hardware information</a>.</p>
+
+<p>The isenkram system consist of two packages, isenkram-cli with the
+command line tools, and isenkram with a GUI background process. The
+latter will listen for dbus events from udev emitted when new hardware
+become available (like when inserting a USB dongle or discovering a
+new bluetooth device), look up the modalias entry for this piece of
+hardware in AppStream (and a hard coded list of mappings from isenkram
+- currently working hard to move this list to AppStream), and pop up a
+dialog proposing to install any not already installed packages
+supporting this hardware. It work very well today when inserting the
+LEGO Mindstorms RCX, NXT and EV3 controllers. :) If you want to make
+sure more hardware related packages get recommended, please help out
+fixing the remaining packages in Debian to provide AppStream metadata
+with hardware mappings.</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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title">
+ <a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2025_.html">What is the most supported MIME type in Debian in 2025?</a>
+ </div>
+ <div class="date">
+ 18th January 2025
+ </div>
+ <div class="body">
+ <p><a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html">Seven</a>
+and
+<a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">twelve</a>
+years ago, I measured what the most supported MIME type in Debian
+was</a>, first by analysing the desktop files in all packages in the
+archive, then by analysing the DEP-11 AppStream data set. I guess it
+is time to repeat the measurement, only for unstable as last time:</p>
+
+<p><strong>Debian Unstable:</strong></p>
+
+<pre>
+ count MIME type
+ ----- -----------------------
+ 63 image/png
+ 63 image/jpeg
+ 57 image/tiff
+ 54 image/gif
+ 51 image/bmp
+ 50 audio/mpeg
+ 48 text/plain
+ 42 audio/x-mp3
+ 40 application/ogg
+ 39 audio/x-wav
+ 39 audio/x-flac
+ 36 audio/x-vorbis+ogg
+ 35 audio/x-mpeg
+ 34 audio/x-mpegurl
+ 34 audio/ogg
+ 33 application/x-ogg
+ 32 audio/mp4
+ 31 audio/x-scpls
+ 31 application/pdf
+ 29 audio/x-ms-wma
+</pre>
+
+<p>The list was created like this using a sid chroot:</p>
+
+<pre>
+cat /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz | \
+ zcat | awk '/^ - \S+\/\S+$/ {print $2 }' | sort | \
+ uniq -c | sort -nr | head -20
+</pre>
+
+<p>It is nice to see that the same number of packages now support PNG
+and JPEG. Last time JPEG had more support than PNG. Most of the MIME
+types are known to me, but the 'audio/x-scpls' one I have no idea what
+represent, except it being an audio format. To find the packages
+claiming support for this format, the appstreamcli command from the
+appstream package can be used:
+
+<pre>
+% appstreamcli what-provides mediatype audio/x-scpls | grep Package: | sort -u
+Package: alsaplayer-common
+Package: amarok
+Package: audacious
+Package: brasero
+Package: celluloid
+Package: clapper
+Package: clementine
+Package: cynthiune.app
+Package: elisa
+Package: gtranscribe
+Package: kaffeine
+Package: kmplayer
+Package: kylin-burner
+Package: lollypop
+Package: mediaconch-gui
+Package: mediainfo-gui
+Package: mplayer-gui
+Package: mpv
+Package: mystiq
+Package: parlatype
+Package: parole
+Package: pragha
+Package: qmmp
+Package: rhythmbox
+Package: sayonara
+Package: shotcut
+Package: smplayer
+Package: soundconverter
+Package: strawberry
+Package: syncplay
+Package: vlc
+%
+</pre>
+
+<p>Look like several video and auto tools understand the format.
+Similarly one can check out the number of packages supporting the STL
+format commonly used for 3D printing:</p>
+
+<pre>
+% appstreamcli what-provides mediatype model/stl | grep Package: | sort -u
+Package: cura
+Package: freecad
+Package: open3d-viewer
+%
+</pre>
+
+<p>How strange the
+<a href="https://tracker.debian.org/pkg/slic3r">slic3r</a> and
+<a href="https://tracker.debian.org/pkg/slic3r-prusa">prusa-slicer</a>
+packages do not support STL. Perhaps just missing package metadata?
+Luckily the amount of package metadata in Debian is getting better,
+and hopefully this way of locating relevant packages for any file
+format will be the preferred one soon.
+
+<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>
+
+ </div>
+ <div class="tags">
+
+
+ Tags: <a href="http://www.hungry.com/~pere/blog/tags/debian">debian</a>, <a href="http://www.hungry.com/~pere/blog/tags/english">english</a>, <a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title">
<a href="http://www.hungry.com/~pere/blog/The_2025_LinuxCNC_Norwegian_developer_gathering.html">The 2025 LinuxCNC Norwegian developer gathering</a>
<p>This year we would like to invite to a small LinuxCNC and free
software fabrication workshop/gathering in Norway this summer for the
-weekend starting July 4th 2024. New this year is the slightly larger
+weekend starting July 4th 2025. New this year is the slightly larger
scope, and we invite people also outside the LinuxCNC community to
join. As earlier, we suggest to organize it as an
<a href="https://en.wikipedia.org/wiki/Unconference">unconference</a>,
<li>2025
<ul>
-<li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (1)</a></li>
+<li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (4)</a></li>
+
+<li><a href="http://www.hungry.com/~pere/blog/archive/2025/02/">February (2)</a></li>
</ul></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (3)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (204)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (208)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (159)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (466)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (470)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/intervju">intervju (43)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (18)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (20)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/kart">kart (23)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (8)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (46)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (47)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (15)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (25)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (26)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (325)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (326)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (199)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (200)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (41)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (42)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/open311">open311 (2)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (5)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (76)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (78)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (22)</a></li>
- <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (80)</a></li>
+ <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (81)</a></li>
<li><a href="http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (4)</a></li>