Updates from July, 2010 Toggle Comment Threads

  • Urban 00:40 on 28 Jul. 2010 Permalink  

    Moon 

    Is that an image of both Earth and Moon to scale?
    Why yes, yes it is!

    And it seems it’s a bit further than I thought…

    Data and images of Earth and Moon are from Wikipedia.

     
  • Urban 22:40 on 25 Jul. 2010 Permalink  

    Nujno in malo manj nujno 

    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.

    The matrix of importance/urgency. Source: Wikipedia

    The main idea is to focus on what’s important to you, and possibly make it not urgent, thus reducing stress in your life.

    However, by frantically increasing the number of communication channels, we pave the road for ever greater interruptions and distractions, which ultimately reduces the amount of time we can devote to truly important things.

    There’s been some research conducted by NASA on managing interruptions and distractions. Imagine the following scenario: an astronaut is being sent to space to perform a repair. He had to undertake a long training, which possibly required hundreds of thousands of dollars. He was sent to space in a spaceship that costs millions just to move out of the hangar (for instance, the Space Shuttle allegedly burned $450M per flight). A careful ballet of technological and human procedures had to be synchronized without a single glitch.

    Finally, the astronaut arrives at the space station, commences with the EVA, grabs the wrench and looks at the problem at hand. This is a culmination of years of effort and requires extreme concentration.

    And then he sees this, in his super hi-tech head-up display.

    Whose fault is this? The person on the other end of the line has no clue what’s at stake. The astronaut is preoccupied with more important things than worrying about setting redirections, auto-replies and changing Skype status.

    This is a hard problem, but solving it is imperative; because everyone of us is that astronaut.  Many things we do represent a culmination of our longtime efforts and sometimes we just don’t want to be disturbed.

    We believe that establishing a correct context based on environmental clues is just the right tool for the job. To determine the context of our everyday activities, a lot of information has to be gathered and evaluated. To mention just some of them, we can take a look at the person’s calendar to determine what activities they had scheduled. We can obtain their position and speed using GPS, and determine if they are on the road. And last but not least, we can bring together the everyday things,interconnected into the internet of things, to reveal some insight into what a person is doing and how intrusive a communication attempt should be.

     
  • Urban 01:17 on 19 Jul. 2010 Permalink  

    Komunikacijsko preobilje 

    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.

    It wasn’t always like this. A mere hundred years ago people used to communicate face to face — in person. The telephone had already been invented, but far from commonplace. That’s practically unimaginable today, and a hundred years is not that much in the grand scheme of things.

    Yet there’s no stopping progress. Ray Kurzweil and others have analyzed the ever increasing pace of technological change and termed it The law of accelerating returns1. We stand on the shoulders of giants and have access to everything they have learned, invented and created; our successors will stand on our shoulders, and so on. In a sense, it’s giants all the way down.

    Accelerating change (source: Wikipedia)

    As the inevitable has happened and the cost of developing a communication system — a thing that once required decades and billions of dollars — has plummeted down to nearly zero, we are suddenly overwhelmed. We are experimenting and trying to find out what works. Facebook, Twitter and Skype are just the tip of the iceberg. Look at what’s below the surface: List of social networking websites and a List of instant messaging protocols/networks on Wikipedia.

    The actual problem lies in the Metcalfe’s law: the value of any network is proportional to the square of its users. So the larger the network, the more value it will provide to you. If all your friends use Skype, you literally must use Skype too, or you will be missing out on all the cool discussions that happen there. If you’re stranded alone on a dying communication channel, you’d better switch to something more modern, or you won’t have anyone to talk to. The conclusion of all this is: your friends choose your communication channels, not you. And the collective brain rarely chooses exactly what you want.

    Regardless of the availability of thousands of communication channels, even a single channel like e-mail can become a problem: getting thousands of messages a day requires immense discipline and some mad filtering skills to separate the wheat from the chaff. Many people have devised clever schemes for dealing with it, such as practicing information diet by checking email twice a day only2.

    Now multiply the plain-and-simple e-mail overload by fifty and get what awaits every single one of us in a matter of years. We can hardly imagine life without a mobile phone and texting, without e-mail, instant messaging and Facebook, and in the years to come, we won’t be able to imagine our lives without some uber-smart communication helper, which will unify all the channels and apply to them some smart filtering and prioritizing.

    And if here at Obelisk we can help make just one small step in that direction, we will consider our mission a success.

    1. http://en.wikipedia.org/wiki/Accelerating_change []
    2. as popularized by Tim Ferriss in the 4-hour Workweek []
     
  • Urban 01:09 on 13 Jul. 2010 Permalink  

    Logiranje tipk 

    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 []
     
    • dare 09:55 on 13 Jul. 2010 Permalink

      tipu se je res odprl…

    • Urban 10:47 on 13 Jul. 2010 Permalink

      🙂 mwahaha.. ma mi je prov škoda vse te kode in idej, ker že men mal peša spomin 🙂

  • Urban 23:11 on 11 Jul. 2010 Permalink  

    Poskus osebne metrike 

    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” []
     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel