Die Vorratsdatenspeicherung ist gescheitert. Ein Sieg der Bürgerrechte. Der Generalsverdacht gegen die Bürger war ja sowieso eine Unverschämtheit. Das Verfassungsgericht hat unsere Überwachungsfanatiker in die Schranken verwiesen. Auch wenn die Vorratsdatenspeicherung in Zukunft grundsätzlich wohl weiter möglich ist, müssen zumindest elementare Rechte der Bürger gewahrt werden. Frage mich immer wieder, warum die Herrschenden ihren Bürgern so misstrauen und totalitär überwachen müssen?
Cebit beginnt
Morgen fahre ich wieder auf die Cebit. Muss einfach sein, obwohl mich das Gebahren der Cebit ziemlich nervt. Die Tickets müssen mit persönlichen Daten freigeschaltet werden. Warum eigentlich? Auf der einen Seite schimpft jeder gegen die Vorratsdatenspeicherung der Behörden und ihre unsägliche Spionagewut oder über Google, MySpace, etc. wegen der riesigen Daten, die sie über Leute sammeln. Und auf der anderen Seite ist sich die Cebit selbst nicht zu schade und fordert von Besuchern unverschämt persönliche Daten ein. Denke dass auch das zu dem angekündigten Besucherschwund beiträgt. Ich persönlich werde mir es die nächsten Jahre überlegen ob ich hingehe. Würde wohl auch dieses Jahr nicht nach Hannover fahren, wenn nicht der Autorenabend von meinem Verlag wäre. Das ist immer nett und zudem wichtig, weil man viele Leute aus der Szene nur einmal im Jahr (eben da) persönlich sieht. Überhaupt ist das einzig Interessante an der Cebit die Kontaktpflege.
Die angekündigten Highlights wie 3D-TV oder Smartphones, mit denen man auch Spiegeleier braten kann, interessieren mich nicht die Bohne. Wenn ich an wirklich interessante Mottos der Cebit der letzten Jahre wie Linux und OpenSource, Web 2.0 oder auch Netbooks denke, ist das im Vergleich nichts als Spielerei der Unterhaltungsindustrie. Würde mir wünschen, dass die Cebit wieder mehr Computerthemen in den Mittelpunkt stellt.
Onlinewerbung ohne Google
Google ist sicher der Marktführer in Sachen Onlinewerbung. Aber nicht jeder kann oder will Onlinewerbung von Google auf seinen Webseiten schalten. Und nicht jeder bei Google werben.
Keine Problem – denn es gibt ne ganze Reihe Alternativen. Beginnend bei eBay Relevance Ad über Bidvertiser.com bis hin zu Contaxe. Also braucht man nicht immer nur wie der Hase auf die Google-Schlange schielen.
Webseite modernisiert
Es war mal wieder Zeit meine Webseite zu modifizieren. Hab sowohl das Design geringfügig angeapckt, aber auch die technische Basis. Mache jetzt immer mehr mit jQuery (aber nicht um des Frameworks willen – deshalb sparsam und eher im Hintergrund). Dazu habe ich auch die Infos selbst entmistet. Denke, dass die Seite jetzt weniger erschlägt und harmonischer geworden ist.
Und mein altes Opera-Buch ist jetzt auch wieder online und kostenlos zu lesen. Durch Probleme auf dem Server, auf dem ich die Inhalte gehostet habe, war es in der letzten Zeit nicht erreichbar. Jetzt habe ich die Seiten auf meinen Server geholt. Die nächsten Wochen mache ich das auch mit den anderen Büchern.
JavaFX Platform offizielle Rich Client Technology für die Olympiade 2010
Nachdem ich mich letztes und vorletztes Jahr viel mit JavaFX beschäftigt habe, hatte ich der Technologie eine große Zukunft vorausgesagt. Sie hat meiner Meinung nach ein erhebliches Potential. Nur ist es seit einigen Monaten ziemlich still um JavaFX geworden und das enttäuscht mich doch ziemlich. Aber jetzt gibt es eine neue hammerharte Referenzapplikation für JavaFX.
Wie Oracle verlautbaren lässt, sind JavaFX™ und Java™-Plaftformen die offizielle Rich Client Technology von dem Organisationskomittee bei den olympischen Winterspielen in Vancouver. Die Ergebnissse, Nachrichten, etc. werden über JavaFX aufbereitet (https://www.vancouver2010.com/olympic-medals/geo-view/).
Das dürfte wieder für JavaFX einen ziemlichen Anschub bedeuten. Vielleicht wird das doch noch die Erfolgsstorie, die ich vorhergesagt habe.
Swift – no way
Das EU-Paralament hat den Angriff der USA auf die Bankdaten der Europa-Bürger gestoppt. Da schau – der zahnlose Tiger Europaparlament hat man gebrüllt und dann auch noch seine Schutzbefohlenen wirklich geschützt. Ich bin wirklich überrascht. Großes Lob.
Native digitals versus Digital Immigrants
Als ich die letzten Tage nach meinen Videoaufzeichnungen in der Trainerwohnung in Graz die Abende verbracht hatte, musste ich dort auf TV verzichten. Aber schneller W-LAN war an. Nur komischer Weise darf z.B. Zattoo in Österreich keine Kanäle bereitstellen. Also bin ich bei den direkten Streams und Mediatheken von HR, ZDF und 3-Sat hängen geblieben. Und da hab ich neben Nachrichten hauptsächlich Computersendungen durchstöbert. Dabei bin ich erstmals über den Begriff der Digital Natives gestolpert. Damit werden Personen bezeichnet die zu einer Zeit aufgewachsen sind, in der digitale Technologien wie Computer, das Internet, Handys und MP3s verfügbar und bereits selbstverständlich waren. Das sind alle Leute ab Geburtsjahr 1980. Die ab vielleicht 1990 – 1995 kennen eine Welt ohne Internet gar nicht mehr. Generation Internet.
Die davor werden als Analoge bezeichnet. Oder auch Digital Immigrants, wenn sie sich zumindest die digitalen Techniken als Erwachsene noch angeeignet haben.
Nun bin ich zwar definitiv kein Digital Native, aber irgendwie scheine ich für meinen Lebensstil einfach nur zu früh geboren zu sein. Denn was über die Digital Natives den staunenden Analoge im Fernsehen erklärt wird, ist für mich seit Jahren mein way of life. Sicher weil es mein Job ist, aber dennoch – die Abgrenzung nach dem Geburtsjahr greift viel zu kurz.
Wieder zurück
Aufnahmen beendet
Heute habe ich meine Aufnahmen zum jQuery-Videotraining beendet. Morgen kommen noch ein paar Nacharbeiten, aber im Grunde bin ich fertig.
Heute Mittag hatte ich das erste Mal die Tage auch Zeit nach Graz rein und auf den Schlossberg zu gehen. Die anderen Tage habe ich bloß zwischen der Wohnung und dem Studio 10 Meter über die Straße rüber gependelt.
Ich war zwar schon so oft hier in Graz (auch um die Jahreszeit), aber es hat bisher noch nie Schnee gelegen. Heute war jedoch dicker Schnee angesagt und vom Schlossberg bin ich fast mehr gerutscht als gegangen.
Morgen geht es dann mit dem Flieger wieder nach Hause.
Selbst vor der Kamera
Die Videotraining basieren ja darauf, dass ich was auf dem Bildschirm vorführe, das aufgezeichnet wird und ich die Erklärungen spreche. Bin also dabei gar nicht zu sehen. Aber es gibt immer auch noch eine Trainervorstellung. Und da sitzt man selbst vor der Kamera und wird gefilmt. Heute morgen war ich mal wieder dran.
Ansonsten hab ich jetzt über 7 Stunden Material zusammen. Aber ich war noch überhaupt nicht in der Stadt selbst. Ich kenne Graz von meinen vielen Trainings hier zwar recht gut, aber an einem der noch verbleibenden Tage will ich trotzdem mal runter in die Innenstadt und vielleicht auch hoch auf den Hausberg. Hoffe, dass ich morgen abschätzen kann, wie meine restliche Zeit hier ausgeht.
Feierabendbier
Ich habe mittlerweile 5 Stunden von dem jQuery-Videotraining aufgenommen. Bin damit sehr gut in der Zeit, aber die Sache ist tierisch anstrengend. War mit Unterbrechungen 14 Stunden heute im Studio. Jetzt ist die Luft raus und die muss mit einem Feierabendbier aufgefüllt werden.
Weiter geht es
Und weiter geht es mit der Aufzeichnung des jQuery-Videotrainings.
Google-Konkurenz zu iPad
Es sieht so aus als wollte Google unmittelbar auf die Vorstellung des iPad von Apple mit einem eigenen Gerät reagieren. Und die Pläne scheinen schon mehr als wage zu sein, denn auf einer offiziellen Google-Seite sind bereits entsprechende Bilder aufgetaucht. Zumindest lassen die Bilder in Zusammenhang mit Googles Chrome OS ein Gerät erkennen, das ziemliche Ähnlichkeiten mit Apples iPad aufweist. Die Sache ist zwar noch nicht offiziell bestätigt, aber die Stellungnahmen von Google klingen auch nicht gerade nach Dimenti.
Tag 1 in Graz
Bin im Studio von Video2Brain in Graz angekommen. Hatte Glück mit dem Flug, denn ich bin noch vor dem großen Schnee von FFM weggekommen. Heute Nachmittag sind wohl wieder diverse Flüge ausgefallen. Dafür ist hier in Graz strahlender Sonnenschein. Aber davon habe ich sowieso nicht viel, da ich im dunklen Tonstudio hocke. Obwohl es bald 18:00 Uhr ist, fange ich heute noch mit dem Videotraining zu jQuery an. So komme ich schon mal in Gang, bevor es morgen dann richtig losgeht.
PS: Der Flug hierher war übrigens wieder Erwarten total ruhig. Hatte eigentlich mit starkem Wind gerechnet. Dafür sparen sie beim Catering auf dem Flug. Nur ne halbe Stulle gab es ;-(
Neues Video-Training
Ich fliege mal wieder zu Video2Brain nach Graz. Will ein Videotraining zu jQuery aufnehmen. In ner halben Stunde ist Boardingtime für den Flieger.
Neues jQuery-PlugIn
Nachdem wir gestern in der Probe meiner Band Safety First am Anfang wieder mal die Frage nicht entscheiden konnten, in welcher Tonart wir uns einspielen, kam mir die Idee ein jQuery-PlugIn zu schreiben, das uns die Entscheidung abnimmt ;-). Ich wollte sowieso ein paar neue jQuery-PlugIns erstellen und das ist zumindest mal eine Idee für was halbwegs Sinnvolles.
Das PlugIn sucht einfach per Zufallsgenerator aus allen 12 Tonarten eine aus und liefert die als Rückgabewert. Den kann man in einem beliebigen Container anzeigen.
Das PlugIn ist über diverse Parameter bezüglich des Aussehens konfigurierbar.
Hier ist die jQuery UI-Seite für das neue PlugIn
Eine Anwendung in einer Webseite
So nutze ich das auf der Bandseite
Hier geht es zu meinem Client für Twitter als jQuery-PlugIn
jQuery – Das neue JavaScript-Framework für interaktives Design
Ralph Steyer,
Addison-Wesley,
ISBN 978-3-8273-2887-8,
erschienen 10.2009,
ca. 384 Seiten
Manuskript fertig
Ich bin gerade mit dem Manuskript von meinem neuen JavaScript-Handbuch (ISBN: 978-3-8273-2940-0, 850 – 900 Seiten) fertig geworden. Das soll im März erscheinen und ich bin genau in der Zeit. Geht jetzt ab zum Lektor.
Das Buch kann man schon hier vorbestellen.
ECMAScript 5 wurde veröffentlicht
Die als standardisierte Grundlage von JavaScript als auch JScript dienende Sprache ECMAScript wurde im Dezember 2009 in der Version 5 verabschiedet (kurz ES5) und um diverse Features aus den Mozilla-Ideen zur JavaScript 1.6 – 1.8 erweitert.
Der neue Standard führt einige neue APIs ein und soll vor allen Dingen robustere Programme ermöglichen. ES5 ist die direkte Nachfolgeversion von ECMAScript 3, denn ECMAScript 4 wurde auf Grund interner Streitigkeiten im Konsortium übersprungen.
Eine der wichtigsten Erweiterungen der neuen Version von ES5 ist die offizielle Aufnahme von JSON samt der offiziellen Implementierung einiger wichtiger Referenzfunktionen bzw. APIs (https://www.json.org/json2.js) in den Sprachumfang. Und damit werden auch Parsermethoden Einzug in die Sprache halten, die als Alternative für die Erzeugung eines Objektes aus JSON mittels eval() sowie die Extraktion eines Strings aus einem JSON-Objekt dienen (JSON.parse() und JSON.stringify()).
Mittels einer neuen Methode seal() kann man in Zukunft (wenn dieser Standard in JavaScript beziehungsweise JScript umgesetzt ist) seine Objekte gegen eine versehentliche Veränderung schützen. Eine als Parameter übergebene Eigenschaft eines Objekts wird gegen die Veränderung seiner Beschreibungen geschützt und es können keine neuen Properties hinzugefügt werden. Man wird sogar Objekte einfrieren können (freeze()). In dem Fall sind auch die Werte von Eigenschaften und veränderlich. In die gleiche Stoßrichtung zielt die Fixierung Objekte mit preventExtension(). Ein so gekennzeichnetes Objekt lässt sich nicht mehr um weitere Methoden und Eigenschaften ergänzen. Mit den zusätzlichen booleschen Methoden isFrozen() und isSealed() können Sie herausfinden, ob ein Objekt auf die eine oder andere Weise geschützt ist.
Für die Arbeit mit Datenfeldern sind die Methoden wie forEach(), map() und filter() aus JavaScript 1.6 offiziell in ES5 aufgenommen worden. Mit keys() kann die Bezeichnung der Methoden und Eigenschaften eines Objektes ermittelt werden.
Die vielleicht wichtigste beziehungsweise im professionellen Umfeld nützlichste Neuerung von ECMAScript 5 (neben der offiziellen Unterstützung von JSON) ist die Möglichkeit der Festlegung, dass die Verarbeitung von einem Skript nach strengen Regeln zu erfolgen hat. Das macht man mit der Anweisung „use strict“, die als String am Beginn eines Skripts oder einer Funktion zu notieren ist. Der Ansatz mit der einfachen Notation eines Strings im Code soll verhindern, dass es zu Inkompatibilitäten mit bestehendem Code und ES5 kommt.
Solch ein strenger Verarbeitungsmodus erzwingt beispielsweise, dass man Variablen sauber deklarieren muss und auch keine Zuweisung von Werten zu Objekteigenschaften vornehmen kann, ohne dass sie vorher deklariert wurden. Damit wird eine der tückischsten Fehlerquellen von JavaScript beseitigt, die sich auf Grund der losen Typisierung ergibt. Eine weitere Folge des strengen Verarbeitungsmodus ist, dass das Datenfeld arguments, über das die an eine Funktion übergeben Parameter zu finden sind, nicht mehr verändert werden kann. Auch wird in diesem Modus die Funktionalität von eval() sicherheitsrelevant eingeschränkt. Ebenso ist die bisweilen optionale Verwendung von Semikola zum Abschluss eines Befehls dann verboten. Aber auch die weiteren Reglementierungen in diesem Modus bewegen neue Versionen von JavaScript in Richtung einer sicheren und vor allen Dingen wartbaren Sprache. Wird Code mit der Einstellung „use strict“ aktiviert, soll der Code nur dann ohne Fehlermeldung ausgeführt werden, wenn die Interpretation des Codes eindeutig ist. Dies soll die Ausführung von Skripten zudem schneller machen.
In ES5 sind Eigenschaften eines Objektes nicht mehr nur einfache Schlüssel-Wert-Paare. Jede Eigenschaft besitzt explizit Attribute. Mit defineProperty() können dabei die Eigenschaften eines Objektes und die jeweiligen Attribute auch dynamisch zur Laufzeit definiert werden.
In vielen professionellen Programmiersprachen wie Java ist es üblich, dass man den Zugang zu Eigenschaften von Objekten nicht direkt gestattet. Stattdessen verwendet man indirekte Zugriffe über so genannte Getter und Setter. Das sind Methoden, über die Werte von Eigenschaften abgefragt (die Methode heißt in EC5 standardisiert get()) oder gesetzt (die Methode heißt entsprechend immer set()) werden können. Diese Philosophie wird auch in ECMAScript 5 eingeführt. Es gibt zudem entsprechende Eigenschaften, auf die direkt zugegriffen werden kann (Value Properties) und solche, auf die nur noch indirekt zugegriffen werden kann (Accessor Properties). Diese Accessor Properties verfügen neben den Gettern und Settern über Attribute wie writeable, configurable und enumerable, über die verschiedener Verhaltensweisen von Eigenschaften festgelegt werden. Mit der booleschen Eigenschaft writeable bestimmen Sie, ob eine Eigenschaft gegen Veränderung geschützt ist. Mit configurable erlauben Sie eine Konfigurierung (etwa ob eine Eigenschaft gelöscht werden kann und ob andere Attribute veränderbar sind). Und mit der Eigenschaft enumerable können Sie bestimmen ob eine Eigenschaft in einer Schleife wie for…in mit aufgezählt wird oder nicht.
ECMAScript 5 führt Skripte ein, die im Hintergrund laufen können. Diese nennen die Verantwortlichen Web Workers. Erzeugt werden solche Web Workers als Objekte vom Typ der neuen Klasse Worker.
Solche Skripte blockieren die normale Benutzerinteraktion bzw. Webseite nicht, sondern laufen wie im Fall von echtem Multithreading parallel dazu ab. Die Kommunikation mit so einem Hintergrundprozess erfolgt mit einem neuen Eventhandler onmessage.
Das Worker-Objekt selbst kann nun mittels der Funktion postMessage() Nachrichten an seinen Erzeuger versenden.
Keine length-Eigenschaft bei deklarativ erzeugten Arrays
Ich dachte eigentlich nicht, dass mich in JavaScript überhaupt noch was überraschen kann. Aber wenn man deklarativ ein Datenfeld etwa so erzeugt:
var p = {
0:1, 1:2, 2:3
}
dann steht die Eigenschaft length über p nicht zur Verfügung. Bei assoziativen Arrays war mir das zwar bekannt.Und nach etwas Nachdenken war die Sache wegen dem impliziten assoziativen Ansatz klar, aber irgendwie hat mich das in dem Moment überrascht,
Jetzt lerne ich AJAX als eBook bei PC Welt
Am 8. Januar war die eBook-Version von meinem AJAX-Buch bei Markt+Technik der Tagesdownload bei PC Welt.
Jetzt lerne ich AJAX | |
Ralph Steyer Markt & Technik ISBN 978-3-8272-4225-9 erschienen 5/2007 ca. 352 Seiten |