Git is a fast version control system used for several open source projects. It was originally written for the linux kernel by Linus Torvalds. I installed a git server on git.twam.info to provide access to my open-source projects. Read more…
A few weeks ago, I published my v4l2grab program to grab JPEGs from V4l2 devices.
Today I got an request by email to include support for integer conversion from YUV422 to RGB as descriped by Wikipedia. So I included it and did some style adjustments, too.
You can download it here: v4l2grab Version 0.2 Read more…
A friend of mine, wanted to use a standard USB WebCam as an IPCam. He used an old Media-Receiver Box (T-Online S100) and installed Gentoo Linux on an CF Card.
Since Kernel 2.6.27 most of the USB webcams are supported through the Linux UVC drivers, which provides an Video4Linux2 Interface to those cams. We found some programs who claimed being able to grab JPEG images from V4L2 Cams, but most of them either didn’t compile, supported only V4L Version 1 or just brought up some other errors.
So I checked up the Video for Linux Two API Specification and found there in Appendix B a small sample of howto communicate with the Cam. I adapted it to our needs and included an converter from YUV colorspace to RGB. Finally I added some code to support the export of JPEG images. Read more…
wget is THE standard Linux tool to download files via http(s) or ftp on console and of course Gentoo’s emerge is using wget as well.
But wget prefers IPv4 over IPv6, meaning if your download mirror supports IPv6, wget doesn’t use it by default. You can change this behavior by setting
prefer-family = IPv6
either in /etc/wgetrc for everybody or in $HOME/.wgetrc for a user only.
So enable it and tell portage to use an IPv6 enabled mirror, by setting GENTOO_MIRROR in /etc/make.conf. You’ll find a list of IPv6 capable mirrors on gentoo.org (look for mirrors marked with *).
Wenn man Protokolle, Mitschriebe, Skripte oder ähnliches im Internet veröffentlich will, muss man aufpassen, dass man nicht Copyright geschützes Material verwendet hat. In Versuchsprotokollen kommen aber zum Beispiel immer wieder Abbildungen aus Lehrbüchern vor.
Um meine Protokolle trotzdem veröffentlich zu können habe ich mir ein kleines Bash-Script geschrieben, welches eine Platzhaltergrafik im PostScript Format erzeugt, die sich dann leicht in LaTex oder PdfTex (via epstopdf) einbinden läßt. Rechts ist eine Beispielausgabe zu sehen, welche ich mit
mkcopyrightimg 300 200 20 "Removed due to copyright" "http://www.twam.info"
erzeugt habe. Es gilt zu beachten das die 3 Größenangaben in der Einheit Punkt (entspricht 1/72 Zoll) gemacht werden müssen und in den beiden Textstrings #,(,) und \ mit \ escaped werden müssen.
Das Skript kann unter mkcopyrightimg runtergeladen werden.
Um Websurfer auf IPv6 aufmerksam zu machen habe ich heute mein erstes WordPress Plugin geschrieben. Es zeigt Client-Informationen wie IP-Adresse, Ort, Browser und System an. Ich hab zwar ein paar wenige Plugins gefunden, die das schon machen, allerdings binden sie nur ein Bild von einem Server ein, der die ganze Ausgabe übernimmt und meist auch noch irgendwelche Powered-By Links einblendet.
Außer der reinen Darstellung der Information kann das Addon auch auf bestimmte Dinge reagieren. So kann es z.B. warnen falls der Browser nicht aktuell ist oder noch IPv4 verwendet wird. Bei was gewarnt werden soll und was überhaupt angezeigt werden soll, kann einfach im Administrationsbereich eingestellt werden.
Zur Bestimmung des Browser habe ich dazu Browscap verwendet. Die Bestimmung des Ortes aus der IP-Adresse übernimmt GeoIP.
Das Plugin läßt sich rechts oben in Aktion sehen. Es warnt im Moment bei alten Browsern. Die IPv4 Warnung ist im Moment noch deaktiviert, solange die IPv6 Anbindung des Servers noch nicht vollständig ausgetestet ist.
Google’s Websuche ist bisher via ipv6.google.com auch über IPv6 zu erreichen. Alle anderen Services haben allerdings noch keinen AAAA Eintrag im DNS.
Im Rahmen des Google over IPv6 Programms bietet Google aber größeren IPv6-Providern die Möglichkeit ihren DNS als “trusted tester” zu registrieren und dann für alle Google Services AAAA Records bereit zustellen.
SiXXs bietet nun seit gestern die Möglichkeit, dies über ihre DNS Server zu nutzen, wenn man sie aus einem SiXXs-Subnet anfragt. Das musste natürlich sofort getestet werden und siehe da:
server ~ # dig AAAA www.google.de
; <<>> DiG 9.6.0-P1 <<>> AAAA www.google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32996
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 13, ADDITIONAL: 12
;; QUESTION SECTION:
;www.google.de. IN AAAA
;; ANSWER SECTION:
www.google.de. 303016 IN CNAME www.google.com.
www.google.com. 391617 IN CNAME www.l.google.com.
www.l.google.com. 284 IN AAAA 2001:4860:a005::68
Ich bin gespannt, wann andere große Websiten nachziehen.
Firefox verwendet automatisch IPv6 Adressen wenn der Client und der Server beide IPv6 verstehen. Ob der eigene PC IPv6 versteht läßt sich relativ einfach rausfinden, doch ob die Gegenseite auch schon für die Zukunft gerüstet ist sieht man ihr nicht sofort an.
Das Firefox Addon ShowIP zeigt in der Status-Leiste des Firefox die aufgerufe IP-Adresse des Servers an und färbt sie rot falls es sich um eine IPv4 handelt und grün wenn der Server schon IPv6 versteht.

IPv6 oder IPv4?
Testen läßt sich das zum Beispiel unter ipv6.google.com oder www.six.heise.de.
Via SiXXs können auch Privatpersonen ohne natives IPv6 Internet Zugang zum “neuen” Netz erhalten. Registriert man sich auf der Seite kann ein IPv6 Tunnel unter anderem via AYIYA realisiert werden, welches sogar NAT unterstützt und somit auf fast allen PC funktionieren sollte.
Das Programm AICCU initialisiert die Tunnel und benötigt als Konfiguration lediglich SiXXs-Benutzername und Passwort sowie eine Tunnel Nummer. Das Programm gibt es als net-misc/aiccu als Ebuild für Gentoo.
Ist der Tunnel erfolgreich eingerichtet kann auch ein IPv6 Subnet beantragt werden und weitere PCs im Heimnetz ans IPv6 Netz zu bekommen. Der Gentoo-IPv6-Router-Guide erklärt wie man radvd und dhcpv6 konfiguriert.
twam’s WorldClock ist a tiny worldclock program for Windows. It’s able to display several user-configurable timezones in a small window like this:

This window is usually positioned in the upper right corner of your screen beside the minimize and maximize buttons of the underlaying applications (but you can configure the window to reside whereever you want!). If you use the “always on top” feature of worldclock, you’ll be able to see the different timezones all the time without loosing import space on your screen. Read more…
Recent Comments