Mir träumt, ich sein ein Elektronenpaar.

Ist Technik eine Welt für sich?

Keine Ahnung! Trotzdem gibt es eine eigene Rubrik darüber, hauptsächlich zum Thema Software.

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

Eingestellt Mi 06 Apr 2011 20:09:00 CEST Tags: Technik
Lizenz: GPL

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!

Eingestellt Fr 31 Dez 2010 19:11:14 CET Tags: Technik
Lizenz: GPL

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

Eingestellt Mi 27 Okt 2010 19:41:29 CEST Tags: Technik
Lizenz: GPL

Frage: Gibt es künstliche Intelligenz?

Antwort: Nein!

Frage: Das kam ja wie aus der Pistole geschossen. Woran erkennen Sie das?

Antwort: An den Hallo Welt Programmen.

Frage: Wie das?

Antwort: Es ist nur eine Kleinigkeit.

Frage: Ja?

Antwort: Es fehlt das Fragezeichen.

Eingestellt Mi 17 Mär 2010 11:45:52 CET Tags: Technik
Lizenz: GPL
  1. Wenn man ein Datenbankbackup einspielt, sollte man vorher sicherstellen, dass es sich wirklich um die richtige Datenbank handelt, und nicht um eine längst veraltete Version.

  2. Unbedingt die Gewohnheit beibehalten, zusätzlich zu den einzelnen Backups noch einen Dump aller Datenbanken durchzuführen.

Eingestellt So 07 Mär 2010 19:37:14 CET Tags: Technik
Lizenz: GPL

Nein, dies ist nicht der Vlaamse Blog. scnr

Mit ihren Ideen rennt die Schöne bei mir meistens offene Türen ein.

So auch diesmal. Für den Sommerurlaub ist eine zweiwöchige Flandernrundfahrt geplant.

Da muss im Vorfeld selbstverständlich etliches beschafft, geplant, geprüft und repariert werden: Fahrradtechnik, Kleidung, Gepäcktaschen, Epo, ...

Die Basis der Routenplanung ist der gute alte tote Baum. Die Vorteile liegen auf der Hand:

  1. Hohe Ausfallsicherheit

  2. Intuitive graphische Benutzerschnittstelle

  3. Akzeptable Informationsredundanz

Die elektrotechnisch gestützte Seite der Streckenplanung ist leider durch ein seltsames, vermutlich kulturell bedingtes Phänomen ins Stocken geraten, wenn nicht gar vollständig ins Wasser gefallen.

Auf der Hardwareseite wäre in meiner humpelnden Objektwelt (imho) ein Netbook die optimale Austattung. Allerdings hätte man sich dieses erst in den Warenkorb legen müssen. Ebenso einen Freerunner.

Da die mir bekannte Inkarnation des geocachenden Teils der Bevölkerung uns ein "Garmin" kostenfrei zur Verfügung stellt, gibt es wohl kein Debian im Urlaub. Adieu tangogps ... schnüff.

Nachdem diese Entscheidung gefallen ist, geht es jetzt ans Erstellen einer geodatenbasierten Route mit dem guten Kartenmaterial von OSM. Lässt sich z. B. mit http://www.bikeroutetoaster.com/Course.aspx schon recht komfortabel machen. OSM hat ja im Gegensatz zu Google Radwegdaten mit an Bord. Klappt alles ganz gut bis zur belgischen Grenze. Während in Deutschland (Niederrhein) und in Holland die Erfassungsrate exzellent ist, beginnt in Flandern das OSM-Niemandsland. Lediglich Hauptstrassen sind überhaupt erfasst und die auch sehr unvollständig. "Qu' est-ce-que c' est?" will man da mit David Byrne fragen.

Da die Besiedlungsdichte in Flandern ähnlich hoch ist wie in Holland und die Belgier insgesamt als technisch gut ausgestattet gelten, desweiteren über eine lebendige Open Source Szene verfügen, kann man über die Ursachen dieses Phänomens nur spekulieren.

Vieleicht sind sie ja verliebt?

Eingestellt Fr 03 Jul 2009 15:57:14 CEST Tags: Technik
Lizenz: GPL
Niels Nowatzki Kunst programmieren

The beauty of the REPL

Viele Programmierer kennen das. Die konzentrierte Arbeit an hoch abstrakten Problemen entwickelt eine Eigendynamik. Die Mühe verschwindet. Der "Flow" kommt auf. Man surft auf den Wellen der Abstraktion. Dieser Zustand lässt sich im Read Eval Print Loop besonders gut aufrecht erhalten. Die Unterbrechung durch den Kompiliervorgang ist allzu häufig Gift für diesen produktiven Rausch.

Synästhesie gefällig?

Stained from Andrew Sorensen on Vimeo.

Die Software findet ihr hier: http://impromptu.moso.com.au

Eingestellt Mi 13 Mai 2009 12:13:17 CEST Tags: Technik
Lizenz: GPL
Niels Nowatzki Vernebelungsschwaden

Wie das BKA den baumlosen Wald durchforstet

Auf Netzpolitik wird gerade über die verschiedenen Möglichkeiten diskutiert, unabsichtlich auf eine vom BKA indizierte Seite gelotst zu werden. Da sind die unterschiedlichsten Szenarien denkbar:

  • Verkürzte URLs (z.B. Tinyurl)

  • Link Prefetching

  • Redirects

  • You name it ...

Die Verfechter der Internetzensur haben auf die geäusserte Befürchtung, man könne auf diese Weise schuldlos in das Fahndungsraster der Polizeibehörde gelangen, interessante Beschwichtigungsformeln aufgesagt.

Es würden nur diejenigen überprüft werden, die mehrfach das Stoppschild aufrufen.

Nun, fast alle privaten und etliche geschäftliche Internetzugänge werden in Deutschland über die Vergabe dynamischer IPs bereitgestellt. Das bedeutet, dass die meisten Internetnutzer üblicherweise alle 24 Stunden eine neue Adresse aus dem Pool des Zugangsproviders erhalten. Diese Adresszuteilung wird von dem jeweiligen Provider gespeichert. Bei Bedarf (Verdacht auf einen Rechtsverstoss, der mit dieser IP begangen wurde) kann also eine ermittelnde Behörde über den Provider die Identität des Nutzers erfahren. Das ist eingeübte Rechtspraxis. Man rekapituliere: Der konkrete Verdacht einer ermittelnden Behörde auf einen begangenen Rechtsverstoss.

Die Beschwichtigungsformel der selbsternannten Sittenwächter suggeriert uns, ein konkreter Verdacht läge erst dann vor, wenn ein Internetnutzer mehrfach den Versuch unternimmt auf eine gesperrte Internetseite zu gelangen. Eine einmalige, versehentliche Verbindungsanfrage dagegen bliebe quasi anonym und würde nicht weiter aufgelöst.

Nur, wie findet das BKA heraus, dass es sich um Mister X handelt, der am 23. und am 25. des letzten Monats den Versuch unternommen hat, das "Milliardengeschäft" auf Trab zu halten? Es waren ja zwei unterschiedliche IP-Adressen.

Die Provider sind gesetzlich veranlasst, Verbindungsdaten für die Dauer von sechs Monaten vorzuhalten. Bei einer täglichen Abfrage der gespeicherten Verbindungsversuche vom jeweiligen Provider, müsste das BKA sich spätestens jetzt die Mehfachaufrufe der letzten sechs Monate als Klarnamen übermitteln lassen, um daraus einen konkreten Verdacht abzuleiten. Viel wahrscheinlicher ist es aber, dass die Behörde sich sämtliche Verbindungsversuche täglich mit den aufgelösten Klarnamen und Adressdaten zur Verfügung stellen lässt. Dadurch lassen sich Mehrfachaufrufe auch über einen längeren Zeitraum als sechs Monate erheben.

Es sollte sich also niemand die falsche Hoffnung machen, dass bei einem versehentlichen Aufruf gesperrter Seiten noch kein ausreichend konkreter Verdacht gegeben wäre, so dass die Daten dieses Fauxpas nicht Eingang in das Fahndungsraster des BKA fänden. Es mag ja sein, dass dadurch zunächst noch keine weiteren Ermittlungen von Seiten des BKA angestossen werden. Aber Sie sind drin und werden auch nicht gelöscht. Sie hatten hoffentlich nicht vor Lehrer zu werden oder eine politische Karriere zu starten, oder ...

Eingestellt Di 12 Mai 2009 15:43:30 CEST Tags: Technik
Lizenz: GPL
Niels Nowatzki Frühjahrsputz

Fertig zum Abheben

Jedem Anfang wohnt ein Zauber inne ... jedem Ende aber auch

Groetjes!

Habe mich dazu entschieden, Weblog zu erstellen.

Habe mich dazu entschieden, die Frage nach dem deutschen Artikel für Weblog/Blog nach hinten zu stellen und von Fall zu Fall den Gaul zu reiten, der mir gerade zu pass kommt.

Habe mich dazu entschieden, dieses Vorgehen "pragmatisch" zu nennen.

Zur Technik:

Dieser Blog ... Aha, "Er". Gefällt mir irgendwie besser. Wahrscheinlich bleibe ich dabei. Mal sehen. Dieser Blog also ... Oder doch "Dieses"? Hört sich bescheuert an. Ist aber wohl der Orthographen Liebling. (Schreibt man heuer eigentlich "Orthographen" oder "Orthografen"? Ist "heuer" ein Austrizismus oder ein Bavarismus?)

Ich wollte was zur Technik schreiben. Also bitte.

Diese Webpräsenz ... Stopp! "Webpräsenz" geht gar nicht. Da schreib ich noch eher "Portal", lieber noch "Plattform"; auf gar keinen Fall "Webpräsenz" oder sein (ihr?) kastrierter Bruder (frigide Schwester?) "Onlinepräsenz". Was sollen solche Wörter? Kann man die nicht verbieten? Schäuble? Von der Leyen? Wo seid ihr, wenn man euch braucht?

Na gut, fangen wir eben mit den Inhalten an und gehen später zur Technik über.

Dieser Blog wird, wenn meine Vorahnung nicht täuscht, im grossen und ganzen ein Sudelbuch werden. Nicht, dass ich glaube, mit GCL gleichziehen zu können. Meine Vorliebe für Abschweifungen ist allerdings offensichtlich zu ausgeprägt, um etwas anderes, akurateres zu prognostizieren. Abschweifungen. Nicht Ausschweifungen. Damit das klar ist.

Unter der Motorhaube dieses Blogs werkelt ikiwiki mit einem git Backend. In der Praxis bedeutet das, dass ich die Beiträge auf meinem Laptop in einem beliebigen Editor schreiben und auf dem lokalen Webserver testen kann, egal ob ich Netzzugang habe oder nicht. Bin ich zufrieden mit meinem Geschreibsel und online, hole ich mir mit einem git pull die möglichen Änderungen von meinem Server und mein lokaler Spiegel ist synchron. Danach reicht ein einfaches git push zum Server, et voilà. Sehr flexibel, sehr schnell und vergleichsweise sicher, da die Verbindung zwischen Server und Laptop natürlich via ssh getunnelt ist.

Die verwendete Auszeichnungssprache markdown lehnt sich an alte Email- und Usenettraditionen an. Für Geeks sollte das eine quasi natürliche schriftliche Ausdrucksform darstellen, während "normale" Computernutzer mit der reduzierten Syntax ebensowenig Probleme haben dürften. Letztlich kann man auch einfach drauflosschreiben. Solange man auf Einrückungen und Sonderzeichen wie # und * verzichtet und Zeilenumbrüche grosszügig verwendet, kann nicht viel schief gehen. Falls Sie sich also eines Kommentars nicht enthalten können. Ich hindere Sie nicht daran. Vorerst.

Bezüglich des Designs bin ich mir noch nicht ganz sicher. Habe mit ein paar Ideen von Jason Cole herumgespielt und fand das jetzige Erscheinungsbild ganz fluffy. Ist wie immer work in progress, bzw. "Arbeit hört nie auf". In der serbo-hessischen Tresenphilosopieaxiomatik steht dafür folgendes Diktum: "Lebbe geht weider."

Eingestellt Mi 22 Apr 2009 17:09:34 CEST Tags: Technik
Lizenz: GPL