Ein kleines JavaScript namens Flip stellt einzelne Buchstaben auf den Kopf. So bleiben Wörter bzw. Sätze für den Menschen zwar lesbar, werden aber von einem Computer nicht als das ursprüngliche Wort wahrgenommen. Es handelt sich nicht wirklich um gespiegelte Buchstaben, sondern es werden Satzzeichen gesucht, die dem Eingegebenen (allerdings auf den Kopf gestellt) sehr ähnlich sehen und durch diese ersetzt. Das würde sich z.B. hervorragend für die ?un?d?ä??q-??ds bei Formularen eigenen, oder wenn man beispielsweise Freunden eine Nachricht hinterlassen möchte, die nicht extra in einem geschützten Bereich abgelegt, dennoch bei üblicher Verwendung einer Suchmaschine nicht gefunden werden soll.
Artikel twitternWenn mehrere Benutzer an einem Projekt arbeiten, bekommt häufig jeder einen eigenen SCP-Benutzer zugewiesen mit dem er Dateien und Ordner bearbeiten kann. Der Apache-Benutzer weicht wiederum von all diesen Benutzern ab. D.h. wenn jemand eine Datei/einen Ordner anlegt, hat grundsätzlich nur dieser selbst Schreibzugriff auf dieses Objekt, was über kurz oder lang zu Problemen führen wird. Abhilfe kann man schaffen, indem man regelmäßig die Berechtigungen rekursiv setzt – über die Konsole ist das recht einfach möglich:
cd /pfad/zum/arbeitsverzeichnis
chown -R apache:staff *
find . -type d -exec chmod a=rwx,o-rwx {} \;
find . -type f -exec chmod a=rw,o-rw {} \;
Diese Zeilen weisen alle Dateien und Ordner im Verzeichnis “/pfad/zum/arbeitsverzeichnis” dem Benutzer “apache” und der Gruppe “staff” (die SCP-Benutzer sollten sich auch in dieser Gruppe befinden, sonst haben diese keinen Zugriff mehr) zu. Anschließend werden die Rechte so gesetzt, dass Besitzer und Gruppe Vollzugriff haben, alle anderen überhaupt keinen. Bei Ordnern (type d) wird “Ausführen” (=x) benötigt, damit der Ordnerinhalt aufgelistet werden kann, Dateien sollten grundsätzlich nicht ausgeführt werden können (außer Shellskripte). Eine Anpassung an die eigenen Bedürfnisse ist sehr einfach möglich.
Artikel twitternBei Apple ist es immer schwierig den richtigen Zeitpunkt für den Kauf eines Produkts zu erraten. Neue Produkte bzw. Aktualisierungen von Produkten werden (versucht) solange geheim zu halten, bis sie für den Käufer verfügbar sind. Das dient dazu um den bekannten Hype rund um Apple zu erzeugen – Änderungen in der Produktpalette werden dadurch wie ein Lauffeuer im gesamten Internet verbreitet und so einer breiten Masse zugänglich gemacht. D.h. wenn man einen schlechten Zeitpunkt erwischt, erscheint am nächsten Tag ein neues Produkt oder eine Aktualisierung. Hat man im Apple Online Store gekauft, hat man immerhin ein paar Tage Zeit die Bestellung zu retournieren/stornieren. Häufig, aber auch nicht immer, wird die Produktpalette an Dienstagen aktualisiert – einen weiteren guten Überblick schafft die Seite “Buyer’s Guide“. Hier ist ersichtlich, wann ein Produkt zum letzten Mal aktualisiert wurde und ob ein Kauf derzeit zu empfehlen ist bzw. vermutlich keine Aktualisierungen bevorstehen.
Artikel twittern
Um einzelnen Inhaltselementen (Content Elements) ein unterschiedliches Aussehen verpassen zu können gibt es in TYPO3 die Eigenschaft “Rahmen” (“Border” im englischen Backend ). Diese können mit ein paar Zeilen TypoScript einfach hinzugefügt werden. Zuerst muss in der “TSconfig” (Web > Seite; “Seiteneigenschaften bearbeiten”; Registerkarte “Optionen”) der Hauptseite (Rootpage) der neue Rahmen definiert werden:
TCEFORM.tt_content.section_frame {
removeItems = 1,5,6,10,11,12,20,21
addItems {
100 = Roter Teaser
110 = Blauer Teaser
}
}
Standardmäßig vorhandene Rahmen werden mit “removeItems” entfernt, neue mit “addItems” hinzugefügt – in diesem Fall werden ein “Roter Teaser” mit der ID 100 und ein “Blauer Teaser” mit der ID 110. Es empfiehlt sich IDs über 100 zu verwenden, damit es zu keinen Überschneidungen mit den vordefinierten Rahmen kommt, sollten diese auch verwendet/benötigt werden.
Als nächstes muss im “Setup” (Web > Template; “Setup bearbeiten”) der Hauptseite das nötige HTML mittels TypoScript hinzugefügt werden, damit das Inhaltselement mit dem ausgewählten “Rahmen” dargestellt werden kann:
tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
key.field = section_frame
100 = TEXT
100.value = <div class="teaser-red"> | </div>
110 = TEXT
110.value = <div class="teaser-blue"> | </div>
}
Im CSS, das bereits eingebunden sein sollte, kann nun das Aussehen der beiden Teaser festgelegt werden:
div.teaser-red {
border: 1px solid #ff0000;
color: #ff0000;
}
div.teaser-blue {
border: 1px solid #0000ff;
color: #0000ff;
}
Artikel twittern Seit Internet Explorer 7 (IE 7) wird ClearType (Anti-Aliasing) unter Windows unterstützt, auf anderen Plattformen (z.B. Mac OS X) ist das standardmäßig der Fall. Das hat zur Folge, dass Schriften durch das Anti-Aliasing geglättet dargestellt werden, was besonders auf LCD-Monitoren zu einer besseren Lesbarkeit führt. Bei relativ kleinen Schriften tritt dabei allerdings das Problem im IE 7 auf, dass aufgrund des Anti-Aliasings so gut wie kein Unterschied zwischen normaler und fetter Schrift mehr besteht, wie dies dem folgenden Bild entnommen werden kann:
Grundsätzlich sollte man nicht in die (bevorzugten) Einstellungen eines Benutzers eingreifen und diesen selbst entscheiden lassen, ob er ClearType verwenden möchte oder nicht. Allerdings gibt es Kunden die die Vorzüge der Benutzer ignorieren, Hauptsache die Seite sieht in allen Browsern möglichst ähnlich aus, auch wenn die Schrift nicht so schön und nicht so gut lesbar dargestellt wird. ClearType kann man unter Windows mit ein paar Zeilen CSS sehr einfach unterbinden:
body {
background: #fff;
filter: alpha(opacity=100);
opacity: 1.0;
}
Als Hintergrund kann selbstverständlich auch ein Bild oder eine andere Farbe gewählt werden.
Zuerst sollte man allerdings den Kunden darauf hinweisen, dass es sich bei ClearType um eine Benutzerpräferenz handelt und diese übergangen werden sollte. Die Einstellung hierfür kann man unter “Extras > Internetoptionen”, Registerkarte “Erweitert” unter der Gruppe “Multimedia” mit dem Punkt “Immer ClearType für HTML verwenden” festlegen (Ein Neustart des Browsers ist erforderlich):
