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/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>
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
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>
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>
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>
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>
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>.
85 <div class="padding
"></div>
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>
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>
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>.
118 <div class="padding
"></div>
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>
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>
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>,
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>
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>
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
165 <p><tt>/etc/config/network</tt></p>
169 config interface 'loopback'
171 option proto 'static'
172 option ipaddr '127.0.0.1'
173 option netmask '255.0.0.0'
175 config globals 'globals'
176 option ula_prefix 'fdbf:4c12:3fed::/48'
178 config interface 'lan'
182 option ipaddr '192.168.1.1'
183 option netmask '255.255.255.0'
184 option hostname 'tl-mr3040'
185 option ip6assign '60'
187 config interface 'mesh'
188 option ifname 'adhoc0'
190 option proto 'batadv'
194 <p><tt>/etc/config/wireless</tt></p>
197 config wifi-device 'radio0'
198 option type 'mac80211'
201 option path 'platform/ar933x_wmac'
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'
209 config wifi-iface 'wmesh'
210 option device 'radio0'
211 option ifname 'adhoc0'
212 option network 'mesh'
213 option encryption 'none'
215 option bssid '02:BA:00:00:00:01'
216 option ssid 'meshfx@hackeriet'
218 <p><tt>/etc/config/batman-adv</tt></p>
222 option interfaces 'adhoc0'
223 option 'aggregated_ogms'
224 option 'ap_isolation'
226 option 'fragmentation'
227 option 'gw_bandwidth'
229 option 'gw_sel_class'
231 option 'orig_interval'
233 option 'bridge_loop_avoidance'
234 option 'distributed_arp_table'
235 option 'network_coding'
238 # yet another batX instance
239 # config 'mesh' 'bat5'
240 # option 'interfaces' 'second_mesh'
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>
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>.
256 <div class="padding
"></div>
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>
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>
273 #!/lib/init/init-d-script
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.
286 DESC="enhanced syslogd"
287 DAEMON=/usr/sbin/rsyslogd
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
294 <p>How to do this, you ask? Well, one create a new script
295 /lib/init/init-d-script looking something like this:
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
306 # Function that starts the daemon/service
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 \
317 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
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.
326 # Function that stops the daemon/service
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
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.
352 # Function that sends a SIGHUP to the daemon/service
356 # If the daemon can reload its configuration without
357 # restarting (for example, when it is sent a SIGHUP),
358 # then implement that here.
360 start-stop-daemon --stop --signal
1 --quiet --pidfile $PIDFILE --name $NAME
365 scriptbasename="$(basename $
1)"
366 echo "SN: $scriptbasename"
367 if [ "$scriptbasename" != "init-d-library" ] ; then
375 NAME=$(basename $DAEMON)
376 PIDFILE=/var/run/$NAME.pid
378 # Exit if the package is not installed
379 #[ -x "$DAEMON" ] || exit
0
381 # Read configuration variable file if it is present
382 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
384 # Load the VERBOSE setting and other rcS variables
389 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
392 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
393 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
397 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
400 0|
1) [ "$VERBOSE" != no ] && log_end_msg
0 ;;
401 2) [ "$VERBOSE" != no ] && log_end_msg
1 ;;
405 status_of_proc "$DAEMON" "$NAME" && exit
0 || exit $?
407 #reload|force-reload)
409 # If do_reload() is not implemented then leave this commented out
410 # and leave 'force-reload' as an alias for 'restart'.
412 #log_daemon_msg "Reloading $DESC" "$NAME"
416 restart|force-reload)
418 # If the "reload" option is implemented then remove the
419 # 'force-reload' alias
421 log_daemon_msg "Restarting $DESC" "$NAME"
428 1) log_end_msg
1 ;; # Old process is still running
429 *) log_end_msg
1 ;; # Failed to start
439 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
>&
2
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>
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>
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>.
467 <div class=
"padding"></div>
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>
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>
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>
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>.
502 <div class=
"padding"></div>
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>
515 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
517 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
519 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
521 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
523 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
525 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
527 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
529 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
531 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
533 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
535 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
5)
</a></li>
542 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
544 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
546 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
548 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
550 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
552 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
554 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
556 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
558 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
560 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
562 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
564 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
571 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
573 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
575 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
579 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
581 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
587 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
589 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
591 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
593 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
600 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
602 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
604 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
606 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
608 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
610 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
612 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
616 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
618 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
620 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
622 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
629 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
631 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
633 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
635 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
637 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
639 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
641 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
643 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
645 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
647 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
649 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
651 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
671 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
673 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
675 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
677 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
679 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
7)
</a></li>
681 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
13)
</a></li>
683 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
685 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
90)
</a></li>
687 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
142)
</a></li>
689 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
691 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
10)
</a></li>
693 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
695 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
228)
</a></li>
697 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
699 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
701 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
12)
</a></li>
703 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
5)
</a></li>
705 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li>
707 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
37)
</a></li>
709 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
7)
</a></li>
711 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
18)
</a></li>
713 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
715 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li>
717 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
719 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
5)
</a></li>
721 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li>
723 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
236)
</a></li>
725 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
158)
</a></li>
727 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
8)
</a></li>
729 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
731 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
45)
</a></li>
733 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
67)
</a></li>
735 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
737 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
739 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
741 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
9)
</a></li>
743 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
745 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
747 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
749 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
33)
</a></li>
751 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
753 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
755 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
43)
</a></li>
757 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
759 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
9)
</a></li>
761 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
21)
</a></li>
763 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
765 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li>
767 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
39)
</a></li>
769 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
771 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
28)
</a></li>
777 <p style=
"text-align: right">
778 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>