Probleme mit Chrome und lokalem Javascript

Da beginnt man den Tag mit dem gemütlichem Debuggen von Javascript Code und plötzlich bekommt man von Chrome folgende Meldung auf der Javascript-Konsole:

Cross origin requests are only supported for HTTP.

vorgesetzt. Da stellt sich natürlich die Frage was passiert ist. Die Antwort ist relativ einfach. Chrome unterbindet das die betreffende Webapplikation etwas von einem anderen Ursprung laden kann. Bei HTTP würde so etwas funktionieren. Wenn man das ganze über das „file:///“ Schema aufruft wird es etwas komplizierter. Dafür muss Chrome der Parameter „-allow-file-access-from-files“ übergeben werden, welcher das ganze dann wieder erlaubt. Unter Mac OS X könnte die Kommandozeile dann wie folgt aussehen:

open /Applications/Google\ Chrome.app/ --args -allow-file-access-from-files

Danach funktionieren die „Cross origin requests“ unter Chrome auch lokal.

Stromverbrauch unter Mac OS X ermitteln

Manchmal möchte man unter Mac OS X wissen, wie viel Strom eine Anwendung verbraucht. Dies kann mit Bordmitteln erreicht werden. Dazu ruft man die „Systeminformationen“ auf, welche auch über das Menü „Über diesen Mac“ erreicht werden können.

Die entsprechende Seite in den Systeminformationen

Die entsprechende Seite in den Systeminformationen

Dort gibt es den Punkt „Stromversorgung“ in welchem unter anderem die Information über dem aktuellen Stromverbrauch in Milliampere zu finden ist. Möchte man nun grob ermitteln wie viel Strom eine Anwendung benötigt, so notiert man sich diesen Wert vor dem Start der Anwendung und während des Betriebes derselben. Anschließend kann man die Differenz ausrechnen und somit den Verbrauch der Anwendung abschätzen.

Kerbal Space Program

Ab und an findet man im Netz Spiele bei denen man sich fragt, warum man sie erst jetzt entdeckt hat. Eines dieser Spiele ist „Kerbal Space Program“. In dem Spiel geht es darum ein eigenes Raumfahrtprogramm aufzubauen. Das fängt damit an das die Rakete zusammen gebaut werden muss, samt allem was man für das entsprechende Reiseziel benötigt.

Eine Rakete beim Start

Eine Rakete beim Start

Technisch basiert das ganze auf der Unity Engine. Bedingt dadurch läuft es auf Linux, Mac OS X und Windows. Die aktuelle Version trägt die Nummer 0.20.2 und das Spiel befindet sich immer noch im Alpha Stadium ist aber trotzdem spielbar, so das man viele Stunden damit verbringen kann. Dabei wird man immer wieder feststellen das es nicht einfach ist eine Rakete zu bauen die ihr Ziel auch erreicht. Ja es ist „Rocket Science“ ;)

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

Neben den bereits vorhandenen Features, sind viele weitere geplant. So soll es neue Planeten geben und die Physikengine soll eklatante Verbesserungen erfahren. Auch an einem Ausbildungscenter für die Kerbonauten und einer Forschungsabteilung wird gearbeitet. Rund um das Spiel hat sich mittlerweile eine aktive Moddingszene gebildet, dessen Werke im SpacePort zu sehen sind. Bezogen werden kann das Spiel unter https://kerbalspaceprogram.com/ – das Spiel schlägt dabei mit $ 23 zu Buche.

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

Image von einer SD-Karte unter Mac OS X erstellen

Manchmal benötigt man ein Image von einer SD-Karte, z.B. dann wenn man eine Installation einer Raspberry Pi Distribution von einer solchen Karte sichern möchte. Im ersten Schritt muss man ermitteln welche Kennung die SD-Karte trägt. Dies geschieht im Terminal mittels:

diskutil list

Die Ausgabe könnte dann in etwa so aussehen:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *249.8 GB   disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.1 GB    disk2
   1:             Windows_FAT_32 NO NAME                 16.1 GB    disk2s1

In diesem Fall ist das Gerät „/dev/disk2“ die SD-Karte ist. Mittels des Befehls „dd“ wird dann das entsprechende Image erzeugt:

sudo dd if=/dev/disk2 of=sdcard.img

Der Vorgang nimmt dabei durchaus einige Zeit in Anspruch, in welcher man keine Ausgaben auf der Konsole sieht. Nach der Erzeugung des Images, gibt „dd“ noch eine Auswertung des Kopiervorganges zum Besten und die Kopie ist komplett.

Unity und Android und das aktuelle SDK

Seit ein paar Tagen ist es möglich mit den frei verfügbaren Unity Versionen auch Android und iOS Builds zu bauen. Wenn man nun also anfängt und das aktuelle Android SDK herunterlädt und anschließend versucht in Unity einen Android Build zu erzeugen wird man feststellen, das dass ganze nicht funktioniert. Stattdessen bekommt man für einen kurzen Moment die Meldung:

Error building Player: Exception: android (invokation failed)

zu sehen. Der Grund für diesen Fehler ist dabei recht simpel. Unity arbeitet im Moment noch nicht mit der aktuellen SDK Version (r22) von Android zusammen. Hier muss auf die ältere r21 Version umgestiegen werden, damit Unity funktioniert. Diese gibt es für Linux, Mac OS X und Windows.