Mozaik.

25 Jul, 2010

Nujno in malo manj nujno

Posted by: Urban In: razno

Moja objava za Obelisk Blog o nujnosti komunikacije:

There’s urgent communication, and there’s one not quite urgent. As any time management book will tell you, every activity in your life can be classified according to both urgency and importance. There’s urgent and not urgent, important and not important (important to you, of course). You might have seen a diagram like this before.
Continue reading…

19 Jul, 2010

Komunikacijsko preobilje

Posted by: Urban In: razno

Moja objava za Obelisk Blog o komunikacijskem preobilju:

Do you Yahoo? Skype me! Search, don’t sort. There’s an app for that. These slogans have become so pervasive you might not even notice them anymore. Every one of them is connected with a service or a product you might use for day-to-day communications. And every day there seems to be more of them.
Continue reading…

13 Jul, 2010

Logiranje tipk

Posted by: Urban In: razno

Po Wolframovi ideji, o kateri pišem v prejšnjem postu, sem tudi sam izdelal aplikacijo, ki beleži aktivnost na tipkovnici in klikanje miške. Zadeva je trivialna (lotil sem se v dobrem starem VB61 :) )

'mouse & keyboard deklaracija za v BAS file ========
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

Public Function GetKey() As Integer
    For i = 0 To 255
        If (GetAsyncKeyState(i) And &H8001) <> 0 Then
            GetKey = i
            Exit Function
        End If
    Next i
End Function
'LOG keys and clicks ================
Private Sub keytimer_Timer()
    'get keys
    newkey = GetKey
    'Replace letters with X to prevent keylogging
    If newkey > 48 And newkey < 100 Then
        dbkeycode = 88
    Else
        dbkeycode = newkey
    End If

    If oldkey <> newkey And newkey <> 0 Then
        'open db, insert
        Set Db = OpenDatabase(App.Path & "\data.mdb")
        Set Rs = Db.OpenRecordset("SELECT * FROM key_log", dbOpenDynaset)
        Rs.AddNew
        Rs!Time = Date & " " & Time
        Rs!keycode = dbkeycode
        Rs.Update
        Db.Close
    End If
    oldkey = newkey
End Sub

Prva finta opisane kode je, da beleži tako evente tipkovnice kot miške. Če funkcija GetKey vrne 1, 2, 3 ali 4, gre za gumb na miški, ostalo je tipkovnica. To zadevo sem nekaj časa uporabljal in beležil vse GetKey evente v MDB bazo, nakar sem postal rahlo paranoičen. MDB je vseboval vse passworde in vedno obstaja verjetnost, da taka zadeva pride v napačne roke. Zato v zgornji kodi brž replacal vse alfanumerične znake z ‘x’. Razlog, da nisem vseh, je naslednji: želel sem pustiti notri kode tipk, ki bi se izkazale za uporabne. Takšne so naprimer delete in backspace; ti dve omogočata, da beležiš kolikokrat se je uporabnik zmotil pri tipkanju; sigurno pa so še druge podobne skrite informacije.

Že ti podatki lahko dajo dokaj dobro analizo produktivnosti glede na čas dneva, če pa bi jih uparili še z imenom aplikacije, Shazam detekcijo muzike, ki se vrti v ozadju, s podatki o količini dnevnega gibanja (recimo s FitBita), kvaliteti spanca (FitBit/SleepTracker), s TV sporedom, porabo električne energije v bajti, zunanjo in notranjo temperaturo, telesno temperaturo, srčnim utripom in/ali ročno vnesenimi podatki (splošno počutje, lakota, žeja), bi dobili pravi recept za optimalne pogoje produktivnosti ali kreativnosti.

Problem take rešitve je, da predstavlja precej velik vdor v zasebnost uporabnika. Edina sprejemljiva varianta je, da reč zapakiraš v desktop aplikacijo, s tem pa izgubiš vse prednosti oblaka: spremljanje več naprav, centraliziran pregled statistike, ipd.

Glede na to, da tudi sam takih podatkov ne bi zaupal nikomur (in da sem takoj odinštaliral Rescue Time, ki podobne podatke zbira na webu), vidim kot edino možnost privaten oblak. Mnogi (tudi Eric Schmidt) menijo, da bo regulativa na tem področju šla po sledeh bank, in da se bo nivo zaupanja do ustreznih ponudnikov dvignil do te mere, da bomo podatke “nakazovali” brez strahu, da jih bo kdo ukradel. In ko bo mogoče najeti simpl sef za podatke, bo tudi take občutljive zadeve možno preko VPN shranjevati od kjerkoli.

  1. ta je še ena antična, z začetki v 2006 kot aplikacija, ki je bila po želeni funkcionalnosti na las podobna današnjemu ManicTime-u []

11 Jul, 2010

Poskus osebne metrike

Posted by: Urban In: razno

Kako dobro se poznamo? Kdor bere članke ali bloge na temo produktivnosti/osebnostne rasti ali samospoznavanja1 že ve, da je odgovor na to vprašanje pri večini ljudi: izjemno slabó.

Znano je recimo dejstvo, da po določenem času od dogodka pride do izraza selektivnost spomina; tako se spomnimo samo še “pomembnih” stvari, vse ostale “detajle” pa sproti dopolnimo tako, da si jih enostavno izmislimo2.

Torej, če si zadeve ne zapišeš, kmalu izgubiš občutek za to, kaj si v življenju naredil in kam gre večino tvojega časa. Prav tako nikoli ne moreš trditi, da nekaj počneš redno in nimaš praktično nobenega pregleda nad tem, kje na stopnji od amaterja do eksperta si (kot piše Malcolm Gladwell v svoji knjigi Outliers3, potrebuješ za vrhunsko obvladovanje področja v svetovnem merilu okrog 10.000 ur prakse. Kako veš koliko jih že imaš, če jih ne šteješ?)

Če torej hočeš samega sebe dobro poznati in spremljati uspešnost svojih dejanj ali izboljšanje/poslabšanje svojih navad, nujno potrebuješ osebno metriko. To je: na objektiven način moraš beležiti stvari, ki te na dolgi rok zanimajo (koliko tehtaš, kolikokrat na teden se ukvarjaš z neko aktivnostjo, ipd.).

Čeprav nam je vsem jasno, da za tako beleženje rabiš izjemno disciplino, in da imajo neskončno večjo prednost naprave, ki podatke beležijo same (npr. FitBit), sem vseeno sestavil preprost sistem za ročno beleženje.

Ko sem razmišljal, kako bi takšno storitev najlažje realiziral, sem imel pred očmi naslednje zahteve:

  • zadeva mora biti online, da lahko dogodke dodajaš hitro in od kjerkoli
  • končne rezultate in trende bi rad videl v obliki grafa
  • zadeva mora biti visoko zanesljiva, uporabljal pa bi jo rad že čez 10 minut :)

Zaradi zadnjega pogoja sem hitro opustil idejo o izdelavi preproste web aplikacije — sploh zato, ker nisem vedel, če bo zadeva res uporabna tudi v resničnem življenju.

Namesto tega sem uporabil naslednji hack4 na osnovi Google Docs in storitve web ankete (Form), ki avtomatsko polni preglednico vsakič ko uporabnik glasuje. Takole sem postopal:

  1. Vsakič, ko bi rad dodal dogodek, izpolnim Google Form anketo (preko mobilca ali računalnika); v anketi imam definirano multiple choice vprašanje “Trenutna aktivnost”, ki ima možne različne vnaprej definirane odgovore.
  2. Vsakič ko izpolnim anketo, se v preglednico doda nova vrstica, v kateri je trenutni datum ter ime aktivnosti.
  3. V preglednici sem ustvaril nov list, ki zbira statistiko po kategorijah in po dnevih5
  4. vse skupaj sem vrgel v lep interaktiven graf (Google Finance style), kjer lahko pregledujem podatke po različnih obdobjih in ugotavljam trende ;)

Kot sem omenil, rabiš za tako beleženje izjemno disciplino. To je tudi eden od razlogov, zakaj sem ta sistem začel uporabljati avgusta 2008 (torej skoraj natanko pred 2 leti) in ga nehal uporabljati tri mesece kasneje :) . Je pač tako, da te želja po spremljanju dokaj nespremenljivih trendov hitro mine, če moraš vlagati nek napor.

Zadevo pa sem izkopal iz naftalina, ker še vedno močno verjamem vanjo6. Le sistem za beleženje mora biti popolnoma avtomatski, tipa nastavi in pozabi (set and forget). Veliko število produktiv za osebno metriko na trgu (FitBit, iPod z Nike+, športni merilniki Polar, Suunto in Garmin, številne aplikacije za iPhone in Android) in zgodbe o tem, kako si Stephen Wolfram že 22 let logira vsako tipko, ki jo pritisne, da lahko iz tega računa svojo učinkovitost7, kažejo, da to predstavlja aktualen problem in s tem tudi potencialen trg v svetu, vedno bolj obsedenem s samoizpopolnjevanjem8.

  1. npr. http://youarenotsosmart.com/ []
  2. glej npr. tale post http://youarenotsosmart.com/2010/06/03/misinformation-effect/ []
  3. Malcolm Gladwell: Outliers oz. po slovensko, Prebojniki []
  4. kot pravita Wikipedija in Paul Graham, a “hack” refers to a clever, quick fix to a computer program problem []
  5. To izgleda nekako takole:

    datum ---- | akt1 --- | akt2 ---
    08/17/2008 | FORMULA* | FORMULA*
    08/18/2008 | FORMULA* | FORMULA*
    08/19/2008 | FORMULA* | FORMULA*

    *FORMULA je nekaj takšnega
    =COUNTIF(filter(Sheet1!$B$2:$B30,Sheet1!$A$2:$A30>$A3, Sheet1!$A$2:$A30<$A4),B$2)

    sestavljena je iz operacij
    COUNTIF(array, string), ki prešteje število pojavitev besedila string v določenem izboru celic
    FILTER(array, condition1, condition2), ki sfiltrira en izbor v drugega na podlagi pogojev condition1 in condition2.

    V mojem primeru preverim vse celice v prvem stolpcu (to je datum, ki ga anketa vsakič prilepi zraven) in izberem le tiste, ki imajo trenutni datum, to je datum ki je večji od danes (A3) in manjši od jutri (A4). S COUNTIF preštejem, kolikokrat se v tem prečiščenem bloku pojavi neka aktivnost, ki je kot besedilo shranjena v celici B$2. []

  6. plus, da sem imel že več kot eno leto napisan tale draft :) []
  7. http://www.kk.org/quantifiedself/2009/12/stephen-wolfram-keystroke-logg.php []
  8. ta hip je 41 MIO zadetkov Googlu samo za “boost * productivity” []

09 Jul, 2010

Pasovna širina interakcije

Posted by: Urban In: razno

Moja objava za Obelisk Blog o pasovni širini interakcije:

There’s a serious problem we all face, but barely have a name for it. It becomes painfully obvious when we chat using IM. You’ve been there: typing as fast as you can, even tolerating all the typos you make, to get the point across. Nevertheless, your thoughts are always one step ahead of your fingers.
Continue reading…


  • dare: zvito, ni kaj :)
  • Mozaik. » Blog Archive » iPhone GPS logger: [...] prejšnjem postu sem se razburjal nad odsotnostjo GPS-ov v fotoaparatih. Pa sem razmišljal naprej: imam telefon, ki [...]
  • dare: evo, zdele sem se cist slucajno spomnil, da sem ti pustil komentar in da si mogoce kaj odgovoril :) dost neucinkovita komunikacija, ce mene prasast

About


Researcher at FE, LTFE, programmer, photographer,
technology enthusiast, etc.

See what I share on Google Reader, and elsewhere.

Zadnje s fotobloga

La Grande Arche de la Défense Danger Seagull Mana Man Sink Bates Motel