Zitat des Tages

Written by  on Juli 24, 2017

Weiche, feuchte Geräusche waren zu hören. Bran merkte, dass sie sich küssten. Er sah ihnen zu, mit großen Augen und ängstlich, und ihm stockte der Atem. Der Mann hatte seine Hand zwischen ihren Beinen, und er musste ihr wohl Schmerzen bereiten, denn die Frau begann zu stöhnen, tief und aus der Kehle.

Zitat des Tages

Written by  on Juli 9, 2017

Doch niemand kann in die Zukunft sehen. Drei Jahre später muss das Modul mit anderen Unterroutinen zusammenarbeiten, die es bei seiner Geburt noch nicht gab. Fünf Jahre danach treten die Original-Bedingungen, für die es geschrieben wurde, vielleicht gar nicht mehr auf, aber da der erste Programmierer gut getestet hat, ergeben sich auch unter anderen Voraussetzungen keine Fehler. Noch. Irgendwann testet die Wirklichkeit die bis dahin unbekannten Grenzen der Programmierung, und dann kommt es zum Crash. Martin sollte dabei helfen, dass dieser Absturz nicht in 3000 Metern Tiefe stattfand.

Zitat des Tages

Written by  on Juli 8, 2017

Am Anfang steht eine Routine, die unter ganz bestimmten Bedingungen ein definiertes Ergebnis erzeugen soll. Die testet der Programmierer unter diesen Bedingungen, und wenn er schlau ist, probiert er auch aus, was unter anderen Bedingungen passiert, soweit er die Phantasie hat, sich diese anderen Bedingungen vorzustellen.

Zitat des Tages

Written by  on Juni 18, 2017

Valkyrie und damit auch ihre Steuerungssoftware waren seit über 20 Jahren in Entwicklung. Die wechselnden Programmierer hatten den Code zwar sehr gut dokumentiert. Dazu musste er Stone bei nächster Gelegenheit gratulieren, denn das war nicht der Normalfall. Allerdings hat Software die natürliche Eigenschaft, stets komplexer zu werden.

Zitat des Tages

Written by  on Juni 14, 2017

Ein paar Memory Leaks hier, eine Race Condition da, daran war doch noch niemand gestorben, wie seine Mutter gesagt hätte. Allerdings war schon öfter daran jemand gestorben, seit Software-Entitäten in kritischen Bereichen autonom agieren durften.

Zitat des Tages

Written by  on Mai 16, 2017

Die ganze Situation war ihm unangenehm: Rose war ja nicht nur eine Kollegin, sondern auch eine Frau. Und allein deswegen schon höchst eigen … Warum zum Teufel musste eigentlich mit Frauen immer alles, so kompliziert sein? War es nicht immer dasselbe? Man gab sein Bestes, und die Frauen verstanden einen einfach nicht.

Zitat des Tages

Written by  on April 26, 2017

Michelles Selbstbewustsein hatte zum ersten Mal einen Knacks bekommen, als sie in großer Runde behauptet hatte, Ebola sei eine Stadt in Italien. Später am Abend hatte sie sogar noch eines draufgesetzt mit der Bemerkung, die Vergangenheit sei schwarz-weiß gewesen, das könne man ja in den ganz alten Filmen noch sehen.

ROT13 bash

Written by  on April 23, 2017

Also auf die Idee bin ich noch nicht gekommen, einen ROT13 einfach mit ‚tr‘ zu erzeugen:

echo "Hallo Welt" | tr [a-zA-Z] [n-za-mN-ZA-M]
Unyyb Jryg
echo "Unyyb Jryg" | tr [a-zA-Z] [n-za-mN-ZA-M]
Hallo Welt

SQL Query in Crontab

Written by  on April 16, 2017

Soll ein Cronjob eine SQL Query ausführen, läuft man schnell in ein Problem. Das Prozenzeichen % hat eine Sonderbedeutung in der Crontab. Es erzeugt einen Zeilenumbruch. Das folgende Beispiel funktioniert niemals, weil der Suchbegriff falsch interpretiert wird und ausserdem alles nach dem Suchbegriff abgeschnitten wird:
Hier ein Beispiel:

mysql -e "SELECT * FROM users WHERE name LIKE a%;" database

Ich konnte diesen nicht wirklich schönen Workaround dafür finden.

echo "SELECT * FROM users WHERE name LIKE a\%;" | sed -e 's|\\||g' | mysql database

Das Prozenzeichen wird vor Cron geschützt. sed löscht das quote Zeichen wieder, bevor es an die Datenbank weitergeschickt wird.
Für ganz einfache Dinge reicht das. Ich empfehle aber trotzdem gleich ein Script zu erstellen. Dadurch wird dieser komplexe Teil unnötig und insgesamt besser lesbar.

Powershell Stringverwendung

Written by  on April 10, 2017

Ein Script verhält sich anders auf Windows 2008 und Windows 2012? Scheinbar hat sich die Stringverarbeitung leicht verändert. Wo unter 2012 eine Variable aufgelöst wird, passiert das unter 2008 nicht:

Windows 2008 R2

$A="IchBinEineVariable"

echo "-p$A"
-pIchBinEineVariable

echo -p"$A"
-p"$A"

echo -p$A
-p$A

Windows 2012 R2

$A="IchBinEineVariable"

echo "-p$A"
-pIchBinEineVariable

echo -p"$A"
-pIchBinEineVariable

echo -p$A
-p$A