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/Lets_make_a_wireless_community_network_in_Oslo_.html">Lets make a wireless community network in Oslo!
</a>
32 <p>Today NUUG and Hackeriet announced
33 <a href=
"http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml">our
34 plans to join forces and create a wireless community network in
35 Oslo
</a>. The workshop to help people get started will take place
36 Thursday
2013-
11-
28, but we already are collecting the geolocation of
37 people joining forces to make this happen. We have
38 <a href=
"https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson">9
39 locations plotted on the map
</a>, but we will need more before we have
40 a connected mesh spread across Oslo. If this sound interesting to
41 you, please join us at the workshop. If you are too impatient to wait
42 15 days, please join us on the IRC channel
43 <a href=
"irc://irc.freenode.net/%23nuug">#nuug on irc.freenode.net
</a>
50 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>.
55 <div class=
"padding"></div>
59 <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>
65 <p>Continuing my research into mesh networking, I was recommended to
66 use TP-Link
3040 and
3600 access points as mesh nodes, and the pair I
67 bought arrived on Friday. Here are my notes on how to set up the
68 MR3040 as a mesh node using
69 <a href=
"http://www.openwrt.org/">OpenWrt
</a>.
</p>
71 <p>I started by following the instructions on the OpenWRT wiki for
72 <a href=
"http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040
</a>,
74 <a href=
"http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
75 recommended firmware image
</a>
76 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
77 uploaded it into the original web interface. The flashing went fine,
78 and the machine was available via telnet on the ethernet port. After
79 logging in and setting the root password, ssh was available and I
80 could start to set it up as a batman-adv mesh node.
</p>
82 <p>I started off by reading the instructions from
83 <a href=
"http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
84 Africa
</a>, which had quite a lot of useful information, but
85 eventually I followed the recipe from the Open Mesh wiki for
86 <a href=
"http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
87 batman-adv on OpenWrt
</a>. A small snag was the fact that the
88 <tt>opkg install kmod-batman-adv
</tt> command did not work as it
89 should. The batman-adv kernel module would fail to load because its
90 dependency crc16 was not already loaded. I
91 <a href=
"https://dev.openwrt.org/ticket/14452">reported the bug
</a> to
92 the openwrt project and hope it will be fixed soon. But the problem
93 only seem to affect initial testing of batman-adv, as configuration
94 seem to work when booting from scratch.
</p>
96 <p>The setup is done using files in /etc/config/. I did not bridge
97 the Ethernet and mesh interfaces this time, to be able to hook up the
98 box on my local network and log into it for configuration updates.
99 The following files were changed and look like this after modifying
102 <p><tt>/etc/config/network
</tt></p>
106 config interface 'loopback'
108 option proto 'static'
109 option ipaddr '
127.0.0.1'
110 option netmask '
255.0.0.0'
112 config globals 'globals'
113 option ula_prefix 'fdbf:
4c12:
3fed::/
48'
115 config interface 'lan'
119 option ipaddr '
192.168.1.1'
120 option netmask '
255.255.255.0'
121 option hostname 'tl-mr3040'
122 option ip6assign '
60'
124 config interface 'mesh'
125 option ifname 'adhoc0'
127 option proto 'batadv'
131 <p><tt>/etc/config/wireless
</tt></p>
134 config wifi-device 'radio0'
135 option type 'mac80211'
138 option path 'platform/ar933x_wmac'
140 list ht_capab 'SHORT-GI-
20'
141 list ht_capab 'SHORT-GI-
40'
142 list ht_capab 'RX-STBC1'
143 list ht_capab 'DSSS_CCK-
40'
146 config wifi-iface 'wmesh'
147 option device 'radio0'
148 option ifname 'adhoc0'
149 option network 'mesh'
150 option encryption 'none'
152 option bssid '
02:BA:
00:
00:
00:
01'
153 option ssid 'meshfx@hackeriet'
155 <p><tt>/etc/config/batman-adv
</tt></p>
159 option interfaces 'adhoc0'
160 option 'aggregated_ogms'
161 option 'ap_isolation'
163 option 'fragmentation'
164 option 'gw_bandwidth'
166 option 'gw_sel_class'
168 option 'orig_interval'
170 option 'bridge_loop_avoidance'
171 option 'distributed_arp_table'
172 option 'network_coding'
175 # yet another batX instance
176 # config 'mesh' 'bat5'
177 # option 'interfaces' 'second_mesh'
180 <p>The mesh node is now operational. I have yet to test its range,
181 but I hope it is good. I have not yet tested the TP-Link
3600 box
182 still wrapped up in plastic.
</p>
188 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>.
193 <div class=
"padding"></div>
197 <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>
203 <p>If one of the points of switching to a new init system in Debian is
204 <a href=
"http://thomas.goirand.fr/blog/?p=147">to get rid of huge
205 init.d scripts
</a>, I doubt we need to switch away from sysvinit and
206 init.d scripts at all. Here is an example init.d script, ie a rewrite
207 of /etc/init.d/rsyslog:
</p>
210 #!/lib/init/init-d-script
213 # Required-Start: $remote_fs $time
214 # Required-Stop: umountnfs $time
215 # X-Stop-After: sendsigs
216 # Default-Start:
2 3 4 5
217 # Default-Stop:
0 1 6
218 # Short-Description: enhanced syslogd
219 # Description: Rsyslog is an enhanced multi-threaded syslogd.
220 # It is quite compatible to stock sysklogd and can be
221 # used as a drop-in replacement.
223 DESC="enhanced syslogd"
224 DAEMON=/usr/sbin/rsyslogd
227 <p>Pretty minimalistic to me... For the record, the original sysv-rc
228 script was
137 lines, and the above is just
15 lines, most of it meta
231 <p>How to do this, you ask? Well, one create a new script
232 /lib/init/init-d-script looking something like this:
237 # Define LSB log_* functions.
238 # Depend on lsb-base (
>=
3.2-
14) to ensure that this file is present
239 # and status_of_proc is working.
240 . /lib/lsb/init-functions
243 # Function that starts the daemon/service
249 #
0 if daemon has been started
250 #
1 if daemon was already running
251 #
2 if daemon could not be started
252 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test
> /dev/null \
254 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
257 # Add code here, if necessary, that waits for the process to be ready
258 # to handle requests from services started subsequently which depend
259 # on this one. As a last resort, sleep for some time.
263 # Function that stops the daemon/service
268 #
0 if daemon has been stopped
269 #
1 if daemon was already stopped
270 #
2 if daemon could not be stopped
271 # other if a failure occurred
272 start-stop-daemon --stop --quiet --retry=TERM/
30/KILL/
5 --pidfile $PIDFILE --name $NAME
274 [ "$RETVAL" =
2 ] && return
2
275 # Wait for children to finish too if this is a daemon that forks
276 # and if the daemon is only ever run from this initscript.
277 # If the above conditions are not satisfied then add some other code
278 # that waits for the process to drop all resources that could be
279 # needed by services started subsequently. A last resort is to
280 # sleep for some time.
281 start-stop-daemon --stop --quiet --oknodo --retry=
0/
30/KILL/
5 --exec $DAEMON
282 [ "$?" =
2 ] && return
2
283 # Many daemons don't delete their pidfiles when they exit.
289 # Function that sends a SIGHUP to the daemon/service
293 # If the daemon can reload its configuration without
294 # restarting (for example, when it is sent a SIGHUP),
295 # then implement that here.
297 start-stop-daemon --stop --signal
1 --quiet --pidfile $PIDFILE --name $NAME
302 scriptbasename="$(basename $
1)"
303 echo "SN: $scriptbasename"
304 if [ "$scriptbasename" != "init-d-library" ] ; then
312 NAME=$(basename $DAEMON)
313 PIDFILE=/var/run/$NAME.pid
315 # Exit if the package is not installed
316 #[ -x "$DAEMON" ] || exit
0
318 # Read configuration variable file if it is present
319 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
321 # Load the VERBOSE setting and other rcS variables
326 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
329 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
330 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
334 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
337 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
338 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
342 status_of_proc "$DAEMON" "$NAME" && exit
0 || exit $?
344 #reload|force-reload)
346 # If do_reload() is not implemented then leave this commented out
347 # and leave 'force-reload' as an alias for 'restart'.
349 #log_daemon_msg "Reloading $DESC" "$NAME"
353 restart|force-reload)
355 # If the "reload" option is implemented then remove the
356 # 'force-reload' alias
358 log_daemon_msg "Restarting $DESC" "$NAME"
365 1) log_end_msg
1 ;; # Old process is still running
366 *) log_end_msg
1 ;; # Failed to start
376 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
>&
2
384 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
385 lot. I did not really polish the approach, so it might not always
386 work out of the box, but you get the idea. I did not try very hard to
387 optimize it nor make it more robust either.
</p>
389 <p>A better argument for switching init system in Debian than reducing
390 the size of init scripts (which is a good thing to do anyway), is to
391 get boot system that is able to handle the kernel events sensibly and
392 robustly, and do not depend on the boot to run sequentially. The boot
393 and the kernel have not behaved sequentially in years.
</p>
399 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>.
404 <div class=
"padding"></div>
408 <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>
414 <p><a href=
"http://www.spice-space.org/">The SPICE protocol
</a> for
415 remote display access is the preferred solution with oVirt and RedHat
416 Enterprise Virtualization, and I was sad to discover the other day
417 that the browser plugin needed to use these systems seamlessly was
418 missing in Debian. The
<a href=
"http://bugs.debian.org/668284">request
419 for a package
</a> was from
2012-
04-
10 with no progress since
420 2013-
04-
01, so I decided to wrap up a package based on the great work
421 from Cajus Pollmeier and put it in a collab-maint maintained git
422 repository to get a package I could use. I would very much like
423 others to help me maintain the package (or just take over, I do not
424 mind), but as no-one had volunteered so far, I just uploaded it to
425 NEW. I hope it will be available in Debian in a few days.
</p>
427 <p>The source is now available from
428 <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>
434 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>.
439 <div class=
"padding"></div>
441 <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>
452 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
454 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
456 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
458 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
460 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
462 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
464 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
466 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
468 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
470 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
472 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
4)
</a></li>
479 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
481 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
483 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
485 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
487 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
489 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
491 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
493 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
495 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
497 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
499 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
501 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
508 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
510 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
512 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
514 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
516 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
518 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
520 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
522 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
524 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
526 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
528 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
530 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
537 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
549 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
551 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
553 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
557 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
559 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
566 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
568 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
570 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
572 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
574 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
576 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
578 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
580 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
582 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
584 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
586 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
588 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
595 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
608 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
610 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
612 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
616 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
7)
</a></li>
618 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
13)
</a></li>
620 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
622 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
90)
</a></li>
624 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
142)
</a></li>
626 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
628 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
10)
</a></li>
630 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
632 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
227)
</a></li>
634 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
636 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
638 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
12)
</a></li>
640 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
5)
</a></li>
642 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li>
644 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
37)
</a></li>
646 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
7)
</a></li>
648 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
18)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
5)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
236)
</a></li>
662 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
158)
</a></li>
664 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
8)
</a></li>
666 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
668 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
45)
</a></li>
670 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
67)
</a></li>
672 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
674 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
676 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
678 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
8)
</a></li>
680 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
682 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
684 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
686 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
32)
</a></li>
688 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
690 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
43)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
9)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
20)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
39)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
28)
</a></li>
714 <p style=
"text-align: right">
715 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>