top

Min første Google Wave Robot

Når man først har fått tilgang til Google Wave som utvikler så måtte jeg jo nesten bare lage min egen lille Google Wave Robot ikke minst for å teste ut hva slags muligheter man har.

Når jeg fikk tilgang til Wave så opprettet jeg en Wave for å liste opp hvilke nordmenn som var å finne i Wave sandkassen alias "dev preview". Der plasserte jeg også Twitter-brukernavnet til høyre for navnet deres, men istedenfor å markere hver av dem og deretter trykke ctrl+l for å sette urlen til http://twitter.com/..username.. så tenkte jeg at det var en passende enkel oppgave for min første Wave Robot.

twitusernames.png

Dermed lagde jeg twitusernames@appspot.com, for å ta den i bruk er det bare å legge den adressen til som "participant" på en Wave så erstatter den alle @brukernavn med lenkeversjon.

Foreløpig er man tvunget til å skrive Wave Robot med Google App Engine, så da valgte jeg å skrive den i Python siden jeg antar at den versjonen er mest stabil, det finnes også klientbibliotek for Java om du skulle ønske å skrive Wave Robot med Java.

Det jeg strevde mest med i går var å få events.BLIP_SUBMITTED til å virke, tydeligvis har det vært en bug i Wave for i dag virket den som den skulle. Ikke alltid like greit å utvikle på en plattform som er under utvikling, men regner selvsagt ikke med at alt skal virke 100% på en "dev preview" heller.

Koden til min enkle lille Wave Robot:


#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from waveapi import events
from waveapi import model
from waveapi import robot
from waveapi import document

import re

USERNAMES_RE = re.compile('\B@(\w+)')
TWITTER_URL = "http://twitter.com/"

def OnBlipSubmitted(properties, context):
    """Invoked when blip is submitted."""
    blip = context.GetBlipById(properties['blipId'])
    doc = blip.GetDocument()
    
    for m in USERNAMES_RE.finditer(doc.GetText()):
        doc.SetAnnotation(document.Range(m.start(), m.end()), "link/manual", TWITTER_URL + m.group(1))

if __name__ == '__main__':
    usernamesRobot = robot.Robot('twitusernames', 
    image_url='http://twitusernames.appspot.com/public/twitusernames.png',
    version='1',
    profile_url='http://twitusernames.appspot.com/')
    usernamesRobot.RegisterHandler(events.BLIP_SUBMITTED, OnBlipSubmitted)
    usernamesRobot.Run()

Heldig utvalgt med Google Wave tilgang

I går kveld var jeg en av de heldige utvalgte som fikk tilgang til Google Wave "dev preview". Føler meg dog litt ensom som nordmann der inne, foruten meg selv vet jeg foreløpig kun om @lobolars

googlewave.png

Har i løpet av natten fått testet litt, mest bare hvordan ting virker. Fulgt med på hva andre skriver og hva de har funnet ut går an å gjøre. Har bl.a. fått testet litt embed av Wave på min egen nettside wave.html og laget en helt enkel Wave Gadget av Hello World typen.

Kommer sterkt tilbake med mer skriverier når jeg har fått testet Google Wave litt mer.

Musikkorpsenes Venner

Støtt arbeidet med korps i Norge!

Blide aspiranter med blankpussete instrumenter og båtluer. Vaiende flagg, nasjonaldag, vafler – og musikkorps.

Det banker et varmt hjerte for musikkorps hos mange av oss.

Nå har Norges Musikkorps Forbund (NMF) lansert en støtteorganisasjon der alle som er glade i korps, kan bli medlemmer. Organisasjonen heter Musikkorpsenes Venner.

Som medlem vil du få mange av de samme fordelene som medlemmer i korps har: * motta medlemsmagasinet ambis fire ganger i året * få 20 prosent rabatt på overnatting på alle Choice-hotell i Norden * ring billigere med Chess * få 35 prosent rabatt på alle konserter med Forsvarets Musikk, inkludert Garden * oppnå en god forsikring gjennom if

Du finner mer informasjon om Musikkorpsenes Venner på http://www.musikkorps.no/mv

Eniro publiserer bursdager på nett

enirobursdag.png

Eniro har som første opplysningtjeneste her i landet som jeg kjenner til begynt å publisere bursdager på Telefonkatalogen.no og 1880. Det de publiserer er dag og måned delen av en fødselsdatoen, mao ikke årstall. Dette har de gjort for å lettere skille folk i tilfeller som f.eks. når mange har likt navn.

Men istedenfor at dette ble valgfritt om man ville ha publisert har de valgt å legge ut samtlige bursdager til alt fra barn til voksne for så å gi muligheten for hver enkelt å fjerne det i ettertid! Og når det nå viser seg at det i tillegg kan ta så lang tid som 7 dager for å fjernet opplysninger du ikke har bedt om i utgangspunktet fordi det er kø på systemet kan man ikke annet enn å si, hjelpe meg.

Jeg klarer ikke helt å forstå hvordan Datatilsynet kan godkjenne dette når det gjør det så enkelt å krysskoble med årstall fra skattelistene når skattelistene selv ikke får lov å publisere mer enn årstall. Jeg publiserer selv min egen fødselsdato der jeg selv vil, men det er mitt valg. At man kan risikere å bli offer for automatiserte prosesser som krysskobler og dermed får enda mer opplysninger om personer som videre igjen kan brukes til kriminell virksomhet er ikke noe man burde legge opp til.

Google Wave for journalister

De aller fleste oppegående mennesker har nå fått med seg Google Wave, og alle som er litt interessert i internett burde ha sett videoen ovenfor allerede selv om den er 1 time og 20 min lang. Nå skal jeg ikke ta for meg hvordan Google Wave virker og hva det er for noe, men jeg tenkte å gjøre et lite tanke eksperiment. Hva om én brukte Google Wave på egen server som et CMS for en nettavis?

Man får da umiddelbart følgende:

  • Jobbe sammen om saker på samme måte som artikkelen Vi gir alt, alt for Norge ble til via tjenesten EtherPad
  • Mulighet for å korrekturlese hverandres artikler og da enkelt fikse feil
  • En fotojournalist på farten kan dra inn et bilde i en wave direkte fra kameraet sitt med drag & drop
  • Man kan gjøre intervju med andre på eksterne Wave-systemer
  • Embed av en wave som kommentering til artikkelen
  • Morgenmøter kan bli gjort i Wave og nye waves opprettet for de spesifikke sakene som til slutt blir til én eller flere artikler

Hva mangler så? Ja sett bortsett fra annonse-systemer og slikt så trenger man jo å presentere den ferdige artikkelen på sin nettavis. Man kan tenke seg at man lager en Wave Robot som muliggjør å si at en wave er klar for publisering med eventuelle tilleggsdata som trengs for å presentere den på nettavisen.

Med litt koding kunne en også tenkt seg følgende:

  • En markedsplass for waves slik at en frilans-journalist kunne lagt ut en wave for salg og dermed kjapp publisering for de som tok den i bruk