Gran Turismo 6 im Kurztest

Vor ein paar Stunden schlug bei mir Gran Turismo 6 für die PlayStation 3 auf. Nachdem das Paket ausgepackt war ging es an den Start. In diesem Fall bedeutete das ein 1,2 GiB großes Update auf die Version 1.01 über sich ergehen zu lassen. Nachdem das Update heruntergeladen und installiert wurde, darf man die Lizenzbedingungen abnicken. Danach legt man seinen Fahrer an. Hierbei muss sowohl ein Vorname, als auch ein Nachname angegeben werden. Nicknames sind damit nicht ohne Weiteres möglich. Allerdings kann man als Vorname auch ein @ angeben, so das man seinen Twitter-Nutzername abbilden kann.

Gran Turismo 6

Gran Turismo 6

Nachdem der Fahrer angelegt wurde, geht es auch gleich an die erste Runde. Im Gegensatz zu Gran Turismo 5, wird man nicht zur Installation der Spieldaten aufgefordert, sondern kann gleich losfahren. Auf der Strecke wird man mittels Autopilot aus der Boxengasse geführt und kann seine erste Runde drehen. Geleitet wird das ganze dabei von einer Art Mini-Tutorial welche in die Grundlagen der Bedienung einführt. Dabei fällt auf das die Grafik im Gegensatz zum Vorgänger wesentlicher hübscher wirkt. Auch die Physik wirkt nun wesentlich realistischer, beim Vorgänger hatte man manchmal ein seltsames Gefühl was diese betraf unter anderem wenn man gegen Hindernisse stieß. Das Fahren und Driften auf dem Straßenbelag und die damit verbundene Kontrolle über das Fahrzeug wirkt hier wesentlich durchdachter und deckt sich besser mit der Alltagserfahrung.

Wenn man die erste Einführungsrunde erfolgreich bewältigt hat landet man im neuen Menü. Dieses wirkt wesentlich aufgeräumter als das der Vorgänger. Man findet sich hier sofort zurecht und sieht auf den ersten Blick welche Strecken zur Verfügung stehen und welche Strecken noch gesperrt sind.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=IRKbIXb9ShE

Von den Vision GT Autos ist im Moment nur das Exemplar von Mercedes AMG verfügbar, alle anderen Autos werden in späteren Updates nachgereicht. Es handelt sich dabei um Entwürfe welche anlässlich den 15ten Jubiläums der Gran Turismo Reihe von den Herstellern angefertigt wurden. Insgesamt sind im neuen Teil um die 1200 Autos verfügbar. Alles in allem macht der neue Teil von Anfang an Spaß und kann bedingungslos für den Einstieg in die Gran Turismo Reihe empfohlen werden.

Mailserver auf Open Relay testen

Wer einen eigenen Mailserver betreibt und testen möchte ob er sich nicht ein Open Relay (ein Mailserver den jeder zum Senden von Mails benutzen kann) erstellt hat, kann das ganze testen.

mailradar.com/openrelay/

mailradar.com/openrelay/

Ein solcher Test ist auf http://www.mailradar.com/openrelay/ zu finden. Er probiert verschiedene Methoden aus, um mit dem angegebenen Mailserver eine Mail zu versenden. Wenn dies in allen Fällen fehl schlägt, ist der Server sauber konfiguriert.

Testen mit NUnit

Testbasierte Entwicklung ist schon eine schöne Sache, vor allem bei größeren Projekten. Mit Hilfe sogenannter Unit-Tests kann man dabei automatisiert überprüfen ob der zu testende Softwareteil noch immer die Ergebnisse liefert, die erwartet werden. Meist ist es so, dass man in größeren Softwareprojekten etwas ändert und damit implizit an anderen Stellen Fehler einbaut, welche ohne Unit-Tests gar nicht bzw. erst später auffallen.

Für die Entwicklung unter .NET/Mono mit Hilfe des Visual Studios habe ich mich dabei für NUnit entschieden, da man dieses im Gegensatz zu MsTest auch unter Linux und Mac OS X nutzen kann. Damit sich das ganze bequem in das Visual Studio integriert nutze ich TestDriven.NET welches unter http://www.testdriven.net/ bezogen werden kann. Der persönliche Gebrauch ist dabei kostenlos.

Nach der Installation von TestDriven.NET kann man sein Visual Studio starten und mit der testbasierten Entwicklung beginnen. Dabei hat man zwei Möglichkeiten dies zu lösen. Die erste Möglichkeit ist es die Tests in ein extra Projekt zu verlagern so das diese nicht in der zu testenden Software vorkommen. Bei der zweiten Möglichkeit werden die Tests direkt im zu testenden Projekt geschrieben (z.B. in einen Namespace „Tests“).

Als Beispiel sei folgende Klasse gegeben:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Project
{
	public class FooBar
	{
		public int A { get; private set; }
		public int B { get; private set; }
		public int C { get; private set; }

		public FooBar(int a, int b, int c)
		{
			A=a;
			B=b;
			C=c;
		}
	}
}

Die Klasse „FooBar“ nimmt dabei im Konstruktor die drei Variablen a, b und c entgegen und weist sie den jeweiligen Eigenschaften der Klasse zu. Um nun zu testen ob diese Zuweisung funktioniert schreiben wir eine entsprechende Test-Unit. Dazu erstellen wir eine Klasse namens: „FooBarTest.cs“:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;

namespace Project
{
	[TestFixture]
	public class FooBarTests
	{
		[Test]
		public void TestNewFooBar()
		{
			FooBar fooBar=new FooBar(13, 24, 47);

			Assert.AreEqual(13, fooBar.A);
			Assert.AreEqual(24, fooBar.B);
			Assert.AreEqual(47, fooBar.C);
		}
	}
}

Diese Testklasse testet nun ob die Werte die im Konstruktor angegeben werden auch wirklich in den entsprechenden Eigenschaften landen. Dazu wird zuerst das NUnit Framework mittels:

using NUnit.Framework;

eingebunden. Mittels des Attributes „[TestFixture]“ sagen wir dem NUnit Framework das sich in dieser Klasse Unit-Tests befinden. Bei diesem Attribut gibt es einige Einschränkungen, so darf die Klasse z.B. nicht abstrakt sein, näheres dazu erfährt man auch in der Dokumentation.

Das Attribut „[Test]“ über der Funktion „TestNewFooBar“ teilt dem Framework mit das es sich bei dieser Funktion um einen Unit-Test handelt, welcher überprüft werden soll. Dazu legen wir in der Funktion eine Instanz von „FooBar“ an und übergeben die entsprechenden Werte an den Konstruktor.

Mittels der „Assert.AreEqual“ Funktion (weitere „Assert“ Funktionen findet man in der Dokumentation) überprüfen wir ob die Werte auch bei den Eigenschaften A, B und C angekommen sind. Wäre dies nicht der Fall so würde der Tests fehlschlagen.

Nachdem ein Test für die entsprechende Klasse geschrieben wurde, klickt man im Visual Studio mit der rechten Maustaste auf die Testklasse und wählt dort „Run Test(s)“ aus. Möchte man mehrere Tests laufen lassen so muss einen übergeordneten Ordner auswählen. Wenn alles richtig gemacht wurde, sollte man folgende Ausgabe sehen:

------ Test started: Assembly: Project.exe ------

1 passed, 0 failed, 0 skipped, took 3,07 seconds (NUnit 2.6.0).

Falls ein Fehler aufgetreten ist so sieht das ganze so aus:

------ Test started: Assembly: Project.exe ------

Test 'Project.FooBarTests.TestNewFooBar' failed: 
  Expected: 47
  But was:  0
	FooBarTests.cs(19,0): bei Project.FooBarTests.TestNewFooBar()

0 passed, 1 failed, 0 skipped, took 1,66 seconds (NUnit 2.6.0).

Findet man einen Fehler bei einem Test sollte man schauen wodurch dieser verursacht wird und ihn beheben. Wenn man nun bei der späteren Entwicklung Fehler findet (und beseitigt), welche durch keinen Tests abgedeckt sind, so sollte man gleich einen entsprechenden Test dafür schreiben, damit dieser Fehler nicht ein weiteres Mal auftreten kann.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/NUnit
http://de.wikipedia.org/wiki/XUnit

Audible im Kurztest

Ich habe heute mal Audible ausprobiert. Dazu gibt es ja schließlich das Probeabo. Allerdings war es wohl das letzte Mal das ich diesen Dienst benutzt habe. Da Audible zu Amazon gehört kann man sich mit seinen Amazon Zugangsdaten anmelden.

Danach nur noch das entsprechende Buch kaufen und herunterladen. In der Theorie sollte es so sein. Wenn man das ganze auf dem Rechner hören möchte muss man den „AudibleManager“ herunterladen. Diese Anwendung beeindruckt schon durch ihre grässliche Farbgebung.

Der AudibleManager

Der Download des gekauften Buches klappt dann auch nicht wie gewünscht. Immer wieder wies einen die Webseite darauf hin, das man den „AudibleManager“ herunterladen und installieren muss. Dieses Hinweis nutzt nur nichts wenn die Software bereits installiert. In der Software selbst gibt es keine Möglichkeit die gekauften Bücher herunterzuladen. Nach einer Weile des Probierens wurde dann einfach mal auf die Mac Hilfe von Audible geschaltet und schon bekam ich unter Windows die „*.adg“ Dateien heruntergeladen. Mit dieser wird der Audible Downloadmanager gefüttert, welcher dann mit dem Download beginnt.

Dann hat man auf seinem Rechner „*.aa“ Dateien mit welchen man auf einem normalen MP3 Player nichts anfangen kann. Gedankt sei es dem DRM. Spätestens hier war der Punkt erreicht an dem ich das ganze wieder kündigte. Audible ist zusammenfassend ein durch und durch nutzerunfreundliches System.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Audible

Eine Woche das „neue iPad“

Das neue iPad ist mein erstens iOS Gerät nach einer Reihe von Androidgeräten. Der Grund für den Kauf des neuen iPads war wohl der Biographie von Steve Jobs geschuldet, die mich veranlasste es mal auszuprobieren. Dabei ist mir bewusst das es sich bei dem iPad um ein ziemlich geschlossenes System handelt, aber der Mensch als solches ist ziemlich bequem, also wurde der Versuch gewagt.

Die Apps auf dem iPad haben ihren Charme so sind mir schon einige Schmuckstücke begegnet welche unheimlich Spaß machen. Im Gegensatz zu manchen Android Tablet Apps wird der Platz den das Display bietet ausgenutzt, ohne das man größere weiße Freiraume hat. Was mir auffiel ist das die Apps unter iOS doch teilweise ein gutes Stuck teurer sind als ihre Androidäquivalente. Das Display an sich ist Augenschmaus. Längere Texte lesen sich damit wirklich sehr bequem, bis zu dem Moment an welchem das Tablett beim halten zu schwer wird.

Natürlich hat jedes System bzw. Gerät auch seine Nachteile. So bekomme ich unter Linux meine Inhalte nicht auf das Tablet es sein denn es gelingt mir mit Hängen und Würgen iTunes unter WINE zum laufen zu bekommen. Bisher ist dies nicht der Fall. Auch die Fotos bekommt man anscheinend nur per Photostream vom Gerät herunter. Als Linux Nutzer schaut man da wieder in die Röhre.

Gedruckt oder nicht?

Passend zum iPad gab es auch noch ein Smartcover als einzige Hülle und ich muss sagen das ganze hat doch eine gewisse Eleganz. Cover auf und schon ist das Tablet an, danach kann man das Tablett dann z.B. aufstellen und somit bequem schreiben. Das Gerät an sich wird wie aus einem Guss und liegt gut in der Hand wobei das Gewicht nach einer Weile doch ziemlich auf die Arme geht. Es hat bei mir auch keinen Gelbstich und auch die Hitzeentwicklung ist so gering, das ich meinen Herd wohl doch behalten werde.

Ein Foto mit dem iPad

An einige Eigenarten muss man sich trotzdem gewöhnen wie z.b. die Integration von ReadItLater in Safari und Twitter, da dauerte es doch etwas bis ich raus hatte wie dies funktioniert. Auch ist es nervig das jede Anwendung z.B. für Dropbox nochmal die Zugangsdaten haben möchte. Bei Androidgeräten installiere ich Dropbox einmal und kann dann anschließend es von jeder App aus nutzen welche die „Share“ Funktionalität nutzt. Auch das Problem das Safari in der Standardeinstellung keine Passwörter speichert musste erst einmal angegangen und gelöst werden.

Noch ein Foto mit dem iPad

Der Akku wurde in den ersten Tagen relativ schnell leer was aber auch andere ganzen Spielerei lag. Im normalen Betrieb reicht eine Akkuladung etwa 2 – 3 Tage.

Richtig schön wird es dann mit Diensten wie iTunes Match so das man seine Musiksammlung immer dabei hat, wobei ich finde das 25000 Titel nicht reichen. Ich denke da gibt es einige Leute die ihre Sammlung in diesem Fall nicht mitgenommen bekommen. Hier darf Apple ruhig noch eine Null an die Anzahl dranhängen.

Auch das hinzufügen von Videodateien unter iTunes ist doch recht grausam, AVI Dateien mit bestimmten (nicht exotischen) Codecs nimmt iTunes einfach nicht an, was doch sehr ärgerlich ist. Auch die Synchronisation der Bücher zwischen iTunes und dem iPad geht nicht so leicht von der Hand wie man es gerne hätte.

Dateien welche man z.B. über den iA Writer in der iCloud speichert sind unter Windows (von Linux fangen wir erst gar nicht an) nicht erreichbar (es sei denn ich habe eine wichtige Einstellung übersehen). Eine schöne Funktionalität ist das man sein iPad über die Seite http://icloud.com orten kann und es so schnell wiederfindet wenn man es mal verloren hat. Über die gleiche Seite kann man es auch sperren und fern löschen.

Zusammenfassend kann man sagen das es an der Hardware nicht wirklich etwas zu meckern gibt, aber die Integration in die Betriebssysteme einige Macken hat und vor allem unter Linux sich endlich etwas tun sollte.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/IPad