Ei sowas. Da wollte ich mal schnell Niederländisch ohne Mühe als neue Sprache einbauen und dann das – der Kursaufbau unterscheidet sich massiv von den anderen Kursen :-(. Hier brauche ich doch wohl mehr Zeit. Und das bei der Sprache, die im Grunde die wenigsten Abweichungen zum Deutschen haben sollte.
Schwedisch ohne Mühe
Und schon ist Schwedisch ohne Mühe fertig und zum Test online (was mich als Schweden-Fan an diverse schöne Urlaube da oben erinnert – obwohl ich wohl nie selbst Schwedisch lernen werde).
Das geht mittlerweile wie beim Bretzelbacken mit einer neuen Sprache. Bin mal gespannt wie das läuft, wenn Zeichen aus dem Osteuropäischen Sprachraum dazu kommen.
Sprachmodul redesigned
Nachdem mittlerweile 4 Sprachen in das Sprachmodul integriert sind, habe ich eine gute Basis um die grundsätzliche Funktionalität und das Zusammenspiel der einzelnen Komponenten zu testen.
Die ersten Testrückmeldungen von Anwendern sowie eigene Experimente sind vielversprechend, so dass ich mich zum ersten Redesign entschlossen habe. Damit sollte das Modul einen entscheidenden Schritt hin zur Finalversion gemacht haben. Ich setze die Versionsnummer auf 0.97.
Im Rahmen des ersten Redesigns wurden verschiedene kleinere Bugs korrigiert, Anregungen von Testern eingebaut und das Modul modularisiert und verschlankt. Das sollte sich auch positiv auf die Performance auswirken.
Ich gehe jetzt an die Integration weiterer Sprachen. Aktuell sind
- Englisch ohne Mühe
- Französisch ohne Mühe
- Italienisch ohne Mühe
- Spanisch ohne Mühe
verfügbar und m.E. auch bereits für den Prxiseinsatz fertig. Die ersten kommerziellen Anwender sind auch schon am Lernen.
Zeichenwandler in JavaFX
In der letzten Zeit brauche ich bei der Programmierung immer wieder die Zeichencodes von einzelnen Buchstaben und vor allen Dingen Sonderzeichen (vor allen Dingen für HTML und PHP). Das Suchen von Tabellen im Internet ist mir langsam lästig geworden.
Deshalb habe ich ein kleines Programm in JavaFX geschrieben, in das man einfach ein oder mehrere Zeichen eingeben kann und den entsprechenden ASCII-Code beziehungsweise Unicode erhält.
Das Programm kann sowohl als Java-Applet in eine Webseite eingebunden werden oder aber per Webstart direkt von einem Webserver gestartet werden.
Klicken für einen Webstart zum Beispiel hier
Ich habe das Programm so gebaut, dass bis zu maximal 10 Zeichen umgewandelt werden. Das bedeutet mit anderen Worten, dass Sie bis zu 10 Zeichen in das Eingabefeld eingeben können und die jeweiligen Code der einzelnen Zeichen (abgetrennt durch einen Bindestrich) erhalten.
Sie können das Tool als Widget kostenlos direkt in Ihre Webseiten einbinden, ohne es auf Ihrem Server bereitstellen zu müssen. Dann wird es bei einem Aufruf von meinem Server hinzugebunden.
Kopieren Sie einfach den nachfolgenden Code in Ihre Webseite.
RJS Characters2Code v1.0
(c) Ralph Steyer, RJS-EDV-KnowHow, www.rjs.de
Die Oberfläche von dem Programm ist mit JavaFX programmiert, die Logik im Hintergrund wieder reines Java.
Mit Java dreieckige Arrays erzeugen
Java kennt ja erst einmal keine multidimensionale Arrays. Aber Arrays mit Arrays als Inhalt (allgemein – beliebige Referenztypen). Kann man sehr einfach ganz witzige Effekte erzielen. Weihnachten ist zwar vorbei, aber dennoch:
public class Weihnachtsbaum {
public static void main(String[] args) {
char[] spitze = { ' ', ' ', ' ', '*' };
char[] ebene1 = { ' ', ' ', '*', '*', '*' };
char[] ebene2 = { ' ', '*', '*', '*', '*', '*' };
char[] ebene3 = { '*', '*', '*', '*', '*', '*', '*' };
char[] stamm = spitze;
char[] baum[] = { spitze, ebene1, ebene2, ebene3, stamm, stamm, stamm,
stamm };
for (char[] cs : baum) {
for (char c : cs) {
System.out.print(c);
}
System.out.println("");
}
}
}
Führt dazu:
*
***
*****
*******
*
*
*
*
Java-Schulung
Die nächste Woche halte ich mal wieder eine Java-Schulung. Z.Z. kann ich über mangelnde Abwechselung bei meiner Arbeit nicht klagen.
Italienisch als Onlinekurs fertig
Und weiter geht es mit neuen Sprachen für die RIA zum online Sprachen lernen.
Heute ist der Kurs Italienisch ohne Mühe fertig geworden.
Die Erweiterung auf neue Sprachen flutscht richtig gut. Spanisch läuft auf meinem lokalen Testsystem auch schon halbwegs. Das macht richtig Spass. Außer dass ich ständig auf Besonderheiten bei dem Internet Explorer Rücksicht nehmen muss ;-(.
Ich denke, dass das nachfolgende Problem einfach ein Bug in dem Browsern ist. Das Zeichen ’ wird in dem Browser einfach nicht dargestellt. Ich kann die Kodierung umstellen wie ich will. Hilft nix. Das Zeichen wird im Französischen und Italienischen verdammt oft gebraucht. Musste es in der Sprachdatenbank konsequent durch die Maskierung
146 ;
ersetzen. Aber halt nur für den IE. Alle anderen Browser kommen ohne Maskierung aus. Ich verstehe es nicht.
Ansonsten habe ich mittlerweile einige nette Effekte aus dem Dojo-Framework in die RIA integriert. Zum Beispiel eine wegblendbare Box zur Auswahl von Sonderzeichen mit der Maus oder einen modernen Dialog zur Anzeige von Hilfe.
Da lohnt sich wieder Werbung für mein Buch Ajax Frameworks, nicht wahr? ;-).
Was zu Windows 7 + Silverlight
Ich nutze die Betaversion von Windows 7 nur gelegentlich und aus Sicherheitsgründen natürlich in einer VM. Also von daher sind meine Erfahrungen eingeschränkt gültig. Aber 2 Sachen sind mir aufgefallen:
1. Ich habe Probleme in der Darstellung von Joomla! im IE, der in Windows 7 dabei ist. Aber das ist wohl ein Problem, das eher Windows 7 nicht anzulasten ist. Wer den IE nimmt ist schließlich selbst schuld.
2. Wollte mir gerade eine Webseite ansehen, die mit Silverlight gemacht ist. Ging nicht – Silverlight 2.0 ist nicht in Windows 7 dabei. Warum eigentlich nicht, wenn Silverlight angeblich bei MS so gepushed wird? Nachinstallation ist kein Problem, aber eigentlich sollte das schon dabei sein. Sonst wird das nix mit den groß angekündigten Sivlerlight-Plänen von MS.
Ansonsten gefällt mir W7 bisher immer noch ganz gut.
Blog-Zensur
Unter dem fadenscheinigen Argument des Jugendschutzes ist neulich ein Blog über Magersucht geschlossen wurden. Dort würde Magersucht verherlichen und damit wäre das jugendgefährdend.
Unabhängig von der tatsächlichen oder eingebildeten Gefahr für die Jugend – was wirklich gefährlich ist, ist eine solche Zensur. Und absolut inakzeptabel.
Wehred den Anfängen. Freiheitsfeinden fallen immer subtilere Argumente ein um Überwachung und Zensur einen legitimen Deckmantel zu geben.
Onlinekurs „Französisch ohne Mühe“ fertig
Ich habe die letzten Wochen das Sprachmodul weiter entwickelt, über das man online Sprachen lernen kann (also eine moderne RIA, die auf AJAX sowie Dojo und Prototype aufsetzt und zur Wiedergabe und Aufnahme von Tondateien zudem Java und Flash einsetzt).
Das Modul stellt einmal Texte in der Fremsprache und Deutsch dar, spielt die englischen Sätze als Tondateien ab, beinhaltet ein kleines Tonstudio, um eigene Sprachübungen aufzunehmen und bietet verschiedene Übungstechniken zum Vertiefen der erlernten Sprachkenntnisse.
Heute ist der Kurs Französisch ohne Mühe fertig geworden.
Ich habe die RIA so konzipiert, dass die Erweiterung auf neue Sprachen mit relativ geringem Aufwand möglich sein sollte.
Der Prototyp war ein Englischkurs für Einsteiger (Englisch ohne Mühe) und nach dessen Livetests habe ich nun mit dem Französischkurs die erste Anpassung an eine neue Sprache bis zur Praxisreife durchgezogen.
Schon der Prototyp war gar nicht schlecht konzipiert, denn die Anpassung ging recht glatt. Und mit zwei verschiedenen Sprachmodulen habe ich jetzt ein gute Testbasis, um die Integration von weiteren Sprachen immer leichter möglich zu machen. Die Anpassung an Französisch hat das Programm insgesamt vorangebracht und ich setzte die Versionsnummer auf 0.96 hoch. Also meiner Meinung nach fast fertig.
Als nächstes gehe ich Italienisch an und der Fortgeschrittenenkurs Englisch funktioniert ja auch schon im Groben.
Hier geht es zur Anmeldung zu den Sprachkursen, die in Zusammenarbeit mit dem Verlag ASSIMIL GmbH und dem Arbeitskreis für Information – AKI RP/Eifel progammiert und vertrieben werden.
Technisch handelt es sich bei dem Programm wie gesagt um eine RIA (Rich Internet Application) auf Basis von PHP, MySQL, DHTML, AJAX sowie den AJAX-Frameworks Dojo Toolkit und Prototype. Daneben kommen noch Flash und Java zur Unterstützung von Multimediaeffekten zum Einsatz.
Um deshalb ein bisschen Werbung in eigner Sache zu machen – viele Grundlagen der Umsetzung findet man in meinem Buch Ajax Frameworks.
Als Verwaltungsplattform verwenden wir ILIAS, eine leistungsstarke, web-basierte Lernplattform für E-Learning in einem integrierten System (Persönlicher Schreibtisch, Kursmanagement, Gruppensystem, Magazin mit Rollen-basiertem Zugriff, …).
Kleine Animation mit JavaFX Script
Der nachfolgende Quelltext zeigt eine kleine Animatin, die mit den mächtigen Komponenten in JavaFX Script auf einfachste Weise erzeugt werden kann.
Erstellt mit der Finalversion 1.0 von JavaFX!
/*
* Main.fx
* Eine kleine Animation mit JavaFX Script
*
* Created on 27.01.2009, 12:11:28
* Copyright Ralph Steyer, www.rjs.de, RJS EDV-KnowHow
*/
package gui7;
import javafx.animation.Interpolator;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.Scene;
import javafx.stage.Stage;
var x=0;
var y=0;
var bild =ImageView {
translateX: bind x
translateY: bind y
image: Image {
url: "https://rjs.de/bilder/devil.gif"
}
}
Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 5s
canSkip: true
values: x => 150
},
KeyFrame {
time: 8s
values: y => 80 tween Interpolator.LINEAR
}
]
}.play();
Stage {
title: "Animationen"
width: 250
height: 250
scene: Scene {
content: [bild]
}
}
Und hier ein kleiner Formulargag mit Scriptaculous für AJAX
Den so genannten In.Place-Editor von Scriptaculous find ich klasse. Klicken Sie mal auf den Text in dem IFrame. Da wird ein normaler Text editierbar ohne die sonst üblichen häßlichen Formulareingabefelder in der Webseite anzuzeigen, wenn der Inhalt nur angezeigt werden soll.
Auch aus meinem Buch Ajax Frameworks
So geht’s:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01//EN“
„https://www.w3.org/TR/html4/strict.dtd“>
<html>
<head>
<meta http-equiv=“Content-Type“
content=“text/html; charset=iso-8859-1″ />
<title>Scriptaculous</title>
<script type = „text/javascript“
src=“prototype-1.6.0.3.js“></script>
<script type=“text/javascript“
src=“scriptaculous-js-1.8.2/src/scriptaculous.js“></script>
</head>
<body>
<h1>AJAX-Anfrage mit Ersetzen eines Textes</h1>
<div id=“klickmich“>Klick mich an um mich zu bearbeiten und dann zu ersetzen</div>
<script type=“text/javascript“>
new Ajax.InPlaceEditor(‚klickmich‘, ‚info.php‘);
</script>
</body>
</html>
Kleiner Dojo-Effekt für die Webseite
Hier ist ne kleine Dojo-Anination für die Webseite.
Aus meinem Buch Ajax Frameworks
So geht’s:
<!DOCTYPE html PUBLIC „-//W3C//DTD XHTML 1.0 Transitional//EN“
„https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=“https://www.w3.org/1999/xhtml“>
<head>
<meta name=“generator“ content=
„HTML Tidy for Windows (vers 14 February 2006), see www.w3.org“ />
<title>Animationen mit Dojo</title>
<script type=“text/javascript“ src=
„https://o.aolcdn.com/dojo/1.2/dojo/dojo.xd.js“ djconfig=
„parseOnLoad: true, isDebug:false“>
</script>
<script type=“text/javascript“>
//<![CDATA[
dojo.require(„dojo.fx“);
dojo.addOnLoad(function(){
var anim = dojo.fadeOut({ node: „meineID“, duration:5000 });
var anim2 = dojo.fadeIn({ node: „meineID“, duration:6000 });
dojo.fx.chain([anim,anim2]).play();
});
//]]>
</script>
</head>
<body>
<h1>Aus- und Einblenden</h1>
<img src=“b5.jpg“ id=“meineID“ name=“meineID“ />
</body>
</html>
Wieder zuhause
Bin wieder zuhause. Der Rückflug heute morgen war unmenschlich früh. Schon um 6:20 Uhr ab Graz. Dafür war ich um 9:00 Uhr schon im Büro. Manche Leute haben jeden Tag so eine Anreisezeit zur Arbeit ;-).
Und irgendwie wollen da ganz viele Leute nach Frankfurt. War ausnahmsweise mal ein etwas größerer Jet und im Gegensatz zu sonst nicht von Eurowings, sondern Lufthansa selbst.
That’s it
Fertisch!
Auch das Onlinetraining zu JavaFX Script ist eingespielt. Ist allerdings erheblich umfangreicher geworden als ich geplant hatte. Gibt halt doch ne Menge zu dem Thema zu sagen.
Jetzt noch ein paar Abschlussarbeiten und dann ist mein Job in Graz erledigt. Morgen fliege ich zurück. Dummerweise schon um 6:20 Uhr. Eckelhaft!
Ansonsten gab es auch dieses Mal Filmaufnahmen. Ich musste heute noch zwischenzeitlich ins Filmstudio und musste zu den 4 Trainings was vor der Kamera loslassen. Dachte eigentlich, dass das nur bei DVDs üblich ist. Und ich habe erstmals mit einem Teleprompter gearbeitet, von dem ich meinen Text während der Filmaufnahmen abgelesen habe. Das ist ja tierisch anstrengend.
Das war der dritte Streich
Ist schon toll. Andere Leute sagen, dass heute Sonntag ist ;-). Aber ich habe nicht viel davon mitbekommen in meinem abgeschlossenen Tonstudio (ohne Fenster). Egal. Das dritte Onlinetraining ist eingespielt und ich bin gut in der Zeit. Bis Dienstagabend muss ich noch ein Training zu JavaFX Script einspielen und bisher habe ich etwa 1,5 Tage pro Training gebraucht.
Nr 2
Das war der zweite Streich. Das Training zum Dojo Toolkit ist eingespielt. Und der dritte Streich folgt sogleich. Ein Training zu Prototype und Scriptaculous.
AJAX-Onlinetraining fertig
Gestern abend habe ich mein erstes Onlinetraining zu AJAX fertig gestellt. Ist etwas länger geworden als geplant, aber das ist ja kein Nachteil. Jetzt ist das Dojo Toolkit dran.
Los geht es mit den Videotrainings
Ich bin in Graz bei Video2Brain angekommen und nehme jetzt erst einmal ein Onlinetraining zu AJAX auf. Die Anreise war problemlos, nur hab ich aus dem Flugzeug rein gar nix gesehen. In einer Mittelreihe direkt am Triebwerk gesessen. Egal – kenne die Route ja mittlerweile recht gut ;-).
Ansonsten wohne ich nicht wie sonst in der Trainerwohnung, sondern in einem Hotel. Keine selbstverpflegung möglich, aber zumindest gibt es Frühstück. Sind richtig viele Trainer hier gerade am Aufnehmen.