Ein Weblog konstanter Unwägbarkeiten
Der Aufschrei "Ja sind denn jetzt alle verrückt?" ist die vielleicht häufigste Reaktion auf medial vermittelte Inhalte. Die Frage bleibt selbstverständlich rhetorisch, da man darauf unter keinen Umständen mit "Nein" antworten kann.
Hier können Sie lesen, warum das so ist.
Aaron dead. World wanderers, we have lost a wise elder. Hackers for right, we are one down. Parents all, we have lost a child. Let us weep.
Tim Berners-Lee
Fidel B. ist zwanzig
Das ging schnell. Die Gala war gut. Auch besucht. Es wurden alkoholische Getränke verkostet. Ich hatte zwischendurch eine Limo. War nicht so gut. Ja, ich bereue alles.
Unser kleiner Beitrag ist mit Wohlwollen aufgenommen worden und zum Teil auch mit einer Mobiltelefonkamera.
Sie sind nur alt.
Das Line Up für die große Fidel Bastro Geburtstagsgala steht.
Auch wenn der lieben Sun Dra bei Pop Frontal ein kleiner Fehler unterlaufen ist. Es spielen nicht Superpunk sondern die Top Old Boys. Ein Klassentreffen der 'Hamburger Sonderschule'; sehr schön.
Venus Vegas haben sich Fabio von den Lessappeals ausgeliehen.
Bernd und Franco organisieren noch ein komplettes Buffet für die Bands:
zwei Tüten Haribo Colorado und Salzstangen (alt)
Wer am 10.11. in der Nähe von Hamburg oder dortselbst weilt und gerne mal das Haus rockt, sollte sich die Show nicht entgehen lassen.
Wird gut.
After Mr. K's call to arms the Dishwashing Institute of Technology Headquarters decided to take action.
It is time for another fundamental reshapement of minds to adjust to a new quality of what we call 'the shittiness of future'
a spokesman of DIT stated.
Yes, it 's true:
Venus Vegas has left the orbit!
They already walk among us.
So if you want to get down to the Future Rock Sound, get prepared and enter Kampnagel in Hamburg on the 10th of November.
Don 't boss back, Beethoven roll over"
und viel (Spenden)Segen!
10 Jahre Debianforum.
Herzlichen Glückwunsch an den stolzen Papa Feltel.
Und hier noch ein paar Http Status Cats für die kleine leela.
Setting up a subnet of Linux Containers on a Xen DomU
This short tutorial covers the setup of a bunch of Linux Containers on a "cloudy" virtual server using the relatively new macvlan bridge.
Disclaimer: I am not that kind of networking expert you should trust. The following code examples are to be taken with a grain of salt (i.e think about what they are> doing to your computer). Don 't copy and paste unless you know what you are doing!
So you 've got that cool cloudy Xen Box, which can be almost instantly upgraded to more power if the need arises. And you want it to be even more flexible to meet your changing needs.
Here is what I did on a freshly installed Debian Squeeze.
Get the right tools:
aptitude install lxc
That one was easy. Now check if your kernel supports all the features we need:
lxc-checkconfig
If the output of that program shows you something like this:
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: missing
your a lucky man/woman.
Well, lucky in the sense that you can probably use your existing config. But anyway you 've got to grab the kernel sources from your favourite location and roll your own.
man lxc
gives you some hints about the specific configuration options. Ah, and be sure your hosting provider let 's you use your own kernels and gives you practical configuration advices. Otherwise .. change!
The reason you will have to build your own kernel (unless you read this article at a time where at least 2.6.39 is released) is that in the implementation of the networking core the mtu checking for TSO enabled devices has to be disabled for a macvlan bridge working on another virtual device. So you have to apply the patch from http://article.gmane.org/gmane.linux.network/190843/match= to your kernel sources. Else the outgoing traffic from your macvlan devices will be totally scrambled, resulting in a big bunch of rx errors.
My specific Xen Box has one (of course virtual) ethernet interface "eth0" with a static IP assigned to it.
ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:xxx errors:0 dropped:0 overruns:0 frame:0
TX packets:xxx errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:xxx (some KiB) TX bytes:xxx (some KiB)
eth0 Link encap:Ethernet HWaddr 00:16:00:00:00:42
inet addr:my.first.ip.0 Bcast:my.first.ip.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:xxx errors:0 dropped:0 overruns:0 frame:0
TX packets:xxx errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:xxx (some MiB) TX bytes:xxx (some MiB)
Interrupt:241
I ordered a second IP which, according to my hosting provider, can only be set up as an alias to eth0.
eth0:1 Link encap:Ethernet HWaddr 00:16:00:00:00:42
inet addr:my.second.ip.112 Bcast:my.second.ip.255 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:241
(In fact it is also possible to bind the second outgoing IP to a macvlan interface, which can be set up in "private" mode since there is no need for it to join the subnet(s) itself.)
I am going to assign to virtual lan devices with dedicated Hardware addresses (Macvlan) to each of the two outgoing devices. I want the whole subnet that is build on top of these devices to be able to comunicate to each other, so I will use the bridged mode of macvlan. The tools you need for that purpose come with the iproute2 package. In Debian it is called "iproute". The "2" is missing. Maybe it 's because there is only one package of that name. Make sure you grab the most possible recent version of that package. Cos we 're using real fresh technology. I for once use the version coming with Squeeze.
Let 's exercise:
ip link add link eth0 name macv0 address 00:13:00:e6:00:90 type macvlan mode bridge
That creates the virtual device "macv0" (You can name it in another fashion as it suits your taste) with a merely fictional Hardware address. You can choose any address you like as long as it meets the standard and doesn 't interfere with the other Hardware addresses in your network.
ip link set macv0 up
Activates our newly created device.
ip address add 192.168.111.10/24 broadcast 192.168.111.255 dev macv0
This command assigns the private class c address "192.168.111.10" with the appropriate broadcast address to our device.
Let 's have a look:
ip -s -s link show macv0
should give us something like this:
27: macv0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:13:00:e6:00:90 brd ff:ff:ff:ff:ff:ff
macvlan mode bridge
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
What else?
ip address show macv0
27: macv0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:13:00:e6:00:90 brd ff:ff:ff:ff:ff:ff
inet 192.168.111.10/24 brd 192.168.111.255 scope global macv0
inet6 fe80::213:some:thing:d590/64 scope link
valid_lft forever preferred_lft forever
Looks good so far. Now we create the second device "macv1" and assign it to eth0:1. (It will appear as an assignee to eth0 though)
ip link add link eth0:1 name macv1 address 00:13:00:e6:00:91 type macvlan mode bridge
ip link set macv1 up
ip address add 192.168.111.20/24 broadcast 192.168.111.255 dev macv1
Now your network devices are setup there are only a few configuration steps left to connect your network to the world.
You 've got to enable forwarding in your running kernel.
echo 1 > /proc/sys/net/ipv4/ip_forwarding
should work for now. You will also need some network address translation for the guests to connect to the internet.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
works for testing purposes.
For lxc to work you have to do some more steps.
Add the following line to your /etc/fstab file:
cgroup /sys/fs/cgroup cgroup defaults 0 0
and mount the cgroup:
mount cgroup
Now let 's create a first container. Touch and edit the file /etc/lxc/mactest1.conf
lxc.utsname = mactest1
lxc.network.type = macvlan
lxc.network.macvlan.mode = bridge
lxc.network.flags = up
lxc.network.link = macv0
lxc.network.name =eth1
lxc.network.hwaddr = 4a:00:43:00:79:0e
lxc.network.ipv4 = 192.168.111.11/24
Create a debian (lenny) container
lxc-create -f /etc/lxc/mactest1.conf -n mactest1 -t debian
The automation of the involved scripts is good but not good enough. The template for the debian container creates a network device "eth0" configured for dhcp requests. Since that is not what we want, let 's change the configuration:
editor /var/lib/lxc/mactest1/rootfs/etc/network/interfaces
Delete or comment the eth0 stuff and add
auto eth1
iface eth1 inet static
address 192.168.111.11
netmask 255.255.255.0
network 192.168.111.0
broadcast 192.168.111.255
gateway 192.168.111.10
To start and play whith your newly created toy it is a good idea to start a screen session. So if you don 't already have it, get it.
aptitude install screen
Start a session
screen
and in that session type
lxc-start -n mactest1
if all went well you should be greeted by a login screen. Go and enter the system as root with the password "root", which is cool for typing but not overly secure I guess.
Since we installed our system with the unmodified debian template, there is no ping command available. Our first test of network connectivity is therefore:
apt-get update && apt-get install iputils-ping
If all went well, we are ready to set up a whole network of containers and play around with some configuration options. Please make sure that all virtual devices you create have a unique hardware address.
Further Reading:
http://rhonda.deb.at/blog/2011/03/23#lxc-and-nat-on-notebook
http://blog.ikibiki.org/2011/04/05/Running_X_from_LXC/
http://patchwork.ozlabs.org/patch/86815/ (contains reasoning about the pros and cons of macvlan)
http://www.mail-archive.com/lxc-users@lists.sourceforge.net/
** Update: Fixed Typo
Eine Entwicklungsumgebung für Common Lisp unter Debian (Squeeze) einrichten
Zacharias Beane hat kürzlich quicklisp veröffentlicht. Ein neuer Ansatz zur Lösung eines alten Problems.
Common Lisp Software liegt verteilt auf Servern in aller Welt in unterschiedlichen Versionskontrollsystemen (VCS) herum.
Das Debian Team, welches sich der Paketierung von Common Lisp Software widmet, ist zwar fein aber klein, wird vom RL genötigt sich mit seltsamen Betätigungen die Miete zu erwirtschaften und regelmäßig von Bussen überfahren.
Der bislang verwendete Common Lisp Controller (CLC) steht mehr und mehr auf dem Abstellgleis.
So etwas wie CPAN für Perl ist bislang nur Wunschdenken ... gewesen?
Schauen wir uns Quicklisp doch einfach mal im Einsatz an.
Voraussetzungen:
Aktuelles Debian System (Squeeze)
Etwas Neugierde und/oder Spieltrieb
Als erstes brauchen wir eine Common Lisp Implementation. Es gibt mehrere. Wir nehmen Steel Bank Common Lisp (SBCL). Das ist eine gute Wahl.
# aptitude install sbcl
(Anmerkung: Codeblöcke in diesem Text, die mit einem Schweinegatter # beginnen sollen zeigen, dass der Befehl mit Rootrechten auszuführen ist.)
Quicklisp ist (noch) nicht für Debian paketiert. Daher holen wir es uns aus dem Netz.
# aptitude install wget
und dann
wget http://beta.quicklisp.org/quicklisp.lisp
Bevor wir die heruntergeladene Installerdatei verwenden können, müssen wir dem Common Lisp Controller noch ein wenig hilfreich unter die Arme greifen, damit unser /home/$user als Lagerstätte für Lisp Programme erkannt wird.
# editor /etc/common-lisp/source-registry.conf.d/02-common-lisp-controller-userdir.conf
Den Inhalt der Datei verändern wir von
(:directory (:home #p".clc/systems/"))
zu
;;(:directory (:home #p".clc/systems/"))
(:directory (:HOME ".clc/systems/"))
Damit haben wir den ursprünglichen Eintrag kommentiert und SBCL kennt unsere Benutzerheimat.
Anmerkung für Nutzer von unstable (sid): Hier existiert noch eine weitere Datei "common-lisp-controller-userdir.conf" ohne das vorangestellte "02-". Auch diese muss in gleicher Weise bearbeitet werden.
Jetzt lernen wir den Read Eval Print Loop (REPL) von SBCL kennen, indem wir die heruntergeladene Datei laden.
sbcl --load quicklisp.lisp
Die Ausgabe am Prompt sollte so aussehen:
niels@testing:~$ sbcl --load quicklisp.lisp
This is SBCL 1.0.40.0.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
==== quicklisp quickstart loaded ====
To continue, evaluate: (quicklisp-quickstart:install)
*
mit einem Cursor hinter dem Sternchen.
Freundlicherweise weist uns das Programm darauf hin, was wir als nächstes tun sollen. Allerdings wollen wir den voreingestellten Pfad der Quicklisp Installation "~/quicklisp" verändern und das Verzeichnis verstecken. Daher geben wir folgendes am Prompt ein und bestätigen mit "Enter"
* (quicklisp-quickstart:install :path ".quicklisp/")
Die Informationen im REPL sind hoffentlich selbsterklärend.
Da wir Quicklisp nicht nur testen, sondern auch verwenden wollen gehen wir auf den Vorschlag ein, es standardmäßig zu laden, sobald wir sbcl aufrufen.
* (ql:add-to-init-file)
Quicklisp teilt uns mit, dass es unsere Userkonfiguration von sbcl ergänzen wird und fordert uns auf dies mit "Enter" zu bestätigen.
Schauen wir uns noch ein wenig um. Da wir eine Entwicklungsumgebung haben wollen suchen wir nach dem Emacs Mode "Slime".
* (ql:system-apropos "slime")
; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2010-12-07/systems. txt">
; 69.36KB
==================================================
71,028 bytes in 0.12 seconds (603.16KB/sec)
; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2010-12-07/releases .txt">
; 102.33KB
==================================================
104,791 bytes in 0.18 seconds (578.16KB/sec)
#<SYSTEM arnesi.slime-extras / arnesi-20101006-darcs / quicklisp 2010-12-07>
#<SYSTEM quicklisp-slime-helper / quicklisp-slime-helper-20101107-git / quickl isp 2010-12-07>
NIL
Quicklisp ein eigenes Helferskript an Bord, um Slime aufzusetzen.
* (ql:quickload "quicklisp-slime-helper")
Nach einigen Meldungen zum Download und zur Kompilation der benötigten Pakete meldet uns Quicklisp, dass es uns eine Konfigurationserweitung für Emacs geschrieben hat, die wir in unsere Benutzerkonfiguration eintragen können.
slime-helper.el installed in "/home/niels/.quicklisp/slime-helper.el"
To use, add this to your ~/.emacs:
(load (expand-file-name "~/.quicklisp/slime-helper.el"))
Wohlan! Tun wir wie uns geheissen.
Zunächst verlassen wir den REPL von SBCL.
* (sb-ext:quit)
Damit landen wir wieder auf der Konsole. Falls Emacs bereits installiert ist, können wir die Konfigurationsdatei sofort bearbeiten. Falls nicht holen wir uns den Editor aus den Debian Repos.
aptitude install emacs
oder
aptitude install emacs23-nox
für die Graphik-Schwaben.
editor .emacs
In diese Datei schreiben wir folgende Einträge:
(setq inferior-lisp-program "sbcl")
(load (expand-file-name "~/.quicklisp/slime-helper.el")
Die erste Zeile sorgt dafür, dass Emacs SBCL als das zu benutzende Lisp erkennt und nicht vergeblich versucht den Slime-Mode in seinem hausinternen Lisp zu laden.
Emacs ist ein Programm, dass nicht gestartet sondern abgefeuert wird. Das tun wir jetzt.
emacs
Als nächstes laden wir den Slime-Mode, indem wir der Tastenkombination [Alt]+[x] die Eingabe "slime" und ein beherztes "Enter" folgen lassen. Nach einigen Meldungen landen wir (hoffentlich) im REPL von Slime.
; SLIME 2010-12-02
CL-USER>
Wo ein Cursor auf unsere wohldurchdachten Anweisungseingaben wartet.
; SLIME 2010-12-02
CL-USER> (apropos 'quicklisp)
Den Slime-Mode beendet man durch die Abkürzung "," gefolgt von einem "quit".
Hack, and be merry!
Yeah
Conrad Barskis Land of Lisp ist erschienen.
Als Entschädigung für die leichte Verzögerung gibt es als Sahnehäubchen einen Song plus Video.
Dead Sexy:
http://www.youtube.com/watch?v=HM1Zb3xmvMc
via xach
Louis Armstrong in Wuppertal
Das ist ja mal eine nette Überraschung.
Zum Tag der offenen Tür (oder wie das heutzutage heißt) haben mich einige weniger orientierungslose Zeitgenossen mitgenommen, Geschichten einzusammeln. Zu diesem Behufe nahmen wir eine alte, rot angelaufene Kirchenbank, zwei Videokameras, eine Fotokamera, ein Tonaufnahmegerät zuzüglich puscheligst verhülltem Mikro, ein Stativ, diverses Transportwerkzeug und einiges an Keksen und Kaffee mit auf die Reise. Ach ja, einen Saxophon inklusive Bedienungspersonal haben wir ebenfalls eingepackt. Wer heutzutage ausgeht sollte tunlichst sicherstellen, dass er einen Saxophonisten dabei hat. Kann man immer gebrauchen.
Vier Orte hatten wir uns im Vorfeld für unsere Aktion ausgesucht und auch brav nacheinander abgearbeitet. Unsere Bank stand
vor und in der Stadthalle
im Foyer der Stadtsparkasse
in einer bekannten Shopping Mall
vor dem Rathaus
Hat trotz des widrigen Wetters Spaß gemacht, und wir konnten auch einige Passanten dazu bewegen ihre kleinen Geschichten über Wuppertal zu erzählen.
Dabei sind wir auf ein richtiges Kleinod gestossen. Der Wuppertaler Harold Schmidt erzählte uns seine Geschichte, wie er 1952 im legendären Thalia den noch viel legendärererern Louis Armstrong nicht nur gesehen, sondern zudem auch fotografiert hat; nicht nur auf der Bühne sondern auch in seiner Garderobe. Er hat uns das nicht nur erzählt, sondern uns seine Bilder auch zur Verfügung gestellt. Dies sind nicht nur Fotos von Louis Armstrong 1952 in Wuppertal sondern die einzigen Fotos von Louis Armstrong 1952 in Wuppertal. Cool.
Wer mal reinschauen will:
http://bergischlan.de "Harold Schmidt" anklicken.
IN POLEN SINKEN DIE PEGEL
KOCH GEHT IN DIE WIRTSCHAFT
HELLS ANGELS UND BANDIDOS BIETEN GEMEINSAME HÄKELKURSE AN
Sowas passiert, wenn Röhren Kommunizieren.
This blog is powered by ikiwiki.