]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2023/01/index.html
Generated.
[homepage.git] / blog / archive / 2023 / 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 2023</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="https://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="https://people.skolelinux.org/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="https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from January 2023.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html">Is the desktop recommending your program for opening its files?</a>
27 </div>
28 <div class="date">
29 29th January 2023
30 </div>
31 <div class="body">
32 <p>Linux desktop systems
33 <a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">have
34 standardized</a> how programs present themselves to the desktop
35 system. If a package include a .desktop file in
36 /usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
37 environments will pick up the file and use its content to generate the
38 menu of available programs in the system. A lesser known fact is that
39 a package can also explain to the desktop system how to recognize the
40 files created by the program in question, and use it to open these
41 files on request, for example via a GUI file browser.</p>
42
43 <p>A while back I ran into a package that did not tell the desktop
44 system how to recognize its files and was not used to open its files
45 in the file browser and fixed it. In the process I wrote a simple
46 debian/tests/ script to ensure the setup keep working. It might be
47 useful for other packages too, to ensure any future version of the
48 package keep handling its own files.</p>
49
50 <p>For this to work the file format need a useful MIME type that can
51 be used to identify the format. If the file format do not yet have a
52 MIME type, it should define one and preferably also
53 <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">register
54 it with IANA</a> to ensure the MIME type string is reserved.</p>
55
56 <p>The script uses the <tt>xdg-mime</tt> program from xdg-utils to
57 query the database of standardized package information and ensure it
58 return sensible values. It also need the location of an example file
59 for xdg-mime to guess the format of.</p>
60
61 <pre>
62 #!/bin/sh
63 #
64 # Author: Petter Reinholdtsen
65 # License: GPL v2 or later at your choice.
66 #
67 # Validate the MIME setup, making sure motor types have
68 # application/vnd.openmotor+yaml associated with them and is connected
69 # to the openmotor desktop file.
70
71 retval=0
72
73 mimetype="application/vnd.openmotor+yaml"
74 testfile="test/data/real/o3100/motor.ric"
75 mydesktopfile="openmotor.desktop"
76
77 filemime="$(xdg-mime query filetype "$testfile")"
78
79 if [ "$mimetype" != "$filemime" ] ; then
80 retval=1
81 echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype"
82 else
83 echo "success: xdg-mime report correct mime type $mimetype for motor file"
84 fi
85
86 desktop=$(xdg-mime query default "$mimetype")
87
88 if [ "$mydesktopfile" != "$desktop" ]; then
89 retval=1
90 echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile"
91 else
92 echo "success: xdg-mime agree motor file should be handled by $mydesktopfile"
93 fi
94
95 exit $retval
96 </pre>
97
98 <p>It is a simple way to ensure your users are not very surprised when
99 they try to open one of your file formats in their file browser.</p>
100
101 <p>As usual, if you use Bitcoin and want to show your support of my
102 activities, please send Bitcoin donations to my address
103 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
104
105 </div>
106 <div class="tags">
107
108
109 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>.
110
111
112 </div>
113 </div>
114 <div class="padding"></div>
115
116 <div class="entry">
117 <div class="title">
118 <a href="https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html">Opensnitch, the application level interactive firewall, heading into the Debian archive</a>
119 </div>
120 <div class="date">
121 22nd January 2023
122 </div>
123 <div class="body">
124 <p>While reading a
125 <a href="https://sneak.berlin/20230115/macos-scans-your-local-files-now/">blog
126 post claiming MacOS X recently started scanning local files and
127 reporting information about them to Apple</a>, even on a machine where
128 all such callback features had been disabled, I came across a
129 description of the Little Snitch application for MacOS X. It seemed
130 like a very nice tool to have in the tool box, and I decided to see if
131 something similar was available for Linux.</p>
132
133 <p>It did not take long to find
134 <a href="https://github.com/evilsocket/opensnitch">the OpenSnitch
135 package</a>, which has been in development since 2017, and now is in
136 version 1.5.0. It has had a
137 <a href="https://bugs.debian.org/909567">request for Debian
138 packaging</a> since 2018, but no-one completed the job so far. Just
139 for fun, I decided to see if I could help, and I was very happy to
140 discover that
141 <a href="https://github.com/evilsocket/opensnitch/issues/304">upstream
142 want a Debian package too</a>.</p>
143
144 <p>After struggling a bit with getting the program to run, figuring
145 out building Go programs (and a little failed detour to look at eBPF
146 builds too - help needed), I am very happy to report that I am
147 sponsoring upstream to maintain the package in Debian, and it has
148 since this morning been waiting in NEW for the ftpmasters to have a
149 look. Perhaps it can get into the archive in time for the Bookworm
150 release?</p>
151
152 <p>As usual, if you use Bitcoin and want to show your support of my
153 activities, please send Bitcoin donations to my address
154 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
155
156 </div>
157 <div class="tags">
158
159
160 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>.
161
162
163 </div>
164 </div>
165 <div class="padding"></div>
166
167 <div class="entry">
168 <div class="title">
169 <a href="https://people.skolelinux.org/pere/blog/LinuxCNC_MQTT_publisher_component.html">LinuxCNC MQTT publisher component</a>
170 </div>
171 <div class="date">
172 8th January 2023
173 </div>
174 <div class="body">
175 <p>I watched <a href="https://yewtu.be/watch?v=jmKUV3aNLjk">a 2015
176 video from Andreas Schiffler</a> the other day, where he set up
177 <a href="https://linuxcnc.org/">LinuxCNC</a> to send status
178 information to the MQTT broker IBM Bluemix. As I also use MQTT for
179 graphing, it occured to me that a generic MQTT LinuxCNC component
180 would be useful and I set out to implement it. Today I got the first
181 draft limping along and submitted as
182 <a href="https://github.com/LinuxCNC/linuxcnc/pull/2253">a patch to the
183 LinuxCNC project</a>.</p>
184
185 <p>The simple part was setting up the MQTT publishing code in Python.
186 I already have set up other parts submitting data to my Mosquito MQTT
187 broker, so I could reuse that code. Writing a LinuxCNC component in
188 Python as new to me, but using existing examples in the code
189 repository and the extensive documentation, this was fairly straight
190 forward. The hardest part was creating a automated test for the
191 component to ensure it was working. Testing it in a simulated
192 LinuxCNC machine proved very useful, as I discovered features I needed
193 that I had not thought of yet, and adjusted the code quite a bit to
194 make it easier to test without a operational MQTT broker
195 available.</p>
196
197 <p>The draft is ready and working, but I am unsure which LinuxCNC HAL
198 pins I should collect and publish by default (in other words, the
199 default set of information pieces published), and how to get the
200 machine name from the LinuxCNC INI file. The latter is a minor
201 detail, but I expect it would be useful in a setup with several
202 machines available. I am hoping for feedback from the experienced
203 LinuxCNC developers and users, to make the component even better
204 before it can go into the mainland LinuxCNC code base.</p>
205
206 <p>Since I started on the MQTT component, I came across
207 <a href="https://yewtu.be/watch?v=Bqa2grG0XtA">another video from Kent
208 VanderVelden</a> where he combine LinuxCNC with a set of screen glasses
209 controlled by a Raspberry Pi, and it occured to me that it would
210 be useful for such use cases if LinuxCNC also provided a REST API for
211 querying its status. I hope to start on such component once the MQTT
212 component is working well.</p>
213
214 <p>As usual, if you use Bitcoin and want to show your support of my
215 activities, please send Bitcoin donations to my address
216 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
217
218 </div>
219 <div class="tags">
220
221
222 Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc</a>, <a href="https://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
223
224
225 </div>
226 </div>
227 <div class="padding"></div>
228
229 <p style="text-align: right;"><a href="01.rss"><img src="https://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
230 <div id="sidebar">
231
232
233
234 <h2>Archive</h2>
235 <ul>
236
237 <li>2023
238 <ul>
239
240 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/01/">January (3)</a></li>
241
242 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/02/">February (1)</a></li>
243
244 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/04/">April (2)</a></li>
245
246 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/05/">May (3)</a></li>
247
248 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/06/">June (1)</a></li>
249
250 </ul></li>
251
252 <li>2022
253 <ul>
254
255 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/02/">February (1)</a></li>
256
257 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/03/">March (3)</a></li>
258
259 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/04/">April (2)</a></li>
260
261 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/06/">June (2)</a></li>
262
263 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/07/">July (1)</a></li>
264
265 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/09/">September (1)</a></li>
266
267 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/10/">October (1)</a></li>
268
269 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/12/">December (1)</a></li>
270
271 </ul></li>
272
273 <li>2021
274 <ul>
275
276 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/01/">January (2)</a></li>
277
278 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/02/">February (1)</a></li>
279
280 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/05/">May (1)</a></li>
281
282 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/06/">June (1)</a></li>
283
284 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/07/">July (3)</a></li>
285
286 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/08/">August (1)</a></li>
287
288 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/09/">September (1)</a></li>
289
290 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/10/">October (1)</a></li>
291
292 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/12/">December (1)</a></li>
293
294 </ul></li>
295
296 <li>2020
297 <ul>
298
299 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
300
301 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
302
303 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
304
305 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/05/">May (3)</a></li>
306
307 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/06/">June (2)</a></li>
308
309 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/07/">July (1)</a></li>
310
311 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/09/">September (1)</a></li>
312
313 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/10/">October (1)</a></li>
314
315 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/11/">November (1)</a></li>
316
317 </ul></li>
318
319 <li>2019
320 <ul>
321
322 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
323
324 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
325
326 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
327
328 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
329
330 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
331
332 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
333
334 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
335
336 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
337
338 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
339
340 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
341
342 </ul></li>
343
344 <li>2018
345 <ul>
346
347 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
348
349 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
350
351 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
352
353 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
354
355 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
356
357 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
358
359 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
360
361 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
362
363 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
364
365 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
366
367 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
368
369 </ul></li>
370
371 <li>2017
372 <ul>
373
374 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
375
376 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
377
378 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
379
380 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
381
382 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
383
384 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
385
386 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
387
388 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
389
390 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
391
392 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
393
394 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
395
396 </ul></li>
397
398 <li>2016
399 <ul>
400
401 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
402
403 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
404
405 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
406
407 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
408
409 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
410
411 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
412
413 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
414
415 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
416
417 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
418
419 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
420
421 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
422
423 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
424
425 </ul></li>
426
427 <li>2015
428 <ul>
429
430 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
431
432 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
433
434 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
435
436 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
437
438 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
439
440 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
441
442 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
443
444 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
445
446 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
447
448 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
449
450 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
451
452 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
453
454 </ul></li>
455
456 <li>2014
457 <ul>
458
459 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
460
461 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
462
463 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
464
465 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
466
467 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
468
469 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
470
471 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
472
473 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
474
475 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
476
477 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
478
479 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
480
481 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
482
483 </ul></li>
484
485 <li>2013
486 <ul>
487
488 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
489
490 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
491
492 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
493
494 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
495
496 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
497
498 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
499
500 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
501
502 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
503
504 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
505
506 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
507
508 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
509
510 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
511
512 </ul></li>
513
514 <li>2012
515 <ul>
516
517 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
518
519 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
520
521 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
522
523 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
524
525 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
526
527 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
528
529 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
530
531 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
532
533 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
534
535 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
536
537 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
538
539 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
540
541 </ul></li>
542
543 <li>2011
544 <ul>
545
546 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
547
548 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
549
550 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
551
552 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
553
554 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
555
556 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
557
558 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
559
560 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
561
562 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
563
564 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
565
566 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
567
568 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
569
570 </ul></li>
571
572 <li>2010
573 <ul>
574
575 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
576
577 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
578
579 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
580
581 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
582
583 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
584
585 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
586
587 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
588
589 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
590
591 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
592
593 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
594
595 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
596
597 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
598
599 </ul></li>
600
601 <li>2009
602 <ul>
603
604 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
605
606 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
607
608 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
609
610 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
611
612 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
613
614 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
615
616 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
617
618 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
619
620 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
621
622 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
623
624 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
625
626 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
627
628 </ul></li>
629
630 <li>2008
631 <ul>
632
633 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
634
635 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
636
637 </ul></li>
638
639 </ul>
640
641
642
643 <h2>Tags</h2>
644 <ul>
645
646 <li><a href="https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (19)</a></li>
647
648 <li><a href="https://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
649
650 <li><a href="https://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
651
652 <li><a href="https://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
653
654 <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
655
656 <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (12)</a></li>
657
658 <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
659
660 <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
661
662 <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
663
664 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (194)</a></li>
665
666 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
667
668 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (9)</a></li>
669
670 <li><a href="https://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
671
672 <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
673
674 <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (30)</a></li>
675
676 <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
677
678 <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (450)</a></li>
679
680 <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
681
682 <li><a href="https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
683
684 <li><a href="https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
685
686 <li><a href="https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
687
688 <li><a href="https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
689
690 <li><a href="https://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
691
692 <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
693
694 <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
695
696 <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
697
698 <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
699
700 <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
701
702 <li><a href="https://people.skolelinux.org/pere/blog/tags/lego">lego (5)</a></li>
703
704 <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
705
706 <li><a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (5)</a></li>
707
708 <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
709
710 <li><a href="https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
711
712 <li><a href="https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (3)</a></li>
713
714 <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
715
716 <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (45)</a></li>
717
718 <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (15)</a></li>
719
720 <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (23)</a></li>
721
722 <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (320)</a></li>
723
724 <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (198)</a></li>
725
726 <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (40)</a></li>
727
728 <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
729
730 <li><a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (4)</a></li>
731
732 <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
733
734 <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
735
736 <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
737
738 <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
739
740 <li><a href="https://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
741
742 <li><a href="https://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
743
744 <li><a href="https://people.skolelinux.org/pere/blog/tags/robot">robot (17)</a></li>
745
746 <li><a href="https://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
747
748 <li><a href="https://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
749
750 <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
751
752 <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (59)</a></li>
753
754 <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
755
756 <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
757
758 <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (74)</a></li>
759
760 <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
761
762 <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
763
764 <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (64)</a></li>
765
766 <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
767
768 <li><a href="https://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
769
770 <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
771
772 <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (20)</a></li>
773
774 <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (78)</a></li>
775
776 <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
777
778 <li><a href="https://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
779
780 </ul>
781
782
783 </div>
784 <p style="text-align: right">
785 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
786 </p>
787
788 </body>
789 </html>