Sometimes even I, as cautionary as I am normally, must consult my audience. How to create and handle fucking tai64n-timestamps in PHP?
Filed under Code, Technology & no comments & no trackbacks
Falls mir jemand einen Gefallen tun möchte. Über dieses Buch würde ich mich sehr freuen.
Filed under Code, MySQL, Stored procedures, Technology, www & two comments & no trackbacks
Sometimes I feel like being one of the little who like PHP. But, one things which brings me to hell currently is the mysqli-extension. Not that it is not easy to use, there is one strange thing I’m fucked up with. If I read an Image-file via file_get_contents() and want to write it to a database, It’s sensible to use a BLOB-field. So far so fine. I guessed I have to do it this way:
$image_data = file_get_contents( "my_image.png" );
$database = new mysqli( "host", "user", "password" );
$database->select_db( "my_db" );
if( $statement = $database->prepare( "INSERT INTO my_table SET my_blob = ?" ) ) {
<strong>$statement->bind_param( "b", $image_data );</strong>
$statement->execute();
} else {
etc.mysqli::prepare(). So I guessed nothing wrong with it. But it seems to be wrong. If I use $statement->bind_param( "s", $image_data);, which means passing the value as a string, it works as expected. Is this a bug or can someone explain this strange behaviour to me?Filed under Code, MySQL, MySQL 5.0, mysqli, PHP & two comments & no trackbacks
I’m proud to provide a new Ejabberd-ebuild to our users. Ejabberd 1.1.1 comes with an important new feature: it supports MySQL natively. I fixed up PostgreSQL-issues in the ebuild and provide now the native drivers for MySQL and PostgreSQL Also I’m happy to mention that NU2M, the company which is involved in Mabber and for which I’m currently working for, is going to release some really interesting Jabber-components, especially for Ejabberd, during the next weeks.
Links
Filed under BreakMyGentoo, Ejabberd, Gentoo, Jabber, Linux, MySQL, PostgreSQL, Technology, www & no comments & no trackbacks
Seit ein paar Tagen gestartet und heute beim Kurzmeldungsgebastele für die Philtrat gefunden: Colonipedia, ein Stadtwiki für Köln.
Filed under Technology, www & four comments & no trackbacks
Gerade erstes Mal Ehrensenf geschaut. Kurz gesagt: schlecht. Länger: die Moderatorin hat einen schwäbischen Akzent, den sie nicht therapiert hat, sie erzählt langweilige Bush-Witze und ich habe mir zwei Folgen angesehen und nicht einmal gelacht.
Filed under Blogosphere, Ehrensenf, www & six comments & no trackbacks
Heute ist nun jener ominöse 150. Geburtstag Sigmund Freuds, mit dem kleinen Abstrich, dass er schon nicht mehr lebt. So komisch schon der Geburtstag im Konjunktiv klingt (»… wäre heute 150 Jahre als geworden«), so auch die Reaktionen. Anfang der Woche begann der Spiegel mit einem Titelthema und entdeckt die Wiedereinführung Freuds über die Neurologie, ein ähnlich seriöses Fach wie die Völkerkunde oder die Diplom-Psychologie. Zugleich bringt Spiegel Online einen deutlich anders konotierten Artikel, in dem man Freud vollkommene Bedeutungslosigkeit zuspricht. Grund dafür: er insistiere auf individueller Erfahrung, Psychologie sei aber Empirie. Die Salzburger Nachrichten sind sogar dumm genug, C. G. Jung gegen Freud ins Feld zu führen, jenen Hitler-Fan und Entdecker des »kollektiven Unterbewussten«, einer Art von höherem Wesen, dass jedem Volk innewohne. Bis heute ist er eine sichere Quelle für Esoteriker wie Bhagwan. Die FAZ verwendet ihn als Kronzeuge für konservative Kulturkritik, was immer dann möglich ist, wenn die Projektion die Feder führt.
Freud heute zu lesen hieße aber, seine Theorema so zu lesen, wie es ihm als radikalem aber bürgerlichen Denker pässlich ist: als Betrachtung der spezifischen Konsititution und -bedingungen des Subjekts und seiner Werdung. Die Widersprüchlichkeit Freuds löst sich deswegen nicht auf, eine angepasste Lesart wäre aber sowohl der Kontrapunkt zum Reflex gegen Freud als auch zur unsachgemäßen Vereinnamung.
Ähnlich wie es heute mit Freud geschieht, hat sich der kulturindustrielle Umgang mit Marx etabliert, seine Werke heute als Lehrbuch für bildungsferne BWL-Studenten zu vernutzen. Vergleichbar auch mit der Filletierung Adornos, vorrangig zu seinem 100. Geburtstag 2003 betrieben. Das übliche Verfahren: man zerlege einen Kritiker in seine Disziplinen und mache sie nutzbar für den Wissenschaftsbetrieb. Man nehme ihnen ihre Schärfe und mache sie eins mit dem Objekt ihrer Kritik. Freud widerfährt dies auch. Die Anbeter der Ontologie, die Damen und Herren Hirnforscher, gieren danach, Seit an Seit mit Freud jene biologischen Dispositionen zu attestieren, die den Kinderschänder zu einem solchen werden lassen.
Filed under Geburtstag, Politik, Sigmund Freud & eight comments & one trackback
Die meisten ominösen Preisverleihungen sind entweder belanglos oder abgekartet oder beides oder schlichtweg unsinnig. Manchmal bieten sie aber mehr, als ihr Rahmen normalerweise vergönnt. Der Beifall von der falschen Seite, die dann doch die richtige zu sein scheint, ist dabei das häufigste Unglück, dass den Geehrten ereilt. Der Förderverein Ökologische Steuerreform e.V., ungefähr so wichtig wie der Köln-Merheimer Kleingartenverein oder die katholische Kirche, verleiht den Adam-Smith-Preis an Jürgen Trittin, »einen der besten und mutigsten Umweltminister, den Deutschland je hatte«, so die schleimige Laudatio. Und weiter: »Kein Minister vor ihm hat die marktwirtschaftlichen Instrumente zum Umweltschutz so erfolgreich ausgebaut, wie er.« Als würde das jemand bestreiten wollen. In der Selbstbeschreibung des Preises heißt es dann: »Mit dem Adam-Smith-Preis für marktwirtschaftliche Umweltpolitik würdigt der FÖS jährlich besondere Verdienste für die Entwicklung oder Umsetzung marktorientierter Umweltinstrumente«. Das sind schöne Zeiten, in denen ein Linker bei den Grünen den Preis nach dem Vordenker des liberalen Unfugs verliehen bekommt, erleichtert es doch die Argumentation und falls Jürgen Tritten jemals auf die Idee käme, eine Buch mit dem Namen »Mein Herz schlägt auch links« zu verfassen, so würde man vielleicht schneller merken, dass das nur rein biologisch gemeint sein kann.
Adam Smith ist übrigens jener unangepasste Denker, der mit schlauen Sätzen wie »Mensch: ein Tier, das Geschäfte macht; kein anderes Tier tut dies – kein Hund tauscht Knochen mit einem anderen« eine eher zweifelhafte Disziplin einführte: das Malen nach Zahlen.
Dass ich die komische Sperrfrist des Karnickelzuchtvereins Ökologischer Steuersandkasten e.V. missachtete, tut mir furchtbar leid. Glauben die ernsthaft, das Ding habe, jenseits seiner Komik, Nachrichtenwert?
Filed under Adam Smith, Jürgen Tritten, Ökologische Steuerreform, Politik & one comment & no trackbacks
Zur aktuellen Wiederentdeckung bzw. von-der-Leyisierung der Lebensform Familie reicht es, Karl Kraus zu rekapitulieren:
»Das Familienleben ist ein Eingriff in das Privatleben.«Oder auch:
»Das Wort ›Familienbande‹ hat einen Beigeschmack von Wahrheit.«
Filed under Familie, Politik, Ursula von der Leyen & three comments & no trackbacks
If you use PHP for some years, you will often fight the same problems, which leads to a lot of unuseful work when implementing basic issues like a properly designed class to send mails in a sane way, parsing an INI-file, basic generating of PHP-code, logging to a file or database or an implementation for a persistant object. This components are often needed and you have to write them by yourself, if you want to work around the tranditional and outdated PEAR-packages. So, maybe some day, you have all the patterns you need and can begin to write code but how long does it take? Two years? For years? Not that sensible. So it raises productivity if you can use a set of components which are small, independent and designed for the current state of the language, means: PHP 5.1.x. eZ components by eZ systems fit this specification. You can solve the problems above and much more – analysing and modifying images, debugging, working with user input and, as surplus, you can work with PHP for shell-scripts with ConsoleTools.
As theory is supposed to be useless without practice, a small example for reading an INI-file. Let’s assume the following INI-file:
[context] foobar = Bla bla = blubb whatever = bar
$reader = new ezcConfigurationIniReader();
$reader->init('/path/to/your/config/dir, 'config' );
$config = $reader->load();
echo $config->getSetting( "context", "foobar" );Filed under Code, Components, Design patterns, ezComponents, Patterns, PHP, Technology, www & no comments & no trackbacks
Normally issues like aren’t my topic. Transcripting news from other sites is not minebut the new PHP-version of the 5.1-series provides some important fixes. Deprecation-notice when using the keyword »var« has been removed, so you can use Smarty in combination with PHP5 without the heap of error-messages, fixed buffer-overflow in wordwrap(), XSS-troubles in phpinfo() are fixed and safe-mode reflects itself and checks the first parameter of copy().
Filed under Code, PHP, Security, Technology, www & no comments & no trackbacks
PHP bietet von Haus aus keine Symbole. Ist es in Sprachen wie Ruby möglich, Symbole als Methoden-Argumente zu verwenden, so entfällt diese Möglichkeit in PHP. Dabei bieten Symbole im Gegensatz zu Werten oftmals große Vorteile: sie ermöglichen API-Stabilität, auch wenn sich die Funktionalität einer Klasse beständig ändert, denn das Zuweisen eines Wertes kann in der Klasse bzw. Methode geschehen. Auch wenn sie PHP nicht mitbringt, gibt es eine Möglichkeit, solche Symbole zu emulieren.
Erst einmal ein Beispiel in Ruby:
class Bla
def self.foobar( param )
print “Here we are!\n” if param == :sym
end
end
bla = Bla;
bla.foobar( :sym )
Nun bietet PHP seit der Version 5.0 bekanntermaßen ja Klassen-Konstanten, die sich für diesen Zweck recht praktisch missbrauchen lassen. Das bekannte Beispiel in PHP:
class Bla
{ const SYM = “bla”; public function foobar( $param ) { if( $param == Bla::SYM ) print “Here we are!\n”; }
}$bla = new Bla;
$bla->foobar( Bla::SYM );
Filed under Class-constants, Code, Constants, OOP, PHP, Ruby, Symbols, Technology & no comments & no trackbacks
Some months ago I ranted about Gentoo’s Ejabberd-ebuilds and I want to comment another issue: Ejabberd provides support for PostgreSQL via its ODBC-drivers. That’s reflected in the ebuild, there is a postgres USE-flag. That’s generally fine, but helps nothing, ’cause you need the native PostgreSQL-driver from the jungerl-distribution. But: there is no ebuild in portage. Whether you can’t find jungerl nor the native PostgreSQL-driver in portage, which makes the USE-flag buggy one the one hand and completely useless on the other hand. Is it common not to test functionality when adding a USE-flag?
Filed under Code, Ejabberd, Gentoo, Jabber, Linux, PostgreSQL, Technology, www & ten comments & no trackbacks