Colored bash prompt
with remote IP and load

function TTY
{
  tty|cut -d/ -f 3-
}

function whocount
{
  who | grep `whoami` | wc -l | awk '{print $1}'
}

function remote_ip
{
  if [[ "$SSH_CLIENT" != "" ]]
  then
    echo $SSH_CLIENT | awk '{ print $1" | " }'
  fi
}

function current_load
{
  cur_load=`cat /proc/loadavg | cut -d" " -f1`
  if (( `echo "$cur_load > 1.00" | bc` ))
  then
    echo -e "\e[0;31m$cur_load\e[0m"
  else
    echo -e "\e[0;32m$cur_load\e[0m"
  fi
}

export PS1="[\$(date +'%Y-%m-%d %H:%M:%S')] \$(current_load) | \$(remote_ip)\[\e[0;33m\]\!\[\e[0m\] \[\e[0;36m\]< \$(whocount)|\$(TTY)>\[\e[0m\] \[\e[0;31m\]\u\[\e[0m\]@\[\e[0;35m\]\h\[\e[0m\] \[\e[0;32m\]\W\[\e[0m\]\\$ "

Und so sie es aus:
colored_bash_prompt

Die Spalten der Reihenfolge nach:
Datum, Uhrzeit, load, remote IP (sofern vorhanden), aktuelle Position in der bash history, Anzahl der gleichzeitigen Logins des aktuellen Benutzers, aktueller Benutzer, host, letzter Teil vom Pfadnamen

mysql: Commands out of sync

Letztens kam ich an der php mysqli Fehlermeldung vorbei:

Commands out of sync; you can't run this command now.

Konkret war es bei mir ein select-Statement ausführen nach dem ausführen einer Prozedur mit Rückgabewert. Nach vielem hin und her und noch mehr googeln war keine vernünftige Lösung für das Problem zu finden. Alle Lösungen bezogen sich nur auf mysql_free_result(), was bei meiner Problemstellung keinen Unterschied machte. Nur ein mysqli_next_result($conn) hat die Meldung verschwinden lassen. Angeblich liefern Prozeduren zusätzlich zu dem letzten select-Statement noch ein weiteres Resultset zurück, das weiterführende Informationen zu der Ausführung enthält. Dieses muss man warscheinlich überspringen, damit das nächste Statement auf der gleichen Verbindung ausgeführt werden kann.

Hat nicht geholfen:

Wenn Commands out of sync; you can't run this command now in Ihrem Clientcode gemeldet wird, rufen Sie Clientfunktionen in der verkehrten Reihenfolge auf.

Dies kann zum Beispiel geschehen, wenn Sie mysql_use_result() benutzen und versuchen, eine neue Anfrage auszuführen, ehe Sie mysql_free_result() aufgerufen haben. Oder wenn Sie versuchen, zwei Anfragen, die Daten liefern, auszuführen, ohne dazwischen mysql_use_result() oder mysql_store_result() aufzurufen.

Quelle: mysql Dokumentation

Das einzige was bei mir geholfen hat, war

mysqli_next_result($conn);

vor dem ausführen des nächsten Statements auszuführen.

iOS 6 Zeitungskiosk vom Home-Bildschirm entfernen

Jup, funktioniert wie in der Anleitung. Zeitungskiosk auf die dritte Seite, Ordner wo es hin soll auf die zweite Seite und schwups, ist der vermaledeite Zeitungskiosk vom Home-Bildschirm verschwunden. Jetzt weiss ich auch, was er mit Fingerspitzengefühl meinte. Der Kiosk ist selbst nach einem Neustart noch in dem Ordner. Einziger Wermutstropfen ist, dass jetzt das iPad neu startet, bei dem Versuch den Zeitungskiosk zu benutzen.

20130530-000827.jpg

Menükarte

Der Küchenchef empfiehlt heute folgendes: Gegen schlechte Laune vom fiesen Wetter hilft was deftiges auf den Teller.

Ein paar schöne Häppchen, serviert von Andy Pressure auf dnbradio.com. Ein bischen geschunkel, dark&depp, Kommerz, Manu Chao. Für jeden was dabei, nur laut sollte es aufgetischt werden. Human Traffic 130

Noch warm ist der Mix von heute von Andy Pressure. Hab erst ein paar Minuten gekostet, die aber schon Lust auf mehr machen. Ich sag nur Prodigy… Human Traffic 131

Jetzt aber zurück zu schlechten Launeeeeee…