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

eigene Töne für das iPad

  • .mp3 oder .wav Datei zu iTunes hinzufügen (zu finden unter Musik)
  • als AAC Version speichern, durch rechte Maustaste auf den gewünschten Tönen
  • auf den AAC Versionen wieder rechte Maustaste und „Im Windows Explorer anzeigen“
  • *.m4a in *.m4r umbenennen und wieder zu iTunes hinzufügen (jetzt unter Töne zu finden)
  • iPad synchronisieren
  • danach sollte man auf dem iPad unter Einstellungen -> Töne die eigenen zur Auswahl haben

ssh + Aptana + subclipse

  1. install subversion on your server
  2. debian: apt-get install subversion subversion-tools

  3. create subversion repository
  4. svnadmin create /var/svn/repos

  5. add svn user and group
  6. adduser --home /path/to/repository --shell /bin/false --no-create-home --disabled-password --disabled-login svn

  7. change file rights and owner of the repository
  8. chown svn:svn /var/svn/repos
    chmod g+w /var/svn/repos

  9. add system (ssh) user to svn group
  10. install Putty suite (with PuttyGen and Plink)
  11. create key with PuttyGen
  12. install subclipse in Aptana/Eclipse
  13. setup Putty-Plink with key authentication for subversion config of Aptana/subclipse
    %APPDATA%[\Roaming\]Subversion\config
    [tunnels] section
  14. ssh = "/path/to/your/plink.exe" -2 -P <other_than_port_22> -i "/path/to/your/private/key/file"

  15. use this url for the repository configuration in subclipse
  16. svn+ssh://user@host/path/to/repository

  17. to access it under the unix console and also with MacOS X
    add to the [tunnels] section of ~/.subversion/config
  18. ssh+<your_ssh_port> = $SVN_SSH_<your_ssh_port> ssh -p <your_ssh_port>

  19. use this command to access the repository
  20. svn checkout svn+ssh+<your_ssh_port>://user@host/path/to/repository[/path/to/project]
    or local on the server
    svn checkout file:///path/to/repository[/path/to/project]

phpmyadmin und Probleme beim Import

Nach der Installation des phpmyadmin wollte ich eine Datenbank aus einem Backup importieren. Leider kam immer wieder die Meldung, „Die Datei konnte nicht gelesen werden“. Suhosin und post_max_size Einstellungen hatten auch keinen Effekt. Das einzige was geholfen hat war, dass man das tmp-Verzeichnis zu der open_basedir Konfiguration im virtuellem Host hinzufügt. Nur dann ist phpmyadmin in der Lage das tmp-Verzeichnis zu nutzen.

<Directory /var/www/pma>
...
php_admin_value open_basedir "/tmp/:/var/www/pma/"
...
</Directory>

Hilfreiche WordPress Plugins

  1. Captcha – Zum Schutz vor Kommentar Spam und Login Schutz
  2. Login LockDown – Login Schutz
  3. POST2PDF Converter – WordPress Artikel als PDF herunterladen
  4. Really simple Facebook Twitter share buttons – Share & Like Buttons
  5. Super Simple Google Analytics
  6. WordPress Database Backup
  7. WPtouch – angepasste Themes für Mobile Devices

Commodore 64 WordPress Theme

Die Tage noch ein schönes Theme für WordPress gefunden. Lustig ist der blinkende Cursor, was das Suchfeld ist.

Leider hat er noch ein paar kleinere Probleme:

  1. Wenn man den Commodore Theme als Child Theme einsetzt, muss man die Datei pie_input_grow.js auf jeden Fall ins Child Verzeichnis kopieren, sonst funktioniert das Suchfeld nicht.
  2. Im mitgelieferten C64 Zeichensatz sind Deutsche Umlaute anscheinend nicht enthalten.
  3. Einige Teile des Theme sind nur in Englisch.

Hier kann man ihn sich mal anschauen:

Commodore 64 Theme

Screenshot Commodore 64 WordPress Theme

Blog Update abgeschlossen

Das Update und Redesign des Blog sind endlich abgeschlossen. Bis auf ein paar Kleinigkeiten konnte ich das neue Blog so anpassen, dass es alles kann, was die alte Version auch konnte.

Wichtige Erkenntnisse waren, dass ein Child Theme unglaublich praktisch ist. Allerdings sollte man das als aller erstes machen, nachdem man das Blog installiert hat. Denn das umschalten des Themes hat zur Folge, dass alle hochgeladenen Kopfbilder nicht dem neuen Theme einfach zugeordnet werden können und man alle Bilder nochmal hochladen muss. Auch gehen die Widgets verloren, wenn man sie nicht vorher in den inaktiv-Bereich zieht.

Durchaus hilfreich war auch die Tatsache, dass man die Admin Bar von WordPress auch selber anpassen kann.

Für ein paar Sachen in der Sidebar einzubinden, war es notwendig, den Inhalt in einem iFrame zu laden. Leider passt sich so ein iFrame nicht automatisch an den enthaltenen Inhalt an. Dafür gab es allerdings auch Abhilfe im Netz. Einfach den Code der Seite in eine Datei packen, die iFrame ID’s in der Liste oben eintragen und mit den beiden unten stehenden Befehlen in der functions.php eintragen.

wp_register_script( 'dynIframeResize', get_template_directory_uri() . "path-to-your/javascript-file.js", '', '', false );
wp_enqueue_script( 'dynIframeResize' );

Der iFrame muss eine ID bekommen, das sieht dann etwa so aus:
<iframe src="any-url" id="myiframe" ...></iframe>

perl DBI und Oracle Fehler: ORA-24327

Gestern hat mir ein Fehler zu schaffen gemacht, zu dem im Internet nur unzureichende Lösungen zu finden waren.

DBI connect('host=<IP>;SID=<SID>;port=<PORT>','username',...) failed:
ORA-24327: need explicit attach before authenticating a user
(DBD ERROR: OCISessionBegin)

Das sagt ora-code.com

ORA-24327:	need explicit attach before authenticating a user
Cause:		A server context must be initialized
                before creating a session.
Action:		Create and initialize a server handle.

Was auch noch nicht ein wirklicher Hinweis auf das Problem ist. Ich glaube die Meldung will uns sagen, dass er keine Verbindung zur Datenbank aufbauen konnte. Nur leider ist das ja offensichtlich, da der Fehler, zumindest bei mir, beim Connect aufgetreten ist.

Dazu muss man wissen, dass es von dem Oracle Client 2 unterschiedliche Versionen gibt. Mit gleichem Funktionsumfang, allerdings mit kleinen, aber feinen Unterschieden.

  • Full Client
  • benutzt die tnsnames.ora

  • Instant Client
  • tnsnames.ora nicht notwendig

Dadurch ergibt sich für perl ein anderer Connection String.

    Die \ gehören nicht zum Code. Bei Verwendung bitte entfernen.

  • Full Client
  • $ora = DBI->connect
    (
      "dbi:Oracle:$ORA_SID","$ORA_USER/$ORA_PWD", ""
    );


    Wobei die $ORA_SID hier der Name des Servers in der tnsnames.ora ist.

  • Instant Client
  • $ora = DBI->connect
    (
      "dbi:Oracle:host=$ORA_SERVER;port=$ORA_PORT;sid=$ORA_SID", 
      $ORA_USER, $ORA_PWD, {ora_charset => 'UTF8'}
    );


    Hier reichen einfach die Angabe von der IP, Port und SID und es muss keine tnsnames.ora Datei vorhanden sein.

Das Problem bei mir war, dass der Server nicht den Standard Port 1521 genutzt hat, sondern auf 1527 lief. Damit kam der Instant Client Connection String nicht klar. Nur durch das ändern des Strings in den des Full Client, war es möglich, wieder eine Verbindung mit dem Server aufzubauen.

66,6

Meine Gastritis macht mir wieder zu schaffen und dadurch habe ich einiges an Gewicht verloren. Vor kurzem dachte ich, dass ich mit 66,6kg einen historischen Tiefstand an Gewicht unterschritten hatte. Heute musste ich mit Erschrecken feststellen, dass die Waage nur noch 66,1kg zeigte. Bei der Magenspiegelung hatten sie auch noch eine Hiatushernie festgestellt. Ein Darmspiegelung steht mir noch bevor…

Konsole

Wenn man mal nur eine Konsole zu Hand hat und dringend was von Wikipedia wissen möchte, kann man folgendes tun:

nslookup -q=txt babelfish.wp.dg.cx

Non-authoritative answer:
babelfish.wp.dg.cx text = „Babel fish may refer to: Babel fish, a fictitious species in The Hitchhiker’s Guide to the Galaxy books by Douglas Adams, Babel Fish (band), a Norwegian band who got their name from the Douglas Adams books, Babel Fish (website), a Yahoo! web translation s“ „ervice originally created by AltaVista, http://en.wikipedia.org/wiki/Babel_fish“

Aller Anfang ist schwer

Haus Nummer 28 0008Nachdem die Wohnung im Haus Nummer 28 jetzt schon ein paar Jahre leer steht und man sie so weder vermieten noch beziehen kann, habe ich vor kurzem damit angefangen, daraus wieder eine Wohnung zu machen. Zuerst musste der ganze alte Scheiss raus. Die Deckenvertäfelung, die Verlattung darunter und auch noch die alte Gipsdecke. Das ist soweit alles fertig. Demnächst kommt der Dachdecker und erneuert ein paar Fenster und bastelt mir eine schöne Gaube. Danach kann ich den Innenausbau beginnen. Ich hoffe, dass alle Arbeiten vom Dachdecker und Heizungsbauer bis Mitte/Ende des Jahres abgeschlossen sind, sodass ich über Winter den Innenausbau machen kann.

Es ist noch ein weiter Weg.

Mond erscheint so groß wie nie in diesem Jahr

Hamburg. Heute strahlt der größte und hellste Vollmond des Jahres am Nachthimmel. Der Mond erscheint bis zu 14 Prozent größer und 30 Prozent heller als andere Vollmonde 2008, erklärt die US-Raumfahrtbehörde Nasa. Besonders der Mondaufgang am späten Nachmittag sei beeindruckend. Die Wetteraussichten in Deutschland sind allerdings schlecht. Wolkenlücken bleiben die Ausnahme und könnten sich am ehesten noch im Westen auftun. Der Mond geht heute je nach Standort gegen 16 Uhr auf. Exakt um 17.37 Uhr erreicht er die Vollmondposition. dpa

saarbruecker-zeitung.de

Risikogruppe

Heute berichtet die Saarbrücker Zeitung, dass seit gestern eine verschärfte gesetzliche Regelung beim Thema selbst verschuldete Krankheiten gilt. Das bedeutet wer künftig mit einem Piercing, einer Tätowierung oder schönheitsoperiert zum Arzt geht muss befürchten, als Risiko-Patient bei der Krankenkasse denunziert zu werden. Seit 1. Juli gilt für Ärzte und Kliniken die Pflicht, Patienten bei bestimmten selbst verschuldeten Krankheiten den Kassen zu melden, damit diese dem Versicherten die Behandlungskosten in Rechnung stellen können. Das ist nicht nur meiner Meinung nach ein grober Verstoss gegen die ärztliche Schweigepflicht. Ausserdem denke ich, dass das nur der Anfang ist. Das Thema kann man ja unendlich ausdehnen und drängt die Mediziner in die ungewollte Rolle der Gesundheitspolizei.

Wie darf ich mir die Umsetzung vorstellen? Starke Raucher und Alkoholiker müssen ihre neuen Organe dann bei ebay schiessen und im Drive-through montieren lassen, weil sich keiner mehr die Behandlungskosten leisten kann, ausser die die sowieso vor Geld stinken und sich einen Scheiss und das Sozialsystem scheren?!?!

Oder noch besser finde ich ja, dass die Krankenkassen Rabatte geben, wenn man sich sportlich betätigt, aber einen dafür aber so richtig schön abkassieren, wenn dabei eine selbst verschuldete Krankheit auftritt.

So listet die SZ auf, was mit Genuss, Vergnügen, Erlebnis, Abenteuer und Spiel zu tun hat, mit Risiken verbunden ist:

  • Kosmetika können Allergien verursachen
  • bem Sport kommt es häufig zu Verletzungen
  • Sonnenbaden kann die Haut beeinträchtigen
  • Wein, Süssigkeiten Kaffe oder Zigaretten vermögen Krankheiten nach sich zu ziehen

Was heisst das denn Bitte? Ich soll aufhören mit Leben, nur weil man sich weh tun kann, wenn man täglich auf die Strasse geht? Ach, ganz vergessen habe ich ja noch, dass wir sparen sollen. Unseren Urlaub sollen wir uns sparen, wegen dem CO2 ausstoss des Fliegers, der mich in dei Sonne bringt. Ausserdem MUSS ich das Geld für Urlaub für meine Altersvorsorge zu Seite legen, denn das haben die Politiker auch schon versaut, dass ich von der staatlichen Altervorsorge nichts mehr bekommen werde…

Häh? Sonst gehts noch?!?! Kommt mir das nur alleine so vor oder wollen die uns alle verarschen?

Elektriktrick

Eigentlich wollten wir nur das Esszimmer neu tapezieren. Als dann die alte Tapete runter war, haben wir uns entschieden einige Schalter und Steckdosen zu versetzen oder neu zu machen. Bei der Gelegenheit mussten wir ältere Verteilerdosen öffnen. Da bot sich mir ein Bild des Grauens. Die Verdrahtung war noch vom Opa, der das Haus um 1940 gebaut hatte. Stoff ummantelte Kabel die verdrillt und dann mit Stoffband isoliert waren. Wenn man eines der Kabel angefasst hat, ist die Isolierung zerbröselt, so als hätte man ein 1000 Jahre altes Blatt Papier in der Hand. Also haben wir den Grossteil der gesamten Verkabelung getauscht, was mich das ganze Wochenende auf Trab gehalten hat. Dafür mussten wir natürlich auch noch jede Menge Schlitze neu machen. War ein Spass…

Microsoft 180° Wende?

Microsoft will sich öffnen

Die Initiative umfasst laut Ballmer vier Bereiche: Microsoft werde künftig offene Verbindungen gewährleisten, die Übertragbarkeit von Daten vorantreiben, Industrie-Standards umfassend unterstützen sowie sich offener mit den Anforderungen der Kunden und der gesamten Branche auseinandersetzen. Dies schließe auch die Open-Source-Gemeinschaft mit ein, die Microsoft bislang als Wettbewerber bekämpft hatte.

Update:
Microsofts Öffnung stößt auf Skepsis
Microsoft beruhigt Mitarbeiter
Ballmer kämpft um Dominanz
Vista-Neustart nach Fehlstart
Microsoft muss 1,7 Mrd. Euro Strafe abbüßen
Google bringt neues Konkurrenz-Produkt zu Microsoft heraus
Yahoo warnt vor Schäden durch Microsoft-Offerte

ISS und Columbus

41% von 880 Mio. Euro ist eine Menge Geld für einen Zweitwohnsitz. Allerdings sollte man der Fairness halber erwähnen, dass dieser die beste Aussicht bietet, die man derzeit für Geld bekommen kann…

welt.de

Die Gesamtkosten einschließlich der Testeinrichtungen: 880 Mio. Euro. 41 Prozent der Entwicklungskosten trug die bei „Columbus“ federführende Bundesrepublik.

welt.de: Europa schickt ein Labor in den Weltraum

welt.de: Astronaut Schlegel auf dem Rückflug zur Erde

zdf.de: Atlantis: „Abdocken bestätigt“ – Hans Schlegel nimmt Abschied von ISS

Die ISS ist grösste zivile Projekt der Menschheit. Schön, dass Europa jetzt ein fester Bestandteil davon ist.

Die neuesten Informationen zu dem Forschungslabor gibt es im Columbus Blog.