X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/83cd4147bf08092a5456cd8223b55cfc95a91ba4..299715d4b98ae402eb5fcaab36c2969398b78e5b:/blog/archive/2013/11/index.html diff --git a/blog/archive/2013/11/index.html b/blog/archive/2013/11/index.html index 63ce9b6322..ae2f227d20 100644 --- a/blog/archive/2013/11/index.html +++ b/blog/archive/2013/11/index.html @@ -21,6 +21,716 @@

Entries from November 2013.

+
+
+ Dugnadsnett for alle, a wireless community network in Oslo, take shape +
+
+ 30th November 2013 +
+
+

If you want the ability to electronically communicate directly with +your neighbors and friends using a network controlled by your peers in +stead of centrally controlled by a few corporations, or would like to +experiment with interesting network technology, the +Dugnasnett for alle i Oslo +might be project for you. 39 mesh nodes are currently being planned, +in the freshly started initiative from NUUG and Hackeriet to create a +wireless community network. The work is inspired by +Freifunk, +Athens Wireless Metropolitan +Network, Roofnet +and other successful mesh networks around the globe. Two days ago we +held a workshop to try to get people started on setting up their own +mesh node, and there we decided to create a new mailing list +dugnadsnett +(at) nuug.no and IRC channel +#dugnadsnett.no to +coordinate the work. See also the NUUG blog post +announcing +the mailing list and IRC channel.

+ +
+
+ + + Tags: english, mesh network, nuug. + + +
+
+
+ +
+
+ Hvor godt fungerer Linux-klienter mot MS Exchange? +
+
+ 26th November 2013 +
+
+

Jeg +skrev +i juni om protestene på planene til min arbeidsplass, +Universitetet i Oslo, om å gå bort fra +fri programvare- og åpne standardløsninger for å håndtere epost, +vekk fra IETF-standarden SIEVE for filtrering av epost og over til +godseide spesifikasjoner og epostsystemet Microsoft Exchange. +Protestene har fått litt ny omtale i media de siste dagene, i tillegg +til de oppslagene som kom i mai.

+ + + +

Prosjektledelsen har fortalt at dette skal fungere like godt for +Linux-brukere som for brukere av Microsoft Windows og Apple MacOSX, +men jeg lurer på hva slags erfaringer Linux-brukere i eksisterende +miljøer som bruker MS Exchange har gjort. Hvis du har slik erfaring +hadet det vært veldig fint om du kan send et leserbrev til +Uniforum og fortelle om hvor +greit det er å bruke Exchange i kryss-platform-miljøer? De jeg har +snakket med sier en greit får lest e-posten sin hvis Exchange har +slått på IMAP-funksjonalitet, men at kalender og møtebooking ikke +fungerer godt for Linux-klienter. Jeg har ingen personlig erfaring å +komme med, så jeg er nysgjerrig på hva andre kan dele av erfaringer +med universitetet.

+ +

Mitt ankerpunkt mot å bytte ut fri programvare som fungerer godt +med godseid programvare er at en mister kontroll over egen +infrastruktur, låser seg inn i en løsning det vil bli dyrt å komme ut +av, uten at en får funksjonalitet en ikke kunne skaffet seg med fri +programvare, eventuelt videreutviklet med de pengene som brukes på +overgangen til MS Exchange. Personlig planlegger jeg å fortsette å +laste ned all eposten min til lokal maskin for indeksering og lesing +med notmuch, så jeg håper jeg +ikke blir veldig skadelidende av overgangen.

+ +

Underskriftslista +for oss som er mot endringen, som omtales i artiklene, er fortsatt +åpen for de som vil signere på oppropet. Akkurat nå er det 298 +personer som har signert.

+ +
+
+ + + Tags: norsk, standard. + + +
+
+
+ +
+
+ New chrpath release 0.15 +
+
+ 24th November 2013 +
+
+

After many years break from the package and a vain hope that +development would be continued by someone else, I finally pulled my +acts together this morning and wrapped up a new release of chrpath, +the command line tool to modify the rpath and runpath of already +compiled ELF programs. The update was triggered by the persistence of +Isha Vishnoi at IBM, which needed a new config.guess file to get +support for the ppc64le architecture (powerpc 64-bit Little Endian) he +is working on. I checked the +Debian, +Ubuntu and +Fedora +packages for interesting patches (failed to find the source from +OpenSUSE and Mandriva packages), and found quite a few nice fixes. +These are the release notes:

+ +

New in 0.15 released 2013-11-24:

+ + + +

You can +download the +new version 0.15 from alioth. Please let us know via the Alioth +project if something is wrong with the new release. The test suite +did not discover any old errors, so if you find a new one, please also +include a testsuite check.

+ +
+
+ + + Tags: chrpath, debian, english. + + +
+
+
+ +
+
+ RSS-kilde for fritekstsøk i offentlige anbud hos Doffin +
+
+ 22nd November 2013 +
+
+

I fjor sommer lagde jeg en +offentlig +tilgjengelig SQL-database over offentlig anbud basert på skraping +av HTML-data fra Doffin. Den har stått og gått siden da, og har nå +ca. 28000 oppføringer. Jeg oppdaget da jeg tittet innom at noen +oppføringer var ikke blitt med, antagelig på grunn av at de fikk +tildelt sekvensnummer i Doffin en godt stund før de ble publisert, +slik at min nettsideskraper som fortsatte skrapingen der den slapp +sist ikke fikk dem med seg. Jeg har fikset litt slik at skraperen nå +ser litt tilbake i tid for å se om den har gått glipp av noen +oppføringer, og har skrapet på nytt fra midten av september 2013 og +fremover. Det bør dermed bli en mer komplett database for kommende +måneder. Hvis jeg får tid skal jeg forsøke å skrape "glemte" data fra +før midten av september 2013, men tør ikke garantere at det blir +prioritert med det første.

+ +

Men målet med denne bloggposten er å vise hvordan denne +Doffin-databasen kan brukes og integreres med en RSS-leser, slik at en +kan la datamaskinen holde et øye med Doffin-annonseringer etter +nøkkelord. En kan lage sitt eget søk ved å besøke +API-et +hos Scraperwiki, velge format rss2 og så legge inn noe ala dette i +"query in SQL":

+ +

+select title, scrapedurl as link, abstract as description,
+       publishdate as pubDate from 'swdata'
+   where abstract like '%linux%' or title like '%linux%'
+   order by seq desc limit 20
+

+ +

Dette vil søke opp alle anbud med ordet linux i oppsummering eller +tittel. En kan lage mer avanserte søk hvis en ønsker det. URL-en som +dukker opp nederst på siden kan en så gi til sin RSS-leser (jeg bruker +akregator selv), og så automatisk få beskjed hvis det dukker opp anbud +med det aktuelle nøkkelordet i teksten. Merk at kapasiteten og +ytelsen hos Scraperwiki er begrenset, så ikke be RSS-leseren hente ned +oftere enn en gang hver dag.

+ +

Du lurer kanskje på hva slags informasjon en kan få ut fra denne +databasen. Her er to RSS-kilder, med søkeordet +"linux", +søkeordet +"fri +programvare" +og søkeordet +"odf". +Det er bare å søke på det en er interessert i. Kopier gjerne +datasettet og sett opp din egen tjeneste hvis du vil gjøre mer +avanserte søk. SQLite-filen med Doffin-oppføringer kan lastes med fra +Scraperwiki for de som vil grave dypere.

+ +
+
+ + + Tags: norsk, nuug, offentlig innsyn. + + +
+
+
+ +
+
+ All drones should be radio marked with what they do and who they belong to +
+
+ 21st November 2013 +
+
+

Drones, flying robots, are getting more and more popular. The most +know ones are the killer drones used by some government to murder +people they do not like without giving them the chance of a fair +trial, but the technology have many good uses too, from mapping and +forest maintenance to photography and search and rescue. I am sure it +is just a question of time before "bad drones" are in the hands of +private enterprises and not only state criminals but petty criminals +too. The drone technology is very useful and very dangerous. To have +some control over the use of drones, I agree with Daniel Suarez in his +TED talk +"The kill +decision shouldn't belong to a robot", where he suggested this +little gem to keep the good while limiting the bad use of drones:

+ +
+ +

Each robot and drone should have a cryptographically signed +I.D. burned in at the factory that can be used to track its movement +through public spaces. We have license plates on cars, tail numbers on +aircraft. This is no different. And every citizen should be able to +download an app that shows the population of drones and autonomous +vehicles moving through public spaces around them, both right now and +historically. And civic leaders should deploy sensors and civic drones +to detect rogue drones, and instead of sending killer drones of their +own up to shoot them down, they should notify humans to their +presence. And in certain very high-security areas, perhaps civic +drones would snare them and drag them off to a bomb disposal facility.

+ +

But notice, this is more an immune system than a weapons system. It +would allow us to avail ourselves of the use of autonomous vehicles +and drones while still preserving our open, civil society.

+ +
+ +

The key is that every citizen should be able to read the +radio beacons sent from the drones in the area, to be able to check +both the government and others use of drones. For such control to be +effective, everyone must be able to do it. What should such beacon +contain? At least formal owner, purpose, contact information and GPS +location. Probably also the origin and target position of the current +flight. And perhaps some registration number to be able to look up +the drone in a central database tracking their movement. Robots +should not have privacy. It is people who need privacy.

+ +
+
+ + + Tags: english, robot, sikkerhet, surveillance. + + +
+
+
+ +
+
+ Lets make a wireless community network in Oslo! +
+
+ 13th November 2013 +
+
+

Today NUUG and Hackeriet announced +our +plans to join forces and create a wireless community network in +Oslo. The workshop to help people get started will take place +Thursday 2013-11-28, but we already are collecting the geolocation of +people joining forces to make this happen. We have +9 +locations plotted on the map, but we will need more before we have +a connected mesh spread across Oslo. If this sound interesting to +you, please join us at the workshop. If you are too impatient to wait +15 days, please join us on the IRC channel +#nuug on irc.freenode.net +right away. :)

+ +
+
+ + + Tags: english, mesh network, nuug. + + +
+
+
+ +
+
+ Running TP-Link MR3040 as a batman-adv mesh node using openwrt +
+
+ 10th November 2013 +
+
+

Continuing my research into mesh networking, I was recommended to +use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I +bought arrived on Friday. Here are my notes on how to set up the +MR3040 as a mesh node using +OpenWrt.

+ +

I started by following the instructions on the OpenWRT wiki for +TL-MR3040, +and downloaded +the +recommended firmware image +(openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and +uploaded it into the original web interface. The flashing went fine, +and the machine was available via telnet on the ethernet port. After +logging in and setting the root password, ssh was available and I +could start to set it up as a batman-adv mesh node.

+ +

I started off by reading the instructions from +Wireless +Africa, which had quite a lot of useful information, but +eventually I followed the recipe from the Open Mesh wiki for +using +batman-adv on OpenWrt. A small snag was the fact that the +opkg install kmod-batman-adv command did not work as it +should. The batman-adv kernel module would fail to load because its +dependency crc16 was not already loaded. I +reported the bug to +the openwrt project and hope it will be fixed soon. But the problem +only seem to affect initial testing of batman-adv, as configuration +seem to work when booting from scratch.

+ +

The setup is done using files in /etc/config/. I did not bridge +the Ethernet and mesh interfaces this time, to be able to hook up the +box on my local network and log into it for configuration updates. +The following files were changed and look like this after modifying +them:

+ +

/etc/config/network

+ +
+
+config interface 'loopback'
+        option ifname 'lo'
+        option proto 'static'
+        option ipaddr '127.0.0.1'
+        option netmask '255.0.0.0'
+
+config globals 'globals'
+        option ula_prefix 'fdbf:4c12:3fed::/48'
+
+config interface 'lan'
+        option ifname 'eth0'
+        option type 'bridge'
+        option proto 'dhcp'
+        option ipaddr '192.168.1.1'
+        option netmask '255.255.255.0'
+        option hostname 'tl-mr3040'
+        option ip6assign '60'
+
+config interface 'mesh'
+        option ifname 'adhoc0'
+        option mtu '1528'
+        option proto 'batadv'
+        option mesh 'bat0'
+
+ +

/etc/config/wireless

+
+
+config wifi-device 'radio0'
+        option type 'mac80211'
+        option channel '11'
+        option hwmode '11ng'
+        option path 'platform/ar933x_wmac'
+        option htmode 'HT20'
+        list ht_capab 'SHORT-GI-20'
+        list ht_capab 'SHORT-GI-40'
+        list ht_capab 'RX-STBC1'
+        list ht_capab 'DSSS_CCK-40'
+        option disabled '0'
+
+config wifi-iface 'wmesh'
+        option device 'radio0'
+        option ifname 'adhoc0'
+        option network 'mesh'
+        option encryption 'none'
+        option mode 'adhoc'
+        option bssid '02:BA:00:00:00:01'
+        option ssid 'meshfx@hackeriet'
+
+

/etc/config/batman-adv

+
+
+config 'mesh' 'bat0'
+        option interfaces 'adhoc0'
+        option 'aggregated_ogms'
+        option 'ap_isolation'
+        option 'bonding'
+        option 'fragmentation'
+        option 'gw_bandwidth'
+        option 'gw_mode'
+        option 'gw_sel_class'
+        option 'log_level'
+        option 'orig_interval'
+        option 'vis_mode'
+        option 'bridge_loop_avoidance'
+        option 'distributed_arp_table'
+        option 'network_coding'
+        option 'hop_penalty'
+
+# yet another batX instance
+# config 'mesh' 'bat5'
+#       option 'interfaces' 'second_mesh'
+
+ +

The mesh node is now operational. I have yet to test its range, +but I hope it is good. I have not yet tested the TP-Link 3600 box +still wrapped up in plastic.

+ +
+
+ + + Tags: english, mesh network, nuug. + + +
+
+
+ +
+
+ Debian init.d boot script example for rsyslog +
+
+ 2nd November 2013 +
+
+

If one of the points of switching to a new init system in Debian is +to get rid of huge +init.d scripts, I doubt we need to switch away from sysvinit and +init.d scripts at all. Here is an example init.d script, ie a rewrite +of /etc/init.d/rsyslog:

+ +

+#!/lib/init/init-d-script
+### BEGIN INIT INFO
+# Provides:          rsyslog
+# Required-Start:    $remote_fs $time
+# Required-Stop:     umountnfs $time
+# X-Stop-After:      sendsigs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: enhanced syslogd
+# Description:       Rsyslog is an enhanced multi-threaded syslogd.
+#                    It is quite compatible to stock sysklogd and can be 
+#                    used as a drop-in replacement.
+### END INIT INFO
+DESC="enhanced syslogd"
+DAEMON=/usr/sbin/rsyslogd
+

+ +

Pretty minimalistic to me... For the record, the original sysv-rc +script was 137 lines, and the above is just 15 lines, most of it meta +info/comments.

+ +

How to do this, you ask? Well, one create a new script +/lib/init/init-d-script looking something like this: + +

+#!/bin/sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+		$DAEMON_ARGS \
+		|| return 2
+	# Add code here, if necessary, that waits for the process to be ready
+	# to handle requests from services started subsequently which depend
+	# on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+	# Wait for children to finish too if this is a daemon that forks
+	# and if the daemon is only ever run from this initscript.
+	# If the above conditions are not satisfied then add some other code
+	# that waits for the process to drop all resources that could be
+	# needed by services started subsequently.  A last resort is to
+	# sleep for some time.
+	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+	[ "$?" = 2 ] && return 2
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+	#
+	# If the daemon can reload its configuration without
+	# restarting (for example, when it is sent a SIGHUP),
+	# then implement that here.
+	#
+	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+	return 0
+}
+
+SCRIPTNAME=$1
+scriptbasename="$(basename $1)"
+echo "SN: $scriptbasename"
+if [ "$scriptbasename" != "init-d-library" ] ; then
+    script="$1"
+    shift
+    . $script
+else
+    exit 0
+fi
+
+NAME=$(basename $DAEMON)
+PIDFILE=/var/run/$NAME.pid
+
+# Exit if the package is not installed
+#[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+case "$1" in
+  start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+	do_start
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+	;;
+  #reload|force-reload)
+	#
+	# If do_reload() is not implemented then leave this commented out
+	# and leave 'force-reload' as an alias for 'restart'.
+	#
+	#log_daemon_msg "Reloading $DESC" "$NAME"
+	#do_reload
+	#log_end_msg $?
+	#;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
+

+ +

It is based on /etc/init.d/skeleton, and could be improved quite a +lot. I did not really polish the approach, so it might not always +work out of the box, but you get the idea. I did not try very hard to +optimize it nor make it more robust either.

+ +

A better argument for switching init system in Debian than reducing +the size of init scripts (which is a good thing to do anyway), is to +get boot system that is able to handle the kernel events sensibly and +robustly, and do not depend on the boot to run sequentially. The boot +and the kernel have not behaved sequentially in years.

+ +
+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+
Browser plugin for SPICE (spice-xpi) uploaded to Debian @@ -64,6 +774,17 @@ NEW. I hope it will be available in Debian in a few days.

Archive