[Quicktip] iOS AppStore meldet nur noch “Verbindung mit iTunes Store nicht möglich”

Seit gestern konnte ich auf meinem iPad 2 keine Updates mehr über den AppStore ziehen. Nach einer ziemlich langen Ladezeit erschien nur irgendwann die Meldung: “Verbindung mit iTunes Store nicht möglich”. Selbst nachdem ich über die Einstellung meine Apple id abgemeldet hatte, trat das Problem auf. Auf meinem iPhone 5 dagegen lief alles wunderbar – ich konnte also davon ausgehen, dass der Store an sich funktionierte.

Was nun genau das Problem ist, kann ich nicht sagen. Ich vermute aber, dass es ein Fehler bei der ssl Verbindung ist. Die Lösung siehtt nämlich folgendermaßen aus:

Geht in die Einstellungen eures iOS Gerätes, dann dort auf Allgemein und dann Datum & Uhrzeit. Dort stellt ihr die Automatik ab und setzt manuell die Jahreszahl des Datums auf ein paar Jahre in die Zukunft. Nun scheitern ssl Verbindungen, also nicht über entsprechende Warnungen vom Mail Programm usw. wundern…

Beendet nun den AppStore per Task Manager (2x Homebutton drücken und dann mit dem Finger auf dem AppStore Icon drauf bleiben, anschließend per rotem x schließen). Startet ihn erneut, um dann umgehend eine Fehlermeldung zu erhalten. Beendet ihn wieder per Task Manager, geht zurück in die Einstellungen und dort wieder das korrekte Datum ein. Wenn ihr den AppStore nun abermals aufruft, sollte er wieder korrekt funktionieren.

[Update]

Der Fehler war leider nur für kurze Zeit behoben. Selbst eine Wiederherstellung aus dem iCloud Backup brachte keine Abhilfe, was vermuten lässt, dass der Fehler deutlich tiefer saß. Lange rede kurzer Sinn: ich hab die Gelegenheit genutzt und das iPad komplett neu aufgesetzt. Da kaum noch Daten wirklich auf dem Gerät selbst lagen, ging das mit erstaunlich wenigen Verlusten. Schade, dass es so lief – es war das erste mal, dass mich iOS so im Stich gelassen hat…

[Quicktip] ARD, ZDF und Arte Mediatheken auf Samsung Smart TV sehen

Eigentlich dachte ich, dass es bei Samsung Smart TVs mit den vielen Apps kein Problem sein sollte, auf die Mediatheken der großen öffentlichen Sender zuzugreifen. Ist es aber doch. Denn diese sind nicht per App, sondern über die HbbTV Funktion erreichbar. Sehr intuitiv (wie vieles in diesem System) befindet sich die Einstellung dafür hier:

Menü – System – Datendienst

Diesen Punkt müsst ihr aktivieren und schon ist HbbTV aktiv. Wenn ihr nun einen digitalen Sender wie ARD, ZDF, Arte und co. aufruft, dann wird nach kurzer Zeit in der rechten unteren Ecke ein roter Punkt und ein Hinweis erscheinen. Wenn ihr nun auf eurer Fernbedienung die rote “A” Taste drückt, wird die jeweilige Mediathek gestartet.

Es ist sehr komisch, dass die Option standardmäßig aus ist. Für viele Nutzer dürfte diese Funktionalität ein sehr wichtiges Feature sein…

Falls die Mediatheken auf eurem Fernseher einfach nicht laufen wollen, kann ich als günstige Alternative noch einen Amazon Fire TV Stick empfehlen. Für 40€ bekommt man einen flotten HDMI Stick, auf dem man per App alle Mediatheken ganz einfach installiert bekommt.

[Update]
Da die Frage immer wieder aufkommt: es ist wichtig, dass der Fernseher direkt an einem digitalen Kabel hängt. Wenn ihr einen digitalen Reciever bzw. einen normalen Reciever verwendet, dann geht es NICHT!

[php] Oracle XE und Doctrine/Symfony funktioniert nicht

Kurzer Warnhinweis: ich bin kein Freund von Oracle und finde es zumindest im Bezug auf php relativ kompliziert in der Einrichtung. Dieser Artikel besteht daher zum Teil aus gefährlichem Halbwissen – falls ich also Blödsinn erzähle, korrigiert mich bitte per Kommentar oder Mail 😉

Wenn ihr ein Symfony 2 Projekt mit einer Oracle XE Datenbank verbindet und dann folgende Fehler auftauchen – z.B. bei einem app/console doctrine:schema:create :

[Doctrine\ORM\Tools\ToolsException]
Schema-Tool failed with Error '' while executing DDL: CREATE TABLE Foo (id NUMBER(10) NOT NULL, name VARCHAR2(100) NOT NULL, PRIMARY KEY(id))
[Doctrine\DBAL\Driver\OCI8\OCI8Exception]

Dann müsst ihr folgende Dinge richtig machen:

Eure Konfiguration sollte so aussehen:

parameters:
    database_driver:   oci8
    database_host:     localhost
    database_port:     1521
    database_name:     xe
    database_user:     dbuser
    database_password: dbpass

Beim Treiber könnte man auch pdo_oci verwenden – was auch in vielen Tutorials empfohlen wird. Das Problem ist jedoch, dass dieser Treiber sehr instabil ist. Daher einfach oci8 verwenden 😉

Hostname und Port sollten klar sein, der Datenbankname ist bei einem Oracle XE grundsätzlich “xe”. Was ihr dann innerhalb eures Oracle Clients seht, was sich ähnlich wie eine DB in MySQL anfühlt, ist in der Oracle Sprachwelt ein Schema. Das Schema ist in der Regel gleich dem DB-Nutzernamen.

So, dass zu den Einstellungen. Der fiese Part, durch den es zum oben genannten Fehler kommen kann, ist, dass man noch zwei Umgebungsvariablen auf der Shell und im Apachen setzen muss, damit die Verbindung von Symfony zu Oracle korrekt läuft:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export LD_LIBRARY_PATH=/usr/local/lib

Diese beiden Zeilen (natürlich mit den jeweils korrekten Pfaden für euer System) packt ihr entweder in die .bashrc des jeweiligen Users oder in die envvars Datei vom Apachen (diese Angaben beziehen sich primär auf ein Standard Debian, wie es in anderen Distributionen aussieht weiß ich nicht!).

Falls ihr die Variablen für den Apachen setzen müsst, nicht vergessen, diesen mittels Neustart dazu zu bewegen, diese auch zu laden 😉

Nun sollte die Verbindung laufen.

[Quicktip] Starten von Apache httpd unter Mac OSX nur als root möglich

Wenn ihr Apache httpd per Homebrew auf eurem Mac installiert und ihn als normalen User starten möchtet, dann kann es sein, dass ihr folgende Fehlermeldung erhaltet:

(13)Permission denied: make_sock: could not bind to address [::]:80

Diese Meldung hat einen einfachen Hintergrund: unter OSX kann nur root die Ports mit den Nummern kleiner als 1024 belegen (das scheint im Unix Umfeld allgemein so zu sein). Und nichts anderes sagt diese Meldung aus. Ändert also in eurer http.conf (/usr/local/etc/apache2/httpd.conf) den Parameter “Listen 80” auf z.b. “Listen 8080” und ändert ggf. noch die Listening Ports für Virtual Hosts, falls ihr welche eingerichtet habt. Anschließend sollte Apache auch von einem nicht-root User gestartet werden können. Falls ihr den Apachen vorher bereits als root gestartet habt, denkt bitte dran, alle Logfiles zu löschen oder die Schreibrechte anzupassen, da der Apache sonst nicht starten wird…

[Quicktip] Photoshop CS 4 unter Mac OSX 10.8 Mountain Lion crasht beim Verschieben von Layern

Was für ein fieser Bug. Seit einer Weile passiert es mir nun schon in Photoshop, dass es aus unerfindlichen Gründen abschmiert. Heute war das Fass übergelaufen und ich habe mich intensiv damit befasst, herauszufinden, wann genau der Fehler auftritt. Und zwar ist es letztendlich nur das Verschieben von Layern (Ebenen) per Drag & Drop. Sobald man den Drag startet, schmiert Photoshop ab. Die Lösung ist relativ leicht, aber darauf muss man erstmal kommen: es liegt an der automatischen Grafikkartenumschaltung von Mac OS. Alle neueren Macbook Pro haben zwei Grafikkarten verbaut – eine einfache Intel Karte und in den meisten Fällen noch eine Geforce. Um bei der normalen Arbeit Strom zu sparen, wird die 3D Karte deaktiviert, da die “einfache” Grafikkarte für’s Surfen, Texte schreiben usw. völlig ausreicht. Nur, wenn man z.B. spielt oder Videos anschaut, oder eben Programme nutzt, die von einer 3D Karte profitieren, wird diese aktiviert. Und Photoshop ist eines dieser Programme.

Unter OSX verwendet Photoshop dafür die QuickDraw Library, die unter Mountain Lion scheinbar einen Bug im Zusammenspiel mit dem automatischen Grafikkartenwechsel hat. Um das Problem zu beheben, muss man folgendermaßen vorgehen:

  • Systemeinstellungen öffnen
  • den Punkt “Energie sparen” öffnen
  • den Haken bei “Automatischer Wechsel der Grafikmodi” abwählen

Nun sollte Photoshop auch beim Verschieben von Layern nicht mehr abstürzen. Bitte daran denken, dass ihr den Haken nach getaner Arbeit wieder aktiviert, da sonst eure Akkulauftzeit darunter leiden wird.