Podzielon umysł

zdania są podzielone

12 czerwca 2007,

Wszystko, co powiesz, może zostać wykorzystane przeciwko Tobie

Jestem information junkie. W szczególności chodzi o informacje dotyczące samego siebie — ponieważ pamięć mam kiepską (a raczej dobrą, tylko krótką), lubię ją rozszerzać na swój twardy dysk — i tak mam zarchiwizowaną historię maili, rozmów na GG, IRC-u, SMS-ów i wszelkiej innej komunikacji sięgającą dziesięć lat wstecz. Lubię móc zawsze sprawdzić dokładnie, kiedy coś się wydarzyło — bo nawet jeśli nie było o tym bezpośrednio mowy, to ludzka pamięć jest kojarzeniowo na tyle dobra, że często potrafi dopowiedzieć, o czym się w okolicach danego wydarzenia z kim rozmawiało.

Przeglądanie takiej historii wywołuje lawinę wspomnień — czasami chcianych, czasami nie, ale przecież naszych — tych kawałków, z których jest zbudowane nasze ja — i dobrze jest nie zapominać, albo przynajmniej w każdej chwili być władnym się dowiedzieć, co to za kawałki, bo przecież to jest chyba najistotniejszy element wiedzy o nas samych — znajomość własnej przeszłości. Bez tego nawet, jeśli wiemy, kim jesteśmy — to nie wiemy już, dlaczego.

Jak niektórzy z Was pewnie wiedzą, zacząłem ostatnio przelotny romans z blipem. Ci, którzy go nie skosztowali, mogą nie wiedzieć, że można tam przesyłać nie tylko statusy — publiczne wiadomości, ale także tzw. wiadomości kierowane: o których jest informowany tylko adresat (choć każdy może je przeczytać na kokpicie nadawcy i odbiorcy). Problem jest taki, że — podczas gdy statusy są rejestrowane w bliplogu — to wiadomości kierowane giną bezpowrotnie w czeluściach blipowej bazy danych, kiedy tylko znikną z kokpitu. A gdzie moja historia? Jak będę mógł w przyszłości wypomnieć reuptake-owi gg-ową propagandę, jeśli nie będę miał z tego żadnych zapisów? (Oczywiście ta propaganda z przymrużeniem oka (a przynajmniej tak sobie wciąż powtarzam ;) ), proszę jeszcze wideł nie wyciągać i nie palić pochodni, gwiazdy jeszcze nie są całkiem nie w porządku.)

No, ale od czego jest API. Króciutki skrypcik — i już nam się wszystko zapisuje:

conffile = open(CONFFILENAME, 'r')
login, password = conffile.read().rstrip().split(':')
conffile.close()
blip = blip.Connection(login, password)
last_update = 0
while 1:
  updates = blip.updates.poll()
  newupdates = []
  for update in updates:
    if last_update >= update.id:
      break
    newupdates.append(update)
  last_update = updates[0].id
  newupdates.reverse()
  for update in newupdates:
    message = "[" + str(update.id) + "]@(" 
    message += update.created_at.strftime("%F %T") + ") " 
    message += update.src_user.login
    if update.type == "dirmsg":
      message += " > " + update.dst_user.login
    message += ": " + update.body + "\n"
    print message.encode("UTF-8"),
  if len(newupdates) > 0:
    sys.stdout.flush()
  time.sleep(INTERVAL)

Próbka outputu:

[23585]@(2007-06-12 09:44:07) dividedmind: wkurwiam się na skype i openwengo -- jest coś dobrego do voip i video-over-ip, co działa i jest ideologicznie słuszne?
[23596]@(2007-06-12 09:50:22) reuptake > dividedmind: nagłos :))))
[23599]@(2007-06-12 09:51:30) dividedmind > reuptake: widzę że już Was zaczęli indoktrynować ;-)
[23600]@(2007-06-12 09:51:58) reuptake > dividedmind: zabrali przy wejściu komórkę, kazali używać nagłosu.
[23602]@(2007-06-12 09:52:48) dividedmind > reuptake: a gdzie to się w kadu włącza? ;)
[23603]@(2007-06-12 09:53:26) reuptake > dividedmind: "kadu detected. missiles launched."
[23605]@(2007-06-12 09:54:32) dividedmind > reuptake: aww, how sweet of you... aż na opis wziąłem, pozwolisz :D
[23607]@(2007-06-12 09:59:06) dividedmind > reuptake: a w oryginalnym kliencie gg i tak za bardzo reklamy pod wine nie chcą się pokazywać
[23610]@(2007-06-12 09:59:48) reuptake > dividedmind: to bądź uczciwy i nie uzywaj jak nie widzisz reklamy albo jej nie rozumiesz :)
[23611]@(2007-06-12 10:00:30) dividedmind > reuptake: może oni powinni taką stronę zrobić specjalną dla uczciwych użytkowników innych klientów? z samymi bannerami ;D
[23613]@(2007-06-12 10:01:22) reuptake > dividedmind: spokojnie. blip to tylko przymiarka. kasa jest, w kolejce czeka wykop, jogger, potem się kupi jabbę i nie będzie niczego ;)
[23616]@(2007-06-12 10:02:18) dividedmind > reuptake: A-HA! a tutaj się wszystko nagrywa, zobaczysz, co będzie, jak ta taśma do mediów trafi ;)
[23618]@(2007-06-12 10:03:02) reuptake > dividedmind: pikiety, demonstracjie, rzucanie instalkami slackware'a
[23619]@(2007-06-12 10:03:31) dividedmind > reuptake: zamawianie hurtowych ilości płytek ubuntu celem zapchania skrzynek

Kod na GPL 2.0 lub wyższym, copyright (c) 2007 mój.

Edit: mały bug w kodzie, layout

Dodano w kategorii Techblog o 11:32:14. Trackback.

Komentarze »

Dodaj komentarz

Musisz się zalogować, żeby dodać komentarz.

Design by ChaitGear, ported by Soil. RSS. Powered by JoggerPL.