Die Welt der Farbenflüsterin

Die Welt der Fotografin Klaudia Wilms, die sich selbst Die Farbenflüsterin nennt, ist eine bunte Welt. Sie bearbeitet und kombiniert ihre Fotos – Menschen, Landschaften, Tiere – am Computer in der Art und Weise, dass man oft an die gewollten Mehrfachbelichtungen erinnert wird, die man noch aus der analogen künstlerischen Fotografie kennt. Und auch digitale Filter werden reichlich eingesetzt. Das erinnert mich an meine eigenen Experimente, bei denen einige schöne Werke entstanden sind.

Das Witzige ist, dass ich mit Klaudy vor vielen Jahren flüchtig über die Fotocommunity in Kontakt getreten war – doch dieses Jahr, irgendwann im Frühling 2014, habe ich sie und ihren Lebensgefährten über einen gemeinsamen Freund persönlich kennengelernt und ein bisschen mehr über ihre fotokünstlerische Arbeit erfahren.

Ein anderes ihrer typischen Merkmale sind die oft übersättigten oder veränderten Farben, die aber sehr harmonisch wirken, nie grell oder kitschig. Das gute Gespür für Farben wird hier deutlich. Daneben gibt es aber auch ein paar sehr minimalistische, reduzierte Bilder in Graustufen, als High Key oder mit wegretuschierten Details. Typischer sind jedoch, glaube ich, die sehr bunten Bilder.

Die Farbenflüsterin arbeitet nicht nur mit fetten Programmen wie Photoshop, sondern auch gern mit Leichtgewichten wie IrfanView oder PhotoFiltre, in die man Photoshop-kompatible Filter als Plugins einbinden kann.

Die Porträtaufnahmen, die bei Fotoshootings entstanden sind, bringen die Persönlichkeit der Models wunderbar zur Geltung. Gut gefällt mir aber auch ihr Gespür für den Moment. Wann immer es geht, fängt sie die kostbaren Augenblicke des Lebens mit ihrer Kamera ein. Und hier kann man sich ihre Fotos, die sie auch als Kunstdrucke verkauft, anschauen (Flash muss installiert sein): Galerien der Farbenflüsterin.

15 Jahre Ashampoo – bis zu 91 % sparen

Bis Ende Oktober 2014 gilt die Sonderaktion des deutschen Softwareherstellers Ashampoo: unterschiedlich stark reduzierte Preise auf einen Großteil der Produktpalette. Zwar finde ich, dass nicht alle Programme von Ashampoo wirklich sinnvoll oder tauglich sind, aber so manche Perle ist doch darunter. In der Aktion kann man zum Beispiel Cut Out 4 für 20 Euro statt 70 Euro bekommen oder Ashampoo® Office 2012 für 5 Euro statt 60 Euro. Bei letzterem handelt es sich um eine abgespeckte Version des sehr guten SoftMaker Office.

CHIP 11/2014: Kaspersky PURE 3.0 Total Security

Wer gerade einen kostenlosen Virenschutz sucht, wird im aktuellen CHIP-Heft fündig: die Kaspersky PURE 3.0 Total Security liegt dem Heft bei. Es ist eine nicht upgradefähige Jahresversion für drei PCs, die vor der ersten Benutzung und dann noch einmal nach einem halben Jahr registriert und freigeschaltet werden muss. Immerhin, dafür halt sozusagen für den Preis des Heftes, sieben Euro. Diese Internet-Sicherheits-Suite lässt sich allerdings auch für drei Euro herunterladen, ohne dass man das Heft kaufen muss.

Ob dieses Sicherheitspaket gut ist, ob die Software Daten an irgendwelche Geheimdienste oder Großunternehmen sendet, ob das Programm den PC besonders lahm macht – das weiß ich alles nicht. Daher bitte ich darum, diesen Blogartikel hier nur als Hinweis, aber nicht unbedingt als Kaufempfehlung anzusehen.

Navigation nur mit JavaScript?

Momentan bin ich damit beschäftigt, für eine Kundin die Website zu überarbeiten, die vor längerer Zeit eine Agentur für sie erstellt hatte. Das Design ist ausgesprochen hübsch, den Quelltext allerdings entschlacke ich und befreie ihn von einigen Fehlern. Doch was mir gerade noch aufgefallen ist: die Hauptnavigation auf der Startseite funktioniert nur mit im Browser eingeschalteten JavaScript. Schlimmer noch: ist es ausgeschaltet, sieht man weder das Hintergrundbild noch das eigentliche Navigationsmenü, sondern findet eine fragmentarische, fast leere Seite vor.

Nun kann man zwar sagen, dass ja heutzutage nur etwa – je nach Statistik – zwei Prozent aller Benutzer JavaScript deaktiviert haben. Aber wenn diese zwei von hundert Besuchern auf so eine Website stoßen, werden sie wohl ganz schnell wieder weg klicken. Im schlimmsten Fall hat man auf diese Weise zwei Interessenten verloren, die vielleicht Kunden geworden wären.

Eine Navigation zu bauen, die nicht wenigstens als Alternative eine reine HTML-/CSS-Lösung bietet, halte ich also auch in der heutigen Zeit für nicht sinnvoll.

Passwörter aus FileZilla auslesen

Gestern stand ich vor folgendem Problem: Mit meinem Quelltext-Editor WeBuilder wollte ich PHP-Dateien nach der Bearbeitung direkt auf den Server einer Kundin hochladen. Dafür richtete ich im Editor den FTP-Zugang ein. Das Passwort, das ich mir an anderer Stelle notiert hatte, wurde aber beim Verbindungsaufbau als falsch abgewiesen.

Im FTP-Programm FileZilla, wo ich vor längerer Zeit schon einen entsprechenden Zugang angelegt hatte, klappte hingegen alles, dort musste das Passwort also stimmen. Doch zeigt FileZilla ja die Kennwörter nicht an, man sieht nur die für Passwort-Eingabefelder typischen Sternchen. Um die Kundin anzurufen und nach den Zugangsdaten zu fragen, war es schon zu spät am Abend. Was also tun?

Nun, es gibt die Möglichkeit, die gesamte Konfiguration aus FileZilla als XML-Datei zu exportieren, und in dieser Datei stehen dann die Kennwörter unverschleiert. Diese Lösung fand ich auf einem Verbraucherportal mit dem irreführenden Titel Gutes tun.

Nun kann man sich natürlich fragen, warum FileZilla keine Möglichkeit bietet, bei Bedarf auf sichtbare Passwörter umzustellen. Aus Sicherheitsgründen? Das ist Quark, denn Unbefugte können auf die oben beschriebene Weise die Daten eben doch ausspähen. Sie werden ja nicht verschlüsselt.

Wie auch immer – ich war froh über die lasche Sicherheit, denn so konnte ich gestern am späten Abend doch noch meine Arbeit zu Ende bringen.

WordPress: Verschiedene Templates und Sidebars für Seiten

Für mich ist WordPress immer noch am ehesten ein Blogsystem. Wenn also das Hauptaugenmerk eines Webauftrittes nicht auf einem Blog- oder Newsbereich liegt, sondern hohe Flexibilität in den Seitenlayouts gefragt ist, würde ich WordPress eher nicht einsetzen.

Für eine bestimmte Kundin standen die News stark im Vordergrund, weswegen ich WordPress wählte. Allerdings gibt es auch eine ganze Anzahl »statischer« Seiten (pages), die jedoch nicht alle gleich aufgebaut sind. Manche haben einen vollformatigen Inhaltsbereich, andere eine Seitenleiste (sidebar). Innerhalb des Gestaltungsthemas (theme) muss es also verschiedene Seitenvorlagen (templates) geben. Darüber hinaus müssen die Seitenleisten je nach Seite unterschiedliche Inhalte tragen.

Das in WordPress umzusetzen, war eine neue Anforderung für mich. In meinem anderen Lieblings-System, concrete5, ist so etwas super-leicht umzusetzen, aber auch in WordPress geht es ganz gut, wenn man erst einmal weiß, wie. Die Lösung fand ich auf drei Websites, und zwar so gut erklärt, dass ich mir die Mühe spare, alles mit eigenen Worten wiederzugeben. Hier sind die Quellen:

Templates für Seiten (Pages) in WordPress
[WordPress] Mehrere Sidebars nutzen
{WordPress} Unterschiedliche Inhalte in der Sidebar anziegen

HTML: Höhenangabe bei Bildern

Wenn man Bilder einbindet, kann man ja die Breite und Höhe angeben. Das hat den Sinn, dass der Browser diesen Platz beim Aufbau der Seite schon einmal reserviert. So kommt es bei der Anzeige während des Ladens nicht zu hässlichen Ruckeleffekten.

Nehmen wir mal folgenden Fall an: eine größere Anzahl von Bildern ist in einem Verzeichnis auf dem Webserver gespeichert, diese Bilder haben unterschiedliche Maße, eine Teilmenge wird durch ein PHP-Skript per Zufallsmodus geladen, und diese Bilder sollen zu guter Letzt – vielleicht aus ästhetischen Gründen – alle die gleiche Breite haben. Nun könnte man denken, etwa folgende Angabe im Image-Element sei die Lösung:

width="110" height=""

Die Breite soll also festgelegt werden und die Höhe sich proportional anpassen. Aber in manchen Browsern, zum Beispiel alten Internet-Explorern, funktioniert das nicht. Allerdings klappt es dann, wenn man die Höhenangabe ganz weglässt, also so:

width="110"

Prinzipiell wäre es eleganter, von Vornherein alle Bilder mit einem Bildbearbeitungsprogramm auf dieselben Abmessungen zu schneiden. Dann bräuchte auch der Webbrowser sich nicht die Mühe zu machen, sie zu skalieren. Das macht aber natürlich dann keinen Sinn, wenn die Bilder teils im Querformat, teils im Hochformat vorliegen.

Warum ich kein Typo3 verwende

Warum ich kein Typo3 verwende, ist eigentlich in wenigen Worten erklärt, auch wenn mir Typo3-Freaks wahrscheinlich gern den Kopf abreißen würden: Ich habe weder Zeit noch Lust, mich ein halbes Jahr lang einzuarbeiten, um das System zu verstehen und ein Theme selber erstellen zu können. Und ich möchte ein so unintuitiv bedienbares System auch meinen Kunden nicht zumuten.

Natürlich muss man sich auch mit WordPress und concrete5, meinen Lieblings-Systemen, ein wenig näher befassen, um gut damit arbeiten zu können. Aber wenn man fit in HTML und CSS ist und PHP halbwegs versteht, kann man schon nach einigen Tagen eigene Themes bauen. Es gibt bei beiden Content-Management-Systemen keine Template-Sprache, alles lässt sich mit purem PHP steuern.

Aber, na gut … Warum einfach, wenn es auch umständlich geht! Und die ganzen Typo3-Agenturen können sich auf die Schulter klopfen, so ein kompliziertes Zeug bestens zu verstehen. Und können dem Kunden eine Menge Geld abknöpfen, weil Typo3 ja das absolute Enterprise-CMS ist. Und natürlich ist auch ein Kunde, der einen eher kleinen Webauftritt mit fünf Seiten plus Kontaktformular braucht, mit Typo3 bestens beraten. Jo.

orgaMAX: Rechnung auf uneinbringbar setzen

Ich nutze die Büro-Software orgaMAX für meine Kunden- und Rechnungsverwaltung, weil sie sehr übersichtlich und einfach zu bedienen ist.

Grundsätzlich kann man in orgaMAX einer Rechnung einen Zahlungsstatus zuweisen. Zum Beispiel weist man in der Rechnungsübersicht den von den Kunden beglichenen Rechnungen den Status vollständig bezahlt zu. Doch leider wird jede(r) Selbstständige den Fall kennen, dass Rechnungen bisweilen uneinbringlich sind. Wie man den Status uneinbringbar vergibt, danach musste ich ziemlich suchen, aber es ist eigentlich ganz einfach.

Man muss die betreffende Rechnung als Einzelansicht aufrufen und in den Bearbeitungsmodus setzen. Dort klickt man auf den Reiter Eingabemaske und wählt im Auswahlmenü Zahlungsstatus den Punkt uneinbringbar aus. Fertig.

orgaMAX: Zahlungsstatus uneinbringbar
(Aufs Bild klicken zum Vergrößern)

Tomato Cart 2.0 Alpha 4: Installation hängt bei Beispieldaten

Inzwischen ist das Shopsystem Tomato Cart, ein osCommerce-Fork, für mich gestorben. Es gab einfach zu viele Probleme. Was ich als ein viel besseres Open-Source-Shop-System empfinde, gerade für den deutschen Markt, ist modified eCommerce. Jedenfalls, ich habe zuletzt noch Tomato Cart 2.0 in der Alpha-Version 4 ausprobiert. Die Zweier-Version wird, wenn sie fertig entwickelt ist (eine komplette Neuentwicklung), vermutlich besser als die Einser-Produktlinie funktionieren, aber Alpha 4 nervte mich schon, als die Installation an dem Punkt hängen blieb, wo die Beispieldaten installiert werden sollen. Immerhin fand ich eine Lösung, die ich hier gern noch präsentieren möchte.

Zu bearbeiten ist folgende Datei: /install/applications/controllers/setting.php. Man löscht folgenden Code (ab Programmzeile 97):

    
//import sample data
if ($sample == 'on') {
    //import sample sql data
    $this->import_sample_sql();

    //copy sample data
    toc_copy('samples/images', '../images');

    //resize images
    $this->resize_product_images();
}

Und noch diesen Code (ab Programmzeile 141):

/**
 * Import sample sql data
 *
 * @access private
 * @return boolean
 */
private function import_sample_sql() {
    //get database configuration from session
    $config = $this->session->userdata('db_config');

    //connect to database
    $this->load->database($config);

    //database is connected
    if ($this->db) {
        $sql_data = $this->load->file(realpath(dirname(__FILE__) . '/../../../') . '/install/tomatocart_sample_data.sql', TRUE);
        $sql_data = str_replace('`toc_', '`' . $config['dbprefix'], $sql_data);

        //split sql data with ;
        $statements = preg_split("/;[\r\n]/", $sql_data) ;

        //execute the sql statement
        foreach ($statements as $statement) {
            $this->db->query($statement);
        }

        return TRUE;
    }

    return FALSE;
}

Dann hat man zwar keine Beispieldaten (die ich sowieso überflüssig finde, weil man sie mühsam vor Inbetriebnahme des Shops wieder löschen muss), aber immerhin läuft die Installation auf diese Weise flüssig durch.