PHP: Achtung bei current(), next() und prev()

Published 2006-08-26, 15:52

Im Manual steht es groß und auffällig, trotzdem habe ich natürlich einige Zeit gebraucht bis ich auch die Idee kam dort nachzuschauen:

Enthält das Array leere Elemente (0 oder „“, den leeren String), wird für diese ebenfalls ein Wert zurückgegeben, der als FALSE ausgewertet wird (siehe Umwandlung nach boolean und die Typvergleichs-Tabelle für zusätzliche Informationen). Das macht es unmöglich, unter Verwendung von current() herauszufinden, ob das wirklich am Ende der Liste sind. Um ein Array, das leere Elemente enthalten könnte richtig durchzugehen, verwenden Sie die Funktion each().

Also merken: current(), next() und prev() sind böse.

XAMPP / Mercury: 553 We do not relay non-local mail, sorry.

Published 2006-08-25, 23:13

Wer direkt mit dem bei XAMPP mitgelieferten Mailserver herumspielen möchte (XAMPP starten, Mercury starten, Mails mit Absender foo@example.org versenden) bekommt direkt mal folgenden Fehler geliefert:

553 We do not relay non-local mail, sorry.

Doch der lässt sich einfach beheben:
Configuration -> Connection Control -> Haken bei „Do not permit SMTP relaying of non-local mail“ wegmachen.

Wichtig: Nach dem Testen Mercury entweder wieder umstellen oder beenden – mit dieser Einstellung wird der eigene Rechner sonst schnell zur unkontrollierten Spamschleuder.

Es sind die kleinen Dinge…

Published 2006-08-21, 01:39

die ein Forum besser nutzbar machen:

Achtung – während Sie geantwortet haben, ist eine neuer Beitrag geschrieben worden. Sie sollten das Thema erneut lesen.

Gesehen in einem Forum mit SMF.

Beliebte mod_rewrite-Fehler

Published 2006-08-19, 18:21

Unter den Rewriteflags werden in der Dokumentation zu mod_rewrite 4 wichtige Punkte angesprochen. Dummerweise werden diese durch die blaue Box nicht etwa hervorgehoben, sondern rücken eher in den Hintergrund.

Dies ist schade, denn würde jeder Webmaster der mit mod_rewrite herumspielt diese Regeln durchlesen, gäbe es viel weniger Missverständnisse und Verwirrung was die Funktionsweise der RewriteRules angeht. Deshalb hier nochmal:

Note: Enabling rewrites in per-directory context

To enable the rewriting engine for per-directory configuration files, you need to set „RewriteEngine On“ in these files and „Options FollowSymLinks“ must be enabled. If your administrator has disabled override of FollowSymLinks for a user’s directory, then you cannot use the rewriting engine. This restriction is needed for security reasons.

Ganz beliebter Fehler Nutzung von mod_rewrite bei Hostern wie Hosteurope.

Note: Pattern matching in per-directory context

Never forget that Pattern is applied to a complete URL in per-server configuration files. However, in per-directory configuration files, the per-directory prefix (which always is the same for a specific directory) is automatically removed for the pattern matching and automatically added after the substitution has been done. This feature is essential for many sorts of rewriting – without this, you would always have to match the parent directory which is not always possible.

There is one exception: If a substitution string starts with „http://“, then the directory prefix will not be added, and an external redirect or proxy throughput (if flag P is used) is forced!

Wenn man das einmal verstanden hat, werden die Regeln viel klarer.

Note: Substitution of Absolute URLs

When you prefix a substitution field with http://thishost[:thisport], mod_rewrite will automatically strip that out. This auto-reduction on URLs with an implicit external redirect is most useful in combination with a mapping-function which generates the hostname part.

Remember: An unconditional external redirect to your own server will not work with the prefix http://thishost because of this feature. To achieve such a self-redirect, you have to use the R-flag.

Das versteh ich ehrlich gesagt selbst nich 😉

Note: Query String

The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable. You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag.

Probleme mit Queries gehören nach Verstehen dieses Absatzes zum Glück auch der Vergangenheit an.

Tools für reguläre Ausdrücke: The Regulator & Regulazy

Published 2006-07-28, 08:46

Keiner mag reguläre Ausdrücke. Deshalb gibt es auch so viele toole Tools, die helfen sollen sie zu verstehen, visualisieren oder zu erstellen. The Regex Coach von Edi Weitz nutze ich schon eine Zeit lang. 2 weitere sind mir gerade über den Weg gelaufen:

  1. The Regulator

    The Regulator is an advanced, free regular expressions testing and learning tool written by Roy Osherove. It allows you to build and verify a regular expression against any text input, file or web, and displays matching, splitting or replacement results within an easy to understand, hierarchical tree.

  2. Regulazy

    Regulazy is a visual Regex Creation tool for beginners. Easy point and click user interfaces, predictive technology and much more! Still in alpha, but more features are coming!

Beide sind übrigens von Roy Osherove und werden in nächster Zeit mal bei mir getestet.

SMS-Versand mit Skype: 11,7 cent pro SMS

Published 2006-07-06, 15:02

Gerade erst über Svoogle.org drauf gestoßen:

Ab sofort können SMS-Nachrichten über Skype an Mobiltelefone raus versandt werden. […] Nach Österreich sind es zum Beispiel 13,6, nach Deutschland 11,7 und in die Schweiz günstige 10,2 Eurocent (alle Preise inkl. Mehrwertsteuer)

http://share.skype.com/sites/de/2006/05/skype_fuer_windows_25_beta_sms.html
http://www.skype.com/products/skypesms/rates/#listing-G

Sehr amüsant übrigens:

Die klugen Leute bei Skype haben sich jedoch eine tolle Sache einfallen lassen, mit der es möglich ist, dass die Nachrichten als Absender deine Mobilnummer tragen.

Ja sind die doch klug, tatsächlich eine Handynummer als Absender anzugeben *staun

Surfx.ro – Kommentarspam?

Published 2006-05-27, 18:29

Author : Surfx.ro Blog Verification (IP: 82.146.98.207 , 082-146-098-207.dyn.adsl.xs4all.be)
E-mail :
URI : http://www.surfx.ro
Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=82.146.98.207
Comment:
Surfx.ro Blog Verification…

24990…

Seltsamer Kommentar. Vermutlich möchte jemand ausprobieren, bei welchen Weblogs die Kommentare nicht moderiert werden. Offensichtlich mit Erfolg.

Nutzung der Google Adwords API soll Geld kosten

Published 2006-04-12, 02:06

Beitrag Revisions to the AdWords API Beta Program im Adwords API Blog:

Revised quota allocation system & pricing model: We are changing the quota allocation system and pricing model to create a more flexible and level playing field that encourages efficient coding and application design. Effective July 1, 2006, the current free quota system will be replaced by a usage-based system. Under this new model, AdWords API token holders will be charged a nominal $0.25/1000 quota units consumed. As a result, current developer quota caps will be removed in order to provide a more flexible and scalable system for quota allocation and consumption.

Meiner Meinung nach das falsche Signal von Google an die Adwords-API-Nutzer und vor allem ein absolut unfairer Schritt. Mehr dazu aber in der…

Diskussion über die Änderungen im Adwords API Forum:

Inasisi schreibt dort:

So all of us need to pay money for using the API, irrespective of how big our spending is and how small our actual quota usage is? If so despite all the flowery language that you have used to explain the change, this reeks of „Bait & Switch“ and hate to see a company like Google get into such cheap practices. You initially provided the API free of cost to us. Now that we have built all our systems around it and has kind of become indispensable, you are turning around and going to charge us for it. Mind you, my programs are very efficient as far as the usage of my quota goes and I consume only a very small portion of my monthly quota. But I still hate to have to pay for that usage especially when we were not told about it initially.

What would be more equitable would be to assign a certain amount of free quota to people based on their spend and then people can buy more over and above that.

Ich habe geantwortet:

Full ack, inasisi. This just doesn’t seem fair. Are Google’s costs for the API so high? Every API call is one request fewer to the normal interface…

A better approach would have been to make the free quota assignment more transparent and add the possibility to buy additional quota if needed. Then Google could still decide how much quota and usage is appropriate for a certain spending, and the user could widen his possibilities on request/payment.

Weitere Links (wird aktualisiert):
Diskussion im Adwords-Forum von Webmasterworld.com
Diskussion im Adwords-Forum vom Abakus-Forum
Blogeintrag von Vinny Lingham zu den Änderungen

Blogeintrag von DavidZHawk auf „Search Engine Marketing Thoughts“
„Google Adds Pricing Model To Google AdWords API: Opens Commercial Use“ bei SEW
„The Adwords API and Google’s Monopoly“ bei „Shifting Gears“

Neue, nicht zensierte Diskussion im Adwords-Forum von Webmasterworld.com

Update: Adwords API: Doch weiterhin umsatzabhängige Quota-Zuteilung?

Warum Bagook besser nicht zum Web2.0 gezählt werden sollte…

Published 2006-04-11, 18:16

Vor einigen Tagen hatten Thomas und Robert über den deutschen Digg-Klon Bagook berichtet. Das Design kam mir irgendwie bekannt vor…

Logisch, denn bis zum 16. März wurde es auch auf SimpleBits, der Seite des amerikanischen Autors und CSS-Profis Dan Cederholm („Bulletproof Web Design“ + „Web Standards Solutions“) genutzt. Dan hat einen Screenshot davon bei Flickr archiviert, eine andere Unterseite nutze exakt das selbe Farbschema. Daher stammen wohl die Grafiken zu bagook.de…

Links Bagook, rechts SimpleBits:
Bagook vs. Simplebits

Der Designklau war mir auch schon nach Thomas‘ und Roberts Posts aufgefallen, und ich hatte auch im Kommentarbereich darauf hingewiesen, die Betreiber von Bagook scheint das aber bis heute wenig zu interessieren. Und Bagook taucht auch weiterhin auf Listen als deutsche Web2.0-Vorzeige-Projekt auf – und da haben sie meiner Meinung nach mit einem so dreist geklauten Design nichts zu suchen.

Das Teilen und Freigeben von Inhalten ist ja durchaus Teil der Web2.0-Idee, ich bezweifle aber, dass Dan Cederholm etwas davon weiss, geschweige denn es erlaubt hat. Leider scheint er seine Mails eher selten zu lesen und zu beantworten, meine Nachfragen zum Design von Bagook blieben bisher unbeachtet.

Lesen: Geheiligt sei deine Marke

Published 2006-04-11, 09:50

http://www.brandeins.de/ximages/28370_016markenk.pdf

18 queries. 0,107 seconds.