]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2025/01/index.html
Generated.
[homepage.git] / blog / archive / 2025 / 01 / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from January 2025</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://www.hungry.com/~pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://www.hungry.com/~pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="01.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://www.hungry.com/~pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from January 2025.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <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>
27 </div>
28 <div class="date">
29 19th January 2025
30 </div>
31 <div class="body">
32 <p>For some years now, I have been working on a automatic hardware
33 based package recommendation system for Debian and other Linux
34 distributions. The isenkram system I started on back in 2013 now
35 consist of two subsystems, one locating firmware files using the
36 information provided by apt-file, and one matching hardware to
37 packages using information provided by AppStream. The former is very
38 similar to the mechanism implemented in debian-installer to pick the
39 right firmware packages to install. This post is about the latter
40 system. Thanks to steady progress and good help from both other
41 Debian and upstream developers, I am happy to report that
42 <a href="https://tracker.debian.org/pkg/isenkram">the Isenkram
43 system</a> now are able to recommend 121 packages using information
44 provided via
45 <a href="https://www.freedesktop.org/wiki/Distributions/AppStream/">AppStream</a>.</p>
46
47 <p>The mapping is done using modalias information provided by the
48 kernel, the same information used by udev when creating device files,
49 and the kernel when deciding which kernel modules to load. To get all
50 the modalias identifiers relevant for your machine, you can run the
51 following command on the command line:</p>
52
53 <pre>
54 find /sys/devices -name modalias -print0 | xargs -0 sort -u
55 </pre>
56
57 <p>The modalias identifiers can look something like this:</p>
58
59 <pre>
60 acpi:PNP0000
61 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
62 dmi:bvnDellInc.:bvr2.18.1:bd08/14/2023:br2.18:svnDellInc.:pnPowerEdgeR730:pvr:rvnDellInc.:rn0H21J3:rvrA09:cvnDellInc.:ct23:cvr:skuSKU=NotProvided
63 pci:v00008086d00008D3Bsv00001028sd00000600bc07sc80i00
64 platform:serial8250
65 scsi:t-0x05
66 usb:v413CpA001d0000dc09dsc00dp00ic09isc00ip00in00
67 </pre>
68
69 <p>The entries above are a selection of the complete set available on
70 a Dell PowerEdge R730 machine I have access to, to give an idea about
71 the various styles of hardware identifiers presented in the modalias
72 format. When looking up relevant packages in a Debian Testing
73 installation on the same R730, I get this list of packages
74 proposed:</p>
75
76 <pre>
77 % sudo isenkram-lookup
78 firmware-bnx2x
79 firmware-nvidia-graphics
80 firmware-qlogic
81 megactl
82 wsl
83 %
84 </pre>
85
86 <p>The list consist of firmware packages requested by kernel modules,
87 as well packages with program to get the status from the RAID
88 controller and to maintain the LAN console. When the edac-utils
89 package providing tools to check the ECC RAM status will enter testing
90 in a few days, it will also show up as a proposal from isenkram. In
91 addition, once the mfiutil package we uploaded in October get past the
92 NEW processing, it will also propose a tool to configure the RAID
93 controller.</p>
94
95 <p>Another example is the trusty old Lenovo Thinkpad X230, which have
96 hardware handled by several packages in the archive. This is running
97 on Debian Stable:</p>
98
99 <pre>
100 % isenkram-lookup
101 beignet-opencl-icd
102 bluez
103 cheese
104 ethtool
105 firmware-iwlwifi
106 firmware-misc-nonfree
107 fprintd
108 fprintd-demo
109 gkrellm-thinkbat
110 hdapsd
111 libpam-fprintd
112 pidgin-blinklight
113 thinkfan
114 tlp
115 tp-smapi-dkms
116 tpb
117 %
118 </pre>
119
120 <p>Here there proposal consist of software to handle the camera,
121 bluetooth, network card, wifi card, GPU, fan, fingerprint reader and
122 acceleration sensor on the machine.</p>
123
124 <p>Here is the complete set of packages currently providing hardware
125 mapping via AppStream in Debian Unstable: air-quality-sensor,
126 alsa-firmware-loaders, antpm, array-info, avarice, avrdude,
127 bmusb-v4l2proxy, brltty, calibre, colorhug-client, concordance-common,
128 consolekit, dahdi-firmware-nonfree, dahdi-linux, edac-utils,
129 eegdev-plugins-free, ekeyd, elogind, firmware-amd-graphics,
130 firmware-ath9k-htc, firmware-atheros, firmware-b43-installer,
131 firmware-b43legacy-installer, firmware-bnx2, firmware-bnx2x,
132 firmware-brcm80211, firmware-carl9170, firmware-cavium,
133 firmware-intel-graphics, firmware-intel-misc, firmware-ipw2x00,
134 firmware-ivtv, firmware-iwlwifi, firmware-libertas,
135 firmware-linux-free, firmware-mediatek, firmware-misc-nonfree,
136 firmware-myricom, firmware-netronome, firmware-netxen,
137 firmware-nvidia-graphics, firmware-qcom-soc, firmware-qlogic,
138 firmware-realtek, firmware-ti-connectivity, fpga-icestorm, g810-led,
139 galileo, garmin-forerunner-tools, gkrellm-thinkbat, goldencheetah,
140 gpsman, gpstrans, gqrx-sdr, i8kutils, imsprog, ledger-wallets-udev,
141 libairspy0, libam7xxx0.1, libbladerf2, libgphoto2-6t64,
142 libhamlib-utils, libm2k0.9.0, libmirisdr4, libnxt, libopenxr1-monado,
143 libosmosdr0, librem5-flash-image, librtlsdr0, libticables2-8,
144 libx52pro0, libykpers-1-1, libyubikey-udev, limesuite,
145 linuxcnc-uspace, lomoco, madwimax, media-player-info, megactl, mixxx,
146 mkgmap, msi-keyboard, mu-editor, mustang-plug, nbc, nitrokey-app, nqc,
147 ola, openfpgaloader, openocd, openrazer-driver-dkms, pcmciautils,
148 pcscd, pidgin-blinklight, ponyprog, printer-driver-splix,
149 python-yubico-tools, python3-btchip, qlcplus, rosegarden, scdaemon,
150 sispmctl, solaar, spectools, sunxi-tools, t2n, thinkfan, tlp,
151 tp-smapi-dkms, trezor, tucnak, ubertooth, usbrelay, uuu, viking,
152 w1retap, wsl, xawtv, xinput-calibrator, xserver-xorg-input-wacom and
153 xtrx-dkms.</p>
154
155 <p>In addition to these, there are several
156 <a href="https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&tag=appstream-modalias">with
157 patches pending in the Debian bug tracking system</a>, and even more
158 where no-one wrote patches yet. Good candiates for the latter are
159 packages
160 <a href="https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide">with
161 udev rules but no AppStream hardware information</a>.</p>
162
163 <p>The isenkram system consist of two packages, isenkram-cli with the
164 command line tools, and isenkram with a GUI background process. The
165 latter will listen for dbus events from udev emitted when new hardware
166 become available (like when inserting a USB dongle or discovering a
167 new bluetooth device), look up the modalias entry for this piece of
168 hardware in AppStream (and a hard coded list of mappings from isenkram
169 - currently working hard to move this list to AppStream), and pop up a
170 dialog proposing to install any not already installed packages
171 supporting this hardware. It work very well today when inserting the
172 LEGO Mindstorms RCX, NXT and EV3 controllers. :) If you want to make
173 sure more hardware related packages get recommended, please help out
174 fixing the remaining packages in Debian to provide AppStream metadata
175 with hardware mappings.</p>
176
177 <p>As usual, if you use Bitcoin and want to show your support of my
178 activities, please send Bitcoin donations to my address
179 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
180
181 </div>
182 <div class="tags">
183
184
185 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>.
186
187
188 </div>
189 </div>
190 <div class="padding"></div>
191
192 <div class="entry">
193 <div class="title">
194 <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>
195 </div>
196 <div class="date">
197 18th January 2025
198 </div>
199 <div class="body">
200 <p><a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html">Seven</a>
201 and
202 <a href="http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">twelve</a>
203 years ago, I measured what the most supported MIME type in Debian
204 was</a>, first by analysing the desktop files in all packages in the
205 archive, then by analysing the DEP-11 AppStream data set. I guess it
206 is time to repeat the measurement, only for unstable as last time:</p>
207
208 <p><strong>Debian Unstable:</strong></p>
209
210 <pre>
211 count MIME type
212 ----- -----------------------
213 63 image/png
214 63 image/jpeg
215 57 image/tiff
216 54 image/gif
217 51 image/bmp
218 50 audio/mpeg
219 48 text/plain
220 42 audio/x-mp3
221 40 application/ogg
222 39 audio/x-wav
223 39 audio/x-flac
224 36 audio/x-vorbis+ogg
225 35 audio/x-mpeg
226 34 audio/x-mpegurl
227 34 audio/ogg
228 33 application/x-ogg
229 32 audio/mp4
230 31 audio/x-scpls
231 31 application/pdf
232 29 audio/x-ms-wma
233 </pre>
234
235 <p>The list was created like this using a sid chroot:</p>
236
237 <pre>
238 cat /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz | \
239 zcat | awk '/^ - \S+\/\S+$/ {print $2 }' | sort | \
240 uniq -c | sort -nr | head -20
241 </pre>
242
243 <p>It is nice to see that the same number of packages now support PNG
244 and JPEG. Last time JPEG had more support than PNG. Most of the MIME
245 types are known to me, but the 'audio/x-scpls' one I have no idea what
246 represent, except it being an audio format. To find the packages
247 claiming support for this format, the appstreamcli command from the
248 appstream package can be used:
249
250 <pre>
251 % appstreamcli what-provides mediatype audio/x-scpls | grep Package: | sort -u
252 Package: alsaplayer-common
253 Package: amarok
254 Package: audacious
255 Package: brasero
256 Package: celluloid
257 Package: clapper
258 Package: clementine
259 Package: cynthiune.app
260 Package: elisa
261 Package: gtranscribe
262 Package: kaffeine
263 Package: kmplayer
264 Package: kylin-burner
265 Package: lollypop
266 Package: mediaconch-gui
267 Package: mediainfo-gui
268 Package: mplayer-gui
269 Package: mpv
270 Package: mystiq
271 Package: parlatype
272 Package: parole
273 Package: pragha
274 Package: qmmp
275 Package: rhythmbox
276 Package: sayonara
277 Package: shotcut
278 Package: smplayer
279 Package: soundconverter
280 Package: strawberry
281 Package: syncplay
282 Package: vlc
283 %
284 </pre>
285
286 <p>Look like several video and auto tools understand the format.
287 Similarly one can check out the number of packages supporting the STL
288 format commonly used for 3D printing:</p>
289
290 <pre>
291 % appstreamcli what-provides mediatype model/stl | grep Package: | sort -u
292 Package: cura
293 Package: freecad
294 Package: open3d-viewer
295 %
296 </pre>
297
298 <p>How strange the
299 <a href="https://tracker.debian.org/pkg/slic3r">slic3r</a> and
300 <a href="https://tracker.debian.org/pkg/slic3r-prusa">prusa-slicer</a>
301 packages do not support STL. Perhaps just missing package metadata?
302 Luckily the amount of package metadata in Debian is getting better,
303 and hopefully this way of locating relevant packages for any file
304 format will be the preferred one soon.
305
306 <p>As usual, if you use Bitcoin and want to show your support of my
307 activities, please send Bitcoin donations to my address
308 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
309
310 </div>
311 <div class="tags">
312
313
314 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>.
315
316
317 </div>
318 </div>
319 <div class="padding"></div>
320
321 <div class="entry">
322 <div class="title">
323 <a href="http://www.hungry.com/~pere/blog/The_2025_LinuxCNC_Norwegian_developer_gathering.html">The 2025 LinuxCNC Norwegian developer gathering</a>
324 </div>
325 <div class="date">
326 11th January 2025
327 </div>
328 <div class="body">
329 <p><a href="https://linuxcnc.org/">The LinuxCNC project</a> is
330 trotting along. And I believe this great software system for
331 numerical control of machines such as milling machines, lathes, plasma
332 cutters, routers, cutting machines, robots and hexapods, would do even
333 better with more in-person developer gatherings, so we plan to
334 organise such gathering this summer too.</p>
335
336 <p>This year we would like to invite to a small LinuxCNC and free
337 software fabrication workshop/gathering in Norway this summer for the
338 weekend starting July 4th 2025. New this year is the slightly larger
339 scope, and we invite people also outside the LinuxCNC community to
340 join. As earlier, we suggest to organize it as an
341 <a href="https://en.wikipedia.org/wiki/Unconference">unconference</a>,
342 where the participants create the program upon arrival.</p>
343
344 <p>The location is a metal workshop 15 minutes drive away from to the
345 Gardermoen airport (OSL), where there is a lot of space and a hotel only
346 5 minutes away by car. We plan to fire up the barbeque in the evenings.</p>
347
348 <p>Please let us know if you would like to join. We track the list of
349 participants on <a href="https://pad.efn.no/p/linuxcnc-2025-norway">a
350 simple pad</a>, please add yourself there if you are interested in joining.</p>
351
352 <p><a href="https://www.nuugfoundation.no/">The NUUG Foundation</a> has on
353 our request offered to handle any money involved with this gathering,
354 in other words holding any sponsor funds and paying any bills.
355 NUUG Foundation is a spinnoff from the NUUG member organisation here
356 in Norway with long ties to the free software and open standards
357 communities.</p>
358
359 <p>As usual we hope to find sponsors to pay for food, lodging and travel.</p>
360
361 <p>As usual, if you use Bitcoin and want to show your support of my
362 activities, please send Bitcoin donations to my address
363 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
364
365 </div>
366 <div class="tags">
367
368
369 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/linuxcnc">linuxcnc</a>.
370
371
372 </div>
373 </div>
374 <div class="padding"></div>
375
376 <p style="text-align: right;"><a href="01.rss"><img src="http://www.hungry.com/~pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
377 <div id="sidebar">
378
379
380
381 <h2>Archive</h2>
382 <ul>
383
384 <li>2025
385 <ul>
386
387 <li><a href="http://www.hungry.com/~pere/blog/archive/2025/01/">January (3)</a></li>
388
389 </ul></li>
390
391 <li>2024
392 <ul>
393
394 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/01/">January (1)</a></li>
395
396 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/02/">February (1)</a></li>
397
398 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/03/">March (2)</a></li>
399
400 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/04/">April (3)</a></li>
401
402 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/05/">May (1)</a></li>
403
404 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/06/">June (1)</a></li>
405
406 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/07/">July (2)</a></li>
407
408 <li><a href="http://www.hungry.com/~pere/blog/archive/2024/12/">December (1)</a></li>
409
410 </ul></li>
411
412 <li>2023
413 <ul>
414
415 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/01/">January (3)</a></li>
416
417 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/02/">February (1)</a></li>
418
419 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/04/">April (2)</a></li>
420
421 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/05/">May (3)</a></li>
422
423 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/06/">June (1)</a></li>
424
425 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/08/">August (1)</a></li>
426
427 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/09/">September (1)</a></li>
428
429 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/10/">October (1)</a></li>
430
431 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/11/">November (4)</a></li>
432
433 <li><a href="http://www.hungry.com/~pere/blog/archive/2023/12/">December (1)</a></li>
434
435 </ul></li>
436
437 <li>2022
438 <ul>
439
440 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/02/">February (1)</a></li>
441
442 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/03/">March (3)</a></li>
443
444 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/04/">April (2)</a></li>
445
446 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/06/">June (2)</a></li>
447
448 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/07/">July (1)</a></li>
449
450 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/09/">September (1)</a></li>
451
452 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/10/">October (1)</a></li>
453
454 <li><a href="http://www.hungry.com/~pere/blog/archive/2022/12/">December (1)</a></li>
455
456 </ul></li>
457
458 <li>2021
459 <ul>
460
461 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/01/">January (2)</a></li>
462
463 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/02/">February (1)</a></li>
464
465 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/05/">May (1)</a></li>
466
467 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/06/">June (1)</a></li>
468
469 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/07/">July (3)</a></li>
470
471 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/08/">August (1)</a></li>
472
473 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/09/">September (1)</a></li>
474
475 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/10/">October (1)</a></li>
476
477 <li><a href="http://www.hungry.com/~pere/blog/archive/2021/12/">December (1)</a></li>
478
479 </ul></li>
480
481 <li>2020
482 <ul>
483
484 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/02/">February (2)</a></li>
485
486 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/03/">March (2)</a></li>
487
488 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/04/">April (2)</a></li>
489
490 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/05/">May (3)</a></li>
491
492 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/06/">June (2)</a></li>
493
494 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/07/">July (1)</a></li>
495
496 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/09/">September (1)</a></li>
497
498 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/10/">October (1)</a></li>
499
500 <li><a href="http://www.hungry.com/~pere/blog/archive/2020/11/">November (1)</a></li>
501
502 </ul></li>
503
504 <li>2019
505 <ul>
506
507 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/01/">January (4)</a></li>
508
509 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/02/">February (3)</a></li>
510
511 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/03/">March (3)</a></li>
512
513 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/05/">May (2)</a></li>
514
515 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/06/">June (5)</a></li>
516
517 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/07/">July (2)</a></li>
518
519 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/08/">August (1)</a></li>
520
521 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/09/">September (1)</a></li>
522
523 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/11/">November (1)</a></li>
524
525 <li><a href="http://www.hungry.com/~pere/blog/archive/2019/12/">December (4)</a></li>
526
527 </ul></li>
528
529 <li>2018
530 <ul>
531
532 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/01/">January (1)</a></li>
533
534 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/02/">February (5)</a></li>
535
536 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/03/">March (5)</a></li>
537
538 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/04/">April (3)</a></li>
539
540 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/06/">June (2)</a></li>
541
542 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/07/">July (5)</a></li>
543
544 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/08/">August (3)</a></li>
545
546 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/09/">September (3)</a></li>
547
548 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/10/">October (5)</a></li>
549
550 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/11/">November (2)</a></li>
551
552 <li><a href="http://www.hungry.com/~pere/blog/archive/2018/12/">December (4)</a></li>
553
554 </ul></li>
555
556 <li>2017
557 <ul>
558
559 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/01/">January (4)</a></li>
560
561 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/02/">February (3)</a></li>
562
563 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/03/">March (5)</a></li>
564
565 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/04/">April (2)</a></li>
566
567 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/06/">June (5)</a></li>
568
569 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/07/">July (1)</a></li>
570
571 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/08/">August (1)</a></li>
572
573 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/09/">September (3)</a></li>
574
575 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/10/">October (5)</a></li>
576
577 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/11/">November (3)</a></li>
578
579 <li><a href="http://www.hungry.com/~pere/blog/archive/2017/12/">December (4)</a></li>
580
581 </ul></li>
582
583 <li>2016
584 <ul>
585
586 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/01/">January (3)</a></li>
587
588 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/02/">February (2)</a></li>
589
590 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/03/">March (3)</a></li>
591
592 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/04/">April (8)</a></li>
593
594 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/05/">May (8)</a></li>
595
596 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/06/">June (2)</a></li>
597
598 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/07/">July (2)</a></li>
599
600 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/08/">August (5)</a></li>
601
602 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/09/">September (2)</a></li>
603
604 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/10/">October (3)</a></li>
605
606 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/11/">November (8)</a></li>
607
608 <li><a href="http://www.hungry.com/~pere/blog/archive/2016/12/">December (5)</a></li>
609
610 </ul></li>
611
612 <li>2015
613 <ul>
614
615 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/01/">January (7)</a></li>
616
617 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/02/">February (6)</a></li>
618
619 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/03/">March (1)</a></li>
620
621 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/04/">April (4)</a></li>
622
623 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/05/">May (3)</a></li>
624
625 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/06/">June (4)</a></li>
626
627 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/07/">July (6)</a></li>
628
629 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/08/">August (2)</a></li>
630
631 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/09/">September (2)</a></li>
632
633 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/10/">October (9)</a></li>
634
635 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/11/">November (6)</a></li>
636
637 <li><a href="http://www.hungry.com/~pere/blog/archive/2015/12/">December (3)</a></li>
638
639 </ul></li>
640
641 <li>2014
642 <ul>
643
644 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/01/">January (2)</a></li>
645
646 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/02/">February (3)</a></li>
647
648 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/03/">March (8)</a></li>
649
650 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/04/">April (7)</a></li>
651
652 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/05/">May (1)</a></li>
653
654 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/06/">June (2)</a></li>
655
656 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/07/">July (2)</a></li>
657
658 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/08/">August (2)</a></li>
659
660 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/09/">September (5)</a></li>
661
662 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/10/">October (6)</a></li>
663
664 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/11/">November (3)</a></li>
665
666 <li><a href="http://www.hungry.com/~pere/blog/archive/2014/12/">December (5)</a></li>
667
668 </ul></li>
669
670 <li>2013
671 <ul>
672
673 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/01/">January (11)</a></li>
674
675 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/02/">February (9)</a></li>
676
677 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/03/">March (9)</a></li>
678
679 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/04/">April (6)</a></li>
680
681 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/05/">May (9)</a></li>
682
683 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/06/">June (10)</a></li>
684
685 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/07/">July (7)</a></li>
686
687 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/08/">August (3)</a></li>
688
689 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/09/">September (5)</a></li>
690
691 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/10/">October (7)</a></li>
692
693 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/11/">November (9)</a></li>
694
695 <li><a href="http://www.hungry.com/~pere/blog/archive/2013/12/">December (3)</a></li>
696
697 </ul></li>
698
699 <li>2012
700 <ul>
701
702 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/01/">January (7)</a></li>
703
704 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/02/">February (10)</a></li>
705
706 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/03/">March (17)</a></li>
707
708 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/04/">April (12)</a></li>
709
710 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/05/">May (12)</a></li>
711
712 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/06/">June (20)</a></li>
713
714 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/07/">July (17)</a></li>
715
716 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/08/">August (6)</a></li>
717
718 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/09/">September (9)</a></li>
719
720 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/10/">October (17)</a></li>
721
722 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/11/">November (10)</a></li>
723
724 <li><a href="http://www.hungry.com/~pere/blog/archive/2012/12/">December (7)</a></li>
725
726 </ul></li>
727
728 <li>2011
729 <ul>
730
731 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/01/">January (16)</a></li>
732
733 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/02/">February (6)</a></li>
734
735 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/03/">March (6)</a></li>
736
737 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/04/">April (7)</a></li>
738
739 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/05/">May (3)</a></li>
740
741 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/06/">June (2)</a></li>
742
743 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/07/">July (7)</a></li>
744
745 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/08/">August (6)</a></li>
746
747 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/09/">September (4)</a></li>
748
749 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/10/">October (2)</a></li>
750
751 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/11/">November (3)</a></li>
752
753 <li><a href="http://www.hungry.com/~pere/blog/archive/2011/12/">December (1)</a></li>
754
755 </ul></li>
756
757 <li>2010
758 <ul>
759
760 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/01/">January (2)</a></li>
761
762 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/02/">February (1)</a></li>
763
764 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/03/">March (3)</a></li>
765
766 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/04/">April (3)</a></li>
767
768 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/05/">May (9)</a></li>
769
770 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/06/">June (14)</a></li>
771
772 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/07/">July (12)</a></li>
773
774 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/08/">August (13)</a></li>
775
776 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/09/">September (7)</a></li>
777
778 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/10/">October (9)</a></li>
779
780 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/11/">November (13)</a></li>
781
782 <li><a href="http://www.hungry.com/~pere/blog/archive/2010/12/">December (12)</a></li>
783
784 </ul></li>
785
786 <li>2009
787 <ul>
788
789 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/01/">January (8)</a></li>
790
791 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/02/">February (8)</a></li>
792
793 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/03/">March (12)</a></li>
794
795 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/04/">April (10)</a></li>
796
797 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/05/">May (9)</a></li>
798
799 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/06/">June (3)</a></li>
800
801 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/07/">July (4)</a></li>
802
803 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/08/">August (3)</a></li>
804
805 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/09/">September (1)</a></li>
806
807 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/10/">October (2)</a></li>
808
809 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/11/">November (3)</a></li>
810
811 <li><a href="http://www.hungry.com/~pere/blog/archive/2009/12/">December (3)</a></li>
812
813 </ul></li>
814
815 <li>2008
816 <ul>
817
818 <li><a href="http://www.hungry.com/~pere/blog/archive/2008/11/">November (5)</a></li>
819
820 <li><a href="http://www.hungry.com/~pere/blog/archive/2008/12/">December (7)</a></li>
821
822 </ul></li>
823
824 </ul>
825
826
827
828 <h2>Tags</h2>
829 <ul>
830
831 <li><a href="http://www.hungry.com/~pere/blog/tags/3d-printer">3d-printer (19)</a></li>
832
833 <li><a href="http://www.hungry.com/~pere/blog/tags/amiga">amiga (1)</a></li>
834
835 <li><a href="http://www.hungry.com/~pere/blog/tags/aros">aros (1)</a></li>
836
837 <li><a href="http://www.hungry.com/~pere/blog/tags/bankid">bankid (4)</a></li>
838
839 <li><a href="http://www.hungry.com/~pere/blog/tags/betalkontant">betalkontant (9)</a></li>
840
841 <li><a href="http://www.hungry.com/~pere/blog/tags/bitcoin">bitcoin (13)</a></li>
842
843 <li><a href="http://www.hungry.com/~pere/blog/tags/bootsystem">bootsystem (17)</a></li>
844
845 <li><a href="http://www.hungry.com/~pere/blog/tags/bsa">bsa (2)</a></li>
846
847 <li><a href="http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (3)</a></li>
848
849 <li><a href="http://www.hungry.com/~pere/blog/tags/debian">debian (206)</a></li>
850
851 <li><a href="http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (159)</a></li>
852
853 <li><a href="http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook (9)</a></li>
854
855 <li><a href="http://www.hungry.com/~pere/blog/tags/digistan">digistan (11)</a></li>
856
857 <li><a href="http://www.hungry.com/~pere/blog/tags/dld">dld (18)</a></li>
858
859 <li><a href="http://www.hungry.com/~pere/blog/tags/docbook">docbook (33)</a></li>
860
861 <li><a href="http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
862
863 <li><a href="http://www.hungry.com/~pere/blog/tags/english">english (468)</a></li>
864
865 <li><a href="http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
866
867 <li><a href="http://www.hungry.com/~pere/blog/tags/fildeling">fildeling (14)</a></li>
868
869 <li><a href="http://www.hungry.com/~pere/blog/tags/freeculture">freeculture (34)</a></li>
870
871 <li><a href="http://www.hungry.com/~pere/blog/tags/freedombox">freedombox (9)</a></li>
872
873 <li><a href="http://www.hungry.com/~pere/blog/tags/frikanalen">frikanalen (20)</a></li>
874
875 <li><a href="http://www.hungry.com/~pere/blog/tags/h264">h264 (20)</a></li>
876
877 <li><a href="http://www.hungry.com/~pere/blog/tags/intervju">intervju (43)</a></li>
878
879 <li><a href="http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (20)</a></li>
880
881 <li><a href="http://www.hungry.com/~pere/blog/tags/kart">kart (23)</a></li>
882
883 <li><a href="http://www.hungry.com/~pere/blog/tags/kodi">kodi (6)</a></li>
884
885 <li><a href="http://www.hungry.com/~pere/blog/tags/ldap">ldap (9)</a></li>
886
887 <li><a href="http://www.hungry.com/~pere/blog/tags/lego">lego (5)</a></li>
888
889 <li><a href="http://www.hungry.com/~pere/blog/tags/lenker">lenker (8)</a></li>
890
891 <li><a href="http://www.hungry.com/~pere/blog/tags/linuxcnc">linuxcnc (8)</a></li>
892
893 <li><a href="http://www.hungry.com/~pere/blog/tags/lsdvd">lsdvd (2)</a></li>
894
895 <li><a href="http://www.hungry.com/~pere/blog/tags/ltsp">ltsp (1)</a></li>
896
897 <li><a href="http://www.hungry.com/~pere/blog/tags/madewithcc">madewithcc (3)</a></li>
898
899 <li><a href="http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (8)</a></li>
900
901 <li><a href="http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (46)</a></li>
902
903 <li><a href="http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (15)</a></li>
904
905 <li><a href="http://www.hungry.com/~pere/blog/tags/noark5">noark5 (25)</a></li>
906
907 <li><a href="http://www.hungry.com/~pere/blog/tags/norsk">norsk (325)</a></li>
908
909 <li><a href="http://www.hungry.com/~pere/blog/tags/nuug">nuug (199)</a></li>
910
911 <li><a href="http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (41)</a></li>
912
913 <li><a href="http://www.hungry.com/~pere/blog/tags/open311">open311 (2)</a></li>
914
915 <li><a href="http://www.hungry.com/~pere/blog/tags/opensnitch">opensnitch (4)</a></li>
916
917 <li><a href="http://www.hungry.com/~pere/blog/tags/opphavsrett">opphavsrett (76)</a></li>
918
919 <li><a href="http://www.hungry.com/~pere/blog/tags/personvern">personvern (114)</a></li>
920
921 <li><a href="http://www.hungry.com/~pere/blog/tags/raid">raid (4)</a></li>
922
923 <li><a href="http://www.hungry.com/~pere/blog/tags/reactos">reactos (1)</a></li>
924
925 <li><a href="http://www.hungry.com/~pere/blog/tags/reprap">reprap (11)</a></li>
926
927 <li><a href="http://www.hungry.com/~pere/blog/tags/rfid">rfid (3)</a></li>
928
929 <li><a href="http://www.hungry.com/~pere/blog/tags/robot">robot (17)</a></li>
930
931 <li><a href="http://www.hungry.com/~pere/blog/tags/rss">rss (1)</a></li>
932
933 <li><a href="http://www.hungry.com/~pere/blog/tags/ruter">ruter (7)</a></li>
934
935 <li><a href="http://www.hungry.com/~pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
936
937 <li><a href="http://www.hungry.com/~pere/blog/tags/sikkerhet">sikkerhet (60)</a></li>
938
939 <li><a href="http://www.hungry.com/~pere/blog/tags/sitesummary">sitesummary (4)</a></li>
940
941 <li><a href="http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (5)</a></li>
942
943 <li><a href="http://www.hungry.com/~pere/blog/tags/standard">standard (76)</a></li>
944
945 <li><a href="http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
946
947 <li><a href="http://www.hungry.com/~pere/blog/tags/stortinget">stortinget (14)</a></li>
948
949 <li><a href="http://www.hungry.com/~pere/blog/tags/surveillance">surveillance (65)</a></li>
950
951 <li><a href="http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin (5)</a></li>
952
953 <li><a href="http://www.hungry.com/~pere/blog/tags/usenix">usenix (2)</a></li>
954
955 <li><a href="http://www.hungry.com/~pere/blog/tags/valg">valg (9)</a></li>
956
957 <li><a href="http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (22)</a></li>
958
959 <li><a href="http://www.hungry.com/~pere/blog/tags/video">video (80)</a></li>
960
961 <li><a href="http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (4)</a></li>
962
963 <li><a href="http://www.hungry.com/~pere/blog/tags/web">web (42)</a></li>
964
965 </ul>
966
967
968 </div>
969 <p style="text-align: right">
970 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
971 </p>
972
973 </body>
974 </html>