Archive for the “Uncategorized” Category

Die Welt ist dabei ein #Neuland zu entdecken. In Scharen strömen die Siedler ins Internet.  Und wie schon zu Amerikas Zeiten ist das #Neuland leer. Zumindest will niemand die Natives sehen.

Ich bin einer dieser Natives. Und wenn ich mir das Gesocks ansehe, das hier aufschlägt wird mir Schlecht.

Die Eindringlinge scheren sich einen Dreck um unsere Kultur oder verteufeln sie gar (zB. 4chan). Unsere Ausdrucksmittel werden als Altmodisch beschimpft (zB. IRC). Unsere Gedanken sind ihnen Suspekt und werden überwacht. Protestieren wir, heisst es wir seien doch nur eine Minderheit. Und fällt ihnen sonst nichts mehr ein, greifen sie zu den verseuchten Decken (aka Anwälte).

Aber das ist unser Land! Ihr seit die Fremden. Ihr habt euch anzupassen (schaut mal wie ihr Fremde behandelt).

Die Indianer hatten ein grosses Problem. Sie waren den Angreifern technologisch unterlegen. Das Problem haben wir nicht. Die meisten von uns verstehen um Längen besser wie unsere Welt funktioniert als die Neulinge. Diesmal haben wir Natives den Vorteil auf unserer Seite. Und wenn ihr nicht aufpasst rennen wir bald mit euren SkalpTweets als Trophäen rum.

Das Internet ist mehr als nur Facebook. Wir können es auch noch nutzen wenn euer Dorf abgebrannt ist. Ihr dürft gerne Eisenbahnen bauen (drosselcom anyone?) aber unsere Steppe ist weithin begehbar (meist sogar schneller als eure Dampfungetüme)

Bereitet euch also schon mal vor. Verschanzt euch hinter den Barrikaden. Den wir Indianer wissen wie man kämpft.

Flattr this!

Comments Comments Off on Ich bin Indianer

das Wochenende wird wohl nicht reichen fürs Zusammenbauen.

image

mechanik

image

viel schrauben

image

und noch mehr Teile

Flattr this!

Comments Comments Off on ich brauch ferien

Ok, da gibts eine neue Version von WordPress. Nachdem ich aus Uganda zurück bin, sollte ich wohl doch mal updaten.

Also auf wordpress.org gehen, und den Link auf das zip file kopieren. Auf dem server dann ein wget auf das zip. Gibt erstmal eine Sicherheitswarnung, da der link auf wordpress.org zeigt, und das Zertifikat nur für *.wordpress.org gültig ist. Also ein www davor setzten. Ok, download läuft…das gieng aber schnell. unzip latest.zip… Das ist gar kein Zip…. ein cat latest.zip zeigt schnell, das ist eine HTML-Seite….

WTF? Also mal wget mit –no-check-certificate starten…Ohh, jetzt krieg ich ein richtiges zip. mit dem gewünschten inhalt.

Was sind denn das für dilletanten hinter wordpress.org? Sigh.. um Fefe zu zitieren: Einmal mit Profis arbeiten

PS: Ok, mein Server ist auch nicht 100% schön konfiguriert. Aber das ist auch ein privater Server. Da ist nix wirklich relevantes drauf. Von jemanden der Software für Tausende von Usern schreibt erwarte ich doch etwas Proffesionalität.

Flattr this!

Comments Comments Off on WordPress.org: Idioten am Werk

…oder wie man merkt, dass man etwas Anstand vom Computer haben sollte.

Ich habe heute doch Glatt einen Termin auf Papier aufgeschrieben, und nach 3 Buchstaben von SAMstag gemerkt, dass ich in CAPS schreibe. Wäre ja nicht so schlimm, aber anstatt einfach in Kleinbuchstaben weiterzuschreiben hat mich mein Gehirn gezwungen weiter in CAPS zu schreiben. Und ich dachte die ganze Zeit nur “Damn, CPAS Lock on”.

Ich brauch mal Ferien, irgendwo wo es kein Mobile-Network oder Computer gibt. Hat jemand da gute Tipps?

Flattr this!

Comments Comments Off on CAPS im Gehirn…

In der Nacht vom Samstag 30.6.2012 auf den Sonntag 1.7.2012 wurde ja eine Schaltsekunde eingeführt. Diverse Pinguine zeigten sich dabei überrascht und schalteten gleich mal auf 100% Last. Auf meinen Servern habe ich nix bemerkt, aber am Arbeitsplatz hat es auch den einen oder anderen erwischt.

Wie sieht so was denn bei einem Hosting-Anbieter wie Hetzner aus? Da laufen ja tausende von Linuxen. Und in der Tat, Hetzner hat es bemerkt. Am Stromverbrauch:

in der Nacht vom 30.06.2012 auf den 01.07.2012 registrierten unsere internen
Überwachungssysteme einen Anstieg des IT-Stromverbrauchs um etwa ein Megawatt.

Also liebe Kernel-Hacker, wenn ihr auch nur ein bisschen Ökologisch drauf seit, bitte überprüft euren Code etwas besser.

Flattr this!

Comments Comments Off on Wie eine Sekunde das Klima erwärmt

My Computer is my Castle!

Ich lass mir doch von so einem Stück Software nicht vorschreiben was es kann oder nicht!
Nene; wenn der mein vbios nicht findet, dann Würg ich einfach eins aus dem RAM rein.

Klappt! der nouveauFB ist VIEL schneller als der efifb. Great.

Nur leider mag X das vbios nicht. liegt wohl an den fehlenden init tables. Aber dass krieg ich auch noch hin. Und dann gibts auch hier endlich 3D und eventuell läuft irgendwann sogar mal gnome3 :-p

[drm] Initialized drm 1.1.0 20060810
nouveau 0000:01:00.0: enabling device (0002 -> 0003)
nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
nouveau 0000:01:00.0: setting latency timer to 64
[drm] nouveau 0000:01:00.0: Detected an NV50 generation card (0x084700a2)
checking generic (80060000 960000) vs hw (80000000 10000000)
fb: conflicting fb hw usage nouveaufb vs EFI VGA – removing generic driver
Console: switching to colour dummy device 80×25
[drm] nouveau 0000:01:00.0: Starting with nouveau_vbios
[drm] nouveau 0000:01:00.0: looping trough vbios methodes
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN
[drm] nouveau 0000:01:00.0: … BIOS signature not found
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PROM
[drm] nouveau 0000:01:00.0: … BIOS signature not found
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PCIROM
nouveau 0000:01:00.0: Invalid ROM contents
[drm] nouveau 0000:01:00.0: … BIOS signature not found
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from ACPI
failed to evaluate ROM got AE_BAD_PARAMETER
[drm] nouveau 0000:01:00.0: have read junk no. 0, error code was -19
[drm] nouveau 0000:01:00.0: … BIOS signature not found
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from HANFI
[drm] nouveau 0000:01:00.0: -;
[drm] nouveau 0000:01:00.0: what did you expect? magic?
[drm] nouveau 0000:01:00.0: … appears to be valid
[drm] nouveau 0000:01:00.0: BIT BIOS found
[drm] nouveau 0000:01:00.0: Bios version 60.84.49.03
[drm] nouveau 0000:01:00.0: TMDS table version 2.0
[drm] nouveau 0000:01:00.0: BIT table ‘d’ not found
[drm] nouveau 0000:01:00.0: Found Display Configuration Block version 4.0
[drm] nouveau 0000:01:00.0: Raw DCB entry 0: 01000123 00010034
[drm] nouveau 0000:01:00.0: Raw DCB entry 1: 02011210 00000028
[drm] nouveau 0000:01:00.0: Raw DCB entry 2: 02011212 00000030
[drm] nouveau 0000:01:00.0: Raw DCB entry 3: 01011211 0080c070
[drm] nouveau 0000:01:00.0: DCB connector table: VHER 0x40 5 14 2
[drm] nouveau 0000:01:00.0: 0: 0x00000040: type 0x40 idx 0 tag 0xff
[drm] nouveau 0000:01:00.0: 1: 0x00001120: type 0x20 idx 1 tag 0x07
[drm] nouveau 0000:01:00.0: unknown type, using 0x30
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0xB06B
[drm] nouveau 0000:01:00.0: No pointer to DisplayPort table
[drm] nouveau 0000:01:00.0: 0xB06B: INIT_3A: no encoder table!!
[drm] nouveau 0000:01:00.0: 0xB06E: Init table command not found: 0x00
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0xB3B8
[drm] nouveau 0000:01:00.0: 0xB3B8: Init table command not found: 0x18
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0xBE05
[drm] nouveau 0000:01:00.0: 0xBE05: Init table command not found: 0xFF
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0xBEF7
[drm] nouveau 0000:01:00.0: 0xBEF7: Init table command not found: 0xFF
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0xC12A
[drm] nouveau 0000:01:00.0: 0xC12A: Init table command not found: 0xFF
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table at offset 0xC18F
[drm] nouveau 0000:01:00.0: 0xC18F: Init table command not found: 0xFF
[drm] nouveau 0000:01:00.0: voltage table 0x66 unknown
[drm] nouveau 0000:01:00.0: memory timing table 0xc6 unknown
[drm] nouveau 0000:01:00.0: 0 available performance level(s)
[drm] nouveau 0000:01:00.0: c: memory 302MHz core 275MHz shader 550MHz
[TTM] Zone kernel: Available graphics memory: 1027024 kiB.
[TTM] Initializing pool allocator.
[drm] nouveau 0000:01:00.0: Detected 512MiB VRAM
[drm] nouveau 0000:01:00.0: 512 MiB GART (aperture)
[drm] nouveau 0000:01:00.0: DCB encoder 1 unknown
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] No driver support for vblank timestamp query.
[drm] nouveau 0000:01:00.0: allocated 1920×1200 fb: 0x40000000, bo ffff88007afc8c00
Console: switching to colour frame buffer device 240×75
fb0: nouveaufb frame buffer device
drm: registered panic notifier
[drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on minor 0

Flattr this!

Comments Comments Off on Eat that Kernel!

Am Sonntag wurde in Spanien ein Notstandsgesetz ausgerufen. Das erste mal seit der Franco-Diktatur vor 30 Jahren.

Gleichzeitig wurden die streikenden Fluglotsen dem Militärrecht unterstellt, welches erlaubt diese in Sondergerichten ab-zu urteilen.

Und wie reagiert das “soziale” Europa auf diese Nachricht? Es freut sich, dass der Flugbetrieb wieder normalisiert wird. Toll findet man auch, dass die Maassnahmen bis im Januar verlängert wurde, damit man ja auch schön in die Weihnachtsferien nach Spanien kann.

Ob die Spanischen Fluglotsen “im Recht” sind ist hier mittlerweile Egal. Wenn eine Europäische Regierung mit militärischer Gewalt gegen Streikende Vorgeht gibt es seitens der Arbeiterbewegung in Europa eigentlich nur eine Antwort: Generalstreik! Sowas darf nicht geschehen! Niemals!

Bleibt diese Antwort aus, so lässt das nur einen Schluss zu: Die Arbeiterbewegung in Europa ist Tot.

Und noch was, wenn in Zukunft Horrormeldungen aus China wegen des Vorgehens gegen Streikende kommen, dann soll sich hier in Europa aber keiner der lahmen Ärsche darüber mokieren die jetzt in der Weihnachtszeit fett in ihr Flugzeug steigen.

Aber das letzte Wort ist noch nicht gesprochen. Die Arbeiterbewegung wurde immer wieder marginalisiert, kriminalisiert, versklavt, getötet. Und noch immer haben wir am Ende gesiegt. Die Europäischen Politiker (und an ihrer Spitze die “sozialistischen Parteien”) müssen wohl mal wieder erfahren, was der Sinn des Spruches “Wenn dein starker Arm es will, stehen alle Räder still” ist. Europa verlässt gerade den bisher so sicher geglaubten Hafen des “sozialen Staates”. Offensichtlich sind sich die Manager und Funktionäre nicht im klaren was sie da auslösen, wenn sie uns mit sowas um etwa 100 Jahre in der Arbetiergeschichte zurückschicken.

Ihr werdet es lernen.

Flattr this!

Comments Comments Off on Arbeiterrechte zerstört, Flugbetrieb normal

Ohne Worte

laptop:~ spahan$ dig spahan.ch ANY

; <<>> DiG 9.6.0-APPLE-P2 <<>> spahan.ch ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20615
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;spahan.ch.            IN    ANY

;; ANSWER SECTION:
spahan.ch.        771    IN    TXT    "v=spf1 mx ~all"
spahan.ch.        771    IN    AAAA    2a01:4f8:131:10e1:ff::73
spahan.ch.        771    IN    A    88.198.81.73
spahan.ch.        771    IN    NS    ns.spahan.ch.
spahan.ch.        771    IN    NS    dns2.nettica.com.
spahan.ch.        771    IN    NS    dns4.nettica.com.
spahan.ch.        771    IN    SOA    ns.spahan.ch. hanfi68.gmx.net. 2010102501 10800 3600 604800 38400
spahan.ch.        771    IN    MX    10 mail.spahan.ch.

;; ADDITIONAL SECTION:
dns2.nettica.com.    2762    IN    A    64.237.45.34
dns4.nettica.com.    2741    IN    A    69.41.170.223

;; Query time: 27 msec
;; SERVER: 192.168.28.1#53(192.168.28.1)
;; WHEN: Mon Oct 25 15:40:24 2010
;; MSG SIZE  rcvd: 268

laptop:~ spahan$ ping6 mail.spahan.ch
PING6(56=40+8+8 bytes) 2002:bc3c:3061:6464:21f:5bff:feec:e8f --> 2a01:4f8:131:10e1:ff::77
16 bytes from 2a01:4f8:131:10e1:ff::77, icmp_seq=0 hlim=58 time=72.459 ms
16 bytes from 2a01:4f8:131:10e1:ff::77, icmp_seq=1 hlim=58 time=72.305 ms

laptop:~ spahan$ wget --prefer-family=ipv6 http://blog.spahan.ch
--2010-10-25 15:36:26--  http://blog.spahan.ch/
Auflösen des Hostnamen »blog.spahan.ch«.... 2a01:4f8:131:10e1:ff::73, 88.198.81.73
Verbindungsaufbau zu blog.spahan.ch|2a01:4f8:131:10e1:ff::73|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [text/html]
In »»index.html.1«« speichern.

 [  <=>   ] 61.577       107K/s   in 0,6s    

2010-10-25 15:36:28 (107 KB/s) - »»index.html.1«« gespeichert [61577]
 

Doch noch ein paar Worte : “Lol, wtf @n00bs!”

laptop:~ spahan$ dig ipv6porn.com AAAA

; <<>> DiG 9.6.0-APPLE-P2 <<>> ipv6porn.com AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38847
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ipv6porn.com.            IN    AAAA

;; Query time: 22 msec
;; SERVER: 192.168.28.1#53(192.168.28.1)
;; WHEN: Mon Oct 25 15:50:31 2010
;; MSG SIZE  rcvd: 30

Flattr this!

Comments Comments Off on ping6 main.spahan.ch

Ich entwickle für meinen Arbeitsplatz am URZ ein kleines HTML-Interface für die Domain-Administration. Wir verwenden für die Authentifizierung LDAP/Kerberos, was prinzipiell mal toll ist. Da ich zuvor immer nur Name/Passwort Login gemacht habe, ist das ganze erstmals etwas neues, und ich stolpere immer wieder über neue Problemchen. Um anderen die Arbeit zu ersparen, schreibe ich hier ein paar Details aus, die ich dabei gefunden habe.

Dank mod_authnz_ldap ist ein einfaches Login problemlos möglich. Damit kann man einfach alle Domain-User einloggen lassen (require valid-user) oder ldap-typisch spezifische Gruppen.

Damit starten die Probleme aber erst. Die WebApp soll ja mit den User-Credentials auf andere Ressourcen zugreifen können (in meinem Falle den LDAP-Server). Dazu ist etwas Arbeit nötig. Erstmals müssen wir dem Apache erlauben, die User-Credentials für die dauer des Requests zwischenzuspeichern, was mit “KrbSaveCredentials on” in der Apache-Konfig gelingt. Der Apache speichert dann eine Kopie des Tickets in einer temporären Datei , und löscht diese am Ende des Requests wieder. Der Name dieser Datei wird einem Skript als CGI-Parameter KRB5CCNAME mitgegeben. Hier muss man sich darüber klar sein, dass diese Cache-Datei in /tmp steht, und für Server-Admins ziemlich einfach auslesbar sind. Also nur auf vertrauenswürdigen Hosts machen (die genauen Sicherheitsimplikationen werde ich später noch beschreiben)!

Damit kann man jetzt auf dem Hosts Kerberos-Programme wie klist aufrufen muss aber immer die Cache-Datei mit angeben. Vor allem GSSAPI-Zugriffe sind damit noch nicht möglich, da GSSAPI auf die Umgebungsvariablen guckt um den Ticket-Cache zu finden. Daher ist es Notwendig, vor einem GSSAPI-Zugriff die Environment-Variable KRB5CCNAME auf die CGI-Variable KRB5CCNAME zu setzen. Dann klappt es auch mit GSSAPI.

Hier ein kleines Beispielskript um sich mit einem LDAP-Server mit den UserCredentials zu verbinden:


import os
import ldap
import ldap.sasl
from mod_python import apache

#index file
def index(req):
    #we need load the cgi-vars first
    req.add_common_vars()

    req.write("<h1>LDAP-GSSAPI</h1>")
    req.write("<p>kerberos username is %s<br/>kerberos-ticket cache file is %s</p>" % (req.subprocess_env['REMOTE_USER'],req.subprocess_env['KRB5CCNAME']))

    #set environment so gssapi finds our ticket cache.
    os.environ['KRB5CCNAME'] = req.subprocess_env['KRB5CCNAME']

    try:
        conn = ldap.initialize('ldaps://ldap.example.org')
        # only works if environment is set correctly.
        auth_tokens=ldap.sasl.gssapi()
        if conn.sasl_interactive_bind_s('',auth_tokens) == 0:
            req.write( "<p>Successfully connected</p>")
        else:
            req.write("<p>Oopsy, somethign went wrong.</p>")
    except ldap.SERVER_DOWN:
        req.write(print "<p>ldap-server is sleeping. Dont disturb.</p>")
    return apache.OK

Flattr this!

Comments Comments Off on HTTP/Kerberos/Python

Es wurde ja viel darüber gehyped. Jetzt ist Sie da. Die Wissensdatenbank.

Und sie liefert tatsächlich brauchbare Antworten. Zumindest wird die klassische Frage nach dem Sinn des Lebens erstmals richtig beantwortet. Google dagegen will mir nur Filme verkaufen.

Ich sehe hier eine geniale Idee mit riesigem Zukunftspotential.

Hut ab Wolfram, das habt ihr gut gemacht.

PS: Und die Meldung bei Überlastung des Systems (I’m sorry Dave, i can’t do that), zeigt, dass da echte Geeks dahinter Stecken. Weiter so!

Flattr this!

Comments Comments Off on Wolfram Alpha