Kontrollfreaks unserer Nation

kontrollfreaks

Auf wirres.net gibt es einen schönen Beitrag über die Apple/Verleger-Sache. Lesenswert. und hey, kleinschreibung ist nicht so schlimm!

webM für OS X (QuickTime)

Keine brandaktuelle Neugigkeit: Auch für OS X gibt es bereits webM.

Im Downloadbereich des webM-Projektes gibt es Installer für ein QuickTime-Plugin. Damit “kann” der Safari dann auch webM, beispielsweise YouTube HTML5 Demo mit webM (anstatt H.264).

Fwd: Ars Technica über Google, Chrome und H.264

Ars Technica: Google’s dropping H.264 from Chrome a step backward for openness

In the world of video, however, H.264 is everywhere. It’s in Blu-ray; it’s in the latest version of the ATSC American digital TV specification, it’s used with the European DVB family of digital TV specifications, it’s in the 3G-324M video call specification; hardware support is found in every modern smartphone, on every modern GPU (which will sooner or later translate into every modern CPU); it’s in camcorders and cameras and digital workflows. H.264 is not going away. It’s already entrenched, and the incorporation into TV standards means that in all likelihood, H.264 will be in use for decades.

WebM has none of this. There are efforts to provide hardware support for WebM, but widespread distribution of such features is some way off (if it ever happens at all; it may well remain a niche technology), and inclusion of WebM into the broadcast and optical disc standards is phenomenally unlikely.

Und ich schließe mich auch an: Auch jetzt dürfte der Anreiz für Videoplattformen nicht größer werden. Warum sollten sie denn jetzt ihre komplette Video-Infrastruktur von H.264 auf webM umstellen? Das ganze läuft nur darauf hinaus, dass Chrome User ab Version (10? 11?) dann eben vermehrt Flash (mit H.264-Player) sehen. Politische Entscheidung seitens Google? Das Geld (laut Artikel 6,5 Mio) könnten die aus der Portokasse bezahlen, und andere nicht non-royality Software wird weiterhin ausgeliefert: Flash, MP3, AAC.

It looks like sticking with Flash and ignoring <video> is indeed what SmugMug may end up doing. And who can blame them? Flash works for almost every Internet user, and Flash supports H.264.

Ich sagte es bereits früher: Nahezu alle Videoplayer sind eigentlich nur Flash Player mit H.264-Content.

Übrigens, schöner Schlusssatz des Artikels:

Google’s decision—a decision to exclude support for an open codec, giving users fewer choices and an objectively inferior browser, does nothing to advance the open web. It means eschewing open standards in favor of Google-controlled proprietary standards, and it means that Flash remains the single best mechanism for delivery of web video.

Das ist nicht in unserem Sinne, Google!

Hallo, Willkommen in der Realität. – oder die Woche: WikiLeaks & ein Gerichtsbeschluss

…einfach lesen, was Udo Vetter im Lawblog schreibt.

OviStore

Ach ja…

Oder mit anderen Worten: Angry Birds ist zwar (mutmaßlich dürfte das stimmen) eins der best verkauftesten Spiele, aber die Wahrscheinlich ist hoch, dass der Besucher ein inkompatibles Handy/Phone besitzt. Denn es funktioniert nur mit Androids..

“Nein, was du schreibst ist dumm.”

So ähnlich lassen sich die Antworten zusammenfassen, die einige nicht ganz Unbekannte der Informatik als Antwort auf ihre Einreichungen erhalten haben. Lesenswert.

Hier als PDF.

via fefe

Eine Jar (OJDBC) nachträglich in die Ziel-Jar integrieren

Für das visualDependencies-Projekt stand ich eben vor dem Problem, dass zur Laufzeit ein Oracle-JDBC-Treiber benötigt wird. Leider kann man ihn jedoch nicht als Abhängigkeit konfigurieren, da zum einen das Projekt unter der GPL läuft, und zum anderen es überhaupt keinen offiziellen Weg dafür gibt. Für den eigenen Buildprozess kann man selbstverständlich ein lokales Repository nutzen, das Artefakt lokal deployen bzw. den Buildserver entsprechend konfigurieren.

Da jedoch das Projekt im Form des Sourcecodes “für alle” erreichbar sein soll, fallen diese Optionen zumindest für diese Situationen weg. Es muss also eine Möglichkeit geben, den OJDBC-Treiber nachträglich in das fertige Applikations-Jar zu integrieren. Und ja, das ist eigentlich sehr trivial.

Im folgenden Ant-Script werden sowohl die Applikations-Jar (visualDependencies.one-jar.jar) als auch der JDBC-Treiber (ojdbc14.jar) in der Konfiguration vorbelegt. Selbstverständlich kann man alle Properties überschreiben bzw. das Script entsprechend anpassen.

Die wichtigen Teile sind: Das Ant-Jar-Command muss den Zusatz “update” erhalten, denn die Ziel-Jar soll nicht ersetzt werden. Außerdem muss ein Fileset mit einer Verzeichnisstruktur angegeben werden, da die Treiber-Jar innerhalb der Ziel-Jar im Verzeichnis lib liegen muss (Struktur einer One-Jar). Das war’s.

Hinweis: Das Ant-File ist für den Gebrauch in einer Maven-Umgebung konfiguriert (basedir=../../../ entspricht dem Root-Verzeichnis bei der Annahme, dass Script unter src/main/scripts/ liegt).

<?xml version="1.0" encoding="UTF-8"?>
<project name="visualDependencies" default="help" basedir="../../../">
	<!-- The path of the actual artifact (project name), without the file suffix. -->
	<property name="project.name" value="visualDependencies.one-jar" />
	<!-- The path of the ojdbc driver, without the file suffix. -->
	<property name="ojdbc.name" value="ojdbc14" />
	<!-- DO NOT CHANGE THIS LINES UNLESS YOU KNOW WHAT YOU DO! -->
	<property name="project.jar" value="${project.name}.jar" />
	<property name="ojdbc.jar" value="${ojdbc.name}.jar" />
	<!-- Set actual paths of artifacts. -->
	<property name="application.path" location="${basedir}/target/${project.jar}" />
	<property name="ojdbc.parent.path" location="${basedir}/oracle" />
	<property name="ojdbc.path" location="${ojdbc.parent.path}/lib/${ojdbc.jar}" />
	<!-- Shows help (default target) -->
	<target name="help">
		<echo message="See http://www.knallisworld.de/blog/2010/11/23/eine-jar-ojdbc-nachtraglich-in-die-ziel-jar-integrieren/" />
		<echo message="Usage: attachOJDBC" />
	</target>
	<!-- Checks if the artifacts are available. Throws exceptions if they not exist. -->
	<target name="checkDependencies">
		<available file="${application.path}" property="application.exists" />
		<available file="${ojdbc.path}" property="ojdbc.exists" />
		<fail unless="application.exists" message="The application file (${application.path}) does not exist." />
		<fail unless="ojdbc.exists" message="The ojdbc file (${ojdbc.path}) does not exist." />
	</target>
	<!-- Integrates all files of ojdbc.parent.path into the target jar. -->
	<target name="attachOJDBC" depends="checkDependencies">
		<jar update="true" destfile="${application.path}">
			<fileset dir="${ojdbc.parent.path}" />
		</jar>
	</target>
</project>

ExtJS 4 Updates

Ich bin gespannt.

SenchaCon

Sagte ich letztens, Sencha würde sich gut entwickeln? Die hauseigene SenchaConference ist gestartet, und die Firma hat erstmal kräftig auf den Putz gehauen. Es gibt nicht nur die finale Version SenchaTouch (quasi das ExtJS für mobile Plattformen inkl. UI), sondern direkt ein passendes Ext Designer Update zum entwickeln von Touch Anwendungen. Und auch einen Marktplatz für Entwickler/Kunden — den so genannten SenchaDev-Bereich. Ob der was taugen wird, das wird man später sehen.

Im Einzelnen: Ausgewählte Informationen per Copy-Paste aus dem @tdgi-Staccato:

  1. #SenchaCon ext designer to be moved to CSS, icon, template, theme and event mangers!
  2. #SenchaCon Web services: font, data image resizing and more, all from #senchainc.
  3. #SenchaCon #ExtJS 4has a brand new layout engine. Same API.
  4. #SenchaCon #ExtJS 4 has 4000 unit tests!
  5. #SenchaCon #ExtJS 4 is UI tested by a new tool called VisualQA. Awesome!
  6. #SenchaCon #ExtJS 4 most useful documentation ever. All classes documented.
  7. #SenchaCon #ExtJS 4 examples integrated into docs.
  8. #SenchaCon #ExtJS 4 upgrade guide available!
  9. #SenchaCon #ExtJS 4 API improvements, clears cruft. Standardizing naming, funcs conventions.
  10. #SenchaCon #ExtJS 4 new charting package. Bye bye flash!
  11. #SenchaCon #ExtJS 4: building complex forms are a lot easier!
  12. #SenchaCon #ExtJS 4: Record becomes Model. More complex data manipulation now possible.
  13. #SenchaCon #ExtJS 4: data associations are now going to empower a new level of application development!
  14. #SenchaCon #ExtJS 4: local and session storage APIs available.
  15. #SenchaCon Sencha Command is a way to start your apps.
  16. #SenchaCon #ExtJS 4: sencha command is automated by the model generator.
  17. #SenchaCon JSBuilder is tied into Sencha Command.
  18. #SenchaCon #ExtJS 4: that was beta in six weeks. Final is feb 28, 2011
  19. #SenchaCon #ExtJS 4: VisualQA will be open to end debs, release date unknown. Bye bye selenium, hellos new world of testing RIAs!

Eine neue Layoutengine hatte man bereits im Vorfeld leicht angekündigt; die Model-Neuerfindung ist auch nicht überraschend, da es bereits in SenchaTouch Einzug fand. Model Associations sind genial. Der Wegfall von Flash im Charting-Paket sollte auch nicht verwundern, schließlich hat man jetzt bereits zwei alternative Know-Hows in Form von Frameworks eingekauft.

Alles in allem hört sich das alles super an: Mehr UI-Testing ist speziell in einer RIA sehr schwierig und könnte durch geeignetes Framework-Hilfstool sicherlich um einiges besser machbar werden. Was sich genau hinter Sencha Command verbirgt bzw. welche Power es genau hat, wird man sehen.

Axel E. Fischer

… ist seit diesem Wochenende ein ganz neuer Mensch. Zumindest im Internet.

Noch so ein köstliches Mem: Axel E. Fischer, CDU, fordert... http://bit.ly/c9iFxg #Lachattacke /v @LamorPolle
@ennomane
Die Ennomane