[Quicktip] Apache Ant sshexec Befehle per && kombinieren

Wenn man in einem Apache Ant Build Script bei einem sshexec mehrere Befehle aneinanderreihen möchte, dann kann man nicht wie von Linux gewohnt mittels “&&” konkatinieren – Ant wirft dann einen Fehler, dass ein & nicht von einem & gefolgt werden darf. Die Lösung ist sehr banal:

<sshexec host=”${host.name}” trust=”true” username=”${user}” password=”${pw}” keyfile=”${optional.keypair}” command=”command1 &amp;&amp; command2  &amp; &amp; command3″/>

[Quicktip] zypper refresh schlägt mit ‘connection failed’ fehl

Wenn man beim Aufruf von ‘zypper refresh’ folgende bzw. eine ähnliche Fehlermeldung erhält

Fehler beim Download (curl) für 'http://download.opensuse.org/distribution/11.1/repo/oss/content':
Fehlercode: 'Connection failed'
Fehlermeldung: 'Failed to connect to 2001:67c:2178:8::13: Das Netzwerk ist nicht erreichbar'

versucht zypper trotz aktiver ipv4 Verbindung über ipv6 seine Daten zu beziehen. Da die wenigsten von uns derzeit bereits mit aktiven ipv6 Verbindungen unterwegs sind, könnte folgender Tipp helfen:

gebt einfach

export ZYPP_ARIA2C=0

auf eurer (Suse) Linux Console ein und führt das refresh erneut aus – und siehe da, es wird laufen 😉

Der Parameter bewirkt eigentlich nur, dass zypper an Stelle von aria2c, was so eine Art wget ist, einen anderen Downloadmanager verwendet. Und das ist nötig, weil aria2c in einigen Konstellationen unbedingt ipv6 verwenden will…

[Quicktip] Vagrant zeigt plötzlich Config-Fehler beim Hochfahren einer VM

Beispiel:

"Vagrantfile:4:in `forward_port': wrong number of arguments (2 for 3) (ArgumentError)"

In solchen Fällen hat man evtl. vergessen, sein System zu updaten. Ein einfaches Update von Vagrant hatte das Problem bei mir sehr schnell gelöst:

gem update vagrant

[Einzeiler] Dateien nach einem String durchsuchen, aber nur, wenn ein zweiter String nicht vorkommt

Sorry für die verwirrende Überschrift, aber anders kann ich es nicht in einen Satz zusammenfassen 😉

mit grep alle Dateien im aktuellen Ordner rekursiv durchsuchen

Ihr wollt in einem Ordner inkl. Unterordner alle Dateien nach einer Zeichenkette durchsuchen? Dann verwendet folgendes Kommando:

grep -ir "das will ich finden" ./*

Der Parameter “i” bewirkt, dass bei dem zu suchenden Begriff nicht auf die Groß-/Kleinschreibung geachtet wird, das “r” sorgt dafür, dass der zu durchsuchende Ordner auch rekursiv, also mit allen Unterordnern, durchsucht wird.

grep mit einem NOT verwenden

Wollt ihr nun noch nach Wort Nummer 1 suchen, aber Wort Nummer 2 soll nicht in der gleichen Zeile vorkommen? Dann kommt folgendes Kommando zum Einsatz:

grep -ir "das will ich finden" ./* | grep -iv "das soll nicht in der gleichen Zeile stehen"

Wie ihr seht, filtern wir das Ergebnis des ersten grep einfach nochmal mit grep, wenden aber den Parameter “v” an. Dieser bewirkt, dass grep sich genau umgekehrt wie sonst verhält – es werden also alle Zeilen angezeigt, die das gesuchte Wort NICHT enthalten.

[Quicktip] Wie installiere ich “ar” unter Debian nach?

Debian Installationspakete (.deb) werden mit dem GNU Archiver zusammengepackt. Will man diese manuell entpacken, benötigt man “ar”. Dieses Tool ist eigentlich standardmäßig in Debian vorhanden. Sollte dies nicht der Fall sein – so ging es mir – geht die große Suche los. Nach einiger Recherche fand ich dann endlich das richtige Paket: “binutils”. Also ruft man folgenden Befehl auf:

aptitude install binutils

Und schon kann man “ar” verwenden.

F.Lux – und dein Rechner schont deine Augen

Seit einiger Zeit bin ich fleißiger Hörer der Nerdtanke, einem Podcast von Nerds für Nerds. In Folge 4 wurde ein Tool vorgestellt, welches die Bildschirmfarben eures Rechners an den aktuellen Stand der Sonne anpasst: F.Lux.

Was passiert da genau?
F.Lux prüft per Geolocation, an welchem Ort ihr euch befindet, wodurch die Zeit des Sonnenuntergangs bestimmt werden kann. Ist die Sonne untergegangen, dann ändert die App die Farbtemperatur (ist einstellbar, ich empfehle “Fluorescent”) eures Monitors in wärmere Farben. Dies geschieht entweder innerhalb von 20 Sekunden, oder einer Stunde. Dabei wird die Temperatur langsam gefadet, sodass die Augen sich daran gewöhnen können.

Was bringt das?
Die App Beschreibung sagt folgendes: Obwohl die Sonne am Abend untergeht, schauen wir, wenn unser Monitor mit normalen Farben betrieben wird, Abends in eine weitere Sonne. Dadurch denkt der Körper, dass die Sonne weiterhin scheint und kommt schlechter zur Ruhe – was in schlechtem Schlaf enden kann. Verwendet man F.Lux, erlebt man eine natürliche Abendröte bzw. angenehmere Farben und kann somit besser schlafen.

Sagen wir es mal so: ich hab nicht viel von der Erklärung gehalten. Allerdings muss ich sagen: Das Tool bringt wirklich was. Nach einer Woche Betrieb hab ich es testweise mal deaktiviert und hab bald einen Schock bekommen, wie grell das Bild auf einmal war. Natürlich kann man die Monitorhelligkeit anpassen, was aber nicht so viel bringt wie diese App. Probiert’s einfach mal aus.

ACHTUNG: Falls ihr in den Abendstunden Fotobearbeitung betreiben wollt, sollte das Tool natürlich nicht aktiv sein, weil ihr sonst Farben mit einem Rotstich habt. Dafür gibt’s einen eigenen Menüpunkt – und die Farbtemperatur wird für eine Stunde wieder auf “normal” gestellt.

Sehr geiles weiteres Feature: solltet ihr ein iPhone mit Jailbreak betreiben, so gibt es die App dafür auch im Cydia Store. Sonst gibt es Versionen für Mac, Windows und Linux.

Links
Nerdtanke
F.Lux

Linux direkt in einem Browser booten

Es gibt immer wieder diese Momente, die mich einfach nur staunen lassen. Wie jetzt z.B., wenn ich einen kompletten PC Simulator auf Basis von Javascript sehe, der direkt in einem Browser läuft und Linux bootet. Was ist das für ein krasser Scheiss?

Wenn man sich ein bisschen mit PC Technik auskennt, dann kann man erahnen wie komplex es sein kann, so etwas zu simulieren. Und dabei wird nicht irgendeine “simple” CPU simuliert – es handelt sich um eine 32 Bit x86 kompatible Implementierung. Da wird also ein Prozessor simuliert (hier natürlich trotzdem in stark eingeschränkter Form), wie er heute noch in sehr großen Teilen zum Einsatz kommt. Theoretisch könnte man darauf auch Windows laufen lassen.

Was erstmal wie ne Spielerrei aussieht, kann durchaus einen Nutzen haben. So ist das System in erster Linie sehr gut für Javascript-Engine-Benchmarks geeignet, aber auch, um etwa x86 Librarys direkt auf dem Clientrechner laufen zu lassen und mit ihnen per API zu kommunizieren. Konkret könnte eine Webseite das System einbinden, und dann per API auf Verschlüsselungsfunktionen von z.B. Linux zurückgreifen. Das ermöglicht eine sichere Verschlüsselung direkt auf dem Clientrechner, bevor die Daten zum Server gesendet werden…

Live ausprobieren könnt ihr das System hier – natürlich mit einem relativ aktuellen Browser…:
bellard.org/jslinux

Technische Details zum System findet ihr hier:
bellard.org/jslinux/tech.html