[Quicktip] Das “Einstellungen für Adobe Flash Player” Fenster reagiert nicht mehr im Google Chrome (OSX)

Seit einigen Tagen habe ich im Google Chrome folgendes Problem (angeblich auch in anderen Browsern): Wenn ich mir ein Youtube Video anschaue, welches trotz des aktivierten html5 Modus leider doch per Flash abgespielt wird, dann passiert folgendes:

An sich ist der Dialog nicht schlimm – wenn man ihn bedienen könnte. Sobald er nämlich erscheint, kann der Youtube Player nicht mehr per Maus bedient werden und der Dialog an sich ist auch nicht bedienbar.

Es gibt nun 2 Möglichkeiten, das Problem zu umgehen:

– das Youtube Video im Privaten Modus des Chrome aufrufen

– oder folgendes tun:

Ich möchte hierbei ausdrücklich darauf hinweisen, dass ab sofort bestimmte Seiten ungefragt Informationen per Flash auf eurem Rechner hinterlegen können – sprich, ihr seid somit evtl. Ziel von Tracking-Maßnahmen für Werbung. Wenn euch das bewusst ist, könnt ihr so die oben besprochene Youtube Problematik umgehen. Außerdem könnt ihr jederzeit zurück in die globalen Einstellungen gehen und dort den Button “Einstellungen für globalen Speicher nach Website…” aufrufen. Im folgenden Dialog könnt ihr die Berechtigungen pro Seite setzen und auch sehen, welche Seiten Daten auf eurer Platte sichern.

Jasmine – der alternative Youtube Client für iOS 6

Nachdem es seit iOS 6 nun keinen eingebauten Youtube Client mehr gibt, bin ich auf der Suche nach Alternativen auf Jasmine gestoßen.

Der Client kennt alle Grundfunktionalitäten der alten Youtube App und kann natürlich auch mit AirPlay umgehen – anders als die neue App von Google.

Hinzu kommt ein wunderbares minimales Design. Alles in allem rockt die kostenlose app, sodass ich direkt die pro Version erstanden habe, um den Entwickler meine Unterstützung zu zeigen. Bitte mehr von solch tollen Apps!

20120928-230547.jpg

20120928-230612.jpg

20120928-230622.jpg

[Quicktip] iPhone 5 Visual Voicemail ruft einfach die Mailbox an

Neben der SMS Problematik mit meinem iPhone 5 gab es noch ein weiteres Problem: die Visual Voicemail ging nicht mehr. Dieses Feature gibt es leider bisher nur auf dem iPhone, es rockt aber extrem. Man muss nicht mehr die Mailbox anrufen und sich mit irgendwelchen Tastenbefehlen durch komische Menüs hangeln, sondern bekommt die Sprachnachrichten der verpassten Anrufer einzeln angezeigt und kann sie direkt auf dem Gerät abspielen.

Bei mir war der Fehler nun folgender: immer wenn ich den Menüpunkt “Voicemail” aufrufen wollte, rief das iPhone einfach meine Mailbox an, statt die verpassten Anrufe anzuzeigen.

Mittels folgender Schritte bekam ich es wieder zum laufen:

1. alle Anrufweiterleitungen entfernen (am einfachsten per Telefoncode ##21#, einfach in das Wählfeld eingeben und “abheben” drücken)
2. dann das Telefon resetten: Home-Button und Ein/Ausschalttaste gleichzeitig drücken und gedrückt halten, bis das Apple Logo auf dem Display erscheint. Dann beide Tasten loslassen.
3. Falls der Fehler dann noch immer besteht, einfach selbst oder von jemand anderem auf die Mailbox reden lassen. Spätestens dann wird das iPhone über eine Sprachnachricht informiert und der Menüpunkt sollte wieder wie gewohnt funktionieren.

[Quicktip] iPhone 5 kann keine SMS empfangen und versenden (Vodafone)

Gestern kam mein neues iPhone 5 an, ich spielte mein iCloud Backup vom iPhone 4 ein und alles lief bestens. Etwas später bemerkte ich dann jedoch, dass ich SMS weder empfangen noch senden konnte. Dieses Problem tritt eigentlich nur auf, wenn man mehrere SIM Karten im gleichen Vertrag hat. Mittels folgendem Code, den man einfach wie eine Telefonnummer “wählt”, wird die Karte im iPhone als Hauptkarte markiert:

*133#

Anschließend sollte der SMS Versand und Empfang wieder funktionieren. Diese Lösung funktioniert zumindest bei Vodafone. Wie es bei anderen Anbietern aussieht, kann ich nicht sagen.

[Update]
Bei der Telekom lautet der zu wählende Code:

*222#

Danke an die Hinweise in den Kommentaren dazu!

FLOW3 – wie erstelle ich eine Ajax Action mit json Rückgabe?

Ganz einfach:

im Controller folgende Klassenvariable setzen:

protected $supportedFormats = array("html", "json");
	protected $viewFormatToObjectNameMap = array(
		"json" => "\TYPO3\FLOW3\MVC\View\JsonView",
		"html" => "\TYPO3\Fluid\View\TemplateView"
	);

und in der Routes.yml (bzw. im Routing) einen Eintrag nach folgendem Muster vornehmen:

-
  name: '[name_der_route]'
  uriPattern: '[gewünschter_pfad]'
  defaults:
    '@package':    '[package_name]'
    '@action':     '[action_im_controller]'
    '@controller': '[controller]'
    '@format':     'json'

Mit der Klassenvariable sorgt ihr dafür, dass der Controller beim Format “json” auf ein Template verzichtet und den Return-Value einer Action direkt ausgibt (also im Normalfall per json_encode() formatiert). Mit der Konfiguration der Route legt ihr nur noch fest, dass die jeweilige Action an Stelle von HTML lieber JSON verwendet.

[Update]
Nach der Frage von Mario hier nochmal als Nachtrag eine entsprechende Beispiel-Action:

/**
 *
 * @param string $param
 *
 * @return json test data
 */
public function getDataAction($param) {
	$data = array("testKey"=>$param, "testKey2"=>"testValue2");
	return json_encode($data);
}

[Quicktip] zusätzliches internes Laufwerk unter OSX sicher löschen

Wir haben folgende Problematik: man hat ein Macbook (Pro), in welchem 2 Festplatten verbaut sind. Die Formatierung der Systemfestplatte kann man natürlich nur durchführen, wenn man die OSX Installation startet und dort dann das Laufwerk formatiert. Aber die zweite Festplatte sollte man ja eigentlich auch noch während des Betriebs ordentlich formatieren bzw. sicher löschen können. Leider nicht 😉

Versucht man diesen Vorgang im Festplattendienstprogramm zu starten, so scheitert es daran, dass das interne Laufwerk nicht deaktiviert werden kann. Man kann sich aber mittels folgendem Trick helfen, um die Festplatte so sicher zu löschen, dass die Daten nicht mehr wieder hergestellt werden können:

Geht in euer Terminal und gebt da folgendes ein:

sudo rm -rf /Volumes/[Name_der_Festplatte]/*
sudo rm -rf /Volumes/[Name_der_Festplatte]/.*

Damit löscht ihr erstmal die komplette Festplatte. Anschließend führt ihr

mount

aus und schaut nach, welche /dev/disk[0,1,2,3,…] dem jeweiligen /Volume/[Name_der_Festplatte] zugeordnet ist.

dev/disk1 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk3 on /Volumes/500gb (hfs, local, journaled)

In diesem Beispiel ist das Volume mit dem Namen “500gb” der Disk Nummer 3 zugewiesen.

Nun noch ein

diskutil secureErase freespace 1 /dev/disk[Nummer]

(die Nummer verwenden, die ihr über “mount” herausgefunden habt) ausführen und schon wird der freie Speicherplatz mit zufälligen Werten überschrieben. An Stelle der “1” kann man zwischen folgenden Werten wählen:

  • 1 – Single pass randomly erase the disk.
  • 2 – US DoD 7 pass secure erase.
  • 3 – Gutmann algorithm 35 pass secure erase.

[Quicktip] Chrome ruckelt unter OSX Mountain Lion mit dem Retina Macbook Pro

Das neue Macbook Pro mit Retina Display rockt! Allerdings gibt es noch einige Probleme im Zusammenhang mit der neuen Technik, etwa, dass nicht alle Apps darauf optimiert sind und dann die Schriften verwaschen sind.

Ein anderer unglücklicher Effekt ist, dass das Scrollen z.B. im Chrome ziemlich ruckelig werden kann, wenn man die volle Auflösung ausnutzt. Wo hingegen der Safari in der gleichen Konfiguration butterweich scrollt, hat der Chrome schwer zu kämpfen. Das Problem kann man größtenteils umgehen, wenn man folgendes tut:

  • die URL chrome://flags/ aufrufen
  • Die Optionen “GPU-Compositing auf allen Seiten” (“GPU compositing on all pages”) und “Aufbau mit Thread” (“Threaded compositing”) auf aktiviert/enabled stellen
  • unten den Button “jetzt neu starten” (“restart now”) betätigen

Damit wird die Grafikkarten-Beschleunigung beim Rendern von Internetseiten sowie das Berechnen in Threads, also mehreren parallelen Prozessen, aktiviert.

Der Chrome sollte jetzt schonmal deutlich schneller laufen, wenn er auch noch immer nicht ganz mit dem Safari mithalten kann. Ich gehe aber mal davon aus, dass Google da bald Abhilfe schaffen wird…