150 Google+ Invitations

Mit der Social-Plattform Google+ möchte Google ja Facebook etwas Feuer unter dem Hintern machen. Und eigentlich sieht das bisher auch ganz interessant aus, nur sind momentan noch recht wenige User dort angemeldet, was bei so einer Plattform ja eher unpraktisch ist.
Darum hat Google den bestehenden Usern nun die Möglichkeit gegeben 150 andere Leute einzuladen und das auch ganz einfach über einen Link.
Wer sich also bei Google+ anmelden und dort seine ganze Privatsphäre online stellen möchte, möge hier klicken

Feedstatistik für Online-Feedreader

Wenn man eine Feedstatistik haben will, kann man das entweder auf die bequeme Art mit Feedburner oder ähnlichen Diensten machen, oder selber etwas schreiben. Normalerweise kann man davon ausgehen, dass hinter einem Aufruf des Feeds ein Benutzer ist, welcher einen lokalen Feedreader benutzt (Thunderbird, Firefox, NetNewsWire usw). Online Feedreader wie Google Reader, Bloglines bedienen allerdings mehrere Benutzer und so kann man nicht pro Aufruf einen Benutzer schliessen.
Die Feedreader geben allerdings in den Useragent-Daten an, wieviele Benutzer den Feed abonniert haben und so kann man doch wieder eine gute Statistik zusammenschustern.
Und so sehen die Useragent Angaben zum Beispiel aus:
Google Reader
Feedfetcher-Google; (+http://www.google.com/feedfetcher.html;
123 subscribers; feed-id=0123456789

Bloglines
Bloglines/3.1 (http://www.bloglines.com; 123 subscribers)

Netvibes
Netvibes (http://www.netvibes.com/; 123 subscriber;
feedId: 0123456789)

Newsgator
NewsGatorOnline/2.0 (http://www.newsgator.com; 123 subscribers)


Via Webmeister Blog

Google Chart API: Diagramme im Handumdrehen erstellen

Google bietet ja jede menge APIs an, mit welchen man sich das Leben vereinfachen (?) kann. Unter anderem gibt es da die Google Chart API, mit welcher man im Handumdrehen Diagramme erstellen kann. Zur auswahl stehen die üblichen Balken-, Kuchen-, Linien-, usw. Diagramme.
Das ganze funktioniert in dem man eine Url von Google aufruft und dort einige Parameter angibt; zurück kommt dann ein Bild. So kann man die Url gleich beim img Tag als src angeben.
Eine Anleitung und übersicht mit allen möglichen Diagrammen und Parametern gibts bei Google.

Ich habe einen kurzen Test gemacht und die die Verteilung der Artikel in den Themen dargestellt, recht einfach und das Resultat kann sich sehen lassen:
http://images.t-error.ch/blog/929/chart.png

Tourenplanung bei GPS-Tracks

Nachdem ich am letzten Samstag lange Zeit am Touren planen war, habe ich mir am Dienstag das neue Kartentool von GPS-Tracks genauer angesehen und ich muss sagen: Chapeau!
Bisher hatte ich die Touren meist im Internet zusammengesucht und dann schlussendlich im Google Earth zusammengesetzt. Dort konnte ich auch einige Strecken zusammenklicken, da die Satelittenaufnahmen sehr gut sind. GPS-Track setzt dem noch einen oben drauf und macht das ganze online. So kann man dort die eigenen Touren planen und verwalten. Man kann also von jedem Computer auf die Touren zugreifen.
Das beste daran ist allerdings, dass man nicht "nur" Karten von Google (Strassen, Satelliten, Hybrid und Gelände) zur Verfügung hat, sondern auch die Karten von Toposwiss. Genauer geht es wirklich nicht mehr, da ist jeder Wanderweg, jeder Fluss und auch die Höhenangaben und Linien eingezeichnet. Zum Planen von Touren gibt es wohl nichts besseres und das alles gibt es nun gratis bei GPS-Tracks. So habe ich nun schon einige alternativen zur bisherigen Route vom Grischatrail gefunden, welche ich im Google Earth nicht gesehen habe.
Natürlich muss man nicht alle Routen zusammenklicken, man kann auch eine GPX Datei importieren. Bei grossen Dateien dauert das sehr lange, aber damit kann ich gut leben. Eine zusammengestellte Tour kann man als GPX und KML Datei exportieren und so schnell aufs GPS laden oder im Google Earth ansehen.
In einem Video wird die Bedienung ganz Verständlich erklärt

Hier noch ein Vergleich der Karten. Oben die Topo Swiss Karte und unten die von Google
http://images.t-error.ch/blog/922/toposwiss.jpg


http://images.t-error.ch/blog/922/google.jpg


Vazifar und Spoony haben bereits darüber geschrieben.

Werbung beim Winterpokal

Da bin ich ausnahmsweise mal ohne Adblock im Internet unterwegs und was sehe ich da auf unserer Winterpokal Teamseite?
Endlich mal gute Google Werbung.
http://images.t-error.ch/blog/854/ads.jpg

Links für meinen Velomech (mit der von mir gemachten Seite) und rechts Werbung für Veloplus

Google Chrome

http://images.t-error.ch/blog/794/chrome.jpg

Googles neuster Wurf macht einen guten ersten Eindruck. Er läuft schnell und bisher ohne grosse Macken. Der RAM-Verbrach liegt schon etwas unter dem vom Firefox, wobei natürlich noch keine Plugins installiert sind.
Aus den Socken hat es ich bisher noch nicht gehauen, aber bisher sieht es sehr interessant aus, mal sehen, wie es weiter geht und wann die Linux Variante des Browsers folgt.

Neue Homepage von Velo Glauser online

Die Stammleser dieser Webseite haben sich vielleicht gefragt, warum ich in der letzten so oft bei meinem Velomech war. Meist ging es nicht um mein Bike sondern um die neue Homepage von Velo Glauser. Heute ist das Meisterwerk endlich fertig geworden.
http://images.t-error.ch/blog/672/glauser_neu.jpg


Ich muss zugeben, die Homepage gefällt mir selber sehr gut, aber schlussendlich muss sie ja nicht (nur) mir gefallen, sondern den Kunden von Marcel Glauser. Das Ziel war von Anfang an eine einfache, aber informative Homepage zu gestalten. Eine Homepage ohne grossen Schnickschnack, die dem Kunden die Informationen liefert die er benötigt und die auch einfach zu verwalten ist. Ich denke, das ist mir gelungen, aber natürlich gilt es noch das Feedback der Kunden abzuwarten.
Natürlich ist auch hier im Blog Feedback willkommen. Ich würde mich freuen, wenn der eine oder andere Besucher der Homepage einen Besuch abstatten würde.

Und zum Vergleich ein Screenshot der alten Homepage:
http://images.t-error.ch/blog/672/glauser_alt.jpg

Diagramm-Skala bei Google Analytics

Heute morgen habe ich beim Google Analytics ein nettes, neues Feature entdeckt. Neuerdings kann man die Ansicht des Diagramms verändern. Man kann zusätzlich das Diagramm nach Woche oder Monat anzeigen lassen. Vor allem bei längeren Zeiträumen ist das doch einiges übersichtlicher.

Pro Tag

http://images.t-error.ch/blog/665/analytics_day.jpg

Pro Woche

http://images.t-error.ch/blog/665/analytics_week.jpg

Pro Monat

http://images.t-error.ch/blog/665/analytics_month.jpg

Gravatare mit PHP cachen

In meinem Blog verwende ich schon lange den Dienst Gravatar. Dadurch wird zu den Kommentaren ein Bild (Avatar) vom Kommentator angezeigt. Vorausgesetzt, eine Mailadresse wird angegeben und ein Avatar ist bei Gravatar auf diese Adresse registriert. Beim Aufruf meiner Seite wir dieser Avatar von der Gravatarseite geholt und angezeigt.

Für den Benutzer hat das den Vorteil, dass er sich nur an einem Ort registrieren muss und dann auf allen Seiten die Gravatar unterstützen einen Avatar hat. Die Mailadresse bleibt dabei immer geschützt, da sie vor der Übertragung in einen MD5 String umgewandelt wird.

Auch für den Webseitenbetreiber hat Gravatar einige Vorteile. So muss man kein eigenes Avatarsystem zusammenbauen und kann einfach Gravatar nutzen. Das ganze ist sehr einfach zu realisieren. Für Wordpress gibt es ja auch Plugins.

Der Nachteil ist allerdings, dass Gravatar halt auf einer anderen Seite läuft. Sollte diese Seite mal Trafficprobleme haben, oder gar ganz down sein, so wir die eigene Seite auch langsam, da die Bilder nicht geladen werden können. Dieses Problem kann man umgehen, indem man die Bilder in einem Cache abspeichert. Ich habe ein PHP Script geschrieben, welches diese Bilder in einen Cache speichert.

Der Ablauf sieht so aus. Zuerst überprüft das Script, ob sich das Bild schon im Cache befindet. Zur Identifizierung wird die Mailadresse als MD5 String verwendet. Ist das Bild schon im Cache und nicht älter als zwei Tage wird das Bild ausgegeben.
Anders sieht es aus, wenn das Bild noch nicht im Cache, oder schon älter als zwei Tage ist. Dann wir eine Verbindung zum Gravatarserver hergestellt, das Bild heruntergeladen und im Cache gespeichert. Dann wird es auch ausgegeben.

Mir ist klar, dass es (noch) keine perfekte Lösung ist, aber es funktioniert. Natürlich kann man so auch andere Bilder (nicht von Gravatar) cachen. Man muss halt einige Angaben anpassen.

Nun müssen sich nur noch mehr Leute bei Gravatar anmelden.

Hier der Code des Scripts:
<?

// Konfiguration
define("CACHE_FOLDER","cache/");                // cache ordner
define("CACHE_DURATION",48);                    // wie lange die bilder im cache bleiben sollen (tage)
define("GRAVATAR_OPTIONS","size=64&amp;");      // optionen (bild groesse, rating usw)

// ueberprufen ob die mailadresse (als md5 string) gesetzt ist
if(!isSet($_GET['address']))
{
    die(
"no address is set");
}

// cache dauer in sekunden umrechnen
$duration_secs=CACHE_DURATION*60*60;

// adresse ueberpruefen
$address=$_GET['address'];
if(!
preg_match("/[a-z0-9]*/i",$address))
{
    die(
"wrong address");
}

define("GRAVATAR_HOST","www.gravatar.com");
define("GRAVATAR_PATH","/avatar.php?".GRAVATAR_OPTIONS."gravatar_id=".$address);
$filename=CACHE_FOLDER.$address.".jpg";

// ueberprufen, ob die datei heruntergeladen werden muss
$download=TRUE;
if(
file_exists($filename))
{
    if(
fileMTime($filename)>(time()-$duration_secs))
    {
        
$download=FALSE;
    }
}

// wenn ja
if($download)
{
    
// zum host verbinden
    
$source=@fSockOpen(GRAVATAR_HOST,80,$errno,$errstr,30);

    
// wen verbindung hergestellt
    
if($source!=FALSE)
    {
        
// zu sendende headers zusammenstellen
        
$req ="GET ".GRAVATAR_PATH." HTTP/1.0\r\n";
        
$req.="Host: ".GRAVATAR_HOST."\r\n";
        
$req.="Connection: Close\r\n\r\n";

        
// headers senden
        
fWrite($source,$req);
        
        
// headers der antwort auslesen
        
while(!fEof($source))
        {
            
$header=trim(fGets($source,1024));
            if(
$header=="")
            {
                break;
            }
        }

        
// zieldatei oeffnen
        
$dest=fOpen($filename,"w+");

        
// daten auslesen und direkt in die zieldatei schreiben
        
while(!fEof($source))
        {
            
$data=fGets($source,1024);
            
fWrite($dest,$data);
        }

        
// verbindung trennen
        
fClose($source);
        
fClose($dest);
    }
    else
    {
        
// wenn gravatar down und kein bild im cache
        // standardbild verwenden
        
$filename="gravatar.jpg";
    }
}

// Bild ausgeben.
header("Content-type: image/jpeg");
echo 
file_get_contents($filename);
?>

KML Datei in GoogleMaps darstellen

Soeben bei this gesehen. Bisher hatte ich all meine Biketouren als KML Datei auf dem Server abgelegt. Um diese anzusehen braucht man allerdings Google Earth.

Nicht ganz, denn auch über Google Maps kann man die KML Dateien ansehen. Im zusammenhang mit meinen von GPSVisualizer erstellten Touren funktioniert das mehr schlecht als recht. aber wenn man die Tour direkt aus dem SportTracks als KML exportiert, funktioniert das wunderbar. Und da man Google Maps neuerdings auch auf der eigenen Seite anzeigen lassen kann, ist das kein Problem.



Das erstellen einer solchen Karte ist sehr einfach. Zuerst muss man eine KML Datei erstellen, wie gesagt kann man die einfach aus SportTracks exportieren. Die Datei muss man nun ins Internet laden. Als nächstes ruft man Google Maps auf und gibt in der Adresse einfach die Adresse der KML Datei an. Und schon wird die Tour in GoogleMaps angezeigt. Mit einem Klick auf "URL zu dieser Seite" erhält man noch den HTML Code um die Karte auf der eigenen Homepage einzubinden. Da muss ich wohl noch eine Ergänzung in meiner Tourenverwaltung vornehmen.