Alles Kakao

Allgemein, OS X, iPhone No Comments »

Juhuu, eine neue Programmiersprache. Wieder was zum lernen. Meine Chefs haben sich dazu entschieden ( endlich :-) ) etwas für das iPhone zu entwickeln. Die Frage, wer hängt sich darein? Richtig, meine Wenigkeit! Jetzt geht es erstmal daran Objective-C zu lernen. Die Syntax ist gewöhnungsbedürftig, aber soweit ganz okay. Hat man sich einmal dran gewöhnt, geht es flott von der Hand. Allerdings ist die schier grosse Anzahl an Frameworks und Klassen in Cocoa (engl. für Kakao) sehr gross.

Du stehst im Jungel, hast keinen Plan wo es lang geht und zu allem überdruss musst du ein Dorf finden und das recht flott.

So oder ähnlich fühle ich mich im Moment. Die Dokumentation von Apple ist sehr umfassend. Man bräuchte manchmal einen Leitfaden was man zuerst lesen sollte. Aber so langsam kämpfe ich mich durch den Jungle und finde meinen Weg.

Skuriles: Heute Eclipse

Eclipse, Tipps No Comments »

Gerade ein Projekt via SVN aus dem Repository geholt und folgende Fehlermeldung beim Öffnen des Projekts in Eclipse (3.3.2) erhalten:

java.lang.NullPointerException at org.eclipse.jdt.internal.ui.packageview.ClassPathContainer

Nicht das sich das Projeket danach geöffnet hat. Eine simple Fehlermeldung (NullPointerException, Error occured) verweigert mir das Öffnen und Bearbeiten des Projektes. Was will mir diese Fehlermeldung sagen?

Nachdem ich ein paar Minuten im Internet gesucht hatte, recht erfolglos, kam mir eine Idee. NullPointerException heißt, Java findet etwas nicht oder etwas was da sein soll ist zu diesem Zeitpunkt nicht da. Sehen wir uns mal den ClassPath (.classpath Datei) des Projektes an. Und voila, das Projekt referenzierte ein nicht vorhandenes Framework. Eintrag gelöscht, Projekt lässt sich öffnen. Benutzerfreundlich ist etwas anderes.

Also, solltet ihr mal Probleme haben ein Projekt in Eclipse zu öffnen, seht mal nach der .classpath Datei im Projektverzeichnis. Diese Datei ist standardmäßig versteckt.

Kameraverfolgung mit Dämpfung

Code, Java, Mathematik, Tipps No Comments »

Für mein aktuelles Freizeitprojekt, ja ich bin ein Hobby-Spiele-Entwickler bzw. versuche einer zu sein, wollte ich eine Kamera haben die dem Ziel folgt. Allerdings soll der Kameraschwenk nicht statisch sein (1:1) sondern je nach Geschwindigkeit des Ziels etwas an Dynamik gewinnen. Da man das Rad nicht 100k mal neu erfinden möchte, sucht man halt nach einigen Code-Schnippseln. Meine Suche hatte erfolgt ;-)

void update(float delta) {
    Entity target = getTarget();
    Entity camera = getCamera();
    final float threshold = ...;
    final float feelFactor = ...;

    Vector2f difference = target.getPosition().sub(camera.getPosition());
    float distance = difference.length();

    if (distance > threshold) {
        Vector2f direction = difference.norm();
        float speed = (distance - threshold) * feelFactor;

        Vector2f newPosition = camera.getPosition().add(direction * speed);

        camera.setPosition(newPosition)
    }
}

Das Fragment ist eigentlich selbsterklärend. Falls jemand Hilfe dabei braucht, ihr habt die Kommentar-Funktion :-)

XBox 360 - Herbstupdate 2008

XBox 360 No Comments »

Endlich ist Erlösung von meinem lauten Düsentriebwerk aka DVD-Player XBox 360 in Sicht. Im nächsten Update, wahrscheinlich Oktober oder November 2008, wird es möglich sein Spiele auf die Festplatte zu kopieren und diese von dort zu starten. Dann ist die 120 GB Festplatte auch mal zu was nütze. Allerdings muss die DVD im Player bleiben (Kopierschutz). Das eigentliche Spiel wird dann aber von Festplatte geladen (30% schnellere Ladezeiten als bisher) und der Jet kommt nach der Überprüfung der DVD auch mal zum Stillstand. Was will man mehr?

Start Trek Online Trailer

Game, Star Trek No Comments »

Juhuu. Ich hatte schon um die Veröffentlichung von Star Trek Online gebanngt. Ursprünglich sollte Perpetual Entertainment STO entwickeln. Nach deren Pleite wurde es erstmal sehr still um STO. Vor einiger Zeit, keine Ahnung wann das war… zuviel Arbeit um die Ohren, hat Cryptic Studios die Rechte an STO bekommen und das Spiel “from Scratch” neu entwickelt. Hier ein erster Trailer von Star Trek Online.

Adobe Flash-Player 9 - Mac OS X Bug

Adobe, Allgemein, Bug, Flash, OS X No Comments »

So, nach einer längeren Pause mal wieder ein kleiner Beitrag von mir. Momentan habe ich in der Firma ziemlich viel um die Ohren. Naja… Vor einiger Zeit ist mir aufgefallen das mein Mac Book Pro (Intel) sehr heiß wird, wenn ich im FireFox oder Safari (alles aktuelle Versionen) Flash-Video-Streams ansehe. FireFox lief bei ca. 80 - 90% CPU-Auslastung und Safari bei etwa 100 - 110%.

Nach einer kurzen Recherche habe ich auch schon eine Antwort gefunden, die da lautet: BUG. In der 9er Version vom Adobe-Flash-Player (Mac) gibt es wohl einen Bug der eine hohe CPU-Auslastung zur Folge hat. Abhilfe schafft hier die 10er Version des Flash-Players (Beta!). Alternativ kann man sich Flash-Videos auch per VLC-Player ansehen.

Dynamischer Durchschnittswert

Allgemein, Mathematik, Tipps No Comments »

Ihr kennt auch manchmal das Problem Durchschnittswerte zu berechnen, habt aber keine Lust eine Liste von Ergebnissen mit rumzuschleppen und die Ergebnisse durch die Anzahl der Elemente zu teilen (oder so ähnlich)? Dann kann ein bisschen Mathematik abhilfe schaffen:

/**
  * Calculates the average value
  * @param currentAverage
  * 			current average value
  * @param sample
  * 			new value which needs to be integrated into average
  * @param n
  * 			iteration count
  */
public float calculateAvrgValue(float currentAverage, float sample, int n) {
	return ((currentAverage * (float) n + sample) / (n + 1));
}

HTML 2 PDF

Java, Tipps 1 Comment »

Wer kennt sie nicht, die schönen kleinen PDF-Icons in Typo3, Joomla und Co.? Eine auf den ersten Blick selbstverständliche Funktionalität wird in Java nicht mehr ganz so selbstverständlich. Für ein aktuelles Projekt (WebObjects, Java) muss ich HTML-Seiten als PDF-Dokumente exportieren können. Drei Tage habe ich jetzt diverse Möglichkeiten recherchiert und getestet.

  1. iText Stand-Alone - iText kann keine PDFs aus HTML-Daten generieren
  2. iText und JEditorPane (Screenshot der Webseite) - Scheiterte an der fehlenden CSS 2 und HTML 4 Unterstützung von JEditorPane
  3. Apache FOP, JTidy und Xalan - Viele Libraries (ca. 10 MB), ziemlich aufwändig und ein schwaches Ergebnis
  4. XHTMLRenderer (Flyingsaucer) - Meine Rettung

Falls jemand eine “bessere” Lösung parat hat, immer her damit :-)

2D Array zu 1D Array

Allgemein, Tipps No Comments »

Man hat ein 1D-Array und möchte beispielsweise über ein 2D-Parameter zugreifen? Ganz einfach…

int maxX = 4;
int maxY = 4;
List list = new ArrayList();

public Object getObject(int x, int y) {
   int index = (y * maxX) + x;
   return list.get(index);
}

XCode VS Eclipse

Allgemein, Apple, Eclipse, Java, WebObjects, XCode No Comments »

Mit OS X 10.5 (Leopard) stellt Apple den Support für WebObjects-Entwicklung unter XCode ein. Die Cocoa-Java-Bridge wird nicht mehr verwendet. Apple empfiehlt den Umstieg auf Eclipse mit dem Plug-In WOLips. Auf der WOLips-Seite gibt es eine Anleitung für die Migration von XCode zu Eclipse (Migrating from XCode). Mittlerweile habe ich fast alle Projekte auf Eclipse / WOLips umgestellt. Der Umstieg ist recht einfach. Ich musste lediglich einige “Package”-Statements anpassen und es lief. Wie würde Steve Jobs jetzt sagen? “Boom!”.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Anmelden