03 maj 2007

Scotch off the rockers

Talisker En cocktail blandad på Islaywhisky? Rysningar är min första reaktion på tanken, och inte av välbehag. Snarare en känsla som när någon drar med naglarna på en svart tavla.

Den oerhört kraftfulla smaken av whiskyn som är typisk för den lilla skotska ön Islay, med destillerier som Lagavulin, Laphroaig, Ardbeg med flera, beskrivs av de flesta som rökig eller tjärig. En nära släkting till mig som inte har särskilt mycket till övers för den säger att den smakar stall, och jag vågar inte säga att det inte stämmer. Alltså raka motsatsen till den lyxigt milda Maker's Mark, som ger en så njutbar Manhattan. Jag håller visserligen själv denna whiskyfamilj mycket högt (periodvis har jag kallat den min absoluta favoritdryck) men att blanda cocktail av den måste väl ändå vara en för galen idé?

Fast vid närmare reflektion inser jag att jag är för snabb att tänka att en cocktail med whisky måste likna Manhattan. Det går förstås att närma sig idén från helt andra håll.

Smokehead

Det som fick mig att tänka tanken över huvud taget var den nya Islaywhiskyn Smokehead, som sedan mars 2007 finns i Systembolagets ordinarie sortiment [uppdatering: det gör den inte längre]. Jag har ännu inte smakat den, men det lär vara en klassiskt kraftig Islay. Liksom när The Ileach kom ut är det ett mysterium exakt varifrån den nya whiskyn kommer. Görs den av överproduktion från Ardbeg? Lagavulin? Whiskykännarna smakar, gissar och uttalar sig tvärsäkert.

Marknadsföringsmässigt är Smokehead däremot långtifrån klassisk. Det förråder redan namnet, och flaskan, som nyligen vunnit designpris, ser ut att passa betydligt bättre i en cocktailbar än bland skinnmöblerna i det skotska godsets bibliotek.

Och, mycket riktigt, på Smokeheads superdesignade webbplats hittar man ett större antal fördomsfria cocktailrecept. Några av dem låter värda att prova. Jag har inte ingredienserna till någon av dem för tillfället (exempelvis har jag till att börja med ännu inte skaffat någon Smokehead) men de inspirerade mig till en egen blandning med smakrik whisky.

En cocktail med Talisker

Talisker är förvisso ingen Islay, den kommer från den västliga ön Skye. Men smakmässigt ligger den nära Islaysorterna och kopplas ofta ihop med dem. Den har dock en speciell sälta som sorterna från Islay saknar.

Med min lyckade Arak Fakra-blandning i färskt minne satte jag samman följande cocktail som jag refererar till som Scotch off the rockers. Talisker passar perfekt, men Ardbeg borde till exempel också fungera utmärkt – och förmodligen även Smokehead.

3 cl Tanqueray London Dry Gin
2 cl Talisker 10 Years
2 cl Martini Rosso, eller annan röd vermouth
2 cl nypressad clementin
½ cl libanesisk arak (anissprit)
½ cl Cointreau

Skakas med is och silas till ett cocktailglas.

Den mustigt gummiartade anistonen i araken gör sig perfekt tillsammans med den kraftiga whiskyn, men ingen av dem tillåts dominera drinken i och med att den friskt kryddiga Tanqueray-ginen finns där som motvikt.

Uppdatering: Jag har provat Smokehead.

intressant? om cocktail, whisky, arak


Bloggping i Javakod

Ping server När jag hade lagt ut mina första blogginlägg undrade jag hur i all världen någon skulle kunna hitta min blogg. Jag frågade min bekant Håkan Kjellerstrand, som tog på sig rollen som min bloggningsmentor och gav mig ett antal länkar, bland annat till några servrar som han själv brukade »pinga« för att sprida kunskapen om sin blogg. Jag hade inget problem att förstå vad detta innebar i teorin, men hur jag rent praktiskt skulle göra för att pinga var inte uppenbart. Efter en stunds jagande efter pingverktyg konstaterade jag att det enklaste för mig nog var att själv skriva ett litet Javaprogram för att ta hand om det.

Blog Ping

Att pinga innebär i bloggsammanhang att man skickar ett litet meddelande som upplyser en pingserver om att man skrivit något på sin blogg, samt om bloggens adress. Servern kan då så snart den får tid hämta ner inlägg från bloggen och lagra data om den, indexera innehållet etc., för att göra informationen tillgänglig för dem som utnyttjar servern till att bevaka bloggosfären.

Googles Blogger som jag numera använder låter en välja att pinga Weblogs.com automatiskt, och informationen går därifrån vidare till en del andra tjänster. Men vill man pinga fler servrar, Nyligen.se till exempel, får man ingen hjälp av Blogger.

Tekniskt

Ping görs med ett XML-RPC-anrop, vilket som namnet antyder är ett remote procedure call-protokoll uppbyggt som XML, ovanpå HTTP. Metoden man anropar är antingen weblogUpdates.ping eller den utvidgade versionen weblogUpdates.extendedPing.

Parametrarna till den ursprungliga pingmetoden är bloggens namn, dess adress och eventuellt ett kategorinamn. Den utvidgade versionen tillåter tre adresser: en basadress, en direktadress till en sida som ska kollas för uppdateringar (i många fall densamma som basadressen), och en för flödet i RSS- eller Atom-format. Den bästa beskrivningen av parametrarna jag har hittat är den hos Weblogs.com. Exakt vilka parametrar som krävs och hur de tolkas verkar dock tyvärr variera lite mellan implementationerna på olika servrar.

Det vore inte särskilt svårt att skriva ett program i Java som satte ihop XML för anropet och matade ut den på en socket. Men ännu lättare är förstås att använda ett bibliotek med färdiga klasser för XML-RPC-anrop, exempelvis Apache XML-RPC.

Om man laddat ner Apache XML-RPC 3.0, exempelvis från Sunet, packat upp, och lagt JAR-filerna som finns i lib-katalogen på sin classpath kan man kompilera och köra följande program. Den första parametern till programmet är pingserverns adress, och de följande 2–5 är parametrarna till pingmetoden. Har man minst fyra pingparametrar antar programmet att man ska köra den utvidgade pingmetoden, annars den enkla.

import java.net.*;
import java.util.*;
import org.apache.xmlrpc.client.*;
import org.apache.xmlrpc.XmlRpcException;

public class PingBlog {
    public static void main(String[] args)
        throws MalformedURLException, XmlRpcException
    {
        XmlRpcClientConfigImpl conf = new XmlRpcClientConfigImpl();
        conf.setServerURL(new URL(args[0]));
        XmlRpcClient client = new XmlRpcClient();
        client.setConfig(conf);
        Object[] param = new Object[args.length - 1];
        for (int i = 1; i < args.length; ++i)
            param[i - 1] = args[i];
        Map result = (Map) client.execute(
            (param.length < 4 ?
             "weblogUpdates.ping" :
             "weblogUpdates.extendedPing"),
            param);
        Iterator it = result.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry e = (Map.Entry) it.next();
            System.out.println(e.getKey() + ": " + e.getValue());
        }
    }
}

Exempelvis kan det se ut så här om man har en blogg av den nyare typen hos Blogger och vill pinga Nyligen.se med den enkla pingen:
java PingBlog http://nyligen.se/ping/                                \
              'Tjoff?'                                               \
              http://gashplutzga.blogspot.com/

Eller med den utvidgade pingvarianten:
java PingBlog http://nyligen.se/ping/                                \
              'Tjoff?'                                               \
              http://gashplutzga.blogspot.com/                       \
              http://gashplutzga.blogspot.com/                       \
              http://gashplutzga.blogspot.com/feeds/posts/default    \
              ''

Den tomma strängen på slutet finns där på grund av att vissa pingservrar kräver att man har med en kategoriparameter till extendedPing, även om de tillåter att den är tom.

Om allt går bra med pingen skriver programmet ut flerror: false och eventuellt ett trevligt meddelande från pingservern. Blir det något fel på servern får man flerror: true och ett felmeddelande.

Uppdatering 2015: Det här med bloggpingande är nu en historisk kuriositet, men jag låter både detta inlägg och länkarna till Nyligen.se och Bloggar.se längst ner i gamla inlägg ligga kvar, för det historiska intressets skull, och länkarna verkar häpnadsväckande nog fortfarande fungera.

intressant? om pinga, Java bloggande