]> 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>2024
238 <ul>
239
240 <li><a href="https://people.skolelinux.org/pere/blog/archive/2024/01/">January (1)</a></li>
241
242 <li><a href="https://people.skolelinux.org/pere/blog/archive/2024/02/">February (1)</a></li>
243
244 <li><a href="https://people.skolelinux.org/pere/blog/archive/2024/03/">March (2)</a></li>
245
246 </ul></li>
247
248 <li>2023
249 <ul>
250
251 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/01/">January (3)</a></li>
252
253 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/02/">February (1)</a></li>
254
255 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/04/">April (2)</a></li>
256
257 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/05/">May (3)</a></li>
258
259 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/06/">June (1)</a></li>
260
261 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/08/">August (1)</a></li>
262
263 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/09/">September (1)</a></li>
264
265 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/10/">October (1)</a></li>
266
267 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/11/">November (4)</a></li>
268
269 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/12/">December (1)</a></li>
270
271 </ul></li>
272
273 <li>2022
274 <ul>
275
276 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/02/">February (1)</a></li>
277
278 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/03/">March (3)</a></li>
279
280 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/04/">April (2)</a></li>
281
282 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/06/">June (2)</a></li>
283
284 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/07/">July (1)</a></li>
285
286 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/09/">September (1)</a></li>
287
288 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/10/">October (1)</a></li>
289
290 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/12/">December (1)</a></li>
291
292 </ul></li>
293
294 <li>2021
295 <ul>
296
297 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/01/">January (2)</a></li>
298
299 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/02/">February (1)</a></li>
300
301 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/05/">May (1)</a></li>
302
303 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/06/">June (1)</a></li>
304
305 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/07/">July (3)</a></li>
306
307 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/08/">August (1)</a></li>
308
309 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/09/">September (1)</a></li>
310
311 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/10/">October (1)</a></li>
312
313 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/12/">December (1)</a></li>
314
315 </ul></li>
316
317 <li>2020
318 <ul>
319
320 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
321
322 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
323
324 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
325
326 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/05/">May (3)</a></li>
327
328 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/06/">June (2)</a></li>
329
330 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/07/">July (1)</a></li>
331
332 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/09/">September (1)</a></li>
333
334 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/10/">October (1)</a></li>
335
336 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/11/">November (1)</a></li>
337
338 </ul></li>
339
340 <li>2019
341 <ul>
342
343 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
344
345 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
346
347 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
348
349 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
350
351 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
352
353 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
354
355 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
356
357 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
358
359 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
360
361 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
362
363 </ul></li>
364
365 <li>2018
366 <ul>
367
368 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
369
370 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
371
372 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
373
374 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
375
376 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
377
378 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
379
380 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
381
382 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
383
384 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
385
386 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
387
388 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
389
390 </ul></li>
391
392 <li>2017
393 <ul>
394
395 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
396
397 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
398
399 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
400
401 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
402
403 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
404
405 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
406
407 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
408
409 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
410
411 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
412
413 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
414
415 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
416
417 </ul></li>
418
419 <li>2016
420 <ul>
421
422 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
423
424 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
425
426 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
427
428 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
429
430 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
431
432 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
433
434 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
435
436 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
437
438 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
439
440 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
441
442 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
443
444 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
445
446 </ul></li>
447
448 <li>2015
449 <ul>
450
451 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
452
453 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
454
455 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
456
457 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
458
459 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
460
461 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
462
463 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
464
465 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
466
467 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
468
469 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
470
471 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
472
473 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
474
475 </ul></li>
476
477 <li>2014
478 <ul>
479
480 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
481
482 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
483
484 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
485
486 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
487
488 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
489
490 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
491
492 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
493
494 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
495
496 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
497
498 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
499
500 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
501
502 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
503
504 </ul></li>
505
506 <li>2013
507 <ul>
508
509 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
510
511 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
512
513 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
514
515 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
516
517 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
518
519 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
520
521 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
522
523 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
524
525 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
526
527 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
528
529 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
530
531 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
532
533 </ul></li>
534
535 <li>2012
536 <ul>
537
538 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
539
540 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
541
542 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
543
544 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
545
546 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
547
548 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
549
550 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
551
552 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
553
554 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
555
556 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
557
558 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
559
560 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
561
562 </ul></li>
563
564 <li>2011
565 <ul>
566
567 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
568
569 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
570
571 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
572
573 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
574
575 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
576
577 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
578
579 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
580
581 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
582
583 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
584
585 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
586
587 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
588
589 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
590
591 </ul></li>
592
593 <li>2010
594 <ul>
595
596 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
597
598 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
599
600 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
601
602 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
603
604 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
605
606 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
607
608 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
609
610 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
611
612 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
613
614 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
615
616 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
617
618 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
619
620 </ul></li>
621
622 <li>2009
623 <ul>
624
625 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
626
627 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
628
629 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
630
631 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
632
633 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
634
635 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
636
637 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
638
639 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
640
641 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
642
643 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
644
645 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
646
647 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
648
649 </ul></li>
650
651 <li>2008
652 <ul>
653
654 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
655
656 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
657
658 </ul></li>
659
660 </ul>
661
662
663
664 <h2>Tags</h2>
665 <ul>
666
667 <li><a href="https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (19)</a></li>
668
669 <li><a href="https://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
670
671 <li><a href="https://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
672
673 <li><a href="https://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
674
675 <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
676
677 <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (13)</a></li>
678
679 <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
680
681 <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
682
683 <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (3)</a></li>
684
685 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (197)</a></li>
686
687 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
688
689 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (9)</a></li>
690
691 <li><a href="https://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
692
693 <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
694
695 <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (32)</a></li>
696
697 <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
698
699 <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (458)</a></li>
700
701 <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
702
703 <li><a href="https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
704
705 <li><a href="https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
706
707 <li><a href="https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
708
709 <li><a href="https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
710
711 <li><a href="https://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
712
713 <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
714
715 <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (17)</a></li>
716
717 <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
718
719 <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (6)</a></li>
720
721 <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
722
723 <li><a href="https://people.skolelinux.org/pere/blog/tags/lego">lego (5)</a></li>
724
725 <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
726
727 <li><a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (5)</a></li>
728
729 <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
730
731 <li><a href="https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
732
733 <li><a href="https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (3)</a></li>
734
735 <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
736
737 <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (46)</a></li>
738
739 <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (15)</a></li>
740
741 <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (25)</a></li>
742
743 <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (324)</a></li>
744
745 <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (199)</a></li>
746
747 <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (41)</a></li>
748
749 <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
750
751 <li><a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (4)</a></li>
752
753 <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (76)</a></li>
754
755 <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
756
757 <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (3)</a></li>
758
759 <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
760
761 <li><a href="https://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
762
763 <li><a href="https://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
764
765 <li><a href="https://people.skolelinux.org/pere/blog/tags/robot">robot (17)</a></li>
766
767 <li><a href="https://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
768
769 <li><a href="https://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
770
771 <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
772
773 <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (60)</a></li>
774
775 <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
776
777 <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
778
779 <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (76)</a></li>
780
781 <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
782
783 <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
784
785 <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (65)</a></li>
786
787 <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
788
789 <li><a href="https://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
790
791 <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
792
793 <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (22)</a></li>
794
795 <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (80)</a></li>
796
797 <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
798
799 <li><a href="https://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
800
801 </ul>
802
803
804 </div>
805 <p style="text-align: right">
806 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
807 </p>
808
809 </body>
810 </html>