"Deadline" · Feinste Pixel-Stop-Motion mit Post-its

(direktDeadline)

Ein sehr beeindruckendes Stop-Motion-Video. Ich möchte nicht wissen, wieviele Post-it-Zettelchen dabei über den Jordan gegangen sind. Unbedingt anschauen!

(via @smashingmag)

Geschrieben am 12. Juni 2009 • Keine Kommentare

"Contact Form 7" auf goneo-Webspace zum Laufen kriegen

Mail

Kontaktformulare sind eine gute Sache, wenn sie funktionieren. Funktionieren sie nicht, werden sie schnell zu einem Quell steten Ärgernis. Dies ist der Fall, wenn man seine WordPress-Installation auf goneo-Webspace liegen hat. goneo hat nämlich im März sein System dergestalt modifiziert, dass Mail-Skripte nur noch mit einer bei goneo angelegten Email-Adresse funktionieren. Dies ist eine Reaktion auf das erhöhte Spam-Aufkommen.

Möchte man dann - so wie ich - seinen Blog mit dem ganz ausgezeichneten PlugIn "Contact Form 7" ausstatten, wird das nicht von Erfolg gekrönt sein, auch wenn bei Testläufen immer die Meldung "Email wurde erfolgreich versandt." erscheint. Man muss dem Skript also irgendwie seine bei goneo angemeldete Email-Adresse mitteilen.

Dies kann man einerseits sicherlich im PlugIn selbst machen, was kompliziert ist und genau bis zum nächsten Update hält, oder man geht den Weg über die php.ini. Letztere Möglichkeit beschreibe ich im folgenden, wobei mod_rewrite aktiviert sein muss, was auf dem goneo-Webspace problemlos möglich und generell empfehlenswert ist.

Also dann: Nehmen wir an, unser Kontaktformular ist über den URL "http://www.meine-homepage.tld/kontaktformular/" im WordPress-System erreichbar. Dann müssen wir kurz gesagt nur eine Kopie der php.ini mit den entsprechenden Anpassungen in das Verzeichnis "/kontaktformular/" laden und schon funktioniert alles.

Dafür brauchen wir als erstes das Verzeichnis "/kontaktformular/". Da wir mod_rewrite benutzen, existiert dieses Verzeichnis nicht. Wir legen es aber einfach an, indem wir auf der root-Ebene unserer WordPress-Installation (dort, wo die Ordner wp-admin, wp-content und wp-includes liegen) einen Ordner erstellen und "kontaktformular" nennen. In diesen kopieren wir die "index.php"-Datei von der root-Ebene und modifizieren sie im Text-Editor der Wahl folgendermaßen:

Aus Zeile 17…

require('./wp-blog-header.php');

wird…

require('../wp-blog-header.php');

Nicht wundern, es wurde wirklich nur ein Punkt hinzugefügt.

Als nächstes brauchen wir eine Kopie der php.ini, um "Contact Form 7" unsere Email-Adresse mitteilen zu können. Um diese in den Ordner "kontaktformular" zu kopieren, legen wir im Ordner eine PHP-Datei an und nenne sie "copyini.php". In diese fügen wir folgenden Code-Schnippel ein:

PHP
<?php
$cfg=get_cfg_var('cfg_file_path');
if (copy($cfg,'./php.ini')) {
    echo "Kopieren erfolgreich"; }
else {
    echo "Kopieren fehlgeschlagen"; }
?>

Danach gehen wir in den Browser und rufen das Skript auf, indem wir "http://www.meine-homepage.tld/kontaktformular/copyini.php" in die Adresszeile eintippen. Nun sollte im Browser-Fenster die Zeile "Kopieren erfolgreich" erscheinen. Das bedeutet, dass eine Kopie der php.ini im Ordner "kontaktformular" angelegt wurde.

Nun schmeißen wir die Datei copyini.php weg und nehmen uns die php.ini vor. Einfach im Text-Editor der Wahl öffnen und die Zeile 630

sendmail_path = /usr/local/sbin/sendmail -t -i

durch folgende ersetzen:

sendmail_path = /usr/local/sbin/sendmail -t -i -f mail@meine-homepage.tld

Nun noch speichern und fertig ist die Laube!

Ich möchte allerdings noch einmal darauf hinweisen, dass sich diese Anleitung nur auf WordPress-Installationen bezieht, die auf goneo-Webspace liegen. Solltet ihr bei einem anderen Hoster sein und Probleme haben, kann ich euch nur das Support Forum nahe legen.

Nachtrag:

Der Sicherheit halber solltet ihr zum Schluss noch den Zugriff auf auf die php.ini-Datei über den Browser per .htaccess unterbinden. Das geht mit folgendem Code-Schnipsel, der in besagte .htaccess-Datei eingetragen werden muss:

.htaccess
<Files php.ini>
   order allow,deny
   deny from all
</Files>

Weiterführende Links:

Bild: The slot for the mail next to the front door also has the doorbell button on it. von Samuraijohnny unter CC-Lizenz

Geschrieben am 11. Juni 2009 • 12 Kommentare

WordPress 2.8 wurde jetzt veröffentlicht

WordPress 2.8 wurde veröffentlicht

Es ist mal wieder soweit, eine neue Version unserer beliebten Blog-Software WordPress wurde veröffentlicht. Es handelt sich um die Version 2.8, namentlich Chet Baker. Neuerungen sind u.a.

  • Syntax-Highlighting im Theme- und PlugIn-Editor
  • Themes können nun direkt vom Backend aus gesucht und installiert werden (solange man sich mit den Einheits-Themes von WordPress.org zufrieden gibt)
  • Artikel lassen sich während des Schreibens per Strg+S (zwischen-) speichern
  • jede Email-Adresse darf nur noch von einem Autor benutzt werden

Natürlich gibts noch vieles mehr, wie ihr auf WordPress Deutschland nachlesen könnt. Bisher gibt es zwar erst die englische Version, aber die deutsche wird wie immer in den nächsten Tagen folgen.

Ich selbst werde in weiser Voraussicht erstmal ein bißchen warten, bis ich das Update vornehme. Die ersten Pflaumen sind bekanntlich madig. Außerdem muss ich die Sache mit der Email-Adressen-Begrenzung auf einen Autor noch verdauen. Ich habe nämlich immer einen Admin-User und einen Autor-User für mich. Selbstverständlich beide mit der gleichen Email-Adresse. Was diese Änderung soll, ist mir ehrlich gesagt nicht ganz verständlich…

(via WordPress Deutschland)

Geschrieben am 11. Juni 2009 • Keine Kommentare

Endlich Twitter in der Sidebar

herschel r auf twitter

Wie manch eine/r weiß, bin ich halbwegs aktiv auf Twitter. Deshalb schien es mir sinnvoll meine 140-Zeichen-Zwitschereien hier einzubinden. Immerhin lassen sich da so einige Synergie-Effekte realisieren.

Für die Umsetzung habe ich mir das PlugIn Twitter for WordPress runtergeladen, und zwar aus dem recht pragmatischen Grund, dass es in der Suchergebnisliste ganz oben stand. Es ist deshalb auch auf Probe hier.

Bisher — es ist nun seit 5 Minuten eingbaut — gefällt es mir ganz gut. Es scheint zu funktionieren, man kann es gut konfigurieren und auch per CSS gestalten. Das einzige, was mir nicht gefällt, ist, dass man Tweets mit einem "@" darin, nicht ausschließen kann.

Immerhin sind Replies relativ unspannend. ReTweets wiederum haben durchaus auch für Außenstehende Gehalt, weshalb ich das PlugIn erstmal drin lasse. Sollte ich meine Meinung zeitnah ändern und mir was anderes suchen, wird mir das sicherlich einen Beitrag wert sein.

Nachtrag:

Okay, das PlugIn kann scheinbar keine Links identifizieren, die ohne Leerstelle an einem Sonderzeichen o.ä. dran sind, wie Klammern, Gänsefüßchen, etc. Das ist ärgerlich. Spreche ich nun den Entwickler darauf an, akzeptiere ich es oder suche ich mir etwas neues? Es wird wohl eine Mischung aus allen dreien.

Geschrieben am 10. Juni 2009 • Keine Kommentare

Die “innovative integrierte Batterie” im neuen MacBook Pro

macbook pro mit innovativer integrierter batterie

Willkommen in der lustigen Welt der Euphemismen. Apple™ verbaut die Batterie in den neuen MacBook Pros so, dass sie nicht mehr vom Endkunden ausgewechselt werden kann. Das ganze nennen sie auf ihrer Hompage dann…

innovative integrierte Batterie.

Das ist ja der blanke Hohn. Soweit ich weiß, kommt man bei Acer™ problemlos an die Akkus ran und kann sie Falle eines Defekts selbst auswechseln, ohne einen Fachmann konsultieren zu müssen. Denkt mal darüber nach!

Geschrieben am 10. Juni 2009 • Keine Kommentare

Die Apple-Religion und ihre Missionare

apple in front of sky

Gestern haben wir zu zweit auf einen Bekannten, der nebenbei erwähnte, dass er einen neuen Laptop gebrauchen könnte, eingeredet und ihn mit allen Mittel davon zu überzeugen versucht, dass er etwas aus dem Hause Apple™ bräuchte. Zwischendurch habe ich mich zwar gefragt, was ich da mache, aber vom Missionieren habe ich trotzdem nicht abgelassen. Schlussendlich konnten wir ihn davon überzeugen, mal das MacBook Air zu testen, woraufhin mich ein Gefühl tiefer Zufriedenheit durchströmte.

Nun ist es ja so, dass ich beim Vermitteln eines neuen Kunden an meine Muckibude ein Handtuch bekomme. Nicht, dass ich das bräuchte, aber es ist eine Geste. Wenn ich dagegen einen Computer im Wert von 1399,00 € vermittele, gibt es nichts. Kein Handtuch, keine Gutschrift, nicht mal einen feuchtwarmen Handschlag. Und natürlich wird Apple™ einen Scheißdreck tun, auch nur einen Pfifferling für erfolgreiche Mundpropaganda anzubieten. Schließlich kriegen sie es durch die zahlreichen Apple™-Fanboys und -Jünger für lau. Es wäre also ökonomischer Unsinn, ein Belohnungssystem einzuführen. Apple™ ist schließlich keine zweitklassige Muckibude.

Allerdings fühle ich mich nicht wohl bei der Sache. Ein Korrektiv muss her. Deshalb habe ich beschlossen, ab jetzt jeden, der auch nur ansatzweise erwähnt, einen neuen Laptop zu brauchen, so lange zuzutexten, etwas aus dem Hause Acer™ zu kaufen, bis er oder sie entnervt aufgibt. Die Firmen, die ich empfehlen werden, rotieren im 3-Monats-Rhythmus. Danach ist bspw. Sony™ dran, dann vielleicht Lenovo™, und irgendwann komme ich wieder bei Apple™ an.

Da freue ich mich schon drauf.

(Bild: Autumn harvest von tanakawho unter CC-Lizenz)

Geschrieben am 10. Juni 2009 • 2 Kommentare

Steht die Twitpocalypse bevor?

Steht die Twitpocalypse bevor?

Jeder Tweet, der auf Twitter geschrieben wird, bekommt eine eigene ID im "signed integer". Die Grenze dieses Bereichs liegt bei 9.223.372.036.854.775.807. Alle ID's, die darüber hinaus kommen, sind negativ.

Laut Twitpocalypse.com wird die Obergrenze mitte Juni des Jahres erreicht sein, woraufhin fatale Folgen drohen. Vergleichbar sei das ganze mit dem Y2K-Bug. Auf jeden Fall solle man sich für diesen Zeitraum nichts vornehmen und unter keinen Umständen verreisen.

Klingt ziemlich dramatisch. Ich werde vorsorglich schon einmal einen Kanister Trinkwasser, ein paar Dosen Baked Beans und einen Gameboy™ mit Reservebatterien im Keller einlagern. Nur für den Fall der Fälle.

Ach ja, bis es soweit ist, könnt Ihr mir gerne auf Twitter folgen (@Herschel_R).

(via @smashingmag)

Geschrieben am 9. Juni 2009 • Keine Kommentare

Preisverhandlung aus dem Kreativbereich ins reale Leben übertragen

(direktVerhandlung)

Zugegeben, der Titel suggeriert, dass die Kreativbranche nicht im realen Leben stattfindet. Das stimmt so natürlich nicht, allerdings haben die Preisverhandlungen im Kreativbereich im Vergleich zu anderen Branchen schon etwas Irreales. Wie man im Video sehr gut sehen kann.

Auf jeden Fall eine witzige Idee und die perfekte Gelegenheit, das Video Embed-PlugIn zu testen.

(via adesigna.net)

Geschrieben am 9. Juni 2009 • Keine Kommentare

Wie man dem Internet Explorer 6 Herr wird

Der IE6 kann zurecht als Schmutzfleck auf dem Browser-Markt bezeichnet werden. Und hartnäckig ist er obendrein auch, jedenfalls solange auf den Firmenrechnern der Welt Windows XP läuft. Und solange dies so ist, muss man beim Erstellen einer Website darauf Rücksicht nehmen. Allerdings muss Cross-Browser-Kompabilität auch in Zeiten des Internet Explorer 6 kein Grund sein, sich graue Haare stehen zu lassen.

Jedenfalls nicht, solange man "nur" einfache Seiten in HTML/CSS schreibt. Es gibt lediglich ein paar Dinge, auf die man achten muss, und schon sieht die Welt gleich viel freundlicher aus.

  1. Weg mit der XML-Deklaration!
  2. Den "Double-Margin-Bug" unterbinden
  3. Das "hasLayout-Konzept" berücksichtigen
  4. hr-Tags immer umschließen
  5. "text-align: center" für zentrierte Layouts
  6. Die :hover-Pseudoklasse für alle Elemente verfügbar machen
  7. Finger weg von Attribut-Selektoren
  8. Vorsicht bei Hover-Effekten in Verbindung mit Hintergrund-Grafiken
  9. "iepngfix" für PNGs mit Alpha-Transparenz
  10. Fazit

Weg mit der XML-Deklaration!

Solange euer HTML-Dokument mit der Zeile <?xml version="1.0" encoding="utf-8"?> anfängt, fällt der IE6 in den Quirks-Modus und das Box-Modell wird falsch berechnet. Das hat zur Folge, dass margin-, padding- und border-Angaben im Stylesheet nicht mit in die Breite bzw. Höhe eines Block-Elements einfließen.

Den "Double-Margin-Bug" unterbinden

Weist man einem Block-Element die Eigenschaft float: left zu, verdoppelt der IE6 den Außenabstand nach links. Analog läuft es mit float: right. Dies kann einem jedes Layout verhageln. Unterbinden lässt sich dies, indem man dem gefloateten Element die Eigenschaft display: inline zuweist. Klingt absurd, hilft aber.

Das "hasLayout-Konzept" berücksichtigen

hasLayout ist eine proprietäre Eigenschaft von Microsoft und kann true oder false sein. Viele Darstellungsfelder im IE6 gehen auf diesen Eigenschaft zurück. Man geht also auf Nummer Sicher, wenn man mit width-Angaben im Stylesheet nicht knausert, wodurch das Element auf hasLayout = true gesetzt wird.

hr-Tags immer umschließen

hr-Elemente haben im IE6 immer einen Rand, daher muss man sie mit div-Tags umschließen und das hr-Tag selbst im Stylesheet auf display: none setzen.

HTML
<div class="hr">
	<hr />
</div>
CSS
.hr {
   /* hier das styling */
}

.hr hr {
   display: none
}

"text-align: center" für zentrierte Layouts

Will man sein Layout zentrieren, so wie ich das hier gemacht habe, weist man dem Inhaltscontainer einfach im Stylesheet die Eigenschaft margin: 0 auto zu und schon sitzt das Ding mittig. Außer natürlich im IE6.

Hier gibt es allerdings einen schönen Workaround: Einfach dem body-Tag text-align: center zuweisen, dadurch wird der Inhaltscontainer zentriert. Dem Inhaltscontainer wiederum weist ihr die eigentliche, auf der Website gewünschte Textausrichtung zu.

CSS
body {
   text-align: center
}

#wrap {
   text-align: left
}

Die :hover-Pseudoklasse für alle Elemente verfügbar machen

:hover ist eine sogenannte Pseudoklasse und funktioniert im IE6 nur in Verbindung mit dem a-Element. Dies kann nervig sein, wenn man z.B. einen Button mit einem Hover-Effekt versehen möchte, was der Benutzbarkeit einer Website ja durchaus zuträglich sein kann.

Für diesen Fall empfiehlt sich der "Whatever:hover"-Hack. Sobald dieser eingebunden ist, kann man die :hover-Klasse auf alle Elemente anwenden.

Achtung: Funktioniert nur bei aktiviertem JavaScript!

Finger weg von Attribut-Selektoren

Mit Attribut-Selektoren hat man bspw. die Möglichkeit einzelne input-Elemente in einem Formular über input[type=text] oder input[type=submit] anzusprechen und zu stylen. Eine tolle Einrichtung in CSS, die im Internet Explorer 6 leider nicht funktioniert. Man kommt also nicht umhin, althergebrache ID's oder Klassen zu vergeben, wenn man diese Elemente ansprechen möchte.

Vorsicht bei Hover-Effekten in Verbindung mit Hintergrund-Grafiken

Besonders bei Hover-Effekten empfiehlt es sich eigentlich, auf sogenannte CSS-Sprites zurück zu greifen, um Verzögerungen beim Laden der Hover-Grafik zu vermeiden. CSS-Sprites bedeutet, dass man alle Grafiken in eine Datei steckt und beim Hover-Effekt keine neue Grafik lädt, sondern lediglich die Hintergrundposition des CSS-Sprites ändert.

Eine geniale Lösung - außer für den IE6. Dieser speichert Grafiken nicht im Cache, so dass die große CSS-Sprite-Grafik jedes mal neu geladen werden muss, was den Hover-Effekt noch holperiger als bei der Standard-Lösung macht. Das bedeutet, dass man für den IE6 ein Extra-Stylesheet anlegen muss, in dem man die Hover-Effekte auf althergebrachte Weise mit Einzelgrafiken definiert.

"iepngfix" für PNGs mit Alpha-Transparenz

Der IE6 unterstützt von Hause aus keine Alpha-Transparenz bei PNGs, weshalb der eigentlich transparente Bereich in einem "dekorativen" grau erstrahlt. Allerdings ist das kein Grund zu verzagen, gibt es doch den "iepngfix". Diesen - genauso wie den "Whatever:hover"-Hack - in die Website einbinden, und schon bereiten PNGs keine Probleme mehr.

Achtung: Funktioniert nur bei aktiviertem JavaScript!

Fazit

Berücksichtigt man diese Dinge, kann man schon von Vornherein eine Menge Unheil verhindern, ohne dass man von Beginn an seine Zeit mit dem IE6 verschwendet. Ich als Apple-User baue meine Seite komplett im Firefox und erst zum Schluss schmeiße ich "Parallels Desktop" an und begutachte die Seite im Internet Explorer. Klingt mutig, ist aber kein Problem, wenn man den IE6 von Anfang an im Hinterkopf hat.

Sollte ich etwas wichtiges vergessen haben, bin ich über einen Hinweis in den Kommentaren dankbar. Ansonsten wünsche ich weiterhin viel Spaß(?) beim Arbeiten mit dem Internet Explorer 6.

PS: Auch interessant ist der Beitrag über den Umgang mit dem IE6 von Dirk Jesse.

Geschrieben am 7. Juni 2009 • 4 Kommentare

Hallo Welt!

Es ist 1.40Uhr in der Nacht, die Internet-Verbindung ist erschütternd langsam, neben mir steht eine halbvolle Flasche Gerstensaft und aus den Boxen säuselt entspannte, der Zeit angemessene Musik. Nach 10 Stunden Arbeit und diversen, massiven Puls-Ausschlägen nach oben (die Verbindung schwächelt nicht erst seit 5 Minuten…), ist es nun an der Zeit den Standard-WordPress-"Hallo Welt!"-Beitrag in einen angemessenen Auftakt zu verwandeln.

Dass ich den Titel dabei lasse wie er ist, möge man mir verzeihen. Und auch sonst gleicht dieser Start eher einem Richtfest, als einer pompösen Eröffnungsfeier. Es gibt noch einiges zu tun: Diverse Plugins wollen installiert werden, die Internet Explorer (ganz vorn die allseits beliebte Version 6) fordern ihre Sonderbehandlung ein und überhaupt müssen Inhalte her. Bis zur offiziellen Eröffnung steht also noch einiges an Arbeit an.

Im Laufe der nächsten Woche wird sich das jedoch ändern, hier und da wird noch noch "etwas verputzt" und der eigentliche Betrieb des Blogs kann aufgenommen werden. Mittelfristig wird auch der Bereich "Güter" gefüllt werden, wo es bspw. WordPress-Themes zum Download geben wird.

In diesem Sinne freue ich mich auf einen gelungenen(?) Start und bin gespannt, was die Zukunft so bringt.

Geschrieben am 6. Juni 2009 • Keine Kommentare