Thursday 29 January 2009

How to use VPNC

VPN connections are commonly used to connect to university or enterprise networks. This is often done with the help of the CISCO client, which is available for many operating systems, but which is not free software, of course.
In case you are using a GNU/Linux operating system (hopefully one of the free ones, like gNewSense), you might want to use the free VPNC instead of the ugly CISCO client.

The network administrator of the network you want to connect to will provide you with a configuration file filename.pcf. This file seems to be incompatible with the configuration files VPNC can read.

The Debian package (also gNewSense, Ubuntu, ...) comes with a translator called pcf2vpnc for configuration files. Unfortunately the program will be put in /usr/share/vpnc/, so you will have to give the full path probably.
Type
$ /usr/share/vpnc/pcf2vpnc file.pcf file.conf
Put file.conf in /etc/vpnc/.
Call
# vpnc file
(with or without the ".conf") and start your ssh session.

Tuesday 27 January 2009

News from the religious world II

Today: featuring Catholicism.

Pope Benedikt XVI cancels excommunication of holocaust denier Richard Williamson.

Once again you show your real face, Vatican.

Sunday 25 January 2009

Why I like Haskell

"
To compile Coq, you need:

* Objective Caml (3.07 ≤ version but 3.08.0).
For Objective Caml ≥ 3.10.0, you will need to install Camlp5 (version 4.08, or ≥ 5.01 transitional, or ≥ 5.10 if with Objective Caml ≥ 3.11.0)
"

(from the coq webpage)

Thursday 22 January 2009

News from the religious world

Today: featuring Islam.

Samir Abu Hamza, Muslim Cleric in Australia, feels the need to express himself about the treatment of women in marriage:

"You beat them... but this is the last resort".

However,

"you are not allowed to bruise them, you are not allowed to make them bleed,...".

These lucky Muslim women...

There's probably no god



BBC News
Spiegel (german magazine)

Sunday 18 January 2009

Windows 7

After laughing during one week about this comic, I would love to take a look at the real Windows 7 beta. Why is there no live CD available? (Just a joke...)

But seriously: on http://www.microsoft.com/windows/windows-7/beta-download.aspx they mention some hardware requirements which make me laugh:

  • 1 GB RAM

  • 16 GB hard drive

  • 128 MB of graphics mem for their fancy? GUI


Seems like hardware is simply TOO CHEAP nowadays...

gNewSense - das freie Ubuntu

gNewSense - das freie Ubuntu
Ein freies Ubuntu? Ist Ubuntu denn nicht schon frei?
Nein, Ubuntu [1] [http://www.ubuntu.com] ist nicht frei im Sinne der Free Software Foundation (FSF) [2] [http://www.fsf.org] (die Richtlinien, nach denen die Freiheit eines Betriebssystems von der FSF beurteilt wird, finden sich unter [3][http://www.gnu.org/philosophy/free-system-distribution-guidelines.html]). Hierzu einige Beispiele:

(1) Zwar lagert Ubuntu eifrig unfreie Software-Pakete in den Sektionen "restricted" und "multiverse" und bietet damit den Benutzern die Moeglichkeit, die Benutzung solcher Software zu vermeiden. Doch leider gelingt die Trennung nicht vollstaendig. Der von Ubuntu ausgelieferte Linux-Kernel enthaelt zum Beispiel das Modul "tg3", welches fuer die Verwendung von Netzwerkkarten der Firma Broadcom verwendet wird. Waehrend der Treiber selbst frei und unter der GPL lizenziert ist, benutzt er eine unfreie Firmware [4][http://www.broadcom.com/support/ethernet_nic/driver-sla.php?driver=570x-Linux]. Ein Auszug aus dem Quelltext:

/*
* tg3.c: Broadcom Tigon3 ethernet driver.
*
* Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@redhat.com)
* Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com)
* Copyright (C) 2004 Sun Microsystems Inc.
* Copyright (C) 2005-2007 Broadcom Corporation.
*
* Firmware is:
* Derived from proprietary unpublished source code,
* Copyright (C) 2000-2003 Broadcom Corporation.
*
* Permission is hereby granted for the distribution of this firmware
* data in hexadecimal or equivalent format, provided this copyright
* notice is accompanying it.
*/

Software, die von proprietaerem Quelltext ausgehend produziert wurde, ist nicht frei.
Der Ubuntu-Kernel wird jedoch in der Sektion "main" ausgeliefert. Ein weiteres Beispiel das Ubuntu-Paket "linux-firmware" in der Sektion "main", welches unfreie Software enthaelt (siehe hierzu die Fehlerberichte dieses Pakets auf [5][https://bugs.launchpad.net/~gnewsense]).

(2) Ubuntu erleichtert das Installieren unfreier Software, z.B. durch die Bereitstellung der Repositorien "restricted" und "multiverse" sowie durch eine graphische Oberflaeche zum Installieren proprietaerer Treiber (unter der Benutzeroberflaeche GNOME im Menu "System -> Administration").
Auch der Standard-Browser Firefox bietet die Installation unfreier Plugins an [6][http://www.gnu.org/software/gnuzilla/].
Dies sind Eigenschaften, die verhindern, dass Ubuntu frei im Sinne der FSF ist.

(3) Jahrelang ignorierten Debian und Ubuntu die Tatsache, dass X.org unfreie Software enthielt (Fehlerbericht von Debian:[7][http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=211765], Entwicklerabstimmungen bei Debian ueber den Umgang mit unfreier Software: [8][http://www.debian.org/vote/2004/vote_002], [9][http://www.debian.org/vote/2006/vote_007], Fehlerbericht von Ubuntu (importiert von Debian): [10][https://bugs.launchpad.net/debian/+bug/6765/comments/8]).
Dank einer neuen Lizenz fuer die betroffene Software ist dieses Problem mittlerweile aber behoben [11][http://www.fsf.org/news/thank-you-sgi].


Das Projekt gNewSense [12] [http://www.gnewsense.org] hat es sich zum Ziel gesetzt, Ubuntu dahingehend zu modifizieren, dass es den Kriterien eines freien Betriebssystems im Sinne der FSF entspricht. Zu diesem Zweck programmierten die Gruender Brian Brazil und Paul O'Malley den sog. "Builder", eine Reihe von Skripten, die aus Ubuntu die unfreien Elemente entfernen. Mit Hilfe des Builders kann jeder Benutzer sich seine eigene freie GNU/Linux-Distribution bauen. Ein interessanter Spezialfall allerdings ist die bereits vorbereitete Distribution gNewSense, fuer die ISO-Images bereitstehen [13][http://www.gnewsense.org/Mirrors/Mirrors]. Die aktuelle Version gNewSense 2.1 basiert auf Ubuntu 8.04.1 und bringt daher fast identisches Look and Feel, wie die Screenshots auf [14][http://wiki.gnewsense.org/Screenshots/Screenshots] zeigen. Der Live-Modus erlaubt das Testen der Hardware - nicht unwichtig, denn durch das Entfernen unfreier Treiber koennen einige Hardware-Komponenten, die unter Ubuntu unterstuetzt werden, nicht betrieben werden. Aus dem Live-Modus heraus kann die Installation auf der Festplatte gestartet werden. Anleitungen und Hilfen zu Installation und Verwaltung des Systems sind auf [15][http://wiki.gnewsense.org/] zu finden.
gNewSense ist eines der Betriebssysteme, die von der FSF als frei eingestuft und aktiv unterstuetzt werden [16][http://www.gnu.org/links/links.html#FreeGNULinuxDistributions]. Fuer das Betriebssystem stellt das GNU-Projekt eine modifizierte Version des Firefox-Browsers, genannt Icecat [6][http://www.gnu.org/software/gnuzilla/], zur Verfuegung, die sehr einfach ueber die Paketverwaltung installiert werden kann. Icecat bietet die Installation ausschliesslich freier Plugins an und wurde im Vergleich zu Firefox um einige Sicherheitsfunktionen erweitert.
Insgesamt ist gNewSense eine Distribution, die weitgehend den Komfort von Ubuntu bietet, und zugleich die Freiheit des Benutzers als oberstes Ziel hat. Dank des Live-Modus kann gNewSense ohne Risiko getestet werden.

[1] [http://www.ubuntu.com]
[2] [http://www.fsf.org]
[3][http://www.gnu.org/philosophy/free-system-distribution-guidelines.html]
[4][http://www.broadcom.com/support/ethernet_nic/driver-sla.php?driver=570x-Linux]
[5][https://bugs.launchpad.net/~gnewsense]
[6][http://www.gnu.org/software/gnuzilla/]
[7][http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=211765]
[8][http://www.debian.org/vote/2004/vote_002]
[9][http://www.debian.org/vote/2006/vote_007]
[10][https://bugs.launchpad.net/debian/+bug/6765/comments/8]
[11][http://www.fsf.org/news/thank-you-sgi]
[12] [http://www.gnewsense.org]
[13][http://www.gnewsense.org/Mirrors/Mirrors]
[14][http://wiki.gnewsense.org/Screenshots/Screenshots]
[15][http://wiki.gnewsense.org/]
[16][http://www.gnu.org/links/links.html#FreeGNULinuxDistributions]

Saturday 17 January 2009

How to really build a nice Debian kernel package in a clean way

There are a lot of manuals around. So why do I want to add another? Because I want to eliminate some not so clever hints and remarks. First and most importantly of all: there is NO step which has to be done as root in the whole kernel package building process (provided that the necessary tools are installed). I do it as me, ben.
Many of the following steps can be replaced by GUI action. There is no reason not to use the GUI, e.g. file-roller for extraction etc. I will give the commands, anyway.

Let's get started by installing some necessary tools. If you encounter other packages which are not installed on a typical Debian/Ubuntu/gNewSense system, please let me know.

ben@bearfoot:~$ sudo -s
root@bearfoot:~# apt-get install fakeroot kernel-package build-essential libncurses5-dev
root@bearfoot:~# exit

We will work in the directory ~/kernel:

ben@bearfoot:~$ mkdir kernel
ben@bearfoot:~$ cd kernel

Download the sources for a free kernel at
http://www.fsfla.org/svnwiki/selibre/linux-libre/
, e.g.:
ben@bearfoot:~$ wget -c http://www.fsfla.org/svnwiki/selibre/linux-libre/download/releases/2.6.28-libre/linux-2.6.28-libre.tar.bz2
ben@bearfoot:~$ tar -jxf linux-2.6.28-libre.tar.bz2
ben@bearfoot:~$ cd linux-2.6.28

The next step will enable you to use an existing kernel configuration as a base for your new config:
ben@bearfoot:~$ cp /boot/config-{your-latest-version} ./.config
ben@bearfoot:~$ make menuconfig
ben@bearfoot:~$ fakeroot make-kpkg clean
ben@bearfoot:~$ fakeroot make-kpkg buildpackage --initrd --append-to-version=-libre-ben --revision 20090117

The execution of the last command may take a lot of time, depending on your machine, your kernel configuration and what you do on the machine during compile time. On a Pentium 4 2.4GHz with 1.5GB RAM running gNewSense it took about... well, it is not finished yet. Will tell you next time.