Eclipse 3.5 zu Eclipse 3.6 –> @SuppressWarnings("unchecked") und @SuppressWarnings("rawtypes")

Von http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/porting/3.6/incompatibilities.html Punkt 3:

@SuppressWarnings("unchecked") does not ignore raw types warnings anymore

What is affected: Usage of @SuppressWarnings("unchecked").

Description: Up to Eclipse 3.5, @SuppressWarnings("unchecked") was used to suppress the unchecked and raw types warnings. This was not consistent with other compilers (e.g. javac). A new warning token "rawtypes" has been added to cover the case of raw type warnings exclusively. So in order to get rid of all warnings, in Eclipse 3.6, it might be required to add "rawtypes" in the warning token list.

If it is not possible to update the code, a system property (-DsuppressRawWhenUnchecked=true) can be added to the -vmargs list on startup. This preserves the old behavior. The projects need to be manually cleaned and rebuilt after toggling the property.

Action required: When new warnings that were previously ignored are now reported, add "rawtypes" to the list of warning tokens.

Before:

@SuppressWarnings("unchecked")
    void bar(List list) {
        List<String> ls2 = list;
    }
@SuppressWarnings("unchecked")
private List l;

After:

@SuppressWarnings({"unchecked", "rawtypes"})
    void bar(List list) {
        List<String> ls2 = list;
    }
@SuppressWarnings("rawtypes")
private List l;

Supergau? Apache zieht sich vollständig aus dem JCP zurück

Aus https://blogs.apache.org/foundation/entry/the_asf_resigns_from_the:

The Apache Software Foundation has resigned its seat on the Java SE/EE Executive Committee.  Apache has served on the EC for the past 10 years, winning the JCP "Member of the Year" award 4 times, and recently was ratified for another term with support from 95% of the voting community.  Further, the project communities of the ASF, home to Apache Tomcat, Ant, Xerces, Geronimo, Velocity and nearly a 100 mainstay java components have implemented countless JSRs and serve on and contribute to many of the JCPs technical expert groups. 
We’d like to provide some explanation to the community as to why we’re taking this significant step.
The recent Java SE 7 vote was the last chance for the JCP EC to demonstrate that the EC has any intent to defend the JCP as an open specification process, and demonstrate that the letter and spirit of the law matter.   To sum up the issues at stake in the vote, we believe that while continuing to fail to uphold their responsibilities under the JSPA, Oracle provided the EC with a Java SE 7 specification request and license that are self-contradictory, severely restrict distribution of independent implementations of the spec, and most importantly, prohibit the distribution of independent open source implementations of the spec.  Oracle has refused to answer any reasonable and responsible questions from the EC regarding these problems.
In the phrase "fail to uphold their responsibilities under the JSPA", we are referring to Oracle’s refusal to provide the ASF’s Harmony project with a TCK license for Java SE that complies with Oracle’s obligations under the JSPA as well as public promises made to the Java community by officers of Sun Microsystems (recently acquired by Oracle.)  This breach of the JSPA was begun by Sun Microsystems in August of 2006 and is a policy that Oracle explicitly continues today.  For more information on this dispute, see our open letter to Sun Microsystems.
This vote was the only real power the Executive Committee has as the governing body of the Java specification ecosystem, and as we indicated previously we were looking for the EC to protect the rights of implementers to the degree they are able, as well as preserve the integrity of the JCP licensing structure by ensuring that JCP specifications are able to be freely implemented and distributed.  We don’t believe this is an unreasonable position – it should be noted that the majority of the EC members, including Oracle, have publicly stated that restrictions on distribution such as those found in the Java SE 7 license have no place in the JCP – and two distinguished individual members of the EC, Doug Lea and Tim Peierls, both have resigned in protest over the same issue.
By approving Java SE 7, the EC has failed on both counts : the members of the EC refused to stand up for the rights of implementers, and by accepting Oracle’s TCK license terms for Java SE 7, they let the integrity of the JCP’s licensing structure be broken.
The Apache Software Foundation concludes that that JCP is not an open specification process – that Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses; that the commercial concerns of a single entity, Oracle, will continue to seriously interfere with and bias the transparent governance of the ecosystem;  that it is impossible to distribute independent implementations of JSRs under open source licenses such that users are protected from IP litigation by expert group members or the spec lead; and finally, the EC is unwilling or unable to assert the basic power of their role in the JCP governance process.
In short, the EC and the Java Community Process are neither.
To that end, our representative has informed the JCP’s Program Management Office of our resignation, effective immediately.  As such, the ASF is removing all official representatives from any and all JSRs. In addition, we will refuse any renewal of our JCP membership and, of course, our EC position.

Die letzte Aussage ist besonders hart: “As such, the ASF is removing all official representatives from any and all JSRs. In addition, we will refuse any renewal of our JCP membership and, of course, our EC position.”

Android-App Bezahlung über PayPay war wegen der Wikileaks-Payback-Attacke nicht möglich

Die http://en.wikipedia.org/wiki/Operation_Payback führt(e) eine DOS-Attacke auf PayPay und andere Dienstleister durch. Weiter auf http://en.wikipedia.org/wiki/WikiLeaks:

On December 5., a group of activists and hackers known as "Anonymous" called upon supporters to attack sites of companies that oppose WikiLeaks as part of Operation Avenge Assange.[158] Paypal has been targeted following their decision to stop processing donations for Wikileaks.[159][160] Gregg Housh, who previously worked on other projects with Anonymous, said that he had noticed an organized attempt taking place to attack companies that have not supported WikiLeaks. In reference to the support being shown for Wikileaks, Mr. Housh said; "The reason is amazingly simple, we all believe that information should be free, and the Internet should be free."[161] On 8 December 2010 Paypal website was victim of a Denial-of-service attack by Anonymous.[162][163][164] Later that day, Paypal announced in his blog that they will release all remaining funds in the account to the foundation that was raising funds for WikiLeaks.

Android-Apps konnten über PayPay nicht bezahlt werden, was die klare Verwundbarkeit des Bezahldienstes zeigt.

Die Software, die für den DOS genutzt wird, ist die C#-Software http://en.wikipedia.org/wiki/LOIC (lustiger auf http://encyclopediadramatica.com/LOIC).

Thema der Woche: Technologien der Java SE platform

Die Seite http://download.oracle.com/javase/6/docs/ enthält eine bunte Grafik mit unterschiedlichen Technologien.

  • Schreibe zu jedem Punkt eine Kurzzusammenfassung um was es sich geht.

Konkrete Fragen:

  • Welche Bedeutung hat IDL heute? Was ist eine moderne Version der “IDL”?
  • Welche Bedeutung hat das endorsed-Verzeichnis?
  • Was kann die URLConnection caching API?
  • Welches Problem lösen Klassen des Pakets java.util.concurrent.atomic?
  • An welcher Stelle greift die Instrumentalisierung für die es Typen im Paket java.lang.instrument gibt?
  • Wie wählt man zwischen Server- und Client-JVM? Oder wird die Entscheidung auch automatisch vorgenommen?

Android 2.3 (Gingerbread) freigegeben

Auf dem Entwicklerblog http://android-developers.blogspot.com/2010/12/android-23-platform-and-updated-sdk.html ist heute zu lesen, dass Version 2.3 veröffentlicht wurde. Zentrale Punkt sind:

  • Enhancements for game development
  • Rich multimedia
  • support for front-facing camera, SIP/VOIP, and Near Field Communications (NFC)

Mehr unter http://developer.android.com/sdk/android-2.3-highlights.html.

 

Google App Engine 1.4

Wie im Blog http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html zu lesen, erblickt die Version 1.4 das Adventlicht. Die News in Kürze:

  • The Channel API – A bi-directional channel for communicating directly with user browsers by pushing notifications directly to the JavaScript running on the client, eliminating the need for polling. This service makes it easy to build real-time applications such as multi-player games, chat rooms, or any collaboration centric app and is built on the same Google infrastructure that powers Google Talk.
  • Always On – For high-priority applications with low or variable traffic, you can now reserve instances via App Engine’s Always On feature. Always On is a premium feature costing $9 per month which reserves three instances of your application, never turning them off, even if the application has no traffic. This mitigates the impact of loading requests on applications that have small or variable amounts of traffic.

Screenshot of the Instances page in the App Engine Admin Console with Always On enabled.

  • Warm Up Requests – This feature reduces time to serve requests by anticipating the need for more instances and loading them before user traffic is sent to the new instance. It can be enabled for all applications through app.yaml or appengine-web.xml and is enabled by default for applications that have purchased Always On. Once enabled, warm up requests will be sent whenever possible to load new instances of your application before it begins serving user traffic.

Der erste Teil ist oft unter dem Stichwort Comet geführt.

Weitere Änderungen:

  • No more 30-second limit for background work – With this release, we’ve significantly raised this limit for offline requests from Task Queue and Cron: you can now run for up to 10 minutes without interruption.
  • Increased API Call Size Limits – A new API architecture has allowed us to start lifting the 1MB size limits on many of the App Engine APIs. To start, the following APIs have been changed:
    • Response size limits for URLFetch have been raised from 1MB to 32MB.
    • Memcache batch get/put can now also do up to 32MB requests.
    • Image API requests and response size limits have been raised from 1MB to 32MB.
    • Mail API outgoing attachments have been increased from 1MB to 10MB

10 Minuten würden mir schon helfen, Daten in die BigTabe zu laden…

Tomcat 7.0.5 mit einem neuen interessanten Feature

Implement support for parallel deployment. This allows multiple versions of the same web application to be deployed to the same context path at the same time. Users without a current session will be mapped to the latest version of the web application. Users with a current session will continue to use the version of the web application with which the session is associated until the session expires. (markt)

Mehr Änderungen unter http://tomcat.apache.org/tomcat-7.0-doc/changelog.html.

Release von Velocity Engine Version 1.7

Nach der Version 1.6.4 im May gibt es nach einem halben Jahr ein Update auf die nächste Versionsstufe Velocity 1.7. Die Updates http://velocity.apache.org/news.html:

Since 1.6, there has been a lot of work: #@body()content#end, #[[literal content]]#, major namespacing changes, $newListSyntax[$i], and more. Please see the change log for details!

Since 1.7-beta1, we fixed, VELOCITY-785, VELOCITY-766, VELOCITY-760, and VELOCITY-753. We also added access to current template and directive debugging info through $foo.info (where foo is the namespace you are seeking info about).

For more details on these, again, see the change log.

Downloads of 1.7 are available here. This is a drop-in replacement for Velocity 1.6, however, it also begins the transition to 2.0 features. Users upgrading should expect deprecation warnings in their logs.

Was benutzt ihr für eine Template Engine? Velocity oder Freemaker oder andere (exotische) wie http://www.stringtemplate.org/?

Thema der Woche: Gui-Dialoge

Theoretisches:

  • Lies http://msdn.microsoft.com/en-us/library/aa511268.aspx.
  • Aus welchen Bestandteilen besteht ein Dialog?
  • Was unterscheidet ein guten Dialog von einem schlechten?
  • Welche Fehler sollte man bei Gui-Dialog nicht machen?
  • Auf welchem Element liegt der Fokus beim Dialogstart? Welche Aktion wird mit Return bestätigt?
  • Sollten Schaltflächen eher generische Titel wie OK, Abbrechen haben oder spezielle Titel wie “Schließen”, usw. Beinflusst das die Formulierung von Texten?
  • Welche Möglichkeiten gibt es, dem Benutzer mehr Hilfen/Informationen zu geben?
  • Vergleiche die Windows-Dialoge mit denen von Eclipse. Welche Unterschiede gibt es?

 

Praktisches:

  • Welche Möglichkeiten bietet Java SE bei Swing-Dialogen?
  • Teste http://code.google.com/p/oxbow/ praktisch an eigenen Beispielen, etwa eine Dialogbox von der MSDN-Seite in Swing umzusetzen.

Gui-Tipp: Warnungen und Fehlermeldungen sollten den Grund klarstellen

Hier ein Gegenbeispiel. Gerade wollte ich nach einem Mietwagen in Dubai bei https://www.thrifty.com/ suchen und bekam folgende Meldung:

NO RATES QUALIFY WITH REQUESTED PARAMETERS.
(Message 41854:27)

Datum ist Ok, Ort auch. Gut wäre, wenn ich einen Hinweis bekäme, mit welchen Parametern es dann klappen würde. Kein Auto zu dem Termin? Kein Auto an am Flughafen?

Image and video hosting by TinyPic

Diskussion, warum die Google App Engine for Java nix ist

Ein GAE-Nutzer diskutiert unter http://www.carlosble.com/?p=719 und lesenswert sind Kommentare (wobei mir das oft ein wenig zu grob und prollig ist). Die Kritikpunkte decken sich mit meinen Erfahrungen. Ich habe eine größere Web-Anwendung mit GWT für GAE/J gebaut (mit Objectify und wirklich an der Modellierung gefeilt), aber letztendlich fand ich den Datastore für meine Aufgaben zu langsam. Ich mag den Dienst, aber man schon ganz schön tricksen und erst nach vielem Rumbiegen und Designänderungen geht es dann irgendwie. Und das ist in meinen Augen das Problem, dass doch wieder die Technologie (und ihre Beschränkungen) das Design fundamental steuert. Letztendlich habe ich meine Web-Anwendung auf einen eigenen Server gesetzt und bin von GAE/J weggegangen. Vieles konnte ich rausschmeißen und alles wurde simpler und das DDD scheint jetzt wieder klarer durch.