blog.bartlweb - a technologist's external brain

Alle Artikel

PostScript-Drucker funktioniert nach dem Update auf MacOSX 10.6.7 nicht mehr

Diese Woche musste ich leider schmerzlich feststellen, dass nach dem Update auf Mac OS X 10.6.7 Ausdrucke über PostScript nur mehr eingeschränkt möglich sind.

Dabei druckt der Drucker anstelle des Dokuments folgende Fehlermeldung.

ERROR: invalidfont
OFFENDING COMMAND: definefont
 
STACK:
/Font
-dictionary-
/PCNCYD+CamingoDosPro-Bold

Im Moment gibt es leider keinen Workaround für das Problem und somit kann man nur auf das nächste Update hoffen.

Eckpunkte zur Problematik

  • tritt meist bei eigenen Schriften auf (in meinem Fall OpenType - wobei nicht alle Schnitte betroffen sind)
  • Systemschriften scheinen problemlos zu funktionieren
  • tritt in jedem Fall in Verbindung mit iWork sowie der Vorschau auf

Realurl-Pfade funktionieren mit einem Slash aber nicht mit .html am Ende

Wenn Realurl unter TYPO3 zwar korrekte Pfade generiert, sich einzelne Seiten allerdings nur mit einem Slash am Ende (also als Verzeichnis) anstelle der Dateiendung .html aufrufen lassen, liegt das meist an der zusätzlich installieren Extension Simulate Static URLs (simulatestatic).

Diese Extension wird aber in Verbinung mit Realurl nicht benötigt bzw. erzeugt ungewollte Nebeneffekte und sollte deshalb umgehen deinstalliert werden.

Gerade bei Updates auf neue Versionen werden mit dem Update-Tool aus dem Install-Tool oft neue bzw. nicht installierte Systemextensions installiert, so auch Simulate Static URLs .

Updates unter MacOSX via Konsole installieren

Gerade bei der Remote-Administration von MacOSX-Geräten über SSH erweist es sich als äußerst hilfreich, wenn sich Updates via Kommandozeile installieren lassen.

verfügbare Updates anzeigen

sudo softwareupdate -l

Updates installieren

alle neuen Updates installieren

sudo softwareupdate -i -a

nur empfohlene Updates installieren

sudo softwareupdate -i -r

Notauswurf für CD/DVD über die Konsole unter MacOSX

Alle neuen Macs haben gemeinsam, dass Ihnen der Notauswurfknopf am CD/DVD-Laufwerk fehlt. Wird eine CD/DVD von MacOSX nicht richtig erkannt so erscheint diese weder am Desktop, noch im Finder oder im Festplattendienstprogramm. Dies hat zur Folge, dass der Auswurf der CD sich mehr als kompliziert erweist, da in diesem Fall die Auswurftaste meist auch nicht funktioniert. Neben der Möglichkeit beim Booten des Macs die linke Maustaste gedrückt zu halten um die CD/DVD auszuwerfen gibt es einen sehr effektiven Konsolenbefehl. Geben Sie also zum Auswerfen der CD/DVD den folgenden Befehl in ihr Terminal ein.

drutil eject

PHP-Funktion für das Erstellen von Passwörtern

Die folgende PHP-Funktion ermöglicht das Erstellen von zufällig generierten sicheren Passwörtern. Dabei kann die Länge und die zu verwendenden Zeichen definiert werden. Weiters wird sichergestellt, dass jedes Zeichen nur einmal im Passwort verwendet wird.

function randomPassword($length = 8) {
    /* config */ 
    $maxLength = 32;
    $possible = '012346789bcdfghjkmnpqrtvwxyzBCDFGHJKLMNPQRTVWXYZ.,_-#"+*?!&()[]{}%$<>';
 
    /* generate password */
    $maxlength = strlen($possible);
    if ($length > $maxlength) {
        $length = $maxlength;
    }
 
    $password = "";
 
    $i = 0;
    while ($i < $length) {
        $char = substr($possible, mt_rand(0, $maxlength-1), 1);
        if (!strstr($password, $char)) {
            $password .= $char;
            $i++;
        }
    }
 
    return $password;
}

nach Upgrade auf Piwik 1.2 werden keine Besuche mehr getrackt

Das Problem besteht darin, dass nach dem Update von Piwik auf die aktuelle Version 1.2 keine Besucher auf den Websites mehr getrackt werden. D.h. es werden nicht einmal Einträge in der dafür vorgesehenen Tabelle log_visits in der Datenbank erstellt. Beheben lässt sich das Problem durch eine kleine Abänderung im Code von Piwik.

Ändern Sie dazu in der Datei /core/Tracker/Visit.php die Zeile 437 auf:

'visitor_returning' => ($visitCount > 1 || $this->isVisitorKnown()) ? 1 : 0,

Session-Timeout von phpMyAdmin erhöhen

Gerade bei aufwändigeren Entwicklungstätigkeiten ist es sehr mühsam sich alle 5 Minuten neu bei phpMyAdmin anmelden zu müssen, weil die Session abgelaufen ist. Abhilfe schafft eine Konfigurations-Option die der Datei config.inc.php hinzugefügt wird.

$cfg['LoginCookieValidity'] = 3600 * 8; // SessionTimeout auf 8 Stunden setzen

Pfad von ausführbaren Programmen ermitteln

Hin und wieder kommt es vor, dass Shell-Skripte die manuell ausgeführt werden einwandfrei funktionieren, während diese per Cronjob ausgeführt nur Fehler produzieren. Dies liegt oft daran, weil in per Cronjob ausgeführten Skripten die PATH-Variable nicht vorhanden ist. Abhilfe schafft die Angabe des Pfades vor dem jeweiligen Command-Befehls. Um einen Pfad zu einem Linux-Command-Befehl zu ermitteln nutzt man den Befehl which.

which <command>
which ping

Dieses Problem ist mir vor allem unter MacOSX aufgefallen (hier liegt der ping-Befehl z.B. unter /sbin/ping).

Die gesetzten Pfade für das ausführen von Programmen kann man sich übringens mit dem folgenden Befehl ausgeben lassen.

echo $PATH

komma-separierte Liste per SQL durchsuchen

Haben Sie sich auch schon immer gefragt wie man in einer SQL-Abfrage am Besten ermittelt ob ein Wert in einer durch Komma getrennten Liste zu finden ist? Die Antwort liegt im SQL-Befehl FIND_IN_SET().

FIND_IN_SET(value, field)

 

Beispiel:

Die Tabelle test enthält zwei Felder mit der Bezeichnung uid und listvalues wobei listvalues z.B. wie folgt aussieht: 1,12,33,124.

SELECT uid FROM test WHERE FIND_IN_SET('33', listvalues);

E-Mail-Einstellungen für den Versand unter Alfresco 3.3

Damit Alfresco E-Mails versenden kann muss in der Konfigurationsdatei /opt/alfresco/tomcat/shared/classes/alfresco-global.properties ein E-Mailserver angegeben werden.

ohne Authentifizierung

mail.host = mail.domain.com
mail.port = 25
mail.smtp.auth = false
mail.encoding=UTF-8
mail.from.default= alfresco@domain.com

mit Authentifizierung

mail.host= smtp.domain.com
mail.port= 25
mail.username = alfresco@domain.com
mail.password = password
mail.protocol = smtp
mail.smtp.auth = true
mail.encoding = UTF-8
mail.from.default= alfresco@domain.com

mit Authentifizierung und SSL

mail.host = smtp.domain.com
mail.port = 465
mail.username = alfresco@domain.com
mail.password = password
mail.protocol = smtps
mail.smtps.starttls.enable = true
mail.smtps.auth = true
mail.encoding = UTF-8
mail.from.default= alfresco@domain.com

E-Mailversand testen

Fügen Sie die folgenden Zeilen zur Konfiguration hinzu um beim Start des Servers den Versand eines Test-E-Mails anzustoßen.

mail.testmessage.send = true
mail.testmessage.to = test@domain.com
mail.testmessage.subject = Alfresco outbound SMTP - Testmail
mail.testmessage.text = Juhuu, it works.