Server down!

Posted 27.05.2010 um 13:33 von badboy_ - 0 Kommentare

Oops....gestern Abend war der Server hier down, scheint nun aber schon wieder ein paar Stunden zu laufen. Dank init.d und monit lief auch gleich alles wieder so wie es soll :) (bis auf mein irssi, das soll aber so).

Im Forum von netcup stand gestern, dass wohl der ganze Node down war, ich werd aber jetzt auch nochmal nachgucken, ob ich mehr Infos krieg.

3dsupply verschenkt T-Shirts

Posted 24.04.2010 um 02:26 von badboy_ - 0 Kommentare

Durch bebl hab ich gerade erfahren, dass 3dSupply mal wieder eine coole Aktion startet, wo dann auch noch T-Shirts verschenkt werden.

Dabei kann man sich diesmal das T-Shirt sogar selbst aussuchen, ich habe mich spontan für "Have you tried turning it off and on again?" (ein Zitat aus "The IT Crowd") entschieden, welches man hier findet:

Have you tried turning it off and on again?

Wer selbst ein Blog besitzt, kann natürlich auch mitmachen und ein tolles T-Shirt absahnen ;)

Links 1

Posted 23.04.2010 um 18:50 von badboy_ - 1 Kommentar

Zig Links im Blog? Für mich sind sie gleichzeitig eine Möglichkeit für mich, diese Links irgendwo zu speichern. Zum anderen kann ich aber so interessante im Netz gefundene Sachen verlinken.

Die nun hier präsentierten Links sind teilweise nicht ganz neu, aber nichts desto trotz interessant.

OpenSSL 1.0 und Ruby 1.8.7

Posted 10.04.2010 um 16:18 von badboy_ - 0 Kommentare

Am 29. März wurde OpenSSL in Version 1.0 veröffentlicht.

Arch Linux hat die aktuelle Version nun seit 3 Tagen in den offiziellen Repos. Damit einhergehend mussten zahlreiche gegen OpenSSL gelinkte Pakete neu gebaut werden.

Das ganze lief auch problemlos ab, alle Pakete wurden auch bei mir erfolgreich aktualisiert.

Nur bei den selbstkompilierten Paketen hatte ich dann natürlich Probleme. Das Problem mit Mutt erledigte sich schnell, im AUR findet sich schon ein Patch dazu.

Da bei Arch Linux inzwischen Ruby 1.9.1 als offizielle Version in den Repos ist, habe ich mir Ruby 1.8.7 selbst kompiliert. Das wollte aber auf Anhieb nicht neu kompilieren, es trat ein ähnlicher Fehler auf, wie schon bei Mutt. Aber genau das hab ich jetzt auch erfolgreich weggepatcht.

Nun läuft hier wieder Ruby 1.8.7-p249, gelinkt gegen OpenSSL 1.0

Und damit auch andere was davon haben, hier das PKGBUILD und der Patch:

Edit: irgendwas hab ich kaputt gemacht.

PKGBUILD und Patch

Ich glaub, dass könnt ich auch nochmal ins AUR stellen.

i3-ipc

Posted 14.03.2010 um 14:27 von badboy_ - 0 Kommentare

Endlich komm ich mal dazu über mein neuestes Projekt zu bloggen.

Seit längerem gibt es das IPC-Interface bei i3, mit dem Commit 3db4890 unterstützt das i3 IPC-Interface nun auch Events.

Seit dem das IPC-Interface eingebaut ist, gibt es auch i3-msg, ein kleines Clientprogramm, was Kommandos an den Fenstermanager sendet.

Da die Interprozesskommunikation aber über ein einfaches UNIX Domain Socket funktioniert, ist es ein leichtes Clients dafür zu schreiben.

Und genau das habe ich nun mit i3-ipc gemacht.

Zum einen ist da das simple CLI-Skript. Das funktioniert ähnlich wie i3-msg und sendet ein Kommando oder fragt nach den Workspaces.

$ i3-ipc "exec xterm"
{"success"=>true}
# xterm opens
$ i3-ipc -t1 -p
[{"num"=>1,
  "name"=>"1",
  "visible"=>false,
  "focused"=>false,
  "rect"=>{"x"=>0, "y"=>0, "width"=>1280, "height"=>800},
  "output"=>"LVDS1"},
...

Das zu installieren ist ebenfalls einfach:

curl -s http://github.com/badboy/i3-ipc/raw/master/i3-ipc > i3-ipc &&
chmod 755 i3-ipc &&
mv i3-ipc /usr/local/bin/i3-ipc

Wenn Arch Linux nutzt (so wie ich), ist es sinnvoll, dass Skript mit Pacman zu installieren. Dafür gibt es das AUR-Paket:

curl -s http://aur.archlinux.org/packages/i3-ipc/i3-ipc/PKGBUILD > PKGBUILD &&
makepkg -i

Aber damit nicht genug, man will ja auch die Events nutzen. Mittels der Events wird die direkt in i3 implementierte Workspace-Bar am unteren Rand des Bildschirms wohl bald optional.

Um i3-ipc zu diesem Zwecke zu nutzen, braucht man das Gem:

gem install i3-ipc

oder man klont halt das Repository:

git clone git://github.com/badboy/i3-ipc.git

Dann kann man damit arbeiten. Das Grundgerüst sieht dabei dann so aus:

I3::IPC.subscribe [:workspace] do |em, type, data|
  # ...
end

Um nun zum Beispiel auf einen Wechsel der Workspaces zu reagieren, nutzt man folgenden Code

I3::IPC.subscribe [:workspace] do |em, type, data|
  case type
  when I3::IPC::MESSAGE_REPLY_GET_WORKSPACES
    data.each do |e|
      if e["focused"]
        puts "focused: %s" % e["name"]
      else
        puts "unfocused: %s" % e["name"]
      end
    end
  when I3::IPC::EVENT_WORKSPACE
    em.send_data I3::IPC.format(I3::IPC::MESSAGE_TYPE_GET_WORKSPACES)
  end
end

Das vollständige Beispiel findet sich im examples-Ordner und wird folgendermaßen ausgeführt:

ruby dzen2-workspace.rb | dzen2 -ta l -dock

TADA! schon habt ihr eine Liste am unteren Rand:

dzen2 workspace list dzen2 workspace list

Nett, oder? ;)