Alle Beiträge von melle

Was ich gerade so mache

image

Bloggen jedenfalls selten. Die Kollegen haben immer gefragt „…und wie lange bist Du dann nochmal im Urlaub?“. Ich pflege dann immer ernst zu gucken und sage „Elternzeit, nicht Urlaub. Ich erziehe meine Kinder“. Hätte die zwei Monate mal in den Winter legen sollen.

Überhaupt, so lange ist das gar nicht. Meine Freundin kann 12 Monate blau machen, darüber wundert sich auch keiner 🙂

Also was mache ich eigentlich den ganzen Tag? Fotos mache ich viele. Nur keine, die ich hier posten kann. Hochzeiten. Unser jüngstes Kind wurde getauft.

Ach ja, die Kinder. Irgendwo zwischen Lachanfall und Nervenzusammenbruch marodiert man so durch den Tag. Trotz ausgefeilter Logistik sind wir auf Tagesausflügen bepackt, wie andere bei der Besteigung eines Achttausenders. Aber es ist großartig dabei zu sein, die ganzen Highlights mitzuerleben. Die Flugzeuge gestern, ganz nah und ganz laut. Mit Propeller „der dreht sich!“. Die Dampflok heute, die zischt und pfeift und pufft. Wenn einem ein 26 Monate altes Kind mit seinem begrenzten Wortschatz in aller Ausführlichkeit das Erlebte beschreibt, ist das so eine Mischung aus zufriedenem Grinsen und stolz geschwellter Brust.

Dann freue ich mich aufs Fahrrad fahren. Ich bin voll angefixt und kann nicht genug Kilometer treten. Unsere Fahrräder sind eher Lowtech, aber um so größer ist der Spaß. Der Plan sind mindestens 300km, wenn es gut läuft auch 600km. Solo sicherlich ein klax, aber mit zwei Anhängern – einer für die Kinder, einer für’s Gepäck – schon eine Herausforderung.
Ich rechne schon ständig Durschnittsgeschwindigkeiten aus um planen zu können. Egal wie ich es drehe, mehr als 13km/h werden es nicht. Naja, kleine Etappen, wir haben ja Zeit. So lange wir regelmäßig an einer Waschmaschine vorbei kommen, ist alles gut.

Tja, Wäsche waschen ist auch so ein großes Hobby geworden. Das große Kind trocken zu bekommen und dabei eine Reise mit Minimalgepäck zu unternehmen… Abenteuer pur.

Dann griffel ich noch Tag und Nacht an meinem neuen Telefon rum. Nach drei Jahren Symbian-Masochismus war ich dann von den vielen Apple-Werbemaßnahmen überzeugt und hab mir ein google-Phone geklickt. Die Usability ist unterhaltsam (und um Welten besser als alles was ich von Nokia kenne), aber die vielen Features und theoretischen Möglichkeiten überwiegen die Patzer in der Bedienung. Aber zu dem Thema muss ich nochmal ein richtiges Review schreiben, im Moment bin ich noch am entdecken und staunen (und fluchen).

Hier wäre jetzt Platz für ein Fazit. Ich sage mal: Kinder fetzen, legt los und macht Euch welche. Ist ganz einfach und man hat dann viel Spaß.

ssh host-key Prüfung abschalten

Ich habe oft verschiedene WLAN-Router an meinem Rechner. Jeder Router ist auf dem LAN-Port über die gleiche IP zu erreichen (i.d.R. 192.168.1.1), allerdings hat jeder Router einen anderen ssh host-key. Wechsel ich den Router, schlägt die Überprüfung des Keys fehlt, weil unter der gleichen IP plötzlich ein anderer Key presentiert wird. Die Lösung habe ich hier gefunden und sieht so aus:

Geforkte Prozesse mit Netbeans debuggen

Debugging unter Linux/Unix ist ein großer Haufen Mist. Zumindest, wenn man schon mal mit Visual Studio gearbeitet hat. Ich sitze gerade an einem Produkt, dass massiv Prozesse forkt und irgendwo in einem Child steckt ein Bug.

Weil das Erzeugen und das Beenden der Prozesse ziemlich schnell geht, kann man sich nicht an den Prozess attachen, er ist schon lange wieder weg, bevor der Debugger oben ist. Findige Kollegen haben dann soetwas in den Code eingebaut:

Ich muss also eine Umgebungsvariable DEBUG_XYZ setzen, den Master-Prozess neu starten und irgendwann wird der fragliche Prozess als Gestoppt in der Prozessliste stehen, ich kann mich in Ruhe attachen und debuggen.
Die Lösung hat natürlich massive Nachteile: ich muss den Code jedesmal ändern, wenn ich den „Breakpoint“ verschieben will und schlimmstenfalls kommt solcher Code versehentlich ins finale Release.

Es geht ein bisschen besser, wenn man gdb benutzt, der kann nämlich beim Fork entweder dem Parent- oder dem Childprozess folgen:

Wobei mode entweder „child“, „parent“ oder „ask“ ist. Nun will niemand „nativ“ mit dem gdb debuggen, man spannt Netbeans davor. Damit man aber in Netbeans den follow-fork-mode setzen kann, braucht man erstmal eine GDB Debugger Console:

muss unter netbeans_default_options in der netbeans.conf hinzugefügt werden.

Jetzt kann man zumindest das Debugging starten und sich entscheiden, ob man den Childs oder den Parents folgt. „ask“ geht komischerweise nicht. Auch muss man scheinbar den follow-fork-mode bei jedem Start neu setzen.

Das ist immernoch ein riesengroßer Haufen Mist. Aber zumindest habe ich schöne gelbe Gummistifel an. Geht das nicht einfacher? 🙁

Watchdog script to supervise /proc/user_beancounters

I’m in the process of setting up my new server. The services are running inside OpenVZ-Containers. The Problem is, that you don’t know how to setup the resource parameters. You have to walk the way of trial and error, because you don’t how much resources the services consume under productive load.

After migrating some domains, my postfix process died last night because of a lack of pirvvmpages. So I wrote a script that monitors changes in /proc/user_beancounters of every container. The script runs from crontab every 5 minutes and compares UBC failcounter values to the last known values. If there is a difference, a mail is sent to root.

Feel free to re-write the script in your favorite language 😉

The mail looks like this:

****************************************
UBC fail in VE 20!
-205 kmemsize
+59936 kmemsize
****************************************

And is the result of a fork-bomb that exploded inside VE 20 🙂

dovecot deliver – Fatal: postmaster_address setting not given

It took me an hour to figure out the reason for this message. The only hint is, that there might be special characters like tabs in the config file. But in my case, the reason was the dovecot-postfix package of Ubuntu 9.10.

There are two config-files: /etc/dovecot/dovecot-postfix.conf and /etc/dovecot/dovecot.conf. The header says:

The problem: dovecot’s deliver command ignores dovecot-postfix.conf and reads it’s config from /etc/dovecot/dovecot.conf 🙁

Ok, how to fix this? Open /etc/postfix/master.cf and specify the configfile using the -c parameter of the deliver-command:

See bug #511295.

pam-ldap: I have no name! (ubuntu)

Ich bin gerade über einen blöden Fehler gestolpert, den ich nicht noch einmal machen möchte… Ich habe an pam und ldap geschraubt und plötzlich konnten Gruppen und User-IDs nicht mehr aufgelöst werden:

In einem nahezu identischen System ging es ohne Probleme. Ein Vergleich der beiden /etc-Verzeichnisse hat keine Auffälligkeiten gezeigt. Nachdem ich drauf und dran war, das System wegzuschmeißen und neu aufzusetzen, habe ich doch noch die Lösung gefunden:

/etc/ldap.conf muss für alle User lesbar sein. Ich hatte testweise ein Bind-Password eingetragen und aus diesem Grund die Rechte der Datei eingeschränkt. Ein einfaches

hat das Problem gelöst 🙂

Debian Lenny auf einem Rootserver mit Raid-1 und LVM

Das ist ein Update zu meiner alten Anleitung. Der Unterschied zur alten Anleitung:

  • Dieses Mal soll ein Server unter Debian Lenny eingerichtet werden
  • Swap liegt ebenfalls im Raid
  • Der Server soll mit OpenVZ virtualisierte Maschinen hosten
  • Das root-Dateisystem soll ebenfalls im LVM liegen, damit wir beim Backup konsistente Snapshots vom gesamten System machen können

Hier also das Update zu meiner rundum-sorglos copy&paste-Anleitung zur Einrichtung von

Debian Lenny auf einem Rootserver mit Raid-1 und LVM

Debian Lenny auf einem Rootserver mit Raid-1 und LVM weiterlesen

OpenLDAP Replikation mit syncprov

Für einen neuen Server in unserer Rootserver-Kommune brauche ich eine Replik unseres LDAP-Servers. Wie sich herausstellte, ist das ziemlich einfach und in der umfangreichen Dokumentation exzellent erklärt.

Im zu replizierenden LDAP-Server („Provider“) muss man lediglich dafür sorgen, dass das syncprov-Modul in der slapd.conf geladen wird:

Im Zielserver („Consumer“), wird so eine 1:1 Replikation des Quellservers konfiguriert:

Natürlich müssen im Quellserver entsprechende Credentials hinterlegt werden. Durch das Keyword refreshAndPersist bleibt die Verbindung dauerhaft bestehen und Änderungen im Quellserver werden sofort auf dem Zielserver repliziert.

Achtung: im Zielserver müssen natürlich die gleichen Schemata geladen sein, wie im Quellserver. Schaut euch also die Include-Section entsprechend an, sonst hagelt es Fehler.

Mit dieser Methode kann man den LDAP-Server super-komfortabel umziehen, einfach Replikation einschalten, DNS-umschwenken und dann die Replikation auf dem Zielserver ausschalten.

DynDNS mit dem Alice Modem 1121 WLAN

Das Alice Modem 1121 WLAN bzw. TV hat eine recht spartanische Administrationsoberfläche. Man kann wirklich nur das Nötigste einstellen, eine Möglichkeite den beliebten DynDNS-Dienst zu konfigurieren, sucht man vergeblich.

Die Modemsoftware bringt jedoch einen DynDNS-Client mit, allerdings ist der nur via Telnet zu konfigurieren. Das Modem ist vom LAN und WLAN aus unter seiner Standard-IP 192.168.1.1 erreichbar.

Die Zugangsdaten lauten:

  • User: admin
  • Passwort: AliceXXXXXX123

Die Zeichenfolge XXXXXX muss durch die letzten sechs Zeichen der LAN MAC-Adresse des Modems ersetzt werden. Lautet die MAC-Adresse des Modems z.B. 00:25:5E:AB:64:FE, so muss man als Passwort AliceAB64FE123 verwenden:

Man findet sich auf einer kastrierten Linux(?)-Shell wieder. help liefert eine Liste der möglichen Kommandos. Mit ddns kann man den DynDNS-Client konfigurieren:

Ok, mit add fügt man eine DynDNS-Konfiguration hinzu, mit remove wird sie wieder entfernt und mit show kann man alle anzeigen lassen.

Der folende Aufruf fügt eine Konfiguration für den Hostnamen myhomedsl.dyndns.org beim Dienst dyndns mit dem Usenamen user6 und dem Passwort 123456 hinzu:

Wichtig: man muss im parameter --interface den Namen des WLAN-Interfaces eingeben. Den Namen bekommt man mit dem Kommando ifconfig heraus. Es listet alle Interfaces auf, gesucht ist das mit ppp im Namen:

In meinem Beispiel lautet der Name des Interfaces also ppp_0_1_32_1.

Cancer Clan

Shot for the upcoming third demo of Cancer Clan.

The setup was pretty simple:

Cancer Clan light setup

We tried to use a second flash to get a shadow of the chainsaw-blade. It was hard to adjust everything and when we got finally a good shadow, the whole photo looked pretty boring…

Camera Model: Nikon D90
Lens: Nikon AF-S DX Nikkor 18-105mm 1:3.5-5.6G ED VR
Focal Length: 18.00 mm
Focal Length (35mm Equiv): 27 mm
Exposure Time: 1/125 sec
F-Number: f/16
Shooting mode: Manual
Exposure bias: 0 EV
Flash: Yes
ISO: 200
Image at flickr, large version

Chocolate Cake

I posted already the recipe, but this time we modified it slightly.

Camera Model: Nikon D90
Lens: Nikon AF-S DX Nikkor 18-105mm 1:3.5-5.6G ED VR
Focal Length: 105.00 mm
Focal Length (35mm Equiv): 157 mm
Exposure Time: 1/80 sec
F-Number: f/6,3
Shooting mode: Manual
Exposure bias: 0 EV
Flash: Yes
ISO: 200
Image at flickr, large version

Double Galaxy

If you come close enough, you will see a double galaxy 😉

Camera Model: Nikon D90
Lens: Sigma 150mm 2.8 EX Makro
Focal Length: 150.00 mm
Focal Length (35mm Equiv): 225 mm
Exposure Time: 1/200 sec
F-Number: f/2.8
Shooting mode: Manual
Exposure bias: 0 EV
Flash: Yes
ISO: 200
Image at flickr, large version

26C3: Tag vier

Leider leider ist der AS/400 Talk von Sebastian ausgefallen. Ich hatte ihn schon am Vorabend zu dem Thema ausführlich befragt, aber es wäre natürlich interessant gewesen, die Live-Demos zu sehen.

Statt dessen habe ich mich dann in Saal 1 zur Wikipedia-Diskussion gesetzt. Fefe hatte es sich auf der Couch bequem gemacht, lest Euch mal den Artikel in seinem Blog durch, er hat die Diskussion ganz gut zusammengefasst.

Fefe

Blackbox JTAG Reverse Engineering war auch nicht wirklich erhellend, aber vielleicht war auch meine Aufmerksamkeit am vierten Tag arg verschlissen. Ich habe mich dann noch mit ein paar älteren Herren aus dem Internet zum Aisiambiss in den Bahnhof gesetzt.

Photography and the Art of Doing it Wrong war ein interessanter Rückblick auf die Geschichte der Fotografie, außerdem gab es ein paar gute Inspirationen bewusst „falsch“ zu fotografieren und die „Fehler“ als künstlerischen Effekt einzusetzen. Ein erfrischender Kontrast zur üblichen „Eye Candy Fotografie“.

Falls Ihr den Kongress verpasst habt, schaut Euch die Aufzeichnungen an, Anne hat ein paar gute Empfehlungen zusammengetragen

26C3: Tag drei

Der Jahresrückblick hat mich mal wieder darin bestärkt, dass der CCC-Mitgliedsbeitrag goldrichtig angelegt ist. Schaut Euch einfach mal die Aufzeichnung an.

Danach gab es ein Update zur DECT-Sicherheit. Die Jungs sind schon sehr weit gekommen. Der Grund, warum man den großen Knall nicht gehört hat, ist vielleicht, weil er vom noch viel größeren Knall des Platzens der GSM-Sicherheitsblase übertönt wurde. Interessantes Detail: die Zusammenarbeit mit dem DECT-Forum scheint viel angenehmer und besser zu laufen, als die Zusammenarbeit mit dem GSM-Forum, die derzeit noch nicht einmal zugeben, dass es ein Problem gibt („das was die machen ist ja Illegal, und deswegen existiert das Problem nicht“).

Dann habe ich mir „DDoS/botnet mitigation and hosting online communities“ angeschaut, das war nett, aber insgesamt kein großer Erkenntnisgewinn.

Der GSM-Talk von Harald Welte hiess „Using OpenBSC for fuzzing of GSM handsets“, es war aber eher ein generelles Update zu OpenBSC. Trotzdem interessant, auf welch wackeligen Füßen das ganze System steckt, es gibt nur eine Hand voll (4!) GSM-Stacks und die sind auf 4 Milliarden Geräten deployed. Wenn also ein Stack ein Problem hat, kann man das auf sehr vielen Geräten nachvollziehen.

Was mir im Zusammenhang mit GSM total neu war – und gleich auf drei Vorträgen ausführlich erwähnt wurde – ist, dass im Zuge der 911-Notrufrichtlinie in den USA die Geräte ihren Standort bestimmen können müssen. Wenn ein GPS-Chip eingebaut ist, dann kann man das relativ einfach machen. Wenn kein GPS-Chip eingebaut ist, geht das aber trotzdem. Das Telefon verstellt einfach die Empfangsfrequenz auf die GPS-Frequenz und empfängt die blanken GPS-Signale, die es zur Auswertung an den Provider schickt (GSM funkt i.dR. auf 0.9, 1.8 und 1.9 GHz, GPS liegt mit 1.2 und 1.5 GHz genau dazwischen). Zusammen mit den bekannten Standortdaten der Basisstationen und der derzeit schon vorhandenen GSM-Peilungsmöglichkeiten kommt dabei eine ausreichend genaue Standortinformation heraus.

Da keine Geräte exklusiv für den US-Markt gebaut werden, ist also davon auszugehen, dass alle Geräte, die seit 2006 in den USA verkauft werden, diese Funktion mitbringen. Die Abfrage findet auf sehr sehr tiefen Schichten des GSM-Protokolls statt und kann von der Anwendungssoftware oder dem Betriebssystem des Telefons nicht verhindert oder bemerkt werden.

Bei „Location tracking does scale up“ hat Aaron die Funktionsweise von Skyhook erklärt. Das Grundprinzip ist ja recht einleuchtend. Die Standortdaten und Empfangsfeldstärken von WLAN Beacons werden einmal erfasst und in einer Datenbank hinterlegt. Nun kann man anhand dieser Datenbank seinen Standort auch in Gebäuden bestimmen. Das Problem ist, dass die Datenbank mit der Zeit veraltet, weil WLAN AccessPoints sterben und neue hinzu kommen. Die Update-Funktion steckt aber in der Skyhook-Api selbst. Bei Standortabfragen werden alle sichtbaren ESSIDs mitgesendet, ebenfalls die GPS-Position (falls bekannt) und die Basisstation-Id, an der das Telefon angemeldet ist. Zwar funktioniert die API-Abfrage anonymisiert, aber eine Korrelation mit anderen Datensätzen ist natürlich trotzdem möglich.

Der Fnord-Jahresrückblick war ebenfalls wieder Pflicht, statt mir danach gleich den Kaminsky zu geben, habe ich mich zu Andy und „Die Ereignisse des 12.9. und ihre Folgen“ angeschaut. Schaut Euch mal die Aufzeichnung an, den Erkenntnisgewinn kann man garantiert auf jeder Demo verwerten.

26C3: Tag zwei, was noch so war

One Laptop per Child: war ganz interessant, den größten Erfolg hat das Projekt derzeit scheinbar in Uruguay. Dort sind fast 400.000 Geräte ausgeliefert, jedes Kind von der 1. bis zur 6. Klasse hat eins. Es gibt Unterstützung von der Post, wenn ein Gerät kaputt ist kann man es kostenlos in jeder Postfiliale abgeben und die schicken es zur Reparatur.

Die alle Zuhörer unter den Nägeln brennende Frage – wo man als reicher Europäer einen OLPC XO kaufen kann, wurde leider nicht befriedigend beantwortet. Das sehr gute „get one, give one“-Programm, bei dem man ein Gerät kaufen und eins spenden konnte, gibt es leider nicht mehr. Man kann sich zwar als Entwickler mit einem Projekt bewerben, aber wenn man „nur“
Geräte für seine eigenen Kinder haben möchte, sieht es im Moment schlecht aus.

Ich verstehe nicht ganz, was das Problem wäre oder warum das „get one, give one“ Programm eingestell wurde. Für Faire 280 Euro würde man ein Gerät bekommen und gleichzeitig noch eins spenden. In unseren Breiten wäre das total akzeptabel. Statt dessen bekommen Schüler hier eher Netbooks von Ihren Eltern geschenkt („ist ja nicht so teuer und bringt auch sicherlich etwas für die Schule…“) und versuchen die wie normale Notebooks zu verwenden. Klar kann man sich auch die OLPC Software auf einen USB-Stick kopieren und auf einem Netbok verwenden, aber viel von dem OLPC Konzept geht dabei verloren.

Danach habe ich mir das Mondprojekt angeschaut, aber darüber habe ich ja schon geschrieben. Heise hat auch darüber berichtet.

„Privacy & Stylometry“ war mir zu trocken und so habe ich mich lieber noch ein wenig in der Phenoelit Drogenhölle rumgetrieben.

Vier Fäuste für ein Halleluja war dann natürlich Pflicht. Da ich beruflich viel Unixcode sehe und gelegentlich auch schreibe, kam mir das alles natürlich sehr bekannt vor. Ich werde das Video vom Vortrag mal mit in die Firma nehmen und den Kollegen zeigen, die haben bestimmt auch ihren Spaß daran 🙂

Dann habe ich mich statt eines weiteren Vortrags in den Podcast Developer Workshop von Tim Pritlove gesetzt. Sein Problem ist, dass es im Moment keine vernünftige Software gibt, die einen Podcast Workflow vernünftig abbilden kann und man verdammt viele Schritte manuell durchführen muss, die man alle wunderbar automatisieren könnte.

Er hat also ziemlich genau seine Ideen beschrieben, was eine Software alles können muss und welche Funktionen sie bereitstellen soll. Das geht da von Terminkoordination der Teilnehmer und Erzeugung korrekter Feeds über die Integration des Chatprotokolls in die Timeline bishin zu Distributionswegen über Webplayer und BitTorrent. Das ist also ein bunter Strauß an Wünschen,
die man eigentlich unmöglich in einem Projekt erschlagen kann, außer man hat sehr viel Geld und fähige Leute.

Ergebnis war, dass es erstmal eine google Group von Podcastern gibt, die sich des Themas annimmt und versucht konkrete Teilschritte umzusetzen, die man immer weiter zu einem Stück Software zusammensetzen kann. Mich hat das ganze Stark an Pentabarf erinnert, das auch aus der Congressorganisation heraus enstanden und vollkommen von Featurebedürfnissen des realen Congressorganisators getrieben ist.

26C3: Tag zwei soweit

Ich habe heute statt mir Vorträge anzuhören, mich ein bisschen mehr mit Leuten aus dem Internet unterhalten. Die sind alle echt nett 😉

Interessant war „A part time scientists‘ perspective of getting to the moon„, allerdings wurde das Thema Mondflug auf schmalem Budget so dermaßen schlecht vorgetragen, dass ich nur unter Schmerzen bis zum Schluss ausgehalten habe. Klar, das Team ist im Wettbewerb mit anderen Teams, die Ebenfalls zum Mond kommen wollen, aber wenn man nur nebulös drum herumredet, ist das der Aufmerksamkeit im Publikum nicht gerade zuträglich.

263C: dns2dht

Christian Bahls von Mogis hat einen ganz interessanten Ansatz vorgestellt, wie man DNS zensurfest gestalten kann: mittels einer distributed Hashtable. Die Anfragen laufen nicht mehr gegen einen potentiell zensierten DNS-Server, sondern gegen die DHT-Wolke. Voraussetzung ist natürlich, dass die DHT-Nodes letztendlich auf einen unzensierten DNS zugreifen können.

Der Vorteil des ganzen: das System ist dezentral und kann nicht zensiert werden. Nachteil: in die DHT zu schreiben ist einfach, Löschen ist jedoch unmöglich. DNS-Updates bekommt man also nicht so einfach dort rein. Aber: DNSSEC steht vor der Tür, signierte Domains könnten also schon Updates bereitstellen.

Christian hat diese Idee in ein paar Python-Scripte gegossen und hat auch schon eine kleine Wolke am Laufen, die bereits praktisch vom Iran aus genutzt wird. Ich bin gespannt auf den Release der Software.

Pages: <<< 1 2 3 4 5 6 7 8 ... 94 95 96 >>>