Wie bereits berichtet hat CodeGear/Borland eine neue Entwicklungsumgebung für PHP heraus gebracht. Da ich früher sehr gern mit Delphi gearbeitet habe und eigentlich immer begeistert war, habe ich mir sofort eine Studentenversion für 99,- bestellt. Mein Ziel war es bei der Entwicklung meiner beiden WordPress-Plugins Counterize II und WP-Referencesmap etwas mehr Unterstützung durch eine IDE und einen Debugger zu erhalten. Gleich vorab: dieses Ziel kann Delphi for PHP leider nicht erfüllen.
Die Verpackung
Schon beim Öffnen der Verpackung habe ich mich gewundert. Früher gab es bei Delphi immer eine nette Box mit einigen kleinen Beilagen (wie z.B. einem Poster). Diesmal gab es jedoch nur eine einfache DVD-Hülle. Das Cover ist total verpixelt – die meisten privaten Raubkopien werden mit besseren Druckern gedruckt.
Die Installation
Die Installation der Delphiversion auf meinem Windows XP Rechner verlief absolut problemlos – einzig die zwingende Registrierung war etwas unangenehm.
Die ersten Eindrücke
Nach dem Starten zeigt sich Delphi for PHP mit einem leeren Formular und gewohnten Tools wie CodeExplorer, Toolbox und ObjectInspector. Delphi liefert auch eine große Palette von PHP-Controls in der kostenlos verfügbaren „VCL for PHP“ mit. Diese ist komplett in PHP 5 geschrieben und demnach wohl auch nicht abwärtskompatibel. Bis hierhin sieht alles ganz normal aus. Delphi unterteilt sich in die zwei Ansichten Designer und Code-Ansicht.
Code vs. Designer
Im Designmodus kann man Komponenten auf seinem Formular platzieren und im ObjektInspektor die Eigenschaften editieren. Delphi legt dafür im Hintergrund ein XML-File für das gesammte Webprojekt an, in dem alle Eigenschaften der Formularkomponenten (Höhe, Breite, Position, …) gespeichert werden. Zur Laufzeit wird dieses File aufgeparst und die Werte auf die Komponenten gesetzt. Bei meinen Test bekam ich jedoch schon nach ein paar Minuten die ersten Fehlermeldungen im Designer – dabei wollte ich nur ein TabSheet etwas nach rechts verschieben.
Passend dazu: Mens Slim Contrast Tee “Generation beta”
Da heute ja alles eine Beta ist.. » 17.90 EUR
Weitere Produkte gibt es im Shop.
Im Code-Editor kann man den PHP-Quellcode editieren. Bei einem Formular legt Delphi auch gleich etwas Quellcode mit an. Syntax-Highlighting und Code-Vervollständigung wird natürlich unterstützt. Man kann Breakpoints setzen und mit F9 das Programm auf dem Testwebserver starten.
Der Designer arbeitet streng mit der VCL und dem XML-File der Properties. Eigene alte Quelltextfragemente können nicht visualisiert werden. Somit kann ich den visuellen Designer nur für neue Projekte verwenden bzw. ich müsste meinen gesammten Code in VCL-Komponenten portieren.
Remote-Debugging
Nun wollte ich gleich richtig einsteigen, aber zu meinem Bedauern kann Delphi for PHP kein Remote-Debugging – was übrigens nirgends auf der CodeGear-Seite oder in der sehr knappen Hilfe beschrieben ist. An dieser Stelle brach für mich eine Welt zusammen. Delphi liefert zwar standardmäßig einen Entwicklungswebserver mit, ähnlich wie die Cassini-Version bei ASP.NET, aber Remote-Debugging wird (zur Zeit) nicht unterstützt. Schlimmer noch – der Assistent zum Exportieren des Webprojekts exportiert zwar neben dem eigenen Code nur den tatsächlich benutzten Teil der VCL, bietet jedoch keine Möglichkeit des FTP-Uploads. Ich meine selbst mit meinen PsPad kann ich Quelltexte remote editieren.
Somit müsste ich meinen gesamten WordPress-Blog (samt mySQL-Datenbank) nochmal auf meinem lokalen Entwicklungs-Rechner spiegeln und Änderungen manuell mit meinem FTP-Programm hochladen. Team-Entwicklung fällt damit wohl auch flach.
Datenbank-Anbindung
CodeGear liefert standardmäßig neben dem Entwicklungsserver noch eine Testversion von InterBase mit. Diese kann man für eigene Testzwecke nutzen – vor dem Deployment muss InterBase jedoch lizensiert werden. Was soll das denn? Da liefern die eine Datenbank mit und dann darf ich die nicht benutzen? Mal davon abgesehen, dass natürlich mySQL der eigentliche PHP-Partner ist.
Fazit
Delphi for PHP hat sich für mich leider als absoluter Fehlkauf erwiesen. CodeGear/Borland hat einfach von der Firma qadram das Qstudio genommen und einen schönen Delphi-Sticker draufgeklebt. Ich habe mich von dem guten Namen und der Möglichkeit PHP in einer IDE zu nutzen blenden lassen. Dabei ist der Designer noch nicht komplett bugfrei, Remote Debuging wird nicht unterstützt, die Hilfe ist sehr sehr kurz und die Sache mit InterBase ist wirklich eine Frechheit. Für mich hat Borland hier alle Sympathien verspielt. Das Programm ist noch lange nicht marktreif und den Namen Delphi hat es schon gar nicht verdient.
Nachdem ich mich ja schon eine ganze Zeit lang mit ASP.NET und Visual Studio beschäftigt habe, muss ich sagen: Das ist ein Unterschied wie Tag und Nacht. Für mich stellt sich nun die Frage: Wie bekomme ich mein Geld zurück – Software ist ja leider vom Umtausch ausgeschlossen.
Jetzt werde ich mir also doch die Eclipse-PHP-Versionen (wie z.B. PHPEclipse) ansehen müssen…
Filed under: Steffen — Steffen Forkmann at 18:43 Uhr
Wie bereits berichtet, startete gestern das 1. Universitätspokerturnier der Martin-Luther-Universität in Halle mit geschätzten 170 Teilnehmern. Für mich persönlich lief es bei diesem vom StuRa organisertem Event eher mittelmäßig. Während ich mich in der ersten Runde eher im Mittelfeld meines Tisches befand konnte ich dann anfangs der der zweiten Vorrunde etwas mehr Druck aufbauen. Da man jedoch die Chips der ersten Runde mitnehmen musste, hatten wir eine deutliche Chipleaderin am Tisch. Die Chipleaderin spielte ihre Position souverän herunter, so dass ich einmal mit 2 Assen auf der Hand nichts tun konnte um sie aus dem Pott zu kaufen. Auf dem River kam dann natürlich auch noch ihre passende dritte 9 – Schade. Diese Aktion machte mich dann zum ShortStack am Tisch. Meine Strategie war nun auf eine passende All-In Situation zu warten. Diese kam dann auch relativ schnell – 15 Outs für mich nach dem Flop – leider kam keine passende Karte. So war dann 01:30 in der Nacht für mich Schluß.
Insgesamt war das Turnier recht gut organisiert – nur die Blindstufen wurden von der Mehrheit kritisiert.
Nachtrag: Hier gibt es noch einige Bilder vom Turnier.
My new WordPress-Plugin “WP-ReferencesMap” will be released within the next weeks – but i’m searching some beta testers. WP-ReferencesMap allows you to geocode references and show them on a GoogleMaps-Control. Warning: Creating default object from empty value in /www/htdocs/w007928a/blog/wp-content/plugins/wp-referencesmap/GoogleMapsWrapper.php on line 55
Warning: Creating default object from empty value in /www/htdocs/w007928a/blog/wp-content/plugins/wp-referencesmap/GoogleMapsWrapper.php on line 55
Mein PlugIn Counterize II hat mir gestern um 10:43 den 100.000 Besucher von über 51.000 verschiedenen IP’s angezeigt. Das PlugIn zählt die Zugriffe seit Oktober 2006 – Feedzugriffe werden jedoch nicht gezählt.
Filed under: Mathematik — Steffen Forkmann at 15:36 Uhr
Die mathematische Projektarbeit zur Fisher-Gleichung von Matthias Enders, Sebastian Wolf und Steffen Forkmann ist ab jetzt zum Download verfügbar. Hier ein Auszug aus der Einleitung:
“Die Fisher-Gleichung, auch als Kolmogorov-Petrovsky-Piscounov-Gleichung (KPP- Gleichung) bezeichnet, wurde im Jahre 1937 von Andrei Nikolaevich Kolmogorov (1903-1987) und Sir Ronald Aylmer Fisher(1890-1962) unabhängig voneinander untersucht.
Fisher nutzte sie, um die Ausbreitung eines vorteilhaften Gens innerhalb einer Population zu beschreiben. Die Gleichung vereint logistisches Wachstum mit einem Diffusionsterm in einer partiellen Differentialgleichung. Neben der Beschreibung von chemischen Reaktionen wird die Fisher-Gleichung heute vor allem dazu genutzt, die Invasion einer oder mehrerer Spezies in ein neues Gebiet zu modellieren.
Dieses Thema ist in der heutigen globalisierten Welt von großer Bedeutung, da durch den hohen Waren- und Personenverkehr immer öfter Organismen in vollkommen fremde Habitate eingeschleppt werden. Diese sogenannten Neobiota können bei fehlenden natürlichen Feinden weitreichende ökonomische und ökologische Schäden anrichten, wie aktuelle aber auch historische Beispiele zeigen.
Das wohl bekannteste Beispiel ist die Kaninchenplage in Australien, welche große Schäden in der Agrarwirtschaft verursacht hat. Das Aussetzen von nur 24 Kaninchen zu Jagdzwecken führte nach kurzer Zeit zu einer massiven Vermehrung der Kaninchen über den gesamten Kontinent. Aufgrund der Schwere der Massenvermehrung und den dramatischen Ernteverlusten wurde zwischen 1901 und 1908 sogar ein über 3000 km langer kaninchensicherer Schutzzaun (“Rabbit-Proof-Fence”) gebaut.
Als weiteres Beispiel für invasive Arten sei die aus Afrika stammende “Gelbe Spinnerameise” (Anoplolespsis gracilipes) gennant, die auf der Weihnachtsinsel im Pazifik innerhalb von nur eineinhalb Jahren circa drei Millionen Krabben getötet hat und den Fortbestand dieser und einiger anderer Arten akut bedroht.”
Im weiteren geht es um die mathematische Modellierung, die Analysis und die Simulation der Fisher-Gleichung.
Im Rahmen des Microsoft Student Program werde ich am 03.05.2007 in der Berliner Niederlassung von Microsoft einen Vortrag zu Microsoft Dynamics Nav halten.
Im ersten Teil des Vortrags werde ich eine Einführung in Navision geben und einige grundlegende Konzepte erklären. Im zweiten Teil werde ich dann tiefer in die Programmierung tauchen und ein Gruppierungskriterium in die Standard Verkaufsbuchungsroutinen einbauen.
Die Vortrags-Slides wird es dann hier natürlich zum Download geben.
Warning: Creating default object from empty value in /www/htdocs/w007928a/blog/wp-content/plugins/wp-referencesmap/GoogleMapsWrapper.php on line 55
Filed under: Lustiges — Steffen Forkmann at 17:02 Uhr
Endlich habe ich das Video von Microsofts “Share Your Pain”-Kampagne (WSYP) bei YouTube gefunden. Hier kann man sehen, was passiert wenn man den Fehlerbericht beim Windowsabsturz an Microsoft sendet. Was soll ich sagen – mir hilft das sehr viel zu wissen, dass andere meinen Schmerz teilen 😉
Am besten finde ich übrigens den Typen vom WE-SYP Smart Chair Team – ich hoffe mein Chef kauft nicht auch solche Dinger…
Vor gut einem Monat fielen mir in der Statistik der von mir betreuten Seite der S&H GmbH einige Ungereimtheiten auf. Durch mein Counterize II konnte ich sehen, dass in unregelmäßigen Abständen (aber ca. einmal pro Stunde) Besucher von ganz bestimmten Referer-Adressen kamen. Die Urprungsseiten waren irgendwelche “Suchportale”, die nur aus einem Suchfeld und Google-AdWords-Anzeigenblöcken bestanden. Die protokollierten Zugriffe kamen immer von unterschiedlichen IP’s, so dass ich am Anfang nicht an Betrug dachte.
Nach einer Weile jedoch stellte ich fest, dass NIE auch nur einmal auf der S&H-Seite irgendwo hin geklickt wurde. Auch der Suchbegriff der angeblich in dem Portal einmal pro Stunde eingegeben wurde, war sehr ungewöhnlich. Mein AdWords-Account sagt, dass dieser Begriff vielleicht alle 2 Wochen mal bei der normalen Google-Suche angeklickt wird. Jetzt stand für mich fest: Das sind keine “echten” Benutzer sondern Bot-Netzwerke, die auf Kosten der AdWords-Kunden reichlich Kohle abzocken.
Ich schaute also in meine AdWords-Einstellungen und versuchte die Seiten über das angebotene Tool zu blocken. Ohne Erfolg. Also schrieb ich eine Beschwerde an Google. Nach einigen langatmigen Mails stellte sich heraus, dass die betreffenden Portale keine AdSense-Anzeigen (Content-Werbenetzwerk) geschaltet haben, sondern Teil des offiziellen Google-Suchnetzwerkes sind.
“Unsere Techniker haben zweifelsfrei festgestellt, dass Ihre Anzeigen vom 1. Februar bis zum 15. März nicht auf der von Ihnen übermittelten Seite im Content-Werbenetzwerk angezeigt wurden. Sie haben Ihre Anzeige auf dieser Seite gesehen, weil Sie Teil des Such-Werbenetzwerkes ist.”
Es gibt jedoch keine Möglichkeit Anzeigen für bestimmte Seiten im Suchnetzwerk zu blockieren. Man kann nur das gesamte Suchnetzwerk abschalten – das bedeutet dann aber auch keine Anzeigen mehr bei den großen Anbietern wie T-Online, Tiscali, Freenet, Chip.de usw.
Auf meine Beschwerde hin bestritt Google auch den Manipulationsverdacht und reagierte nur mit ewig langen vorgefertigten 0815-Standardmails. Zum Vorwurf, dass die gefakten Besucher in der Seite nicht herumklicken schreibt Google z.B.:
“Bitte beachten Sie, dass Besucher, die nur auf Ihre Zielseite klicken und nicht weiter in das Menü gehen, durchaus auch “echte”, also für Sie wichtige Besucher sein können und deshalb keine wertlosen Klicks verursachen. Beispielsweise informieren sich Besucher häufig kurz über die Zielseite einer Anzeige, speichern diese dann als Lesezeichen ab und kommen später wieder.”
Aha, also keine wertlosen Klicks. Für Google sicher nicht, denn Google verdient ja daran – deshalb kann ich auch auf eine Gutschrift über die zu Unrecht eingezogenen Beträge wahrscheinlich noch lange warten.