Verlosung, Preisausschreiben oder was?

Ich räume gerade mein Büro auf und sortiere Bücher von mir, die ich in Schulungen demnächst nehmen will (z.B. Jetzt lerne ich AJAX von Markt & Technik, ISBN 978-3-8272-4225-9 ).
Dabei fällt mir wieder auf, dass ich mittlerweile unglaublich viele Autorenexemplare von Büchern oder Trainings-DVDs habe. Ich bin massiv am überlegen, ob ich mal wieder eine Verlosung oder ein Preisausschreiben mit diesen Preisen starte.

Viel Bewegung rund um JavaFX

In der letzten Zeit passiert eine ganze Menge in meiner Webseite zu JavaFX, die ich als Begleitinformation zu meinem Buch zu JavaFX führe.
Das überrascht doch mich ziemlich, denn bis vor wenigen Monaten kam JavaFX nicht so richtig in die Gänge. Aber Sun hat die letzte Zeit Einiges nachgelegt, obgleich Vieles noch als Preview oder Beta gehandelt wird.

Letztes ist aber auch ein Problem, wenn man aktuell JavaFX einsetzen will. JavaFX ist m.E. einerseits eine sehr spannende Technologie, andererseits wird da eben noch ziemlich umstrukturiert.
Das betrifft natürlich auch einige Ausführungen in meinem Buch, aber insbesondere die Tools zum Entwicklen von JavaFX.

Es scheint zum Beispiel so zu sein, dass die JavaFX Shell so klammheimlich wieder aus dem Rennen genommen wurde. Der Fokus von der Entwicklung von JavaFX liegt seit einigen Wochen wohl ganz klar auf drei Säulen, von denen man auf jeden Fall auch eine wählen sollte:

1. Eclipse mit dem JavaFX PlugIn
2. NetBeans mit dem JavaFX PlugIn
3. Das neue JavaFX SDK (https://javafx.com/), das aber auch noch zum heutigen Tag als Preview geführt wird.

Ich gehe davon aus, dass die JavaFX Shell für die ersten Versuche mit JavaFX geeignet war, aber nicht weiter entwickelt wurde. Dementsprechend würde ich eben auch dringend dazu raten eine der drei oben genannten Entwicklungstechniken zu verwenden.

Und insbesondere auch über https://javafx.com/ das jeweils aktuelle API zu installieren.

Eine Alternative wäre der openjfx-compiler (https://openjfx-compiler.dev.java.net/). Das erscheint mir – soweit ich mich damit beschäftigt habe – im Grunde eine Art Ablösung für die JavaFX Shell zu sein. So genau blicke ich aber z.Z. ehrlich gesagt noch nicht durch. Ich muss – falls ich endlich mal Zeit habe – mich dringend auch wieder auf den aktuellsten Stand bringen. Der openjfx-compiler ist aber auch noch in einer Betaversion.

Z.Z. warte ich einfach darauf, dass JavaFX endlich mal einen echten Finalstatus hat und dann lohnt sich m.E. wieder eine genauere Beschäftigungen mit dem Tool, dass isch bis dahin durchgesetzt hat.

Und es gibt seit einigen Wochen wie gesagt ein neues SDK (Software Developement Kit) zu JavaFX, das in einem Preview verfügbar ist. Konkret scheint es so zu sein, dass dieses SDK als reine Netbeans-Erweiterung zu sehen ist. Also unmittelbar mit der neuen Version von der Sun-eignen Java-IDE Netbeans synchron geht. Es ist – trotz des Preview-Stadiums – zu empfehlen, für eine JavaFX-Programmierung mit NetBeans auf diese neue Version und das zugehörige JavaFX-Plugin respektive das SDK umzusteigen (natürlich kann man aber auch ohne NetBeans JavaFX programmieren).

Im Konzept der Sprache JavaFX Script gibt es wohl auch ein paar kleinere Entwicklungen bzw. Änderungen gegenüber den bisherigen Versionen. Soweit das bisher einzuschätzen ist, sind dieses Änderungen bzw. Erweiterungen jedoch nicht gravierend, obwohl Sun bei JavaFX Script jetzt teilweise einen etwas anderer Ansatz als bei den ersten Versionen verfolgt.

Es gibt nun Stages und Nodes, die bisher noch nicht so da waren. Gravierend ist, dass man wohl als Kern einer JavaFX-Applikation in der Regel nicht mehr wie bisher ein Frame oder Panel definiert, sondern eine Application.

Ein Grund könnte sein, dass Sun durch die engere Integration von JavaFX in NetBeans diese – nicht zuletzt durch Eclipse in Bedrängnis geratene – IDE wiederbeleben möchte, denn mit NetBeans kann aus einer Application einfach eine Webstart-Anwendung oder ein Applet erzeugt werden (was aber auch schon in den ersten Versionen von JavaFX Script und den frühreren JavaFX-PlugIns für NetBeans möglich war).

Ansonsten scheint JavaFX vom Maketing als auch den Webdemos extrem in Richtung Sivlerlight von Microsoft positioniert zu werden.

Und dann gibt es auch ein Java SE Update. Mit dem neuen Java SE 6 Update 10 verfolgt Sun mehrere Intentionen. Zum einen sollen verschiedene Verbesserungen Applets schneller starten (Stichwort Java Quick Starter). Diese lassen sich in Desktop-Widgets verwandeln. Offensichtlich hat Sun damit Applets immer noch nicht aufgegeben. Im Gegenteil – verschiedene Bestrebungen deuten darauf hin, dass Sun Applets sogar im Rahmen von RIAs reaktivieren will.

Intern wurde das Hochfahren der Java-Runtime so umstrukturiert, dass die mit dem Start einer Anwendung oder eines Applets zusammenhängenden Elemente schneller Ergebnisse produzieren, die auf dem Bildschirm sichtbar sind.

Ein weiteres Merkmal betrifft das Java-Kernel-Konzept. Dabei laden Nutzer in der neuen Version zunächst nur ein Grundgerüst der wichtigsten JRE-Komponenten herunter. Werden von einer Applikation weitere Bestandteile benötigt, werden diese erst später nachgeladen. Das Kernpaket ist nur etwa 4,5 Megabyte groß und reicht für gängige Anwendungen und Applets oftmals bereits aus“
Ein ganz zentraler Kern vom Java SE 6 Update 10 ist auch die Integration von JavaFX für Rich Internet Applications (RIA). Das Release von Java SE 6u10 soll die Deployment-Probleme von JRE und Java-Applikationen beseitigen (es gibt sogar ein neues Deployment Toolkit), die bis dato in Verbindung mit dem Richt-Client-Java die meisten Anwendungen kaum brauchbar machten. Außerdem soll mit Java SE 6u10 die JRE verschlankt werden, wohin gegen JavaFX-Alternativen wie Silverlight und Flash/Flex immer fetter werden. Damit wird Java samt JavaFX zu einer noch wettbewerbsfähigeren Alternative zu anderen RIA-Plattformen.

Dauerschulung

Ab morgen halte ich mal wieder Präzenzschulungen vor Ort (eine Art Fachinformatikerausbildung). Zwar nur vor der Haustür – in Wiesbaden -, aber regelmäßig von 9:00 – 16:00 Uhr. Und das über 4 Wochen plus ein paar Nachschlägen. Bin das gar nicht mehr gewohnt, wie ein Angestellter morgens aus dem Haus zu gehen. Wird ne Umstellung nach den letzten Wochen und Monaten, in denen ich hauptsächlich in meinem Büro zuhause gearbeitet habe.

Wann funktioniert endlich der Internet Explorer?

Ich werde wahnsinnig. Ich programmiere gerade eine komplexere AJAX-RIA. Zum Teil verwende ich Dojo und Prototype als AJAX-Frameworks zur Unterstützung. Sie funktioniert auch in allen relevanten Browsern. Nur der Internet Explorer kapiert es einfach nicht. Ich frage mich, wann Microsoft ihren Krückenbrowser endlich standardkonform bekommt. Ich hatte gewisse Hoffnungen in die neue Version gesetzt, aber wieder mal ist es ein Schuss in den Ofen. Und das Schlimme ist – es gibt immer noch genügenden Anwender, die den IE noch verwenden. Ich kann diese Zielgruppe nicht ignorieren und muss mich an Workarounds für die IE-Fehler machen :-(.

Buchmesse

In früheren Jahren waren meine eigene Verlage auf der Buchmesse in Frankfurt vertreten und damit natürlich auch meine Bücher. Aber seit einigen Jahren haben sie sich von der Messe zurück gezogen. Insgesamt scheinen die EDV-Bücher auf der Messe sowieso stark auf dem Rückzug zu sein. Genau genommen habe ich kaum welche gesehen, denn ich war seit Jahren heute mal wieder auf der Messe. Aber eigentlich nur um einen Geschäftspartner zu treffen, der dort mehrere Tage dort zu tun hat.

Etwas Werbung in fremder Sache

RIAs sind ja mittlerweile einer meiner Schwerpunkte. Im wesentlichen mit AJAX oder JavaFX sowie einigen Frameworks wie dem GWT, Dojo, Prototype oder dem YUI.
Wenn Sie in eine andere Richtung gehen und moderne RIA (rich interface appliactions) für das Internet oder moderne Handys erstellen wollen, hat Silverlight auch interessantes Potential.
Am leichtesten erschließt sich das Potenital durch eine Schulung. Ich
möchte Ihnen dazu z.B. die Silverlight-Schulung von Otto Fischer ans Herz legen.

Start Onlinekurs Programmieren fürs Web 2.0 mit AJAX

Heute hat mein neuer Onlinekurs Programmieren fürs Web 2.0 mit AJAX bei der Akademie.de begonnen. Nachmeldungen sind noch möglich.

Es geht – wie der Titel unzweifelhaft deutlich macht – um AJAX. Flickr, Del.icio.us und Google Maps machen es vor: Erfolg durch superschnelle AJAX-Anwendungen, die sofort und ohne Seiten-Neuladen auf die Aktionen ihrer Besucher reagieren. Die Technik hinter diesen Web 2.0-Anwendungen? AJAX!

Wie dieses Zusammenspiel in der Praxis funktioniert zeigt dieser AJAX-Crash-Workshop über vier Wochen. Mit mit vielen praktischen Beispielen und Übungen.

– vom Schnelleinstieg ins „Prinzip AJAX“
– über die Kerntechniken von AJAX: (X)HTML, Style Sheets, DHTML und JavaScript
– bis zu anspruchsvollen AJAX-Applikationen mit serverseitiger Programmierung mit PHP

Der Workshop richtet sich an Webentwickler und Programmierer, die schnell und fundiert alle relevanten Techniken samt diverser praktischer Beispiele rund um AJAX kennen lernen wollen. Am Ende des Workshops können Sie anspruchsvolle AJAX-Anwendungen selbst programmieren.

Silverlight oder nicht?

Ich beschäftige mich ja schon geraume Zeit mit JavaFX. Zum Einen deshalb, weil ich ja seit etwa 12 Jahren Java programmiere und schule. Zum Anderen, weil JavaFX eine gute Ergänzung zu AJAX darstellt, womit ich mich ja ebenfalls schon ewig beschäftige (weit länger als die Technologien unter dem Modewort AJAX zusammengefasst wurden).

Nun bin ich aber weder Technologieblind noch dokmatisch festgefressen und interessiere mich auch für Technologien jenseits dieses Horizontes.

Erstens bin ich nicht ganz sicher, ob JavaFX wirklich so erfolgreich wird (obwohl ich optimistisch bin) und zweitens bin ich sowieso gerne breiter aufgestellt.

Was also als Alternative zu JavaFX näher betrachten?

Da wäre zum Beispiel AIR.

Oder auch Silverlight von Microsoft. Gerade Letzteres hat natürlich wegen mit Giganten im Hintergrund gewaltiges Potential. Mal sehen.

Wer sich für Infos zu Silverlight interessiert, sollte sich mal den Blog von Otto Fischer unter https://blog.silverlight-city.de ansehen.

Infektionsbereinigung – Teil 2

So, ich habe zur endgültigen Bereinigung von dem Hackerangriff noch ein Backup von vor dem Angriff eingespielt. Einzig das Backend von meinem CMS ist noch nicht zugänglich. Aber das Problem kann auch andere Ursachen haben. Da gibt es in diversen Foren zu Joomla! einige Hilferufe. Bekomme ich auch noch in der Griff.

Fazit: Leute, nehmt sichere Passworte und haltet die Software immer auf dem neusten Stand. Bisher habe ich das immer nur gepredigt. Jetzt habe ich die Konsequenz erlebt, wenn man da zu lässig ist. Obwohl die Sache bei mir nicht wirklich schlimm war, hat mich die Geschichte unnötig Zeit gekostet, die ich besser für die Programmierung an meinem aktuellen Projekt verwendet hätte.

Infektionsbereinigung

Bin am Bereinigen der Hackerattacke. Mittlerweile habe ich alle Passworte geändert und drei Dateien auf meinem Server entdeckt, die da nix zu suchen haben.

Die eine ist eine CSV-Datei mit irgendwelchen Spamadressen, die wohl von dem Hacker missbraucht werden sollten. Ist ab in den Müll gewandert.

Des Weiteren eine HTML-Datei mit einem rein numerischen Namen. Keine Ahnung wozu die da ist, aber die hat hier auch nix zu suchen und ist gelöscht.

Die eigentliche Attacke ist wohl über eine PHP-Datei gefahren worden. Das scheint tatsächlich ein Toolkit gewesen zu sein. Voll kommentierte PHP-Befehle. Da werden gezielt Schwachstellen im System abgeprüft. Und da die Kommentare auf Englisch drin stehen gehe ich davon aus, dass der Hacker ein Script-Kid war, der nur zusammengeklaubtes Zeug angewendet hat. Vor Hackern und Ihren Ehrenkodex habe ich sogar einen gewissen Respekt, aber nicht vor solchen Trittbrettfahrern. Ich bin stocksauer. Sowohl auf das Möchtegern-Hackerlein, aber auch auf mich, dass mich so ein Schwacheimer überfahren konnte 🙁 .

Die Umleitung der Inhalte ist letztendlich primitiv. Ein reines document.write() per JavaScript. Zwar sind die Inhalte maskiert und werden erst zur Laufzeit per unescape() dekodiert, aber das stellt mich nun wirklich nicht vor Probleme. Hier greift der Sack mich auf meinem Ureigenen Gebiet an. Ich muss nur noch rausbekommen, wo der Befehl zusammengesetzt wird.

Letztendlich bleibt nur die Frage, wie die Mülldateien auf meinen Server kamen? Ich vermute wirklich Bruteforce. Oder wie gesagt einen Bug in der Betaversion meines CMS. Hab mittlerweile raus, dass da vor einigen Wochen ein Update kam, denn da gab es eine massive Lücke.

Ich denke, meine zentralen Dateien als auch die Datenbank sind von dem Angriff nicht betroffen und ich habe mein System mittlerweile wieder sauber. Aber ein ungutes Gefühl bleibt.

Private Webseite gehackt :-(

Super. Die Webseite meiner Band wurde gehackt. Irgendein türkischer Kram ist da zu lesen. Wüsste gerne, wie der Hack gelaufen ist. Ob mein Passwort geknackt wurde oder es ein Problem in meinem CMS war. Oder gar auf dem Server.

Ich tippe mal auf mein zu triviales Passwort. Ist wie beim Friseur, die die schlechteste Frisur hat. Ich bin in der Tat zu sorglos mit der Wahl meiner Passworte. So gesehen war diese Attacke eine echte Warnung für mich und ich habe schleunigst meine Passwortsicherheit in allen meinen Systemen und Webseiten verbessert (hoffe ich).

Der Hack könnte aber auch über mein CMS gelaufen sein. Ich verwende für die Seite Joomla 1.5 in ner Betaversion (in meinen „seriösen“ Seiten mit CMS verwende ich keine Betaversionen). Vielleicht gibt es auch hier nen Bug. Werde die Attacke zum Anlass nehmen, die Sache neu aufzusetzen.

Insgesamt scheint auf den ersten Blick von der Attacke aber nur meine Indexseite betroffen zu sein.

Mal wieder Schulungen

Bin seit längerer Zeit die nächsten 3 Tage mal wieder auf Schulung (JavaScript). Allerdings hier in der Gegend. Z.Z. progammiere ich hauptsächlich eine RIA. Aber ab Mitte Oktober stehen mehrere Wochen Java-Schulungen an. Und nach Graz für ein neues Videotraining will ich auch nochmal. Entweder im Dezember oder im Januar. Parallel muss ich auch ein neues Buch anfangen, aber das hat derzeit noch eine niedrige Priorität-

Feedburner – Teil 2

Und gleich hinterher: Mein Portal AJAX-Net.de ist jetzt auch mit seinen Feeds in Feedburner (https://feeds.feedburner.com/PoweredByAjax-netde).
Seltsamer Weise kann ich mein zweites Portal zu JavaFX (https://www.javafx-buch.de/) nicht in Feedburner anmelden. Bei der Analyse gibt es Fehler. Ich vermute es liegt an der Joomla-Version, die ich hier verwende. Das ist noch die Beta von Joomla 1.5. Das AJAX-Portal basiert noch auf der Version 1.0, aber eine Stable-Version.

Gib Chrome keine Chance

Ich bin ja eigentlich Google-Fan. Zumindest in Hinsicht auf die technischen Inovationen, die Google permanent im Web bereit stellt. Aber mittlerweile ist Google auch eine unerträgliche Datenkrake. Und was die sich jetzt mit dem neuen Browser Chrome leisten, geht entschieden zu weit.
Ist der neue Browser auch bereits in den ersten Versionen verdammt schnell und super auf AJAX abgestimmt – dass der Browser in der Standardeinstellung jeden Buchstaben, den der Nutzer eingibt, protokolliert und an Google weiterreicht, ist der Hammer. Ebenso hat Chrome-Browser eine eindeutige Identifikationsnummer, die gemeinsam mit anderen Daten an Google geschickt wird. Wo kommen wir denn da hin? So geht das nicht!