Gruselige Benutzeroberfläche

Gruselige Benutzeroberfläche

Vor einigen Jahren habe ich mal nach einer Möglichkeit gesucht, einen USB-Stick zu bauen mit dem man mehrere Boot-Images starten kann. Leider ohne Erfolg.

Ideal fände ich eine Lösung bei der ich nur noch ISO-Files auf den Stick legen muss, meinetwegen noch mit einem Skript das die ISOs dann beim Bootloader anmeldet. So etwas scheint es aber nicht zu geben, und das scheint mit den gängigen Bootloadern auch nicht ohne weiteres möglich zu sein.

Jetzt habe ich mir aber ein Programm angesehen das der Lösung zumindest nahe kommt: mit Multisystem kann man sich einen Stick erstellen von dem mehrere Systeme gebooted werden können.

Größter Haken beim Bau des individuellen Sticks ist dabei die Benutzeroberfläche. Von weitem sieht die zwar nett aus, damit zu arbeiten ist aber wirklich eine Herausforderung. Und damit meine ich nicht dass es eine steile Lernkurve gibt weil das Programm komplex ist, sondern schlicht weil die Oberfläche nichts taugt. Dass man die Größe der meisten Fenster nicht verändern kann ist dabei das kleinste Übel…

Das Ergebnis zählt

Das Ergebnis zählt

Aber mit einem kleinen HowTo — wie es sich zum Beispiel im Ubuntu-Wiki findet — kommt man doch zum Ziel. So habe ich jetzt einen kleinen aber stabilen 8GB-Stick (SanDisk Cruzer Pop) im Portemonnaie von dem ich wahlweise Ubuntu, einen Debian-Installer oder mein bevorzugtes ich-muss-was-machen-ohne-von-CD-zu-booten-System Grml starten kann. Letzteres wird nicht aktiv von Multisystem unterstützt, das hat erst Probleme gemacht: die 96-Bit-Variante (ja, Grml hat sowas! :-D) tut’s nicht, stattdessen habe ich jetzt die 32- und die 64-Bit-Version auf dem Stick. Kommt am Ende auf’s gleiche raus.

Multisystem ‚weiß‘ wie es die einzelnen ISOs behandeln muss um sie mit einem zentralen Bootloader starten zu können. Dazu ist für jedes unterstützte ISO eine Konfiguration hinterlegt, man kann dem Programm also auch nicht beliebige Systeme vor werfen. Die Ubuntu-Images liegen jetzt einfach als ISO auf dem Stick, ich weiss nicht ob ich die einfach austauschen könnte. Grml wird wie ein ‚richtiges‘ Debian behandelt und komplett ausgepackt auf den Stick gelegt. Der Traum vom Stick mit mehreren bootfähigen ISOs ist also immer noch nicht erfüllt.

Alternativ habe ich mir übrigens auch MultiCD angesehen, aber nicht wirklich ausprobiert. Wenn ich das richtig verstehe kann man damit nur CDs oder DVDs bauen, keine Sticks.

Falls doch noch jemand eine Idee hat wie man den Stick so bestücken kann wie ich mir das vorgestellt hatte: immer her damit!

130205_raspberryZwei Fliegen mit einer Klappe: vorhin habe ich erst meinen neuen Arduino darauf getrimmt, mittels eines DHT11 die Luftfeuchtigkeit und die Temperatur zu messen. Um das mal ein paar Tage zu beobachten habe ich das Ding jetzt an meinen — ebenfalls neuen — Raspberry Pi gehängt.

Den Raspberry hatte ich schon vor ein paar Tagen in Betrieb genommen. Das Betriebsssytemimage (Raspbian, ein spezielles Debian-Derivat) ist schnell von der Homepage heruntergeladen, entpackt und auf die SD-Karte installiert. Eigentlich dachte ich, dass ich einen Samstagabend mit der Inbetriebnahme totschlagen könnte, die ganze Aktion war aber nach zwanzig Minuten durch. Fast schon enttäuschend… :-)

Mit dem Arduino hat das Ding jetzt sein erstes kleines Ämtchen bekommen: es misst Temperatur und Luftfeuchtigkeit. Die Daten werden dann von meinem Zabbix gesammelt und bei Bedarf visualisiert.

Das ist erstmal nur eine Spielanwendung, das ist keine dauerhafte Installation. Dafür wäre das mit Kanonen auf Spatzen geschossen. Sowohl für den Raspberry als auch für den Sensor habe ich andere Pläne. Aber trotzdem finde ich es nett zu sehen, dass man sich auf die Weise schnell mal eine netzwerkfähige Sensorik zusammenbauen kann. Nett!

Arduino Nano mit DHT11

Arduino Nano mit DHT11

Mit Mikrocontrollern an sich bastele ich ja schon ein paar Jahre herum. Die erste Schaltung war ein Bausatz mit allen Teilen, samt Platine. Mit Ausnahme eines Pollin AVR-Net-IO habe ich ansonsten meinen Kram immer selbst auf Platine verewigt. Die Arduino-Plattform fand ich zwar immer interessant, allerdings nie genug dass ich mir einen gekauft hätte.

Kürzlich habe ich eine Hand voll Sensoren gekauft, um damit zu spielen. Unter anderem einen DHT11, der hat eine Art One-Wire-Interface und gibt darüber die Temperatur und die Luftfeuchtigkeit aus. Dummerweise ist das nicht wirklich One-Wire, also nicht kompatibel zu dem was Dallas spezifiziert hat. So konnte ich das mit meinem Bus Pirate nicht ohne weiteres auslesen.

Um einfach mal zu sehen was der Sensor von sich gibt ist ein Arduino die perfekte Lösung: mit dem Arduino Nano und einem Steckbrett ist die Schaltung schnell zusammengesteckt (geplant hatte ich die ja letzte Woche schon :-) ). Die IDE ist auf meinem Arch Linux einfach aus dem AUR zu installieren, und die Bedienung ist trivial. Speziell für diesen Sensor hat Lady Ada ein hervorragendes Tutorial samt passender Bibliothek veröffentlicht, so konnte ich Heute nach kurzem Einlesen die Messwerte von der seriellen Schnittstelle ablesen.

Ich denke wenn ich wirklich ein Projekt verwirklichen will werde ich auch in Zukunft lieber selber basteln. Um aber nur mal schnell was auszuprobieren scheint so ein Arduino aber wirklich eine prima Plattform zu sein. Und für Einsteiger in die Materie sowieso. Meine Empfehlung!

Der Plan steht

Der Plan steht

Erstaunlich, dass ich mich damit noch nie befasst habe: Fritzing ist ein Programm mit dem man komfortabel kleinere Elektronikprojekte zeichnen kann. Und zwar nicht (nur) als Schaltplan.

Einsteiger in die Materie Elektronik sind meiner Ansicht nach gut beraten, sich ein Steckbrett und ein paar Bauteile zu kaufen und loszulegen. Will man denen vermitteln wie eine Schaltung auszusehen hat, oder wollen sie Fragen zu ihrem Projekt stellen, wird es schwierig. Ein ordentlicher Schaltplan würde vielleicht helfen, vom Steckbrett auf den Plan zu abstrahieren ist aber nicht jedermanns Sache.

An dieser Stelle kommt Fritzing zum Einsatz. Man kann mit der Software auch richtige Schaltpläne zeichnen, die besondere Stärke liegt aber im einfachen Zeichnen von Breadboards und den darauf aufgebauten Schaltungen.

Gestern habe ich beispielsweise einen Arduino Nano geordert. Sobald der hier ist werde ich die abgebildete Schaltung aufbauen, da ich etwas mit dem Sensor spielen möchte. Anhand des Bildes kann ich jedermann klar machen was ich vorhabe, und wie der Aufbau aussehen wird.

Meine größeren Schaltungen werde ich wohl weiterhin mit KiCAD zeichnen, trotzdem glaube ich dass â‚£ritzing meinen Werkzeugkasten auf jeden Fall bereichern wird.

Dass Unternehmen wie Facebook Daten zusammenführen und die merkwürdigsten Schlüsse daraus ziehen können war mir klar. Diese Seite sieht aber so aus als ob sich jeder dahergelaufene User dafür freischalten lassen kann. Ist das wirklich so? Wenn ja: erschreckend! Wenn nicht: auch erschreckend!

Wer sich keine Sorgen über sowas macht sollte sich mal genau ansehen wonach da (offenbar erfolgreich) gesucht wird: verheiratete User die irgendwo angegeben haben Prostituierte zu mögen sind da noch ein harmloses Beispiel… :evil:

Heute habe ich mich (unter anderem) mit einem Problem beschäftigt das auf den ersten Blick trivial aussieht. Ich zumindest habe bislang keine Lösung gefunden die mir wirklich gefällt. Mal sehen ob was dabei rauskommt wenn ich das hier ‚crowdsource’… :-)

Aufgabenstellung: Zähle, wie viele Prozesse eines bestimmten Programmes schon länger als 30 Minuten laufen.

Klingt einfach, oder?

Die Ausgaben von ps zu parsen erscheint mir dabei aber zu fehleranfällig. Da müsste man zu viel berücksichtigen: Prozesse die vielleicht länger als einen Tag laufen, Prozesse die über Mitternacht gelaufen sind… ich habe nicht getestet wie es aussieht wenn man an der Zeitzone rumspielt… Nein, das kann nicht der richtige Ansatz sein.

Meine erste echte Lösung sieht zwar hässlich originell aus, funktionierte aber im Test (zu Demozwecken suche ich mal nach meinem Firefox):

echo | killall -i --older-than 30m firefox 2> /dev/null | tr -cd '?' | wc -c

Mit -i ist killall ‚interaktiv‘, fragt also zu jedem gefundenen Prozess freundlich nach ob es zuschlagen soll. Mit dem reingepipten echo beantwortet es sich diese Frage immer negativ. Der Rest der Zeile zählt im Prinzip wie oft killall gefragt hat ob es töten soll.

Blöd ist, dass die auf einem etwas älteren RHEL laufen soll. Anders als bei Ubuntu kennt killall da die Option –older-than noch nicht.

Der zweite Lösungsansatz funktioniert leider nur auf den ersten Blick, dafür aber auch auf dem alten Red Hat:

find /proc/[0-9]* -maxdepth 1 -name status -mmin +30 | xargs egrep "^Name:\sfirefox$" | wc -l

Ich suche also alle Prozesse die schon länger als 30 Minuten laufen, und suche in deren status-Datei nach dem Namen meines Prozesses. Die Ergebnisse werden dann wieder gezählt. Alternativ könnte man statt in der status- auch in der cmdline-Datei suchen, in meinem echten Einsatz übersehe ich damit dann auch Zombies (die werden separat betrachtet). Leider funktioniert dieser Ansatz nicht wirklich zuverlässig. Es sieht so aus als ob der Kernel den Dateien im Proc-Verzeichnis bisweilen einen neuen Timestamp gibt — obwohl der Prozess nicht gestartet oder beendet wurde. Ein Schuss in den Ofen, also. :-(

Wie macht man sowas? Ich meine, wenn man eine zuverlässige Lösung mit Bordmitteln haben will? Gibt es da ein passendes Tool das ich noch nicht kenne? Oder hilfreiche Optionen für gängige Tools? Wenn ich die Suchmaschine meiner Wahl frage finde ich eine Menge Lösungen, aber die sind entweder auch wackelig, oder sie bestehen darauf direkt alles zu töten…

So sieht's aus

So sieht’s aus

Ich schrieb ja letzte Tage, dass wir jetzt unser Internet per Telekom LTE beziehen. Mit der Geschwindigkeit und der Verbindungsqualität bin ich immer noch extrem zufrieden.
Zwei Updates kann ich zu dem Thema geben: erstens wurde ich gefragt wie es mit automatischen Verbindungsabbrüchen aussieht. Die scheint es nicht zu geben. Vor drei Tagen habe ich selbst einmal die Verbindung getrennt um was auszuprobieren. Seitdem hat sich meine externe IP nicht geändert, und auch vorher hatte ich das nicht beobachtet. Mich persönlich würde das zwar nur in Ausnahmesituationen stören, aber wenn es nicht passiert: um so besser.
Und zweitens war ich auf der Suche nach einer Möglichkeit, mir anzeigen zu lassen wieviel meines monatlichen Datenvolumens ich verbraucht habe. Vor zwei Jahren hatte die Telekom sowas noch nicht, das war einer der Punkte die mir bei Vodafone besser gefallen hatten. In den Unterlagen die mir mit dem LTE-Zeug geschickt wurden habe ich keinen Hinweis gefunden. Wohl aber in einem Forumseintrag, und das ist genau was ich gesucht hatte: wenn man per LTE verbunden ist (keine Ahnung ob das auch mit UMTS geht) kann man unter pass.telekom.de genau die Informationen einsehen die ich gesucht hatte. Sehr schön, ich werde gleich mal die Seite mit meinem Zabbix bekannt machen… :-)