Lively Kernel: Sun Research projekt für Web Applikationen

Geschrieben von everflux am Oktober 8th, 2007

Lively ist ein Sun Research Projekt, welches die Entwicklung von Web Applikationen vereinfachen soll. Das ist nichts besonders neues, schließlich gibt es zig Frameworks, die Web Anwendungen leichter erstellbar machen sollen.
Lively möchte sich dabei abheben, und es ermöglichen per Web Anwendungen zu verteilen, die sich wie „richtige“ Desktop Anwendungen verwenden lassen.
Wie Golem berichtet, wird in Lively das Morphic Framework, ebenfalls ein Sun Produkt, verwendet um grafische Effekte zu realisieren. (Morphic bzw. Lively setzt deswegen auch SVG Support vorraus, so dass der IE 6 nicht mit Lifely verwendet werden kann.)

Lively setzt stark auf JavaScript und Ajax auf, benötigt aber keine speziellen weiteren Komponenten oder Plugins, allerdings wird ein wirklich aktueller Browser vorrausgesetzt. Richtig gut und performant läuft Lifely wohl lediglich auf Safari 3.0. Sollte sich daran nichts ändern ist damit bereits die Todgeburt von Lifely besiegelt: Keiner wird eine Anwendung für den großflächigen Einsatz auf Basis eines Frameworks entwickeln, dass „bleeding edge“ Browser vorraussetzt.

Es handelt sich zugegebenermaßen auch noch um ein Forschungs und Entwicklungsprojekt von Sun, so dass man gespannt sein darf, wie finale Produkte aussehen werden.
Sicherlich wird die GUI so anpassbar sein, dass diese nativ aussieht – auch hier sollte man aus der Java Swing Erfahrung lernen und keine User verärgern.

Vergleichbare Frameworks wären GWT, das Google Web Toolkit, welches sich ebenfalls auf die Fahnen geschrieben hat, Webanwendungen leichter und Desktop-artiger zu ermöglichen.
Bei GWT sieht man auch sofort, dass es sich nicht um ein „Spielprojekt“ handelt, sondern GWT im Vergleich zu Lifely entwickelt wurde, um auch direkt eingesetzt zu werden. GWT ist schnell, funktioniert und hat eine gute IDE Integration.
Dennoch setzt Lifely sicherlich interessante Aspekte, und die ersten Ajax Anwendungen waren auch nicht der große Wurf.

Links:
Lively Homepage
Lively direkt ausprobieren

MonoDevelop: Beta 1 der Mono / .net Entwicklungsumgebung

Geschrieben von everflux am Oktober 7th, 2007

Etwas an mir vorbeigezogen ist die Beta 1 Release Versoin von MonoDevelop. Nach dem Feature Freeze der kostenlosen Entwicklungsumgebung für Mono, einer freien Implementierung von .NET, möchten sich die Entwickler vor allem auf Bugfixing konzentrieren.
MonoDevelop konzentiert sich vor allem auf C# Entwicklung, und wird als inzwischen recht einsatztauglich beschrieben. Natürlich kommt es an das VisualStudio von Microsoft nicht heran – doch z.B. für den Linux Desktop gibt es derzeit keine Alternativen.
Die kostenlose Entwicklungsumgebung kann als Binärpaket oder im Quellcode von monodevelop.com heruntergeladen werden.

Maven2: javax transaction jta missing – not really.

Geschrieben von everflux am September 27th, 2007

Nicht wirklich trifft es ausnahmsweise sehr gut. Wer sich bei einem Maven Projekt wundert, dass scheinbar in allen bekannten Maven2 Repositories Artefakte fehlen könnte auf die Idee kommen, einen Bugreport zu fehlenden Jar Files aufzumachen.

Leider ist die Fehlermeldung auch nicht gerade Anwenderfreundlich, hier am Beispiel von javax.transaction:jta:jar dargestellt:

[INFO] Failed to resolve artifact.Missing:
1) javax.transaction:jta:jar:1.0.1B
Try downloading the file manually from:
http://java.sun.com/products/jta

Gerade das manuelle Herunterladen von Artefakten soll einem Maven2 ja abnehmen – ein Blick in das Repository offenbart auch, dass dort alles für jta vorbereitet – lediglich das jar fehlt.
Das ist jedoch Absicht – denn die Sun Java Binary Lizenzen verbieten die Redistribution der Jar Files. Deswegen werden lediglich Meta-informationen im Maven Repository gehalten, die immerhin mitteilen wo man manuell die benötigten Dateien herunterladen kann. Leider mit der bereits erwähnten nicht gerade hilfreichen Fehlermeldung und einem fehlgeschlagenen Maven Build. Weitere Informationen dazu gibt diese Maven Webseite.

Abhilfe kann hier übrigens ein eigenes, privates Maven Repository schaffen, in das man z.B. JavaMail und Java Activation Jars einpflegt. Vor allem wenn man mehr als eine Workstation mit Maven betankt, automatische Builds auf Servern erledigen möchte oder Arbeitsgruppen versorgen möcht, lohnt der Aufwand ein eigenes Maven Repository aufzusetzen.

Firefox Rechtschreibprüfung: Auch alte deutsche Rechtschreibung!

Geschrieben von everflux am September 25th, 2007

Firefox hat neurdings (naja seit Firefox 2) eine Rechtschreibprüfung für Text-Felder. Das ist fürs Bloggen sehr praktisch, aber auch für Foren und andere Dinge.
Wer den englischen Firefox installiert hat, hat nicht automatisch auch die deutsche Rechtschreibung in der Rechtschreibprüfung installiert. Daher gibts es weitere Wörterbücher für Mozilla Firefox zum download hier.
Was mich sehr angenehm überrascht hat ist, dass (daß) es auch die alte deutsche Rechtschreibung dort gibt.
Oder sollte ich sagen: Die richtige deutsche Rechtschreibung?

PHP ide: Eclipse für PHP Entwicklung

Geschrieben von everflux am September 20th, 2007

Das Eclipse Plugin PDT, ehemals PHP-ide als defacto Nachfolger für phpeclipse von Zend entwickelt, ist nun in Version 1.0 erschienen!
Das Eclipse Plugin PDT erweitert Eclipse um PHP Entwicklerfunktionen. Syntax Highlighting, PHP auto-completion , Zugriff auf die PHP Hilfe und Funktionsreferenz.

Damit wird Eclipse ein Stückchen mehr das Google für Entwickler.

Opera für Ubuntu Linux 64bit

Geschrieben von everflux am September 15th, 2007

Opera gibts bisher nur in der i386 Version auf der Opera Homepage zum Download. Sehr schade – sind doch sogar Opera Debian/Ubuntu Packages dabei.
Doch die derzeit in Entwicklung befindliche Version von Opera, nämlich Opera 9.5 (Kestrel) gibt es auch als x86_64 Linux Version. (Die dann mit meinem amd64 Rechner unter Ubuntu zusammenarbeit)

Die Installation von Opera auf Ubuntu Feisty 64bit ist denkbar einfach: Auf der Opera-Labs Webseite einfach die .deb Datei auswählen und mit dem graphischen Installationstool für Debian Pakete unter Ubuntu installieren. Läuft.
Und ist schnell!

Ubuntu Feisty Hylafax: Leere PDF Datein in FAX Mail

Geschrieben von everflux am September 4th, 2007

Nachdem ein kleiner lokaler Fax Server auf Ubuntu Linux Basis mit Hylafax und AVM Fritz Capi als Fax-Gerät von Ubuntu Dapper auf Ubuntu Feisty upgegraded wurde tat alles – bis auf Faxempfang.
Nachdem Hylafax via capi-faxreceive ein Fax angenommen hatte, wurde korrekt eine E-Mail versandt, jedoch war die im Anhang befindliche PDF Datei einfach leer.
Ein kurzer Blick in das Hylafax Receive Verzeichnis von Ubuntu Feisty ergab sofort: Das Fax wurde per Capi korrekt empfangen, es musste irgendwie an der PDF Konvertierung liegen…
Irrtum! Der Grund für die leeren PDF Dateien der Faxmail liegt in diesem Ubuntu Feisty Bug – ändert man wie im Ubuntu Bugreport beschrieben die BASE64ENCODE Zeile der Datei setup.cache funktioniert es wie am Schnürchen: Faxempfang mit AVM Fritz Card, Capi und Hylafax – und auch die Faxemail mit PDF Anhang.
Nächstes mal lese ich die Ubuntu Bugs bevor ich in die Innereien von Hylafax und PDF Konvertierungen einsteige…

Hier nochmal die zu ändernde Datei von Hylafax: /etc/setup.cache
Eintrag von BASE64ENCODE muss lauten: BASE64ENCODE=’/usr/bin/uuencode‘

Anschließend unbedingt das Ubuntu Feisty Hylafax neu starten ( /etc/init.d/hylafax restart ) – erst dann werden geänderte Konfigdateien in das Hylafax chroot Verzeichnis kopiert.

Warum Thomas unten durch ist – der goldene Hammer

Geschrieben von everflux am August 16th, 2007

Ich lese hin und wieder sehr gerne verschiedene Blogs – darunter sind natürlich „ganz große“ wie das lawblog, aber auch verschiedene kleinere, spezialisierte Blogs regen immer wieder zum Lesen an.
So z.B. auch das Blog von Thomas, der sich in meinen Augen jedoch mit diesem Posting völlig disqualifiziert hat. Ich habe schon überlegt, ob sein Account vielleicht gehackt wurde, er einfach völlig betrunken war, oder von Aliens geclont wurde.
Stein des Anstoßes: Grundlagenentbehrendes marketing-blabla gewürzt mit einer Prise Bashing. Der Artikel beginnt mit der offen gestellten Fragen, warum Thomas seiner Begeisterung für das .net Framework von Microsoft Ausdruck verleihen muß. Beantwortet wird die irgendwie mit „weil die Philosohpie aufgeht“.
Ich möchte auf keinen Fall Thomas hier auseinander nehmen, eher möchte ich meiner Enttäuschung über diesen Beitrag in einem sonst so gern gelesenen Blog ausdruck verleihen. Von seinen Kommentaren mal ganz zu schweigen…

Dennoch nehme ich den Beitrag einmal als Anlaß für eine Nachbetrachtung der Argumentation. Ich beschränke mich dabei nicht auf Microsoft Technologien und werde auch meine Meinung zu einigen Kommentaren darstellen.

Also .net ist deswegen so gut, weil man damit in der Windowswelt schier unbegrenzte Möglichkeiten hat und weil die Philosophie von Microsoft, dem Entwickler ein umfassendes Toolkit an die Hand zu geben, mehr und mehr aufgeht.

Anders formuliert: .net ist deswegen so gut, weil man außerhalb der Windowswelt quasi keine Möglichkeiten hat, und es außer Microsoft keinen Hersteller für .net Tools gibt. Ganz so schlimm ist es natürlich nicht, und die Umkehrung ist keine logische Schlußfolgerung, aber sie verdeutlicht doch die wesentlichen Aussagen, die die Begründung für „.net ist so toll“ liefern sollen.
Außerhalb der Windows welt entwickelt sich langsam Mono – auch mit Unterstützung von Microsoft. Das ist auch gut so, denn ich möchte meine Investitionen in eine Umgebung nicht auf eine Plattform festlegen müssen, die von einem Hersteller kontrolliert wird.
Dabei geht es mir nicht nur um die erstellen Programme, sondern vielmehr um das Knowhow (Tools, API, Framework, Prozesse), dass ich mir mit der Zeit aneigne – da steckt Lebenszeit drinn, und die ist teuer!

Gehen wir die unbegrenzten Möglichkeiten der Technologie weiter durch:

  • Entwicklung von (Enterprise-) Webanwendungen mit ASP.NET 2.0.
    Fein. Alternativen dazu gibts natürlich, Java, PHP – aber setzt man auf PHP zieht das Argument, dass man mit verschiedenen Technologien hantieren muss.
  • Entwicklung von Desktop-Applikationen mit WinForms und/oder WPF.
    Für Windows. Mit Java kann ich auf Basis von Eclipse RCP oder Swing (und verschiedenen Toolkits) arbeiten und alle Plattformen mit Java bedienen
  • Entwicklung von Rich-Media- und Rich-Gui-Anwendungen mit Silverlight (bald).
    Hier gibts wohl als vernünftige Alternative erstmal nur Flash, evtl. später JavaFX – für alle Plattformen auf denen es Flash oder Java gibt
  • Entwicklung von Windowsdiensten.
    Mit Java kann ich Dienste für alle Plattformen entwickeln.
  • Entwicklung von kommandozeilenbasierten Tools.
    Für Windows. Ich wiederhole mich nur ungern, aber Java…
  • Entwicklung von komplexen Datenbanklösungen.
    Auf einem Windows Rechner? Jeder, wie er mag. Mit Java kann ich mich später umentscheiden, wenn ich ein größeres Eisen benötige.
  • Entwicklung von mobilen Anwendungen für Telefone und PDAs.
    Nur für Geräte, die das supporten. Gerade im Konsumerbereich ist Java quasi der Standard. Und wenn ich mir anschaue, womit Jamba – und Zulieferer – stinkenreich geworden sind, so ist das nicht WindowsCE

Also was hier so nach „das geht nur mit Microsoft Technologien“ klingt, ist eher Marketinggetrommel. Sicherlich ist es schön mit einer Technologie zu arbeiten – eben das reizt mich ja an .net und Java – jedoch finde ich es etwas kurzsichtig etwas pauschal über den grünen Klee zu loben.
Meiner Meinung nach bedarf soetwas einer differenzierten Betrachtung, denn es gibt einfach keinen goldenen Hammer. Für richmedia ist einfach Flash derzeit Mittel der Wahl. Für Handyspiele ist es Java ME.
Und bei Java ist gerade die Offenheit, die Community mit dem Haufen an Frameworks und Lösungen ein wesentlicher Pluspunkt. Ja, ich möchte mich mit verschiedenen Tools auseinandersetzen, und für mich einen Mix zusammenstellen, der meine Bedürfnisse am besten absteckt.

Immer wieder gibt es Diskussionen zwischen mir und Stefan, ob IntelliJ Idea oder Eclipse „besser“ ist. Verschiedene Blickwinkel, verschiedene Ansätze sind wichtig und machen einen flexibel. (Abgesehen davon halte ich Visual Studio ohne Resharper für quasi unbenutzbar)

Unflexibel stellt sich mir Thomas an dem Punkt dar, an dem es darum geht, dass man Plugins für Visual Studio haben möchte, namentlich für Subversion (SVN). Thomas argumentiert, dass er das lieber über den Explorer (Dateibrowser von Windows) macht, als über die IDE.

Dafür gibt es viele Gründe, Stichwort Tellerrand. So kann man z.B. bequem Files einchecken bzw. verwalten, die in der eigentlichen Solution nichts zu suchen haben (Ressourcen, Dokumente, Grafiken, whatever), und man muss nicht die IDE starten um das Repository zu aktualisieren bzw. etwas hinzuzufügen.

Tellerrand? Gute Güte!
Ich habe im Eclipse SVN Support über Subversive, benutze unter Windows zusätzlich Tortoise und unter allen Plattformen Kommandozeilentools. Denn je nach Anwendungsfall möchte ich gerne optimal arbeiten können. Es gibt nämlich – noch immer – keinen goldenen Hammer.

Ubuntu Server: Edgy zu feisty upgraden

Geschrieben von everflux am August 7th, 2007

Wie updated man einen Ubuntu Server „richtig“?
Da ist einmal das debian-like edit /etc/apt/sources.list und dann ist da noch der „ubuntu way“. Ich habe mich für den Ubuntu-way entschieden, und dokumentiere das hier einmal:

sudo apt-get install update-manager-core

Installiert den update Manager von Ubuntu. Anschließend führt man das upgrade aus:

sudo do-release-upgrade

Ab hier wird es etwas knifflig, wenn man keinen lokalen Zugriff auf den Ubuntu Server hat. (Und das dürfte meistens so sein, denn Server stehen für gewöhnlich nicht unterm Schreibtisch.)
Damit für den Fall, dass etwas schief geht, remote Managemant noch möglich ist, startet der Ubuntu Upgrade Manager noch einen zusätzlichen ssh Dämon.

Checking for a new ubuntu releaseDone Upgrade tool signatureDone Upgrade toolDone downloading            extracting ‚/tmp/tmpCXfuuv/feisty.tar.gz’authenticate ‚/tmp/tmpCXfuuv/feisty.tar.gz‘ against ‚/tmp/tmpCXfuuv/feisty.tar.gz.gpg‘ Reading cacheChecking package managerContinue running under SSH?This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover.If you continue, a additional ssh daemon will be started at port ‚9004‘.Do you want to continue?Continue [yN]

Dann kommen nochmal die „üblichen“ Warnungen

You have to download a total of 250M. This download will take about 31 minutes with a 1Mbit DSL connection and about 9 hours 42 minutes with a 56k modem.Fetching and installing the upgrade can take several hours and cannot be canceled at any time later.

Und dann gehts auch los.
Und dann wars auch fertig. Bin auf den ersten Reboot gespannt 🙂

Nokia N95: Eigene SSL CA importieren

Geschrieben von everflux am August 4th, 2007

Das Nokia N95 störte sich – und ich mit ihm – daran, dass es meine SSL Zertifikate nicht auf validität prüfen konnte. Hintergrund war, dass ich eine eigen CA erstellt habe, die meine SSL Zertifikate unterschreibt.
Jetzt hatte ich die schlaue Idee, einfach das CA Zertifikat in mein Handy zu importieren und als vertrauenswürdig zu deklarieren. (Ich weiss ja, was ich unterschreibe)

Die Umsetzung sollte dabei so aussehen: Ich gehe einfach mit dem Handy Browser auf eine Seite, wo ich das Zertifikat abgelegt habe, importiere es, und fertig.
Leider hat das Handy stets gesagt die Datei sei beschädigt („Certificate file corrupt“).

Die Lösung: Das Nokia N95 akzeptiert das Zertifikat nur im DER Format. Mittels OpenSSL ist das schnell konvertiert:

openssl x509 -outform der -in ca-cert.pem -out ca-cert.crt

Danach einfach mit dem Nokia N95 laden und importieren.


http://everflux.de/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.