1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: 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" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from November
2013.
</h3>
26 <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>
32 <p>Continuing my research into mesh networking, I was recommended to
33 use TP-Link
3040 and
3600 access points as mesh nodes, and the pair I
34 bought arrived on Friday. Here are my notes on how to set up the
35 MR3040 as a mesh node using
36 <a href=
"http://www.openwrt.org/">OpenWrt
</a>.
</p>
38 <p>I started by following the instructions on the OpenWRT wiki for
39 <a href=
"http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040
</a>,
41 <a href=
"http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
42 recommended firmware image
</a>
43 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
44 uploaded it into the original web interface. The flashing went fine,
45 and the machine was available via telnet on the ethernet port. After
46 logging in and setting the root password, ssh was available and I
47 could start to set it up as a batman-adv mesh node.
</p>
49 <p>I started off by reading the instructions from
50 <a href=
"http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
51 Africa
</a>, which had quite a lot of useful information, but
52 eventually I followed the recipe from the Open Mesh wiki for
53 <a href=
"http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
54 batman-adv on OpenWrt
</a>. A small snag was the fact that the
55 <tt>opkg install kmod-batman-adv
</tt> command did not work as it
56 should. The batman-adv kernel module would fail to load because its
57 dependency crc16 was not already loaded. I
58 <a href=
"https://dev.openwrt.org/ticket/14452">reported the bug
</a> to
59 the openwrt project and hope it will be fixed soon. But the problem
60 only seem to affect initial testing of batman-adv, as configuration
61 seem to work when booting from scratch.
</p>
63 <p>The setup is done using files in /etc/config/. I did not bridge
64 the Ethernet and mesh interfaces this time, to be able to hook up the
65 box on my local network and log into it for configuration updates.
66 The following files were changed and look like this after modifying
69 <p><tt>/etc/config/network
</tt></p>
73 config interface 'loopback'
76 option ipaddr '
127.0.0.1'
77 option netmask '
255.0.0.0'
79 config globals 'globals'
80 option ula_prefix 'fdbf:
4c12:
3fed::/
48'
82 config interface 'lan'
86 option ipaddr '
192.168.1.1'
87 option netmask '
255.255.255.0'
88 option hostname 'tl-mr3040'
91 config interface 'mesh'
92 option ifname 'adhoc0'
98 <p><tt>/etc/config/wireless
</tt></p>
101 config wifi-device 'radio0'
102 option type 'mac80211'
105 option path 'platform/ar933x_wmac'
107 list ht_capab 'SHORT-GI-
20'
108 list ht_capab 'SHORT-GI-
40'
109 list ht_capab 'RX-STBC1'
110 list ht_capab 'DSSS_CCK-
40'
113 config wifi-iface 'wmesh'
114 option device 'radio0'
115 option ifname 'adhoc0'
116 option network 'mesh'
117 option encryption 'none'
119 option bssid '
02:BA:
00:
00:
00:
01'
120 option ssid 'meshfx@hackeriet'
122 <p><tt>/etc/config/batman-adv
</tt></p>
126 option interfaces 'adhoc0'
127 option 'aggregated_ogms'
128 option 'ap_isolation'
130 option 'fragmentation'
131 option 'gw_bandwidth'
133 option 'gw_sel_class'
135 option 'orig_interval'
137 option 'bridge_loop_avoidance'
138 option 'distributed_arp_table'
139 option 'network_coding'
142 # yet another batX instance
143 # config 'mesh' 'bat5'
144 # option 'interfaces' 'second_mesh'
147 <p>The mesh node is now operational. I have yet to test its range,
148 but I hope it is good. I have not yet tested the TP-Link
3600 box
149 still wrapped up in plastic.
</p>
155 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>.
160 <div class=
"padding"></div>
164 <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>
170 <p>If one of the points of switching to a new init system in Debian is
171 <a href=
"http://thomas.goirand.fr/blog/?p=147">to get rid of huge
172 init.d scripts
</a>, I doubt we need to switch away from sysvinit and
173 init.d scripts at all. Here is an example init.d script, ie a rewrite
174 of /etc/init.d/rsyslog:
</p>
177 #!/lib/init/init-d-script
180 # Required-Start: $remote_fs $time
181 # Required-Stop: umountnfs $time
182 # X-Stop-After: sendsigs
183 # Default-Start:
2 3 4 5
184 # Default-Stop:
0 1 6
185 # Short-Description: enhanced syslogd
186 # Description: Rsyslog is an enhanced multi-threaded syslogd.
187 # It is quite compatible to stock sysklogd and can be
188 # used as a drop-in replacement.
190 DESC="enhanced syslogd"
191 DAEMON=/usr/sbin/rsyslogd
194 <p>Pretty minimalistic to me... For the record, the original sysv-rc
195 script was
137 lines, and the above is just
15 lines, most of it meta
198 <p>How to do this, you ask? Well, one create a new script
199 /lib/init/init-d-script looking something like this:
204 # Define LSB log_* functions.
205 # Depend on lsb-base (
>=
3.2-
14) to ensure that this file is present
206 # and status_of_proc is working.
207 . /lib/lsb/init-functions
210 # Function that starts the daemon/service
216 #
0 if daemon has been started
217 #
1 if daemon was already running
218 #
2 if daemon could not be started
219 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test
> /dev/null \
221 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
224 # Add code here, if necessary, that waits for the process to be ready
225 # to handle requests from services started subsequently which depend
226 # on this one. As a last resort, sleep for some time.
230 # Function that stops the daemon/service
235 #
0 if daemon has been stopped
236 #
1 if daemon was already stopped
237 #
2 if daemon could not be stopped
238 # other if a failure occurred
239 start-stop-daemon --stop --quiet --retry=TERM/
30/KILL/
5 --pidfile $PIDFILE --name $NAME
241 [ "$RETVAL" =
2 ] && return
2
242 # Wait for children to finish too if this is a daemon that forks
243 # and if the daemon is only ever run from this initscript.
244 # If the above conditions are not satisfied then add some other code
245 # that waits for the process to drop all resources that could be
246 # needed by services started subsequently. A last resort is to
247 # sleep for some time.
248 start-stop-daemon --stop --quiet --oknodo --retry=
0/
30/KILL/
5 --exec $DAEMON
249 [ "$?" =
2 ] && return
2
250 # Many daemons don't delete their pidfiles when they exit.
256 # Function that sends a SIGHUP to the daemon/service
260 # If the daemon can reload its configuration without
261 # restarting (for example, when it is sent a SIGHUP),
262 # then implement that here.
264 start-stop-daemon --stop --signal
1 --quiet --pidfile $PIDFILE --name $NAME
269 scriptbasename="$(basename $
1)"
270 echo "SN: $scriptbasename"
271 if [ "$scriptbasename" != "init-d-library" ] ; then
279 NAME=$(basename $DAEMON)
280 PIDFILE=/var/run/$NAME.pid
282 # Exit if the package is not installed
283 #[ -x "$DAEMON" ] || exit
0
285 # Read configuration variable file if it is present
286 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
288 # Load the VERBOSE setting and other rcS variables
293 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
296 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
297 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
301 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
304 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
305 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
309 status_of_proc "$DAEMON" "$NAME" && exit
0 || exit $?
311 #reload|force-reload)
313 # If do_reload() is not implemented then leave this commented out
314 # and leave 'force-reload' as an alias for 'restart'.
316 #log_daemon_msg "Reloading $DESC" "$NAME"
320 restart|force-reload)
322 # If the "reload" option is implemented then remove the
323 # 'force-reload' alias
325 log_daemon_msg "Restarting $DESC" "$NAME"
332 1) log_end_msg
1 ;; # Old process is still running
333 *) log_end_msg
1 ;; # Failed to start
343 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
>&
2
351 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
352 lot. I did not really polish the approach, so it might not always
353 work out of the box, but you get the idea. I did not try very hard to
354 optimize it nor make it more robust either.
</p>
356 <p>A better argument for switching init system in Debian than reducing
357 the size of init scripts (which is a good thing to do anyway), is to
358 get boot system that is able to handle the kernel events sensibly and
359 robustly, and do not depend on the boot to run sequentially. The boot
360 and the kernel have not behaved sequentially in years.
</p>
366 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>.
371 <div class=
"padding"></div>
375 <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>
381 <p><a href=
"http://www.spice-space.org/">The SPICE protocol
</a> for
382 remote display access is the preferred solution with oVirt and RedHat
383 Enterprise Virtualization, and I was sad to discover the other day
384 that the browser plugin needed to use these systems seamlessly was
385 missing in Debian. The
<a href=
"http://bugs.debian.org/668284">request
386 for a package
</a> was from
2012-
04-
10 with no progress since
387 2013-
04-
01, so I decided to wrap up a package based on the great work
388 from Cajus Pollmeier and put it in a collab-maint maintained git
389 repository to get a package I could use. I would very much like
390 others to help me maintain the package (or just take over, I do not
391 mind), but as no-one had volunteered so far, I just uploaded it to
392 NEW. I hope it will be available in Debian in a few days.
</p>
394 <p>The source is now available from
395 <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>
401 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>.
406 <div class=
"padding"></div>
408 <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>
419 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
421 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
423 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
425 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
427 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
429 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
431 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
433 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
435 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
437 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
439 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
3)
</a></li>
446 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
448 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
450 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
452 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
454 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
456 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
458 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
460 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
462 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
464 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
466 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
468 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
475 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
477 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
479 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
481 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
483 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
485 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
487 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
489 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
491 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
493 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
495 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
497 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
504 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
506 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
508 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
510 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
512 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
514 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
516 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
518 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
520 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
522 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
524 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
526 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
533 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
535 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
537 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
549 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
551 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
553 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
562 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
564 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
575 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
579 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
581 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
7)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
13)
</a></li>
587 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
589 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
90)
</a></li>
591 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
142)
</a></li>
593 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
595 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
10)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
599 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
226)
</a></li>
601 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
603 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
605 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
12)
</a></li>
607 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
5)
</a></li>
609 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li>
611 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
37)
</a></li>
613 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
7)
</a></li>
615 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
18)
</a></li>
617 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
619 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li>
621 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
623 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
4)
</a></li>
625 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li>
627 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
236)
</a></li>
629 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
157)
</a></li>
631 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
8)
</a></li>
633 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
635 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
45)
</a></li>
637 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
67)
</a></li>
639 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
641 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
643 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
645 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
8)
</a></li>
647 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
649 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
651 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
653 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
32)
</a></li>
655 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
657 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
659 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
43)
</a></li>
661 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
663 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
9)
</a></li>
665 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
20)
</a></li>
667 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
669 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
671 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
39)
</a></li>
673 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
675 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
28)
</a></li>
681 <p style=
"text-align: right">
682 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>