Ich wundere mich seit Tagen über extrem angestiegenen Traffic für meinen URL Shortener unfake.it. Des Rätsels Lösung ist wohl sehr einfach: eine Google-Suche nach “url faker” liefert 19.400.000 Ergebnisse. Und unfake.it ist auf Platz 1 inkl. Mini-Sitelinks, Platz 2 ist mein Blog-Artikel über unfake.it vom 25. Januar 2009. Das ist ziemlich neu, da bin ich mir relativ sicher.

Da wundert mich nichts mehr. Leider, leider gerät das System aber so langsam aber Sicher an die Lastgrenzen und ich muss mir überlegen, ob ich nicht doch eine meiner Regeln breche, denn ich hatte ursprünglich beschlossen und kommuniziert, dass unfake.it niemals Werbung vor oder nach dem Klicken einer Kurz-URL anzeigen wird.

Was meint ihr? Sollte ich Werbung schalten und so ggf. neue, schnellere Hardware finanzieren? Oder findet sich ggf. irgendwo ein freundlicher Sponsor? Bin gerne bereit, darüber zu verhandeln 🙂

Es gibt Datenbanken, die stehen unter grosser Last, weil die Queries sehr komplex sind. Andere Datenbanken sind immens gross. Eine meiner Datenbanken hat sehr viele Zugriffe, sowohl lesend als auch schreibend. Heute wurde der Server an die Lastgrenze getrieben, was mich dazu zwang, Optimierungen vorzunehmen.

1. INSERT DELAYED und UPDATE LOW_PRIORITY

Bisher habe ich mich immer davon fern gehalten, diese Funktionen zu nutzen, einfach weil ich keine Veranlassung dazu sah. Warum schreibende Zugriffe verzögern, wenn sie doch auch unmittelbar vollzogen werden können? Die Tatsache, dass mehrere hunderte gleichzeitiger Zugriffe sich gegenseitig behinderten, brachte mich dazu, meine Denkweise zu überdenken.

Hier geht's weiter... » // Read more... »

Habe heute Abend Woopra getestet. Geboten wird ein Dienst, welcher Echtzeit-Statistiken von Webseiten generiert. Hierzu wird ein Javascript-Code-Schnipsel auf der gewünschten Website eingebunden, welche einen Connect auf die Woopra-Server macht und dabei Server- und Client-Daten übermittelt. Nette Idee, funktioniert auch. Für mich dennoch untauglich. Mehr dazu weiter unten.

Die Bedienung der Woopra-Website ist einfach und intuitiv. Zunächst muss ein Profil angelegt und per E-Mail-Verifizierung bestätigt werden. Dann können die Websites (anhand von Domains) angelegt werden, die getracked werden sollen.

Im Quellcode der fraglichen Webseiten muss nun der kleine Javascript-Schnipsel eingebunden werden. Sofort darauf werden die Live-Statistiken entweder über das Dashboard der Woopra-Website oder aber über ein entsprechendes Desktop-Programm ausgegeben. Ich hatte den Mac OS X Client getestet. Dieser schaut sehr ansprechend aus und stellt die Informationen nett dar.

Für mich kommt Woopra in dieser Form nicht in Frage, denn es deckt nicht mal die Hälfte meiner Anwendungsfälle ab. Konkretes Problem ist, dass ich zahlreiche Seiten betreibe, die keinerlei oder besondere Header-Informationen senden und mit der Javascript-Ausgabe im BODY nicht klar kommen. Spätestens bei einem 301-Header ist hier Schluss, das funktioniert nicht mit Javascript.

Das erinnert mich daran, dass ich mit (m)einem unlängst eingeschlafenen eigenen Webanalyse-Tool weitermachen sollte. Bereits vor einem Jahr hatte ich eine lauffähige Version, die in ähnlicher Weise wie Woopra arbeitet und auch viele brauchbare Daten bereitstellt. Aus Zeitgründen war dieses Projekt eingeschlafen. Vielleicht mache ich bei Gelegenheit damit mal weiter und erfinde Google Analytics neu 🙂

Auf dieser Seite wird einwandfrei beschrieben, wie man (s)einen Firefox (oder Iceweasel) dazu bewegen kann, PDF-Dokumente inline (direkt im aktiven Tab) im Browser zu öffnen.

Seit wohl mehr als zwei Jahren wundere ich mich hin und wieder, weshalb mein SpamAssassin bei der Beurteilung, ob es sich bei einer eintreffenden E-Mail um Spam oder nicht handelt, nicht langsam mal ein wenig cleverer wird. Nutze ich doch schliesslich sa-learn und verfüttere ihm gesammelte Spam-E-Mails, damit deren Signaturen erkannt und zukünftig nicht mehr durchgelassen werden. Irgendwie wurde es aber nie besser. Gefühlt kam immer mehr Spam durch. Aber das Thema war auch nicht so wichtig, dass ich es mit Nachdruck verfolgt hätte. Bis vor ein paar Tagen. Hier geht's weiter... » // Read more... »

Due to critical hardware failure, I’m forced to shut down and migrate all my websites and those hosted on my server soon. This might happen this afternoon already.

Right now, most of the websites are still working properly. Nevertheless, several database queries, depending on MySQL’s temporary directory, currently fail since the temp filesystem unfortunately is read-only. Most likely, this effects categories and article tagging in WordPress.

Even though I’ve prepared and tested the migration so far, there will be a downtime of at least several minutes. After the migration, there might be character problems due to a required change from LATIN1 to UTF8. This may result in not properly displayed German characters like “ä”, “ö”, “ü”.

If you encounter problems in the next few days, please contact me.

Thanks.

Hi there,

during the past few days, unfake.it‘s performance increased dramatically. Several scripts and jobs have been moved onto new servers, the database structure and various SQL statements have been enhanced and even SQL SELECT statements have been optimized to more and more use readonly slave servers. Most URLs are being faked in much less than a tenth of a second. The magical previews of faked URLs are generated almost instantly, since performance increased dramatically.

Unfortunately, faked URLs weren’t posted to Twitter when using the WordPress Plugin during the past 4 hours due to a tiny misconfiguration. This issue could be solved.

unfake.it has become a more and more commonly used URL shortener during the past months. Almost 1.000 URLs are faked in a 24 hour period, even though this magic edge has not yet been crossed. See the stats for more information ’bout that.

Bye, Thomas

Hi there,

after several months, unfake.it has become even more important in the Web2.0 community. A few weeks ago, I was talking to some guys and co-workers about programming and such things. I then told about unfake.it and a co-worker of mine said, he somehow stubled upon http://unfake.it/ and uses it irregular. That was quite funny to me.

I’ve had very few time the past months and since I got stuck on the half way because of some WordPress problems and also some problems with facebook’s API and FBML, there was no more development. But now I’m proud to announce that today, I released a completely new version including new features:

WordPress plugin version 1.2

The new plugin comes with its own settings page and adds two own tables to your WordPress installation. The main purpose is to let you configure, whether or not you wish to be taken to facebook and add the shortened URL for your new blog post (including a thumbnailed screenshot) to your facebook profile page and even in your friends newsfeeds.

Facebook application

unfake.it now has its own facebook application which lets you add shortened URLs, lists them as screenshots in a profile box, displays about new URLs on your profile wall and even tells your friends about it in their newsfeeds. Want an example? See:

uf_v12

Since a few hundred URLs are shortened every single day, I also had to do some enhancements to the database structure and especially to the thumbnailing process. Just think about it: at the moment, we have more than 20,000 shortened URLs, each of them was once and initially thumbnailed, stored and is re-fetched every few days, if still hits occur. That’s a lot of traffic and a lot of CPU power. Just take a look how MySQL handlers and Apache traffic increased the last months:

uf_mysql_200908

uf_apache_200908

You may see most recent stats at http://unfake.it/stats.php.

Please let me know, if you have any problems with the new version of the WordPress plugin and especially what you think about the facebook application.

Bye, T.

Hi there!

weckerDo you know this problem?! You have to get up at some certain time in the morning, so you set up your alarm clock to give you a friendly “rrrrrrring-rrrrring”. But you simply don’t wake up! Your alarm clock rings and rings and rings for like hours but you simply don’t hear it. Sometimes, you use the snooze button, but you cannot even remember you did it.

Well, that’s like how I feel sometimes in the morning. Bad thing, if you have some kind of meeting or appointment. Several times in the past, I sent automated e-mails to my co-workers to give me a wakeup call on my cellphone, this surprisingly always works. But it’s annoying. For me and my co-workers.

Here comes the solution:

use nagios to give you a highly sophisticated wakeup call.

Imagine, you have a linux box which is under surveillance of a nagios remote monitoring system. And imagine furthermore, this nagios system is configured to send out voice calls in cases of critical states. All you need is a new plugin (most commonly via NRPE) which tells nagios to initiate your wakeup call.

This is how I do it:

1. Add the following line to your NRPE config file on your linux box (e. g. /etc/nagios/nrpe.cfg):

command[wakeupcall]=/usr/lib/nagios/plugins/wakeupcall

2. Create the plugin and place it on your linux box at /usr/lib/nagios/plugins/wakeupcall

#!/bin/bash
#
# nagios nrpe plugin to initiate a wakeup call
# 2009, Thomas Gericke, thomas (at) thomasgericke (dot) de
#

FILE="/etc/wakeupcall/wakeupcall"

if [ -e $FILE ]; then
        echo "Wakeupcall needed. Gonna hit ya!"
        exit 2
else
        echo "No wakeupcall needed. Sleep well."
        exit 0
fi

3. Restart your NRPE service on your linux box (e. g. /etc/init.d/nagios-nrpe-server restart)

4. Set up the service check in your nagios configuration on your nagios server

I assume, you already have the host configured on your nagios system and you already are familiar with nagios’ notifications. Here’s the service check you need:

define service {
        use                     generic-service
        max_check_attempts      1
        notification_options    c
        service_description     Wakeup Call
        host_name               YOUR.HOST.NAME
        check_command           check_nrpe!wakeupcall
        contact_groups          YOUR_CONTACT_GROUP
}

I hope you’re familiar with nagios’ service check templates and such stuff.

5. Reload your nagios on your nagios server (e. g. /etc/init.d/nagios reload)

6. Create the wakeupcall config directory on your linux box (mkdir /etc/wakeupcall/)

7. Set up a file for an at-job on your linux box (e. g. ~/add.wakeupcall)

touch /etc/wakeupcall/wakeupcall

8. Set up an at-job on your linux box once you need to be woken up

at -f ~/add.wakeupcall 06:40

Your linux box will create /etc/wakeupcall/wakeupcall at 6.40AM (the very next time this moment occurs), nagios will realize it and will initiate the notification. If you have configured your nagios server to send out voice calls to your cellphone, you will receive a wakeup call.

Have fun, comments are appreciated! 🙂

Hi there!

Lots of you may use WordPress as blog system. Lots of you may also use a Twitter account. I guess, most of those people will use the famous Twitter Tools plugin by Alex King (http://alexking.org/) to automatically notify Twitter about your new WordPress blog posts.

What happens while WordPress notifies Twitter?

Well, the Plugin sends a notification to your Twitter account and, of course, tweets the URL of your new post. Since this URL is usually very long, Twitter uses (for some reason) tinyurl.com to shorten this URL. And this is, what I really hated. Really hated!

That’s the reason why I wrote the new unfake.it-API. Just as soon, as the API worked, I wrote a very tiny and very simple WordPress plugin to enhance Twitter Tools. The plugin tells the Twitter Tools plugin to shorten URLs using my unfake.it-API before sending the URL of the new post to Twitter.

The faked URL is short enough and Twitter doesn’t need to shorten it with tinyurl.com.

Also see: http://unfake.it/help.php#twitter-tools

So, all of you using WordPress and Twitter, you may (and should 🙂 ) use this plugin.

  1. download the plugin here
  2. expand the archive into your wp-content/plugins/ directory.
  3. create a folder named tt_unfake_it (should have happend automatically by unzipping the archive) in your wp-contents/plugins/ directory.
  4. put the tt_unfake_it.php file into the wp-content/plugins/tt_unfake_it/ directory (should have happend automatically by unzipping the archive).
  5. go to the Plugins page in your WordPress Administration area and click ‘Activate’ for ‘unfake.it URL shortener for Twitter Tools’.
  6. use WordPress as usual

Of course, you have to check “Notify Twitter about this post?” at the bottom of the editing page when writing a new post!

That’s it 🙂

Once again: this is a plugin which depends on Twitter Tools by Alex King.

Have fun and please let me know, if you’re experiencing any problems.