Firefox plugin-container.exe und langsames Internet

29 July 2010

Einige Anwender von Firefox berichten, dass seit den Updates die Out-of-Process-Plugins (OOPP) mitbringen ihr "Internet" langsam geworden sei. Besonders davon betroffen seien Seiten, die Plugins wie Adobe Flash oder Microsoft Silverlight nutzen.

Der Hintergrund: Seit neuestem lässt Firefox Plugins nicht als separaten Prozess laufen und kommuniziert mit diesem über IPC (Inter-Process-Communication). Das bringt einige Vorteile:

  • Die Firewall Einstellungen können separat zum Browser gemacht werden
  • Ein Plugin Absturz bringt nicht mehr den ganzen Browser zum Absturz
  • Bei Mehrprozessor Computern können die vorhandenen Ressourcen besser genutzt und verteilt werden

Jedoch gibt es einige Anwender, die sich wundern, dass Videos ruckeln, oder die "plugin-container.exe" sehr viele Ressourcen verbraucht. Die plugin-container.exe (unter Windows) ist dabei der Prozess in dem die Plugins wie Flash durch den Firefox ausgeführt werden. Tatsächlich wird dadurch der enorme Ressourcenverbrauch von Flash deutlicher sichtbar. Auch kann eine fehlerhafte Firewall Konfiguration dazu führen, dass die Plugins nicht mehr die nötige Verbindung zum Internet haben.

Wer möchte kann zum alten Verhalten von Firefox zurückkehren - auf keinen Fall sollte dazu eine alte Firefox Version verwendet werden! Die Konfiguration wird so geändert: "about:config" in die Adresszeile des Browsers eingeben. Dort nach "ipc" Einstellungen suchen. Mittels  "dom.ipc.plugins.enabled" kann global die plugin-container.exe bzw. OOPP deaktiviert werden, alternativ können die einzelnen Plugin Typen einzeln konfiguriert werden. Moechte man das Verhalten komplett deaktivieren, so sind hier alle Werte auf "false" zu setzen.

In der Mozilla Firefox Datenbank ist eine ausführliche Anleitung auf englisch zu finden.

Oracle ThinkQuest Wettbewerb

16 July 2010

Oracle veranstaltet einen internationalen Wettbewerb, der sich an Studenten richtet: ThinkQuest. Bei dem Wettbewerb koennen in verschiedenen Kategorien (Digital Media, Application Development, ThinkQuest Projects) Beitraege von Studenten eingereicht werden - im Gegenzug gibt es attraktive Preise zu gewinnen. (Laptop, USA Reise zur ThinkQuest Competition, Preise fuer die Schule/Institut der Teilnehmer)

HTC Hero Android 2.1 update (Europa)

28 June 2010

Endlich ist es soweit! Bei meiner manuellen Pruefung meldet mir das HTC Hero nun ein Firmware Update auf Android 2.1 - ich hab schon fast nicht mehr daran geglaubt.

Damit macht HTC endlich das Versprechen wahr ein Softwareupdate für das HTC Hero auszuliefern. Wenn man den Aussagen glauben kann, ist es wohl auch direkt das letzte, denn Android 2.2 (Froyo) wird wohl nicht für das HTC Hero als Update kommen.

Das Firmware Update für das HTC Hero dass nun endlich auch in Europa verfügbar ist, meldet sich als 79.88 MB Download und trägt die Nummer 3.32.405.1 - von solchen Versionsnummer könnte sich selbst Oracle noch was abschauen.

Oracle Coherence/Fusion Middleware Wettbewerb

23 June 2010

Oracle Coherence ist eine Datagrid Lösung, mit der sich auf relativ einfache Weise Application-Clustering für gesteigerte Verfügbarkeit oder Lastskalierung realisieren lässt. (Oracle Coherence ist zum kostenlosen Download auf oracle.com/../coherence verfügbar, für den produktiven Einsatz sind ggf. kostenpflichtige Lizensierungen erforderlich.)
Mit einer Datagrid Lösung lassen sich Rechenaufgaben verteilen, um ein Computing-Grid aufzubauen, hauptsächlich findet Coherence jedoch seinen Einsatz beim Clustering von Anwendungen wie z.B. dem Confluence Wiki von Atlassian, oder auch wenn es um verteiltes Caching von Daten geht. (Ähnlich wie memcached, dass im PHP Umfeld besonders populär ist.)

Spring/JPA/Hibernate: Error while committing the transaction (RollbackException / TransactionSystemException)

20 June 2010

Das Spring Framework (http://www.springsource.org/) ist eines der am weitesten verbreiteten Frameworks im Java Enterprise Umfeld. Selbst mit JavaEE 6 findet in vielen Projekten Spring noch Verwendung. Mit diesem kleinen Beitrag möchte ein paar Tipps zum debuggen einer - in meinen Augen - frustrierenden wie zeitraubenden Situation geben:

org.springframework.transaction.TransactionSystemException: Could not
commit JPA transaction; nested exception is javax.persistence.RollbackException: Error while committing
the transaction	at
org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:476) at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit
(AbstractPlatformTransactionManager.java:754) at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit
(AbstractPlatformTransactionManager.java:723) at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning
(TransactionAspectSupport.java:374)
Was ist da los? Ein Fehler bei der Ausfuehrung einer Transaktion! Und woher kommt der? Schaut man in den JpaTransactionManager in die doCommit Methode, so sieht es erst mal so aus, als handele es sich um eine Exception die von "weit weg" kommt. Vielleicht ein Fehler in der Datenbank, dem Treiber oder etwas in der Richtung. Leider fehlt der Exception auch der "cause" - eine geschachtelte Exception, die normalerweise schnellen Aufschluss über die Art des Programmierfehlers gibt. (Gern gesehen: NullpointerException :-) )

Oracle veröffentlicht Netbeans 6.9

16 June 2010

Netbeans ist nun in der Version 6.9 von Oracle freigegeben worden. Die Entwicklungsumgebung für Java, PHP, JavaScript, Groovy, Scala, ... wird von Oracle zusammen mit der OpenSource Community entwickelt. Das nun veröffentlichte Netbeans 6.9 enthält viele Neuerungen. Für PHP Entwickler besonders interessant ist die Unterstützung des Zend Framework in der aktuellen Version.

Oracle VirtualBox 3.2.4!

14 June 2010

Oracle VirtualBox 3.2.4 ist verfügbar. Dabei handelt es sich um ein sogenanntes Maintenance Relase, es wurden Geschwindikeits- und Qualitätsverbesserungen vorgenommen.
Das offizielle Changelog ist hier verfügbar, der Download von www.virtualbox.org.

VirtualBox eignet sich weiterhin als eine schnelle und kostenfreie Virtualisierungs-Lösung, um Software gefahrlos auszuprobieren, oder andere Betriebssysteme als auf dem Host zu verwenden. So kann man z.B. einen Blick auf OpenSolaris oder Nexenta werfen, und darauf seine Anwendungen testen oder Erfahrung sammeln.

Für OpenSolaris gab es vor ca. einer Woche wieder Aktualisierungen im dev Repository, so dass ich davon ausgehe, dass auch hier Oracle die Weiterentwicklung voran treibt.

OpenJDK, Java 7 und Oracle

3 June 2010

Die Java Usergroup Muenster hatte Dalibor Topic zu Gast, der ueber OpenJDK und Java 7 referierte. (Ankündigung: http://www.jug-muenster.de/)

Interessant dabei: Seit OpenJDK in Debian und Ubuntu verfügbar ist, wird dies auch genutzt - ohne dabei jedoch zu Lasten der Nutzerzahlen des "Sun Java" zu gehen. Es gibt hier also unterschiedliche Nutzer, und offenbar auch solche, die sich ganz bewusst für OpenJDK entscheiden.

Was bietet OpenJDK? Einen nie dagewesenen Einblick in die Entwicklung der am weitesten verbreiteten Sprache der Welt - Java. Dank OpenJDK kann man sich einen Einblick über Entwicklung, Verwaltung und Buildsystem verschaffen, und auch selber an der aktuellen Entwicklung teilhaben.

Und was kommt mit Java 7? Viele kleine Dinge (Projekt Coin), evtl. auch Closures, der Diamond Operator. Und natuerlich wird auch JavaFX durch Oracle massiv weiterentwickelt. (JavaFX ist eine RIA Platfform, die ueber Scene-Graph und Databinding die Entwicklung reichhaltiger grafischer Anwendungen stark erleichtert.) Webseite zu JDK7: https://jdk7.dev.java.net/

Einen Grossteil der Neuerungen betreffen Pruning (alte APIs sollen entfernt werden), Modularisierung der Laufzeitumgebung (Jigsaw) und das Fork-Join-Framework für verbesserte Concurrency. Da Java 7 durch Oracle gegen Ende des Jahres erwartet wird, ist nun der richtige Moment sich damit zu befassen!

Hibernate, JPA 2 und orphanRemoval=true

30 May 2010

Seit JPA 2 gibt es endlich die Moeglichkeit verweiste Objekte einer Collection loeschen zu lassen, so dass keine Hibernate spezifischen Annotationen mehr erforderlich sind.

Hier am Beispiel einer unidirektionalen Assoziation mit JPA 2: @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
private Set<PhoneNumber> resultSet = new ArrayList<PhoneNumber>();
Seit Hibernate 3.5.0-Final wird dies auch unterstützt. Offenbar gibt es da aber noch (irgendwo) einen kleinen Bug. Auch kleine Bugs kann man sehr lange suchen. Wenn man weiß, dass ein Update auf Hibernate 3.5.2 Abhilfe schafft, kann man sich das Suchen auch sparen.
Man muss es eben nur wissen.

Ubuntu Lucid: Fehlerhafter Datei Upload mit Apache mod_fcgid

22 May 2010

Ubuntu Lucid beinhaltet eine neuere Version des Apache  Modules mod_fcgid als FastCGI Anbindung. Wer nun per FastCGI z.B. PHP laufen hat, und sich ueber defekte Dateiuploads wundert, dem sei dieser kurze Blogartikel ans Herz gelegt! (Wer kein FastCGI bzw. nicht mod_fcgid und Apache unter Lucid verwendet, bzw. kein Problem hat, dass z.B. Bilder nach dem Upload defekt sind, kann den Artikel getrost ignorieren.)

Münster: Vortrag zu OpenJDK / Java 7

19 May 2010

Am kommenden Mittwoch, dem 26.5., findet ein Vortrag zum Thema OpenJDK / Java 7 in Muenster statt. Der Referent ist Dalibor Topic arbeitet als Java F/OSS Ambassador bei Sun Microsystems in Hamburg mit der OpenJDK Community daran, Java in GNU/Linux-Distributionen fest zu verankern und Portierungen auf neue Platformen in das OpenJDK-Projekt einzubinden. Desweiteren ist er bekannt als Mitbetreiber der kaffe.org-Virtual-Machine sowie des GNU-Classpath-Projekts.

Der Vortrag ist kostenlos für jeden Teilnehmer und wird folgende Themen behandeln:

Wie ist der Zwischenstand bei JDK 7? Welche Features sind drin? Was hat es mit Closures auf sich? Wie weit ist die Modularisierung des JDK fortgeschritten? Was bringt invokedynamic in der Praxis? Wie breit ist die OpenJDK-Community aufgestellt? Diese Session ist ein Report aus dem Maschinenraum von JDK 7 und der OpenJDK-Community. 

Weitere Informationen, Anfahrt etc. gibt es auf der Homepage der Java Usergroup Münster: http://www.jug-muenster.de/

Rivva - genehmigt.

18 May 2010

Normalerweise bin ich recht argwöhnisch was Crawler, Bots und derlei Zeugs angeht. So auch, als ich den Rivva Crawler in meinen Logs auftauchen sah: 178.63.0.67 - - [17/May/2010:13:10:46 +0200] "HEAD ... HTTP/1.1" 200 - "-" "Mozilla/5.0 (compatible; Rivva; http://rivva.de)" 0 everflux.de
178.63.0.67 - - [17/May/2010:13:13:19 +0200] "GET ....  HTTP/1.1" 200 29570 "-" "Mozilla/5.0 (compatible; Rivva; http://rivva.de)" 0 everflux.de

Vor dem Sperren schaue ich mir in der Regel die betreffende Webseite an - in der Regel ist das dann eine "neue Suchmaschine" die mit SEO Mitteln versucht Adsense und dergleichen unters Volk zu jubeln, jedoch keinen oder geringen Nutzen bringt. Rivva sah dabei nicht schlecht aus, die About Seite klärte auf,  - und nach dem Blick auf den Namen des Autors war das grüne Licht dann an.

Noch besser wäre das Gefuehl natuerlich, wenn wirklich nur der Feed - und vielleicht auch das eine oder andere Mal die robots.txt abgerufen wuerde, statt die ganzen Seiten. Vielleicht hab ich das aber auch falsch verstanden.

Ein interessantes Projekt in jedem Fall, ich bin gespannt was daraus wird. Und ich werde in in den nächsten Wochen öfters mal drauf schauen auf den Fluss des Internets: rivva.de

PHP: gd-png: fatal libpng error: Read Error: truncated data

17 May 2010

Gerade zum Bloggen von Webseiten-Screenshots bietet sich diese Firefox Extension an: Screengrab. Bisher hat das auch alles prima geklabbt: Ubuntu, Firefox, Wordpress Blog und Ubuntu Server.

Neuerdings gibts da jedoch ein Problemchen: Beim Hochladen der Bilder ins Wordpress gibt es nur das "broken Image" Symbol, und auf dem Server wird ganz viel dieser Art geloggt: gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2
Die defekten Zeilenvorschübe kommen dabei original so aus dem Logfile. Ich habe zwar nach der Fehlermeldung ein wenig gesucht, konnte jedoch lediglich einen Hinweis finden, dass es auf aktuelleren PHP Versionen (z.B. Ubuntu Lucid) evtl. zu Problemen mit der Kompressionsstufe 10 kommen kann.

Google: Langsam, langsamer, toooo slow

17 May 2010

Google legt neuerdings Wert darauf, dass Webseiten schnell sind. Zumindest hat Google die Ladezeit von Webseiten neuerdings als (einen) Rankingfaktor offiziell bekannt gegeben. In den Google Webmaster Tools ist eine Ladezeit von ca. 2 Sekunden noch im "grünen" Bereich.
Nachdem mir eben aufgefallen ist, dass Firefox Google besonders langsam war, konnte ich mir ein kleines Grinsen nicht verkneifen, als ich dann von Google selbst gesagt bekam, dass nicht mein Browser, sondern wirklich Google langsam war. Und ich meine langsam: Sagenhafte 12 Sekunden fuer eine relativ simple Suchabfrage.

Selbst nachdem ich die selbe Abfrage nochmals verwendete - hier darf man ja aller spätestens einen warmen Cache annehmen - kam das Resultat erst nach 3-4 Sekunden. Wer es nicht glaubt, ich habe echte Screenshots!

USB funktioniert nicht mit Ubuntu Lucid: Lösung

16 May 2010

Wenn seit dem Update auf Ubuntu Lucid 10.04 USB Geräte nicht mehr funktionieren, bzw. externe USB Festplatten und Laufwerke nicht mehr automatisch gefunden werden unter Ubuntu Lucid, dann kann folgendes eine Lösung sein:

Unter Ubuntu Linux 10.04 gibt es ein Problem mit dem automatischen Einbinden von USB Sticks und anderen externen USB Speichern. Das USB Problem wird dabei durch eine BIOS Einstellung ausgelöst, so dass USB Geräte nicht mehr automatisch unter dem aktuellen Ubuntu Lucid eingebunden werden. Stellt man im BIOS den "Legacy Floppy Support" auf "disabled", so funktionieren nach einem Neustart des Linux Systems auch alle USB Geräte wieder wie gewohnt und werden gefunden.


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