
Das einfach wunderbare Team von Amy&Pink berichtet über das Leben, Lifesstyle, Musik und alles andere, was ihnen gefällt und so hat Hannah am Montag auf das neue Album “The Suburbs” von Arcade Fire hingewiesen. Normalerweise blogge ich ja selten über Musik aber dieses Album hat es mir wirklich angetan.
Hannah beschreibt das wirklich schön:
Gott sei dank, sonst hätte mir wohl nicht ein kleines Vögelchen gezwitschert, dass Arcade Fire ein neues grandioses Album auf den Markt gebracht haben. “The Suburbs” heißt ihr aktuelles Werk und ist nach “Funeral” und “Neon Bible” das insgesamt dritte Album der kanadischen Indie-Rockband und ja, ich habe mich verliebt. In die Leichtigkeit des Albums und in die schönen Sommerklänge und sowieso wird es jetzt immer nach Pommesärmchen, Nackenschmeißen, geschlossenen Augen, Sommer und Regen duften.Amy&Pink
Also hört mal rein und kauft Euch das Album, wenn es Euch gefällt.
Foto: Merge Records

Jede Menge wirklich schöne und kostenlose Wallpaper für das iPhone4 (natürlich auch für alle anderen mit der aktuellen iOS Version) findet Ihr bei http://fiftyfootshadows.net: iPhone4 Retina Wallpaper Pack
via @pixelgraphix

Und wieder zwei Seiten die Euch interessieren werden, wenn ihr HTML5 interessant findet und schon heute nutzen wollt.
Das Foto ist diesmal von N-ino@flickr
Ab Oktober werde ich wohl verstärkt mit C++ arbeiten und da bietet es sich ja schon ab vorher ein paar interessante Links und Codeschnipsel zu sammeln. Den Anfang macht cURL bzw libcurl.
cURL ist ein Programm, um einzelne Dateien aus dem Internet ohne Browser zu transferieren.
Der Name ist eine Abkürzung von Client for URLs. Zu den unterstützten Protokollen gehören u. a. HTTP, HTTPS, FTP, FTPS, DICT, LDAP, RTMP, Gopher. Das Programm steht unter der MIT-Lizenz und ist auf viele verschiedene Betriebssysteme portiert worden.Wikipedia
#include <string>
#include <iostream>
#include "curl/curl.h"
using namespace std;
// Write any errors in here
static char errorBuffer[CURL_ERROR_SIZE];
// Write all expected data in here
static string buffer;
// This is the writer call back function used by curl
static int writer(char *data, size_t size, size_t nmemb,
std::string *buffer)
{
// What we will return
int result = 0;
// Is there anything in the buffer?
if (buffer != NULL)
{
// Append the data to the buffer
buffer->append(data, size * nmemb);
// How much did we write?
result = size * nmemb;
}
return result;
}
// You know what this does..
void usage()
{
cout < < "curltest: \n" << endl;
cout << " Usage: curltest url\n" << endl;
}
/*
* The old favorite
*/
int main(int argc, char* argv[])
{
if (argc > 1)
{
string url(argv[1]);
cout < < "Retrieving " << url << endl;
// Our curl objects
CURL *curl;
CURLcode result;
// Create our curl handle
curl = curl_easy_init();
if (curl)
{
// Now set up all of the curl options
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
curl_easy_setopt(curl, CURLOPT_HEADER, 0);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
// Attempt to retrieve the remote page
result = curl_easy_perform(curl);
// Always cleanup
curl_easy_cleanup(curl);
// Did we succeed?
if (result == CURLE_OK)
{
cout << buffer << "\n";
exit(0);
}
else
{
cout << "Error: [" << result << "] - " << errorBuffer;
exit(-1);
}
}
}
}
Den Code habe ich von luckyspin.org

Facebooks “Like”-Button erfreut sich enormer Beliebtheit was sicherlich auch an dem tatsächlich messbaren Zuwachs an Besuchern liegt, die man durch diesen Button gewinnen kann. Einige meiner Artikel profitieren schon stark davon, dass manche Personen sie mögen. Als Blogger und Webseitenbetreiber lohnt es sich daher vielleicht auch, den nächsten Schritt zu gehen und die eigene Webseite besser mit Hilfe des Open Graph Protocol in facebook zu integrieren.
Wichtigster Schritt hier ist es zunächst die Inhalte der eigenen Seite in Graph Objekte umzuwandeln und diese mit Hilfe von meta-Tags auszuzeichnen. Facebook nutzt hierfür eingene Tags was uns dazu zwingt zwei Namensräume in unser HTML-Dokument zu integrieren. Die weiteren Tags erklären sich dann fast von selbst:
<html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Rock"/>
<meta property="og:type" content="movie"/>
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
...
</head>
...
</html>
Für das Open Graph Protokoll sind fünf Elemente ausgezeichnet worden:
og:title – Der Titel des Objekts
og:type – Der Typ des Objekts, z.B. “movie”. Eine Liste aller verfügbaren Typen findet Ihr übrigens hier.
og:image – Eine Image-URL, der im Zusammenhang mit dem Objekt im Graph dargestellt werden soll. Das Bild muss mindestens 50×50px groß sein und darf maximal ein Verhältnis von 3:1 aufweisen.
og:url – Der URL als permanente ID für das Objekt im Social Graph, z.B. http://www.imdb.com/title/tt0117500/.
og:site_name – Ein durch Menschen lesbarer Name der Seite, z.B. “IMDb”
Um die Integration der Objekte in facebook abzuschließen empfiehlt es sich noch eine Beschreibung der Seite og:description und Adminstratoren für diese Daten auf facebook zu definieren. Dies könnte dann so aussehen:
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:site_name" content="IMDb"/>
<meta property="og:description" content="Beschreibung"/>
Die USER_ID sollte dann natürlich der ID eines Nutzers bei facebook entsprechen. Wenn Ihr eine Fan-Seite bei facebook betreibt könnt ihr natürlich auch diese als Adminstrator einrichten mit fb:app_id und einer mit Komma getrennten Liste von IDs.
Sobald ich etwas mehr Zeit habe werde ich die Integration hier auf ugotit.de ebenfalls vornehmen und dann auch darüber bloggen, wie man facebook und WordPress bequem verbinden kann. Idealerweise natürlich ohne ein weiteres zusätzliches Plugin.