]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2013/11/index.html
Generated.
[homepage.git] / blog / archive / 2013 / 11 / 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 November 2013</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="11.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from November 2013.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html">All drones should be radio marked with what they do and who they belong to</a>
27 </div>
28 <div class="date">
29 21st November 2013
30 </div>
31 <div class="body">
32 Drones, flying robots, are getting more and more popular. The most
33 know ones are the killer drones used by some government to murder
34 people they do not like without giving them the chance of a fair
35 trial, but the technology have many good uses too, from mapping and
36 forest maintenance to photography and search and rescue. I am sure it
37 is just a question of time before "bad drones" are in the hands of
38 private enterprises and not only state criminals but petty criminals
39 too. The drone technology is very useful and very dangerous. To have
40 some control over the use of drones, I agree with Daniel Suarez in his
41 TED talk
42 "<a href="http://www.ted.com/talks/daniel_suarez_the_kill_decision_shouldn_t_belong_to_a_robot.html">The
43 kill decision shouldn't belong to a robot</a>", where he suggested this
44 little gem to keep the good while limiting the bad use of drones:</p>
45
46 <blockquote>
47
48 <p>Each robot and drone should have a cryptographically signed
49 I.D. burned in at the factory that can be used to track its movement
50 through public spaces. We have license plates on cars, tail numbers on
51 aircraft. This is no different. And every citizen should be able to
52 download an app that shows the population of drones and autonomous
53 vehicles moving through public spaces around them, both right now and
54 historically. And civic leaders should deploy sensors and civic drones
55 to detect rogue drones, and instead of sending killer drones of their
56 own up to shoot them down, they should notify humans to their
57 presence. And in certain very high-security areas, perhaps civic
58 drones would snare them and drag them off to a bomb disposal facility.</p>
59
60 <p>But notice, this is more an immune system than a weapons system. It
61 would allow us to avail ourselves of the use of autonomous vehicles
62 and drones while still preserving our open, civil society.</p>
63
64 </blockquote>
65
66 <p>The key is that <em>every citizen</em> should be able to read the
67 radio beacons sent from the drones in the area, to be able to check
68 both the government and others use of drones. For such control to be
69 effective, everyone must be able to do it. What should such beacon
70 contain? At least formal owner, purpose, contact information and GPS
71 location. Probably also the origin and target position of the current
72 flight. And perhaps some registration number to be able to look up
73 the drone in a central database tracking their movement. Robots
74 should not have privacy. It is people who need privacy.</p>
75
76 </div>
77 <div class="tags">
78
79
80 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
81
82
83 </div>
84 </div>
85 <div class="padding"></div>
86
87 <div class="entry">
88 <div class="title">
89 <a href="http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html">Lets make a wireless community network in Oslo!</a>
90 </div>
91 <div class="date">
92 13th November 2013
93 </div>
94 <div class="body">
95 <p>Today NUUG and Hackeriet announced
96 <a href="http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml">our
97 plans to join forces and create a wireless community network in
98 Oslo</a>. The workshop to help people get started will take place
99 Thursday 2013-11-28, but we already are collecting the geolocation of
100 people joining forces to make this happen. We have
101 <a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson">9
102 locations plotted on the map</a>, but we will need more before we have
103 a connected mesh spread across Oslo. If this sound interesting to
104 you, please join us at the workshop. If you are too impatient to wait
105 15 days, please join us on the IRC channel
106 <a href="irc://irc.freenode.net/%23nuug">#nuug on irc.freenode.net</a>
107 right away. :)</p>
108
109 </div>
110 <div class="tags">
111
112
113 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
114
115
116 </div>
117 </div>
118 <div class="padding"></div>
119
120 <div class="entry">
121 <div class="title">
122 <a href="http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html">Running TP-Link MR3040 as a batman-adv mesh node using openwrt</a>
123 </div>
124 <div class="date">
125 10th November 2013
126 </div>
127 <div class="body">
128 <p>Continuing my research into mesh networking, I was recommended to
129 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
130 bought arrived on Friday. Here are my notes on how to set up the
131 MR3040 as a mesh node using
132 <a href="http://www.openwrt.org/">OpenWrt</a>.</p>
133
134 <p>I started by following the instructions on the OpenWRT wiki for
135 <a href="http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040</a>,
136 and downloaded
137 <a href="http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
138 recommended firmware image</a>
139 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
140 uploaded it into the original web interface. The flashing went fine,
141 and the machine was available via telnet on the ethernet port. After
142 logging in and setting the root password, ssh was available and I
143 could start to set it up as a batman-adv mesh node.</p>
144
145 <p>I started off by reading the instructions from
146 <a href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
147 Africa</a>, which had quite a lot of useful information, but
148 eventually I followed the recipe from the Open Mesh wiki for
149 <a href="http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
150 batman-adv on OpenWrt</a>. A small snag was the fact that the
151 <tt>opkg install kmod-batman-adv</tt> command did not work as it
152 should. The batman-adv kernel module would fail to load because its
153 dependency crc16 was not already loaded. I
154 <a href="https://dev.openwrt.org/ticket/14452">reported the bug</a> to
155 the openwrt project and hope it will be fixed soon. But the problem
156 only seem to affect initial testing of batman-adv, as configuration
157 seem to work when booting from scratch.</p>
158
159 <p>The setup is done using files in /etc/config/. I did not bridge
160 the Ethernet and mesh interfaces this time, to be able to hook up the
161 box on my local network and log into it for configuration updates.
162 The following files were changed and look like this after modifying
163 them:</p>
164
165 <p><tt>/etc/config/network</tt></p>
166
167 <pre>
168
169 config interface 'loopback'
170 option ifname 'lo'
171 option proto 'static'
172 option ipaddr '127.0.0.1'
173 option netmask '255.0.0.0'
174
175 config globals 'globals'
176 option ula_prefix 'fdbf:4c12:3fed::/48'
177
178 config interface 'lan'
179 option ifname 'eth0'
180 option type 'bridge'
181 option proto 'dhcp'
182 option ipaddr '192.168.1.1'
183 option netmask '255.255.255.0'
184 option hostname 'tl-mr3040'
185 option ip6assign '60'
186
187 config interface 'mesh'
188 option ifname 'adhoc0'
189 option mtu '1528'
190 option proto 'batadv'
191 option mesh 'bat0'
192 </pre>
193
194 <p><tt>/etc/config/wireless</tt></p>
195 <pre>
196
197 config wifi-device 'radio0'
198 option type 'mac80211'
199 option channel '11'
200 option hwmode '11ng'
201 option path 'platform/ar933x_wmac'
202 option htmode 'HT20'
203 list ht_capab 'SHORT-GI-20'
204 list ht_capab 'SHORT-GI-40'
205 list ht_capab 'RX-STBC1'
206 list ht_capab 'DSSS_CCK-40'
207 option disabled '0'
208
209 config wifi-iface 'wmesh'
210 option device 'radio0'
211 option ifname 'adhoc0'
212 option network 'mesh'
213 option encryption 'none'
214 option mode 'adhoc'
215 option bssid '02:BA:00:00:00:01'
216 option ssid 'meshfx@hackeriet'
217 </pre>
218 <p><tt>/etc/config/batman-adv</tt></p>
219 <pre>
220
221 config 'mesh' 'bat0'
222 option interfaces 'adhoc0'
223 option 'aggregated_ogms'
224 option 'ap_isolation'
225 option 'bonding'
226 option 'fragmentation'
227 option 'gw_bandwidth'
228 option 'gw_mode'
229 option 'gw_sel_class'
230 option 'log_level'
231 option 'orig_interval'
232 option 'vis_mode'
233 option 'bridge_loop_avoidance'
234 option 'distributed_arp_table'
235 option 'network_coding'
236 option 'hop_penalty'
237
238 # yet another batX instance
239 # config 'mesh' 'bat5'
240 # option 'interfaces' 'second_mesh'
241 </pre>
242
243 <p>The mesh node is now operational. I have yet to test its range,
244 but I hope it is good. I have not yet tested the TP-Link 3600 box
245 still wrapped up in plastic.</p>
246
247 </div>
248 <div class="tags">
249
250
251 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
252
253
254 </div>
255 </div>
256 <div class="padding"></div>
257
258 <div class="entry">
259 <div class="title">
260 <a href="http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html">Debian init.d boot script example for rsyslog</a>
261 </div>
262 <div class="date">
263 2nd November 2013
264 </div>
265 <div class="body">
266 <p>If one of the points of switching to a new init system in Debian is
267 <a href="http://thomas.goirand.fr/blog/?p=147">to get rid of huge
268 init.d scripts</a>, I doubt we need to switch away from sysvinit and
269 init.d scripts at all. Here is an example init.d script, ie a rewrite
270 of /etc/init.d/rsyslog:</p>
271
272 <p><pre>
273 #!/lib/init/init-d-script
274 ### BEGIN INIT INFO
275 # Provides: rsyslog
276 # Required-Start: $remote_fs $time
277 # Required-Stop: umountnfs $time
278 # X-Stop-After: sendsigs
279 # Default-Start: 2 3 4 5
280 # Default-Stop: 0 1 6
281 # Short-Description: enhanced syslogd
282 # Description: Rsyslog is an enhanced multi-threaded syslogd.
283 # It is quite compatible to stock sysklogd and can be
284 # used as a drop-in replacement.
285 ### END INIT INFO
286 DESC="enhanced syslogd"
287 DAEMON=/usr/sbin/rsyslogd
288 </pre></p>
289
290 <p>Pretty minimalistic to me... For the record, the original sysv-rc
291 script was 137 lines, and the above is just 15 lines, most of it meta
292 info/comments.</p>
293
294 <p>How to do this, you ask? Well, one create a new script
295 /lib/init/init-d-script looking something like this:
296
297 <p><pre>
298 #!/bin/sh
299
300 # Define LSB log_* functions.
301 # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
302 # and status_of_proc is working.
303 . /lib/lsb/init-functions
304
305 #
306 # Function that starts the daemon/service
307
308 #
309 do_start()
310 {
311 # Return
312 # 0 if daemon has been started
313 # 1 if daemon was already running
314 # 2 if daemon could not be started
315 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
316 || return 1
317 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
318 $DAEMON_ARGS \
319 || return 2
320 # Add code here, if necessary, that waits for the process to be ready
321 # to handle requests from services started subsequently which depend
322 # on this one. As a last resort, sleep for some time.
323 }
324
325 #
326 # Function that stops the daemon/service
327 #
328 do_stop()
329 {
330 # Return
331 # 0 if daemon has been stopped
332 # 1 if daemon was already stopped
333 # 2 if daemon could not be stopped
334 # other if a failure occurred
335 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
336 RETVAL="$?"
337 [ "$RETVAL" = 2 ] && return 2
338 # Wait for children to finish too if this is a daemon that forks
339 # and if the daemon is only ever run from this initscript.
340 # If the above conditions are not satisfied then add some other code
341 # that waits for the process to drop all resources that could be
342 # needed by services started subsequently. A last resort is to
343 # sleep for some time.
344 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
345 [ "$?" = 2 ] && return 2
346 # Many daemons don't delete their pidfiles when they exit.
347 rm -f $PIDFILE
348 return "$RETVAL"
349 }
350
351 #
352 # Function that sends a SIGHUP to the daemon/service
353 #
354 do_reload() {
355 #
356 # If the daemon can reload its configuration without
357 # restarting (for example, when it is sent a SIGHUP),
358 # then implement that here.
359 #
360 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
361 return 0
362 }
363
364 SCRIPTNAME=$1
365 scriptbasename="$(basename $1)"
366 echo "SN: $scriptbasename"
367 if [ "$scriptbasename" != "init-d-library" ] ; then
368 script="$1"
369 shift
370 . $script
371 else
372 exit 0
373 fi
374
375 NAME=$(basename $DAEMON)
376 PIDFILE=/var/run/$NAME.pid
377
378 # Exit if the package is not installed
379 #[ -x "$DAEMON" ] || exit 0
380
381 # Read configuration variable file if it is present
382 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
383
384 # Load the VERBOSE setting and other rcS variables
385 . /lib/init/vars.sh
386
387 case "$1" in
388 start)
389 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
390 do_start
391 case "$?" in
392 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
393 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
394 esac
395 ;;
396 stop)
397 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
398 do_stop
399 case "$?" in
400 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
401 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
402 esac
403 ;;
404 status)
405 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
406 ;;
407 #reload|force-reload)
408 #
409 # If do_reload() is not implemented then leave this commented out
410 # and leave 'force-reload' as an alias for 'restart'.
411 #
412 #log_daemon_msg "Reloading $DESC" "$NAME"
413 #do_reload
414 #log_end_msg $?
415 #;;
416 restart|force-reload)
417 #
418 # If the "reload" option is implemented then remove the
419 # 'force-reload' alias
420 #
421 log_daemon_msg "Restarting $DESC" "$NAME"
422 do_stop
423 case "$?" in
424 0|1)
425 do_start
426 case "$?" in
427 0) log_end_msg 0 ;;
428 1) log_end_msg 1 ;; # Old process is still running
429 *) log_end_msg 1 ;; # Failed to start
430 esac
431 ;;
432 *)
433 # Failed to stop
434 log_end_msg 1
435 ;;
436 esac
437 ;;
438 *)
439 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
440 exit 3
441 ;;
442 esac
443
444 :
445 </pre></p>
446
447 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
448 lot. I did not really polish the approach, so it might not always
449 work out of the box, but you get the idea. I did not try very hard to
450 optimize it nor make it more robust either.</p>
451
452 <p>A better argument for switching init system in Debian than reducing
453 the size of init scripts (which is a good thing to do anyway), is to
454 get boot system that is able to handle the kernel events sensibly and
455 robustly, and do not depend on the boot to run sequentially. The boot
456 and the kernel have not behaved sequentially in years.</p>
457
458 </div>
459 <div class="tags">
460
461
462 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
463
464
465 </div>
466 </div>
467 <div class="padding"></div>
468
469 <div class="entry">
470 <div class="title">
471 <a href="http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html">Browser plugin for SPICE (spice-xpi) uploaded to Debian</a>
472 </div>
473 <div class="date">
474 1st November 2013
475 </div>
476 <div class="body">
477 <p><a href="http://www.spice-space.org/">The SPICE protocol</a> for
478 remote display access is the preferred solution with oVirt and RedHat
479 Enterprise Virtualization, and I was sad to discover the other day
480 that the browser plugin needed to use these systems seamlessly was
481 missing in Debian. The <a href="http://bugs.debian.org/668284">request
482 for a package</a> was from 2012-04-10 with no progress since
483 2013-04-01, so I decided to wrap up a package based on the great work
484 from Cajus Pollmeier and put it in a collab-maint maintained git
485 repository to get a package I could use. I would very much like
486 others to help me maintain the package (or just take over, I do not
487 mind), but as no-one had volunteered so far, I just uploaded it to
488 NEW. I hope it will be available in Debian in a few days.</p>
489
490 <p>The source is now available from
491 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary">http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary</a>.</p>
492
493 </div>
494 <div class="tags">
495
496
497 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
498
499
500 </div>
501 </div>
502 <div class="padding"></div>
503
504 <p style="text-align: right;"><a href="11.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
505 <div id="sidebar">
506
507
508
509 <h2>Archive</h2>
510 <ul>
511
512 <li>2013
513 <ul>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
524
525 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
526
527 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
528
529 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
530
531 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
532
533 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
534
535 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (5)</a></li>
536
537 </ul></li>
538
539 <li>2012
540 <ul>
541
542 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
543
544 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
545
546 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
547
548 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
549
550 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
551
552 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
553
554 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
555
556 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
557
558 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
559
560 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
561
562 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
563
564 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
565
566 </ul></li>
567
568 <li>2011
569 <ul>
570
571 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
572
573 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
574
575 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
576
577 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
578
579 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
580
581 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
582
583 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
584
585 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
586
587 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
588
589 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
590
591 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
592
593 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
594
595 </ul></li>
596
597 <li>2010
598 <ul>
599
600 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
601
602 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
603
604 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
605
606 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
607
608 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
609
610 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
611
612 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
613
614 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
615
616 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
617
618 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
619
620 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
621
622 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
623
624 </ul></li>
625
626 <li>2009
627 <ul>
628
629 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
630
631 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
632
633 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
634
635 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
636
637 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
638
639 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
640
641 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
642
643 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
644
645 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
646
647 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
648
649 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
650
651 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
652
653 </ul></li>
654
655 <li>2008
656 <ul>
657
658 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
659
660 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
661
662 </ul></li>
663
664 </ul>
665
666
667
668 <h2>Tags</h2>
669 <ul>
670
671 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
672
673 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
674
675 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
676
677 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
678
679 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
680
681 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (13)</a></li>
682
683 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
684
685 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (90)</a></li>
686
687 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (142)</a></li>
688
689 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
690
691 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (10)</a></li>
692
693 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
694
695 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (228)</a></li>
696
697 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
698
699 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
700
701 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
702
703 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (5)</a></li>
704
705 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
706
707 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (37)</a></li>
708
709 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
710
711 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
712
713 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
714
715 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
716
717 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
718
719 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (5)</a></li>
720
721 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
722
723 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (236)</a></li>
724
725 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (158)</a></li>
726
727 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
728
729 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
730
731 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (45)</a></li>
732
733 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (67)</a></li>
734
735 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
736
737 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
738
739 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
740
741 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
742
743 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
744
745 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
746
747 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
748
749 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (33)</a></li>
750
751 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
752
753 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
754
755 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (43)</a></li>
756
757 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
758
759 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
760
761 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (21)</a></li>
762
763 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
764
765 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
766
767 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (39)</a></li>
768
769 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
770
771 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (28)</a></li>
772
773 </ul>
774
775
776 </div>
777 <p style="text-align: right">
778 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
779 </p>
780
781 </body>
782 </html>