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">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen
</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=
"http://www.hungry.com/~pere/blog/index.rss" type=
"application/rss+xml" />
14 <a href=
"http://www.hungry.com/~pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/New_oggz_release_1_1_2_after_15_years.html">New oggz release
1.1.2 after
15 years
</a></div>
24 <div class=
"date"> 9th February
2025</div>
25 <div class=
"body"><p>A little over a week ago, I noticed
26 <a href=
"https://tracker.debian.org/pkg/liboggz">the liboggz
27 package
</a> on my Debian dashboard had not had a new upstream release
28 for a while. A closer look showed that its last release, version
29 1.1.1, happened in
2010. A few patches had accumulated in the Debian
30 package, and I even noticed that I had passed on these patches to
31 upstream five years ago. A handful crash bugs had been reported
32 against the Debian package, and looking at the upstream repository I
33 even found a few crash bugs reported there too. To add insult to
34 injury, I discovered that upstream had accumulated several fixes the
35 years between
2010 and now, and many of them had not made their way
36 into the Debian package. I decided enough was enough, and that a new
37 upstream release was needed fixing these nasty crash bugs. Luckily I
38 am also a member of the Xiph team, aka upstream, and could actually go
39 to work immediately to fix it.
</p>
41 <p>I started by adding automatic build testing on
42 <a href=
"https://gitlab.xiph.org/xiph/liboggz">the Xiph gitlab oggz
43 instance
</a>, to get a better idea of the state of affairs with the
44 code base. This exposed a few build problems, which I had to fix. In
45 parallel to this, I sent an email announcing my wish for a new release
46 to every person who had committed to the upstream code base since
47 2010, and asked for help doing a new release both on email and on the
48 #xiph IRC channel. Sadly only a fraction of their email providers
49 accepted my email. But Ralph Giles in the Xiph team came to the
50 rescue and provided invaluable help to guide be through the release
51 Xiph process. While this was going on, I spent a few days tracking
52 down the crash bugs with good help from
53 <a href=
"https://www.valgrind.org/">valgrind
</a>, and came up with
54 patch proposals to get rid of at least these specific crash bugs. The
55 open issues also had to be checked. Several of them proved to be
56 fixed already, but a few I had to creat patches for. I also checked
57 out the Debian, Arch, Fedora, Suse and Gentoo packages to see if there
58 were patches applied in these Linux distributions that should be
59 passed upstream. The end result was ready yesterday. A new liboggz
60 release, version
1.1.2, was tagged, wrapped up and published on the
61 project page. And today, the new release was uploaded into
64 <p>You are probably by now curious on what actually changed in the
65 library. I guess the most interesting new feature was support for
66 Opus and VP8. Almost all other changes were stability or
67 documentation fixes. The rest were related to the gitlab continuous
68 integration testing. All in all, this was really a minor update,
69 hence the version bump only from
1.1.1 to to
1.1.2, but it was long
70 overdue and I am very happy that it is out the door.
</p>
72 <p>One change proposed upstream was not included this time, as it
73 extended the API and changed some of the existing library methods, and
74 thus require a major SONAME bump and possibly code changes in every
75 program using the library. As I am not that familiar with the code
76 base, I am unsure if I am the right person to evaluate the change.
79 <p>Since the release was tagged, a few minor fixes has been committed
80 upstream already: automatic testing the cross building to Windows, and
81 documentation updates linking to the correct project page. If a
82 important issue is discovered with this release, I guess a new release
83 might happen soon including the minor fixes. If not, perhaps they can
84 wait fifteen years. :)
</p>
86 <p>As usual, if you use Bitcoin and want to show your support of my
87 activities, please send Bitcoin donations to my address
88 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
93 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/multimedia">multimedia
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/standard">standard
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/video">video
</a>.
98 <div class=
"padding"></div>
101 <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>
102 <div class=
"date">31st January
2025</div>
103 <div class=
"body"><p>Nikita-prosjektet, der jeg er involvert, inviterer i samarbeid med
104 forskningsgruppen METAINFO og foreningen NUUG, til et frokostseminar
105 om Noark
5 og Noark
5 Tjenestegrensesnitt fredag
2025-
03-
14. Fokus
106 denne gangen er på bevaring og kassasjon. Seminaret finner sted ved
107 OsloMet, Pilestredet
46. Vi håper å få til videostrømming via
108 Internett av presentasjoner og paneldiskusjon. Oppdatert program og
109 lenker til påmeldingsskjema finner en via
110 <a href=
"https://noark.codeberg.page/noark5-seminars/2025-03-14-noark-workshop.html">arrangementets infoside
</a>. Arrangementet er gratis.
112 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
113 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
115 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>. Merk,
116 betaling med bitcoin er ikke anonymt. :)
</p>
121 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>.
126 <div class=
"padding"></div>
129 <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>
130 <div class=
"date">19th January
2025</div>
131 <div class=
"body"><p>For some years now, I have been working on a automatic hardware
132 based package recommendation system for Debian and other Linux
133 distributions. The isenkram system I started on back in
2013 now
134 consist of two subsystems, one locating firmware files using the
135 information provided by apt-file, and one matching hardware to
136 packages using information provided by AppStream. The former is very
137 similar to the mechanism implemented in debian-installer to pick the
138 right firmware packages to install. This post is about the latter
139 system. Thanks to steady progress and good help from both other
140 Debian and upstream developers, I am happy to report that
141 <a href=
"https://tracker.debian.org/pkg/isenkram">the Isenkram
142 system
</a> now are able to recommend
121 packages using information
144 <a href=
"https://www.freedesktop.org/wiki/Distributions/AppStream/">AppStream
</a>.
</p>
146 <p>The mapping is done using modalias information provided by the
147 kernel, the same information used by udev when creating device files,
148 and the kernel when deciding which kernel modules to load. To get all
149 the modalias identifiers relevant for your machine, you can run the
150 following command on the command line:
</p>
153 find /sys/devices -name modalias -print0 | xargs -
0 sort -u
156 <p>The modalias identifiers can look something like this:
</p>
160 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
161 dmi:bvnDellInc.:bvr2.18
.1:bd08/
14/
2023:br2.18:svnDellInc.:pnPowerEdgeR730:pvr:rvnDellInc.:rn0H21J3:rvrA09:cvnDellInc.:ct23:cvr:skuSKU=NotProvided
162 pci:v00008086d00008D3Bsv00001028sd00000600bc07sc80i00
165 usb:v413CpA001d0000dc09dsc00dp00ic09isc00ip00in00
168 <p>The entries above are a selection of the complete set available on
169 a Dell PowerEdge R730 machine I have access to, to give an idea about
170 the various styles of hardware identifiers presented in the modalias
171 format. When looking up relevant packages in a Debian Testing
172 installation on the same R730, I get this list of packages
176 % sudo isenkram-lookup
178 firmware-nvidia-graphics
185 <p>The list consist of firmware packages requested by kernel modules,
186 as well packages with program to get the status from the RAID
187 controller and to maintain the LAN console. When the edac-utils
188 package providing tools to check the ECC RAM status will enter testing
189 in a few days, it will also show up as a proposal from isenkram. In
190 addition, once the mfiutil package we uploaded in October get past the
191 NEW processing, it will also propose a tool to configure the RAID
194 <p>Another example is the trusty old Lenovo Thinkpad X230, which have
195 hardware handled by several packages in the archive. This is running
196 on Debian Stable:
</p>
205 firmware-misc-nonfree
219 <p>Here there proposal consist of software to handle the camera,
220 bluetooth, network card, wifi card, GPU, fan, fingerprint reader and
221 acceleration sensor on the machine.
</p>
223 <p>Here is the complete set of packages currently providing hardware
224 mapping via AppStream in Debian Unstable: air-quality-sensor,
225 alsa-firmware-loaders, antpm, array-info, avarice, avrdude,
226 bmusb-v4l2proxy, brltty, calibre, colorhug-client, concordance-common,
227 consolekit, dahdi-firmware-nonfree, dahdi-linux, edac-utils,
228 eegdev-plugins-free, ekeyd, elogind, firmware-amd-graphics,
229 firmware-ath9k-htc, firmware-atheros, firmware-b43-installer,
230 firmware-b43legacy-installer, firmware-bnx2, firmware-bnx2x,
231 firmware-brcm80211, firmware-carl9170, firmware-cavium,
232 firmware-intel-graphics, firmware-intel-misc, firmware-ipw2x00,
233 firmware-ivtv, firmware-iwlwifi, firmware-libertas,
234 firmware-linux-free, firmware-mediatek, firmware-misc-nonfree,
235 firmware-myricom, firmware-netronome, firmware-netxen,
236 firmware-nvidia-graphics, firmware-qcom-soc, firmware-qlogic,
237 firmware-realtek, firmware-ti-connectivity, fpga-icestorm, g810-led,
238 galileo, garmin-forerunner-tools, gkrellm-thinkbat, goldencheetah,
239 gpsman, gpstrans, gqrx-sdr, i8kutils, imsprog, ledger-wallets-udev,
240 libairspy0, libam7xxx0.1, libbladerf2, libgphoto2-
6t64,
241 libhamlib-utils, libm2k0.9
.0, libmirisdr4, libnxt, libopenxr1-monado,
242 libosmosdr0, librem5-flash-image, librtlsdr0, libticables2-
8,
243 libx52pro0, libykpers-
1-
1, libyubikey-udev, limesuite,
244 linuxcnc-uspace, lomoco, madwimax, media-player-info, megactl, mixxx,
245 mkgmap, msi-keyboard, mu-editor, mustang-plug, nbc, nitrokey-app, nqc,
246 ola, openfpgaloader, openocd, openrazer-driver-dkms, pcmciautils,
247 pcscd, pidgin-blinklight, ponyprog, printer-driver-splix,
248 python-yubico-tools, python3-btchip, qlcplus, rosegarden, scdaemon,
249 sispmctl, solaar, spectools, sunxi-tools, t2n, thinkfan, tlp,
250 tp-smapi-dkms, trezor, tucnak, ubertooth, usbrelay, uuu, viking,
251 w1retap, wsl, xawtv, xinput-calibrator, xserver-xorg-input-wacom and
254 <p>In addition to these, there are several
255 <a href=
"https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&tag=appstream-modalias">with
256 patches pending in the Debian bug tracking system
</a>, and even more
257 where no-one wrote patches yet. Good candiates for the latter are
259 <a href=
"https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide">with
260 udev rules but no AppStream hardware information
</a>.
</p>
262 <p>The isenkram system consist of two packages, isenkram-cli with the
263 command line tools, and isenkram with a GUI background process. The
264 latter will listen for dbus events from udev emitted when new hardware
265 become available (like when inserting a USB dongle or discovering a
266 new bluetooth device), look up the modalias entry for this piece of
267 hardware in AppStream (and a hard coded list of mappings from isenkram
268 - currently working hard to move this list to AppStream), and pop up a
269 dialog proposing to install any not already installed packages
270 supporting this hardware. It work very well today when inserting the
271 LEGO Mindstorms RCX, NXT and EV3 controllers. :) If you want to make
272 sure more hardware related packages get recommended, please help out
273 fixing the remaining packages in Debian to provide AppStream metadata
274 with hardware mappings.
</p>
276 <p>As usual, if you use Bitcoin and want to show your support of my
277 activities, please send Bitcoin donations to my address
278 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
283 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>.
288 <div class=
"padding"></div>
291 <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>
292 <div class=
"date">18th January
2025</div>
293 <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>
295 <a href=
"http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">twelve
</a>
296 years ago, I measured what the most supported MIME type in Debian
297 was
</a>, first by analysing the desktop files in all packages in the
298 archive, then by analysing the DEP-
11 AppStream data set. I guess it
299 is time to repeat the measurement, only for unstable as last time:
</p>
301 <p><strong>Debian Unstable:
</strong></p>
305 ----- -----------------------
317 36 audio/x-vorbis+ogg
328 <p>The list was created like this using a sid chroot:
</p>
331 cat /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz | \
332 zcat | awk '/^ - \S+\/\S+$/ {print $
2 }' | sort | \
333 uniq -c | sort -nr | head -
20
336 <p>It is nice to see that the same number of packages now support PNG
337 and JPEG. Last time JPEG had more support than PNG. Most of the MIME
338 types are known to me, but the 'audio/x-scpls' one I have no idea what
339 represent, except it being an audio format. To find the packages
340 claiming support for this format, the appstreamcli command from the
341 appstream package can be used:
344 % appstreamcli what-provides mediatype audio/x-scpls | grep Package: | sort -u
345 Package: alsaplayer-common
352 Package: cynthiune.app
357 Package: kylin-burner
359 Package: mediaconch-gui
360 Package: mediainfo-gui
372 Package: soundconverter
379 <p>Look like several video and auto tools understand the format.
380 Similarly one can check out the number of packages supporting the STL
381 format commonly used for
3D printing:
</p>
384 % appstreamcli what-provides mediatype model/stl | grep Package: | sort -u
387 Package: open3d-viewer
392 <a href=
"https://tracker.debian.org/pkg/slic3r">slic3r
</a> and
393 <a href=
"https://tracker.debian.org/pkg/slic3r-prusa">prusa-slicer
</a>
394 packages do not support STL. Perhaps just missing package metadata?
395 Luckily the amount of package metadata in Debian is getting better,
396 and hopefully this way of locating relevant packages for any file
397 format will be the preferred one soon.
399 <p>As usual, if you use Bitcoin and want to show your support of my
400 activities, please send Bitcoin donations to my address
401 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
406 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>.
411 <div class=
"padding"></div>
414 <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></div>
415 <div class=
"date">11th January
2025</div>
416 <div class=
"body"><p><a href=
"https://linuxcnc.org/">The LinuxCNC project
</a> is
417 trotting along. And I believe this great software system for
418 numerical control of machines such as milling machines, lathes, plasma
419 cutters, routers, cutting machines, robots and hexapods, would do even
420 better with more in-person developer gatherings, so we plan to
421 organise such gathering this summer too.
</p>
423 <p>This year we would like to invite to a small LinuxCNC and free
424 software fabrication workshop/gathering in Norway this summer for the
425 weekend starting July
4th
2025. New this year is the slightly larger
426 scope, and we invite people also outside the LinuxCNC community to
427 join. As earlier, we suggest to organize it as an
428 <a href=
"https://en.wikipedia.org/wiki/Unconference">unconference
</a>,
429 where the participants create the program upon arrival.
</p>
431 <p>The location is a metal workshop
15 minutes drive away from to the
432 Gardermoen airport (OSL), where there is a lot of space and a hotel only
433 5 minutes away by car. We plan to fire up the barbeque in the evenings.
</p>
435 <p>Please let us know if you would like to join. We track the list of
436 participants on
<a href=
"https://pad.efn.no/p/linuxcnc-2025-norway">a
437 simple pad
</a>, please add yourself there if you are interested in joining.
</p>
439 <p><a href=
"https://www.nuugfoundation.no/">The NUUG Foundation
</a> has on
440 our request offered to handle any money involved with this gathering,
441 in other words holding any sponsor funds and paying any bills.
442 NUUG Foundation is a spinnoff from the NUUG member organisation here
443 in Norway with long ties to the free software and open standards
446 <p>As usual we hope to find sponsors to pay for food, lodging and travel.
</p>
448 <p>As usual, if you use Bitcoin and want to show your support of my
449 activities, please send Bitcoin donations to my address
450 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
455 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>.
460 <div class=
"padding"></div>
463 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/New_lsdvd_release_0_18_after_ten_years.html">New lsdvd release
0.18 after ten years
</a></div>
464 <div class=
"date">21st December
2024</div>
465 <div class=
"body"><p>The rumors of the death of
466 <a href=
"https://sourceforge.net/projects/lsdvd/">the lsdvd project
</a>
467 is slightly exaggerated. And the last few months, we have been
468 working on fixing and improving it, culminating in a new release last
469 night. This is the list of changes in the new
0.18 release, as
470 <a href=
"https://sourceforge.net/p/lsdvd/mailman/message/59108028/">announced
471 on the project mailing list
</a>:
</p>
475 <li>Simplified autoconf setup, dropped --enable-debug option.
</li>
476 <li>Improved video resolution reporting (
<a href=
"https://sourceforge.net/p/lsdvd/patches/8/">Fixes #
8</a>).
</li>
477 <li>Applied patches fetched from BSDs (
<a href=
"https://sourceforge.net/p/lsdvd/patches/7/">Fixes #
7</a>).
</li>
478 <li>Corrected Perl output (
<a href=
"https://sourceforge.net/p/lsdvd/patches/1/">Fixes #
1</a>).
</li>
479 <li>Adjusted Pan and Scan entries to produce valid XML.
</li>
480 <li>Changed --help output from stderr to stdout.
</li>
481 <li>Corrected aspect ratio and audio format formatting.
</li>
482 <li>Avoid segfault when hitting a NULL pointer in the IFO structure.
</li>
483 <li>Change build rules to supress compiler flags, to make it easier to
485 <li>Set default DVD device based on OS (Linux, *BSD, Darwin)
</li>
486 <li>Added libdvdread DVDDiscID to output.
</li>
487 <li>Corrected typo in longest track value in XML format.
</li>
488 <li>Switched XML output to use libxml to avoid string encoding issues.
</li>
489 <li>Added simple build time test suite.
</li>
490 <li>Cleaned up language code handling and adding missing mapping for
491 language codes 'nb' and 'nn'.
</li>
492 <li>Added JSON output support using -Oj.
</li>
495 <p>The most exciting news to me is easy access to the DVDDiscID, which
496 make it a lot easier to identify DVD duplicates across a large
497 collection of DVDs. During testing it has proved to be very effective
498 ad identifying when DVDs in a DVD box (say all Star Wars movies) is
499 identical to DVDs sold individually (like the same Star Wars movies
500 packaged individually).
</p>
502 <p>Because none of the current developers got access to do tarball
503 releases on Sourceforge any more, the release is only available as
504 <a href=
"https://sourceforge.net/p/lsdvd/git/ci/0.18/tree/">a git
505 tag
</a> in the repository. Lets hope it do not take ten years for the
506 next release. The project are discussing to move away from
507 Sourceforge, but it has not yet concluded.
</p>
509 <p>As usual, if you use Bitcoin and want to show your support of my
510 activities, please send Bitcoin donations to my address
511 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
516 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>.
521 <div class=
"padding"></div>
524 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/More_than_200_orphaned_Debian_packages_moved_to_git__216_to_go.html">More than
200 orphaned Debian packages moved to git,
216 to go
</a></div>
525 <div class=
"date">11th July
2024</div>
526 <div class=
"body"><p><a href=
"http://www.hungry.com/~pere/blog/Time_to_move_orphaned_Debian_packages_to_git.html">In
527 April
</a>, I started migrating orphaned Debian packages without any
528 version control system listed in debian/control to git. This morning,
529 my Debian QA page finally reached
200 QA packages migrated. In
530 reality there are a few more, as the packages uploaded by someone else
531 after my initial upload have disappeared from my QA uploads list. As
532 I am running out of steam and will most likely focus on other parts of
533 Debian moving forward, I hope someone else will find time to continue
534 the migration to bring the number of orphaned packages without any
535 version control system down to zero. Here is the updated recipe if
536 someone want to help out.
</p>
538 <p>To locate packages to work on, the following one-liner can be used:
</p>
541 PGPASSWORD="udd-mirror" psql --port=
5432 --host=udd-mirror.debian.net \
542 --username=udd-mirror udd -c "select source from sources \
543 where release = 'sid' and (vcs_url ilike '%anonscm.debian.org%' \
544 OR vcs_browser ilike '%anonscm.debian.org%' or vcs_url IS NULL \
545 OR vcs_browser IS NULL) AND maintainer ilike '%packages@qa.debian.org%' \
546 order by random() limit
10;"
549 <p>Pick a random package from the list and run the latest edition of
551 <tt><a href=
"http://www.hungry.com/~pere/blog/images/2024-07-11-debian-snap-to-salsa.sh">debian-snap-to-salsa
</a></tt>
552 with the package name as the argument to prepare a git repository with
553 the existing packaging. This will download old Debian packages from
554 <tt>snapshot.debian.org
</tt>. Note that very recent uploads will not
555 be included, so check out the package on
<tt>tracker.debian.org
</tt>.
556 Next, run
<tt>gbp buildpackage --git-ignore-new
</tt> to verify that
557 the package build as it should, and then visit
558 <a href=
"https://salsa.debian.org/debian/">https://salsa.debian.org/debian/
</a>
559 and make sure there is not already a git repository for the package
560 there. I also did
<tt>git log -p debian/control
</tt> and look for vcs
561 entries to check if the package used to have a git repository on
562 Alioth, and see if it can be a useful starting point moving forward.
563 If all this check out, I created a new gitlab project below the Debian
564 group on salsa, push the package source there and upload a new version.
565 I tend to also ensure build hardening is enabled, if it prove to be
566 easy, and check if I can easily fix any lintian issues or bug reports.
567 If the process took more than
20 minutes, I dropped it and moved on to
570 <p>If I found patches in debian/patches/ that were not yet passed
571 upstream, I would send an email to make sure upstream know about them.
572 This has proved to be a valuable step, and caused several new releases
573 for software that initially appeared abandoned. :)
</p>
575 <p>As usual, if you use Bitcoin and want to show your support of my
576 activities, please send Bitcoin donations to my address
577 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
582 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>.
587 <div class=
"padding"></div>
590 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/Some_notes_from_the_2024_LinuxCNC_Norwegian_developer_gathering.html">Some notes from the
2024 LinuxCNC Norwegian developer gathering
</a></div>
591 <div class=
"date">10th July
2024</div>
592 <div class=
"body"><p>The Norwegian
<a href=
"https://linuxcnc.org/">The LinuxCNC
</a>
593 developer gathering
2024 is over. It was a great and productive
594 weekend, and I am sad that it is over.
</p>
596 <p>Regular readers probably still remember what LinuxCNC is, but her
597 is a quick summary for those that forgot? LinuxCNC is a free software
598 system for numerical control of machines such as milling machines,
599 lathes, plasma cutters, routers, cutting machines, robots and
600 hexapods. It eats G-code and produce motor movement and other changes
601 to the physical world, while reading sensor input.
</p>
603 <p>I am not quite sure about the total head count, as not all people
604 were present at the gathering the entire weekend, but I believe it was
605 close to
10 people showing their faces at the gathering. The "hard
606 core" of the group, who stayed the entire weekend, were two from
607 Norway, two from Germany and one from England. I am happy with the
608 outcome from the gathering. We managed to wrap up a new stable
609 LinuxCNC release
2.9.3 and even tested it on real hardware within
610 minutes of the release. The release notes for
2.9.3 are still being
611 written, but should show up on on the project site in the next few
612 days. We managed to go through around twenty pull requests and merge
613 then into either the stable release (
2.9) or the development branch
614 (master). There are still around thirty pull requests left to
615 process, so we are not out of work yet. We even managed to
616 fix/improve a slightly worn lathe, and experiment with running a
617 mechanical clock using G-code.
</p>
619 <p>The evening barbeque worked well both on Saturday and Sunday. It
620 is quite fun to light up a charcoal grill using compressed air. Sadly
621 the weather was not the best, so we stayed indoors most of the
624 <p>This gathering was made possible partly with sponsoring from both
625 <a href=
"https://www.redpill-linpro.com/">Redpill Linpro
</a>,
626 <a href=
"https://debian.org/">Debian
</a> and
627 <a href=
"https://nuugfoundation.no/">NUUG Foundation
</a>, and we are
628 most grateful for the support. I would also like to thank the local
629 school for lending us some furniture, and of course the rest of the
630 members of the organizers team, Asle and Bosse, for their countless
631 contributions. The gathering was such success that we want to do it
634 <p>We plan to organize the next Norwegian LinuxCNC developer gathering
635 at the end of June next year, the weekend Friday
27th to Sunday
29th
636 of June
2025. I recommend you reserve the dates on your calendar
637 today. Other related communities are also welcome to join in, for
638 example those working on systems like FreeCAD and opencamlib, as I am
639 sure we have much in common and sharing experiences would be very
640 useful to all involved. We are of course looking for sponsors for
641 this gathering already. The total budget for this gathering was
642 around NOK
25.000 (around EUR
2.300), so our needs are quite modest.
643 Perhaps a machine or tools company would like to help out the free
644 software manufacturing community by sponsoring food, lodging and
645 transport for such gathering?
</p>
650 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>.
655 <div class=
"padding"></div>
658 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/_M_ter_vi_liv_eller_d_d____pamfletten_som_inspirerte.html">«Møter vi liv eller død?», pamfletten som inspirerte
</a></div>
659 <div class=
"date"> 4th June
2024</div>
660 <div class=
"body"><img align=
"center" src=
"http://www.hungry.com/~pere/blog/images/2024-06-04-bok-elsa-laula.svg" width=
"20%" align=
"center" border=
"1"></a>
662 <p>Da jeg i høst hørte jeg et innslag på
663 <a href=
"https://radiorakel.no/">radiOrakel
</a> om en inspirerende dame
664 som levde for over hundre år siden, fikk jeg en vill ide. Elsa Laula
665 var en svensk samisk dame som ikke bare fikk utdannelsen finansiert av
666 den danske dronningen, men som gjorde så god jobb med å inspirere og
667 organisere den samiske befolkningen at det visstnok ble forslått i
668 Sverige å straffeforfølge henne for oppvigleri før hun flyttet fra
669 Sverige til Norge. Radiopraterne fortalte videre at da Elsa Laula ga
670 ut en pamflett for å inspirere samene til samling var dette den
671 første bok gitt ut av en samisk dame noensinne. Jeg fikk høre at
672 denne korte teksten kun fantes på originalspråket svensk under
673 tittelen «Inför lif eller död» og aldri var oversatt til norsk. Da
674 tenkte jeg, der jeg satt i bilen, at en norsk utgave kan vel jeg
675 fikse. Jeg har jo fått oversatt endel bøker, og en liten pamflett på
676 noen få sider burde jo være grei skuring.
</p>
678 <p>Den imponerende Elsa Laula, som senere la til etternavnet Renberg, har
679 blant annet fått dokumentaren
680 «
<a href=
"https://www.nrk.no/video/elsa-laula-renberg-kvinnen-som-samlet-sapmi_SAPP67002117">Elsa
681 Laula Renberg, kvinnen som samlet Sápmi
</a>» (
2017) av Per Kristian
682 Olsen på NRK, NRK-artikkelen
683 «
<a href=
"https://www.nrk.no/kultur/xl/et-liv-i-kamp-for-samefolkets-rettigheter-1.13351401">Samenes
684 Jeanne d’Arc
</a>» av Karen Brodshaug Sveen (
2017), oppgaven
685 «
<a href=
"https://nordligefolk.no/wp-content/uploads/2020/03/Elsa-Laulas-Info%CC%88r-Lif-och-Do%CC%88d.pdf">Elsa
686 Laulas Innför lif och död – sanningsord i de lappska
687 förhållandena
</a>» av Edel Olsen, biografien
688 «
<a href=
"https://www.siribrochjohansen.no/biografien-om-elsa-laula-renberg/">Elsa
689 Laula Renberg - Historien om samefolkets store Minerva
</a>» (
2015) av
690 Siri Broch Johansen og radiOrakel-podkasten
691 <a href=
"https://radiorakel.no/podcast/revolusjonen-har-et-kvinnelig-ansikt-elsa-laula/">Revolusjonen
692 har et kvinnelig ansikt – Elsa Laula
</a>, for å nevne de jeg har
693 finnet uten å lete spesielt hardt. En virkelig spennende dame, som i
694 tillegg til å inspirere til opprettelsen av samiske organisasjoner,
695 har inspirert til opprettelsen av Sametinget, og født seks barn der
698 <p>I dag er jeg veldig glad for å kunne annonsere at
699 <a href=
"http://www.hungry.com/~pere/publisher/#infoerlifellerdoed2024">bokmålsoversettelsen
700 er klar og tilgjengelig
</a> for både bestilling på papir og
701 epub-utgave fra lulu.com, samt som nettside. Den kringkastede
702 bokinformasjonen ser slik ut:
</p>
706 <p>Den
27 år gamle sørsamiske kvinnen Elsa Laula ga i august
1904 ut
707 en pamflett i Stockholm. Opplaget var på
6000, finansiert av
708 Stockholmsredaktøren Gustav Hedenström, som også bidro i stiftelsen av
709 Lapparnes Centralforbund. Dette kampskriftet var den første boken gitt
710 ut av en samisk kvinne, og hadde som mål å inspirere til opprettelsen
711 av samiske foreninger over hele landet, samt skape blest om
712 sentralforbundet. Pamfletten er et politisk manifest som fortsatt
713 inspirerer i dag.
</p>
715 <p>Denne pamfletten er nå for første gang tilgjengelig på bokmål,
716 sammen med en nyutgivelse av originalteksten på svensk.
</p>
720 <p>Oversettelsen hadde ikke vært mulig uten gode hjelpere. En virkelig
721 stor innsats både i korrekturarbeidet og utforskning av arkaiske
722 svenske ord, står Axel Rosén bak. I tillegg har jeg fått innspill fra
723 Edel May Karlsen og flere andre både på språkføring og historisk
724 bakgrunn for å forstå teksten.
</p>
726 <p>En kuriositet som jeg oppdaget i arbeidet med oversettelsen er at
727 det ikke stemmer at denne boken ikke var oversatt til noen andre
728 språk. Anna Wuolab oversatte den til nordsamisk i
2017 i en utgave
729 gitt ut av samisk skribent- och författarförening (Bágu čálliid
730 searvi) under tittelen «Eallit vai jápmit? : duohtavuođasánit sámi
731 diliid birra = Inför lif eller död? : sanningsord i de lappska
732 förhållandena». Papirutgaven er så vidt jeg kan forstå utsolgt fra
733 forlaget og jeg har ikke klart å finne informasjonsside om boken på
734 Internett. Mulig den er mulig å få tak i som ebok, hvis en skal tro
735 <a href=
"https://search.worldcat.org/title/1405213087">oppføring i
738 <p>Oversetterrammeverket jeg har satt opp for å gjennomføre dette
739 oversettelsesprosjektet håndterer flere språk. Jeg er igang med
740 engelsk utgave, og er åpen for å også gi ut andre oversettelser hvis
741 noen er interessert i å gjøre jobben. Det hadde vært ekstra moro å gi
742 den ut på sørsamisk, det samiske språket i regionen der Elsa Laula kom
743 fra. Der er jeg som vanlig avhengig av frivillige som er også
744 interessert i å gjøre dette på dugnad.
</p>
746 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
747 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
749 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>. Merk,
750 betaling med bitcoin er ikke anonymt. :)
</p>
755 Tags:
<a href=
"http://www.hungry.com/~pere/blog/tags/docbook">docbook
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/norsk">norsk
</a>.
760 <div class=
"padding"></div>
763 <div class=
"title"><a href=
"http://www.hungry.com/~pere/blog/The_2024_LinuxCNC_Norwegian_developer_gathering.html">The
2024 LinuxCNC Norwegian developer gathering
</a></div>
764 <div class=
"date">31st May
2024</div>
765 <div class=
"body"><p><a href=
"https://linuxcnc.org/">The LinuxCNC project
</a> is still
766 going strong. And I believe this great software system for numerical control of
767 machines such as milling machines, lathes, plasma cutters, routers,
768 cutting machines, robots and hexapods, would do even better with more
769 in-person developer gatherings, so we plan to organise such gathering
772 <p>The Norwegian LinuxCNC developer gathering take place the weekend
773 Friday July
5th to
7th this year, and is open for everyone interested
774 in contributing to LinuxCNC and free software manufacturing. Up to
775 date information about the gathering can be found in
776 <a href=
"https://sourceforge.net/p/emc/mailman/emc-developers/thread/123eaae0-f3b9-4170-a251-b7d608f1e974%40bofh.no/">the
777 developer mailing list thread
</a> where the gathering was announced.
778 Thanks to the good people at
780 <a href=
"https://www.debian.org/">Debian
</a> as well as leftover money
781 from last years gathering from
782 <a href=
"https://www.redpill-linpro.com/">Redpill-Linpro
</a> and
783 <a href=
"https://www.nuugfoundation.no/no/">NUUG Foundation
</a>, we
784 have enough sponsor funds to pay for food, and probably also shelter
785 for the people traveling from afar to join us. If you would like to
786 join the gathering, get in touch and add your details on
787 <a href=
"https://pad.efn.no/p/linuxcnc-2024-norway">the pad
</a>.
</p>
789 <p>As usual, if you use Bitcoin and want to show your support of my
790 activities, please send Bitcoin donations to my address
791 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
796 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>.
801 <div class=
"padding"></div>
803 <p style=
"text-align: right;"><a href=
"index.rss"><img src=
"http://www.hungry.com/~pere/blog/xml.gif" alt=
"RSS feed" width=
"36" height=
"14" /></a></p>
814 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/01/">January (
4)
</a></li>
816 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/02/">February (
1)
</a></li>
823 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/01/">January (
1)
</a></li>
825 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/02/">February (
1)
</a></li>
827 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/03/">March (
2)
</a></li>
829 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/04/">April (
3)
</a></li>
831 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/05/">May (
1)
</a></li>
833 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/06/">June (
1)
</a></li>
835 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/07/">July (
2)
</a></li>
837 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/12/">December (
1)
</a></li>
844 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/01/">January (
3)
</a></li>
846 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/02/">February (
1)
</a></li>
848 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/04/">April (
2)
</a></li>
850 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/05/">May (
3)
</a></li>
852 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/06/">June (
1)
</a></li>
854 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/08/">August (
1)
</a></li>
856 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/09/">September (
1)
</a></li>
858 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/10/">October (
1)
</a></li>
860 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/11/">November (
4)
</a></li>
862 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/12/">December (
1)
</a></li>
869 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/02/">February (
1)
</a></li>
871 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/03/">March (
3)
</a></li>
873 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/04/">April (
2)
</a></li>
875 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/06/">June (
2)
</a></li>
877 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/07/">July (
1)
</a></li>
879 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/09/">September (
1)
</a></li>
881 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/10/">October (
1)
</a></li>
883 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/12/">December (
1)
</a></li>
890 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/01/">January (
2)
</a></li>
892 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/02/">February (
1)
</a></li>
894 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/05/">May (
1)
</a></li>
896 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/06/">June (
1)
</a></li>
898 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/07/">July (
3)
</a></li>
900 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/08/">August (
1)
</a></li>
902 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/09/">September (
1)
</a></li>
904 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/10/">October (
1)
</a></li>
906 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/12/">December (
1)
</a></li>
913 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/02/">February (
2)
</a></li>
915 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/03/">March (
2)
</a></li>
917 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/04/">April (
2)
</a></li>
919 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/05/">May (
3)
</a></li>
921 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/06/">June (
2)
</a></li>
923 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/07/">July (
1)
</a></li>
925 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/09/">September (
1)
</a></li>
927 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/10/">October (
1)
</a></li>
929 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/11/">November (
1)
</a></li>
936 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/01/">January (
4)
</a></li>
938 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/02/">February (
3)
</a></li>
940 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/03/">March (
3)
</a></li>
942 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/05/">May (
2)
</a></li>
944 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/06/">June (
5)
</a></li>
946 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/07/">July (
2)
</a></li>
948 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/08/">August (
1)
</a></li>
950 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/09/">September (
1)
</a></li>
952 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/11/">November (
1)
</a></li>
954 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/12/">December (
4)
</a></li>
961 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/01/">January (
1)
</a></li>
963 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/02/">February (
5)
</a></li>
965 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/03/">March (
5)
</a></li>
967 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/04/">April (
3)
</a></li>
969 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/06/">June (
2)
</a></li>
971 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/07/">July (
5)
</a></li>
973 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/08/">August (
3)
</a></li>
975 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/09/">September (
3)
</a></li>
977 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/10/">October (
5)
</a></li>
979 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/11/">November (
2)
</a></li>
981 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/12/">December (
4)
</a></li>
988 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/01/">January (
4)
</a></li>
990 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/02/">February (
3)
</a></li>
992 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/03/">March (
5)
</a></li>
994 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/04/">April (
2)
</a></li>
996 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/06/">June (
5)
</a></li>
998 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/07/">July (
1)
</a></li>
1000 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/08/">August (
1)
</a></li>
1002 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/09/">September (
3)
</a></li>
1004 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/10/">October (
5)
</a></li>
1006 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/11/">November (
3)
</a></li>
1008 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/12/">December (
4)
</a></li>
1015 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/01/">January (
3)
</a></li>
1017 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/02/">February (
2)
</a></li>
1019 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/03/">March (
3)
</a></li>
1021 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/04/">April (
8)
</a></li>
1023 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/05/">May (
8)
</a></li>
1025 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/06/">June (
2)
</a></li>
1027 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/07/">July (
2)
</a></li>
1029 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/08/">August (
5)
</a></li>
1031 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/09/">September (
2)
</a></li>
1033 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/10/">October (
3)
</a></li>
1035 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/11/">November (
8)
</a></li>
1037 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/12/">December (
5)
</a></li>
1044 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/01/">January (
7)
</a></li>
1046 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/02/">February (
6)
</a></li>
1048 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/03/">March (
1)
</a></li>
1050 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/04/">April (
4)
</a></li>
1052 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/05/">May (
3)
</a></li>
1054 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/06/">June (
4)
</a></li>
1056 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/07/">July (
6)
</a></li>
1058 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/08/">August (
2)
</a></li>
1060 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/09/">September (
2)
</a></li>
1062 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/10/">October (
9)
</a></li>
1064 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/11/">November (
6)
</a></li>
1066 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/12/">December (
3)
</a></li>
1073 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/01/">January (
2)
</a></li>
1075 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/02/">February (
3)
</a></li>
1077 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/03/">March (
8)
</a></li>
1079 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/04/">April (
7)
</a></li>
1081 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/05/">May (
1)
</a></li>
1083 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/06/">June (
2)
</a></li>
1085 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/07/">July (
2)
</a></li>
1087 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/08/">August (
2)
</a></li>
1089 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/09/">September (
5)
</a></li>
1091 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/10/">October (
6)
</a></li>
1093 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/11/">November (
3)
</a></li>
1095 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/12/">December (
5)
</a></li>
1102 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/01/">January (
11)
</a></li>
1104 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/02/">February (
9)
</a></li>
1106 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/03/">March (
9)
</a></li>
1108 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/04/">April (
6)
</a></li>
1110 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/05/">May (
9)
</a></li>
1112 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/06/">June (
10)
</a></li>
1114 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/07/">July (
7)
</a></li>
1116 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/08/">August (
3)
</a></li>
1118 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/09/">September (
5)
</a></li>
1120 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/10/">October (
7)
</a></li>
1122 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/11/">November (
9)
</a></li>
1124 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/12/">December (
3)
</a></li>
1131 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/01/">January (
7)
</a></li>
1133 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/02/">February (
10)
</a></li>
1135 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/03/">March (
17)
</a></li>
1137 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/04/">April (
12)
</a></li>
1139 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/05/">May (
12)
</a></li>
1141 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/06/">June (
20)
</a></li>
1143 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/07/">July (
17)
</a></li>
1145 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/08/">August (
6)
</a></li>
1147 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/09/">September (
9)
</a></li>
1149 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/10/">October (
17)
</a></li>
1151 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/11/">November (
10)
</a></li>
1153 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/12/">December (
7)
</a></li>
1160 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/01/">January (
16)
</a></li>
1162 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/02/">February (
6)
</a></li>
1164 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/03/">March (
6)
</a></li>
1166 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/04/">April (
7)
</a></li>
1168 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/05/">May (
3)
</a></li>
1170 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/06/">June (
2)
</a></li>
1172 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/07/">July (
7)
</a></li>
1174 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/08/">August (
6)
</a></li>
1176 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/09/">September (
4)
</a></li>
1178 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/10/">October (
2)
</a></li>
1180 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/11/">November (
3)
</a></li>
1182 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/12/">December (
1)
</a></li>
1189 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/01/">January (
2)
</a></li>
1191 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/02/">February (
1)
</a></li>
1193 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/03/">March (
3)
</a></li>
1195 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/04/">April (
3)
</a></li>
1197 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/05/">May (
9)
</a></li>
1199 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/06/">June (
14)
</a></li>
1201 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/07/">July (
12)
</a></li>
1203 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/08/">August (
13)
</a></li>
1205 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/09/">September (
7)
</a></li>
1207 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/10/">October (
9)
</a></li>
1209 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/11/">November (
13)
</a></li>
1211 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/12/">December (
12)
</a></li>
1218 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/01/">January (
8)
</a></li>
1220 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/02/">February (
8)
</a></li>
1222 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/03/">March (
12)
</a></li>
1224 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/04/">April (
10)
</a></li>
1226 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/05/">May (
9)
</a></li>
1228 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/06/">June (
3)
</a></li>
1230 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/07/">July (
4)
</a></li>
1232 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/08/">August (
3)
</a></li>
1234 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/09/">September (
1)
</a></li>
1236 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/10/">October (
2)
</a></li>
1238 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/11/">November (
3)
</a></li>
1240 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/12/">December (
3)
</a></li>
1247 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/11/">November (
5)
</a></li>
1249 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/12/">December (
7)
</a></li>
1260 <li><a href=
"http://www.hungry.com/~pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
1262 <li><a href=
"http://www.hungry.com/~pere/blog/tags/amiga">amiga (
1)
</a></li>
1264 <li><a href=
"http://www.hungry.com/~pere/blog/tags/aros">aros (
1)
</a></li>
1266 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bankid">bankid (
4)
</a></li>
1268 <li><a href=
"http://www.hungry.com/~pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
1270 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bitcoin">bitcoin (
13)
</a></li>
1272 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
1274 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bsa">bsa (
2)
</a></li>
1276 <li><a href=
"http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (
3)
</a></li>
1278 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian">debian (
207)
</a></li>
1280 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (
159)
</a></li>
1282 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
1284 <li><a href=
"http://www.hungry.com/~pere/blog/tags/digistan">digistan (
11)
</a></li>
1286 <li><a href=
"http://www.hungry.com/~pere/blog/tags/dld">dld (
18)
</a></li>
1288 <li><a href=
"http://www.hungry.com/~pere/blog/tags/docbook">docbook (
33)
</a></li>
1290 <li><a href=
"http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
1292 <li><a href=
"http://www.hungry.com/~pere/blog/tags/english">english (
469)
</a></li>
1294 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
1296 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fildeling">fildeling (
14)
</a></li>
1298 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freeculture">freeculture (
34)
</a></li>
1300 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freedombox">freedombox (
9)
</a></li>
1302 <li><a href=
"http://www.hungry.com/~pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
1304 <li><a href=
"http://www.hungry.com/~pere/blog/tags/h264">h264 (
20)
</a></li>
1306 <li><a href=
"http://www.hungry.com/~pere/blog/tags/intervju">intervju (
43)
</a></li>
1308 <li><a href=
"http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (
20)
</a></li>
1310 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kart">kart (
23)
</a></li>
1312 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kodi">kodi (
6)
</a></li>
1314 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ldap">ldap (
9)
</a></li>
1316 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lego">lego (
5)
</a></li>
1318 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lenker">lenker (
8)
</a></li>
1320 <li><a href=
"http://www.hungry.com/~pere/blog/tags/linuxcnc">linuxcnc (
8)
</a></li>
1322 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
1324 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1326 <li><a href=
"http://www.hungry.com/~pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
1328 <li><a href=
"http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1330 <li><a href=
"http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (
47)
</a></li>
1332 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (
15)
</a></li>
1334 <li><a href=
"http://www.hungry.com/~pere/blog/tags/noark5">noark5 (
26)
</a></li>
1336 <li><a href=
"http://www.hungry.com/~pere/blog/tags/norsk">norsk (
326)
</a></li>
1338 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nuug">nuug (
200)
</a></li>
1340 <li><a href=
"http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (
42)
</a></li>
1342 <li><a href=
"http://www.hungry.com/~pere/blog/tags/open311">open311 (
2)
</a></li>
1344 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
1346 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opphavsrett">opphavsrett (
76)
</a></li>
1348 <li><a href=
"http://www.hungry.com/~pere/blog/tags/personvern">personvern (
114)
</a></li>
1350 <li><a href=
"http://www.hungry.com/~pere/blog/tags/raid">raid (
4)
</a></li>
1352 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reactos">reactos (
1)
</a></li>
1354 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reprap">reprap (
11)
</a></li>
1356 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rfid">rfid (
3)
</a></li>
1358 <li><a href=
"http://www.hungry.com/~pere/blog/tags/robot">robot (
17)
</a></li>
1360 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rss">rss (
1)
</a></li>
1362 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ruter">ruter (
7)
</a></li>
1364 <li><a href=
"http://www.hungry.com/~pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1366 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sikkerhet">sikkerhet (
60)
</a></li>
1368 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1370 <li><a href=
"http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1372 <li><a href=
"http://www.hungry.com/~pere/blog/tags/standard">standard (
78)
</a></li>
1374 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
1376 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stortinget">stortinget (
14)
</a></li>
1378 <li><a href=
"http://www.hungry.com/~pere/blog/tags/surveillance">surveillance (
65)
</a></li>
1380 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
1382 <li><a href=
"http://www.hungry.com/~pere/blog/tags/usenix">usenix (
2)
</a></li>
1384 <li><a href=
"http://www.hungry.com/~pere/blog/tags/valg">valg (
9)
</a></li>
1386 <li><a href=
"http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (
22)
</a></li>
1388 <li><a href=
"http://www.hungry.com/~pere/blog/tags/video">video (
81)
</a></li>
1390 <li><a href=
"http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1392 <li><a href=
"http://www.hungry.com/~pere/blog/tags/web">web (
42)
</a></li>
1398 <p style=
"text-align: right">
1399 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>