Introducing Entangle: Tethered Camera Control & Capture

Inspired by Kushal Das from Planet Fedora, I packaged entangle – a nifty tool enabling tethered control of your Canon or Nikon DSLR from your Linux desktop.

It has some dependencies not yet in portage, so you need the gnome and the bangert overlay – for “easy” installation on Gentoo.

$ layman -a gnome
$ layman -a bangert
$ emerge -av entangle

Mind you, entangle-0.1.0 is its first release, but it works pretty well already. Daniel Berrangé – the principal developer behind entangle – has been very responsive in fixing a nasty segfault. Thanks.

Replacing Konqueror with rekonq

In a typical day I use multiple browsers. Konqueror, Firefox and Arora have been good companions the past few years. My main browser has usually been Konqueror, with Firefox being the one used for webdevelopment and sites which failed in Konqueror.

The recent slew of webkit browsers then added Arora to the mix, which was a really nice experience. I use it a lot on Windows too. However, the reason I like Konqueror so much, is due to the really good Desktop integration – especially the wallet has me hooked. Granted, Firefox provides a similar experience, but its slow startup times and less slick KDE integration have always put me off.

Now, rekonq is an attempt to provide a Konqueror-like, but webkit based alternative. The ambition, so it seems, is to produce a browser that is compatible with Konqueror: Among other things it will use the passwords stored in the wallet by Konqueror. That makes for a nice transition between the two browsers.

Over the past few weeks, rekonq has first replaced Arora and now even Konqueror, which I have demoted as second in line for the text/html mime-type.

If you like Konqueror I urge you to try rekonq. Its available in portage as www-client/rekonq

$ sudo emerge -pv rekonq

Rekonq’s fast paced development can be followed over at http://gitorious.org/rekonq

Teredo IPv6 in Gentoo

The world is running out of IP addresses. IPv6 to the rescue! Unfortunately most ISPs dont yet provide IPv6 connectivity. But be sure to ask your provider in order to increase awareness.

In the meantime a number of tunnelling mechanisms have been developed, among them Teredo. Miredo is a GPL implementation of Teredo and it is now available in Portage.

The advantage of Toredo is, that it also works through NAT. Windows Vista and later have Teredo support built-in.

To enable Teredo on Gentoo, simply sync portage and emerge and start miredo:

$ sudo eix-sync
$ sudo emerge -av net-misc/miredo
$ sudo /etc/init.d/miredo start

To start miredo at boot, do

$ sudo rc-update add miredo default

Now go to http://www.kame.net/ and watch the turtle dance 😉

MTKII as /dev/ttyACM0 in bt747

During summer I got interested in GPS and mapping and bought myself a mtkII based device. For these there is a java app called bt747 in the tree. However I couldn’t get it to work – bt747 would not accept the device name I tried to convince it of using.

Turns out that older devices where using a USB to serial converter to provide the USB interface: these show up as /dev/ttyUSBx – with x being an integer. The device I bought is a newer generation who appear to have an on-chip USB port, which will show up as /dev/ttyACMx (x again being an integer). So, support for ttyACMx type devices is needed in BT747. See bug #281888.

It turns out BT747, being a java app, uses rxtx to provide support for serial device communication. So lets fix rxtx – see bug #301126.

Meanwhile there is also mtkbabel in portage, which is not so picky about the device names.

Cookies for HTTPOnly

Recently I researched cookies a bit and while playing with the cookie related functions in PHP I stumbled upon the HTTPOnly flag.

The purpose of the HTTPOnly flag is to prevent cross-site scripting (XSS) attacks. The idea is, that the browser will use the HTTPOnly-flagged cookie only when doing HTTP requests. It will not, as it normally would, make this cookie available to client side scripting languages (like JavaScript).

The HTTPOnly flag has been introduced by Microsoft as part of Service Pack 1 for Internet Explorer 6, released in September of 2002.

A neat idea, as limiting the possibilities for XSS vulnerabilities can only be good. However, being an extension to the standard, this requires support in both the server and the client. Microsoft did the first step, so how do the other involved parties hold up?

PHP added support for the HTTPOnly cookie in version 5.2, released in November of 2006.

Current releases of Firefox do not support HTTPOnly cookies. Version 3, however, will support HTTPOnly cookies. And Stefan Esser, of Hardened-PHP and suhosin fame, wrote an extension for Firefox 2.0 which supports HTTPOnly cookies.

Opera will support HTTPOnly cookies in version 9.5.

I am not sure whether KHTML or WebKit support HTTPOnly cookies.

Apparently ancient browsers break when asked to process a HTTPOnly cookie. In this day and age this should not be too big a problem however.

It appears, that Microsoft, as unlikely as it may seem, had a pretty decent idea, but the open source community did not respond as one could have hoped.
Is this NIH?

Now, after the LiveJournal incident, which could have been prevented if HTTPOnly cookies were widely supported, an increased effort seems underway to finally get this implemented.

Of course, HTTPOnly cookies do not protect against all types of XSS attacks. Nevertheless, it is another layer of protection for which I am grateful. I was surprised to learn that this was introduced by Microsoft AND that the open source community hasn’t adopted this feature more widely. Microsofts positive impacts on this industry do exist afterall…