Vähän viihteellisempi keskustelusäikeen avaus, mutta mitä tänään seurasin aamupäivällä ja keskipäivällä ja alkuiltapäivästä Olympialaisia, niin tuli mieleen, kun Curling-in kansainvälisessä kuvastreamissa oli teleisiokuvaajan kuvassa toinen Curling-lähetyksessä lähetettävää kuvaa kuvaava kameramies, kun perinteinen heitto on, että "Kuvaajastahan ei ole kuvaa". Sama, mitä Facebookissa on määriteltynä tai rajoitettuna käyttäjien toimintoina, että tykkäyksistä ei voi tykätä.
Jos ajattelee jotain kuvaus-algoritmiä näin
MODULE Kuva kuvaa (Kuvaaja x):
Kuva = RETURN kuvaa(kuvaaja)
Tuonhan suoritus ei koskaan päättyisi, tuolta metodista ei koskaan päästäisi ulos suorittamaan metodin kutsusta seuraavaa ohjelmakoodiriviä. Sama, mitä tuo Facebookin tykkäyksistä tykkäminen on rajattu kokonaan käyttäjälle tarjottavista toiminnoista pois, koska sillehän on täysin mahdotonta mitään lopetusehtoa määritellä, jos ajattelee abstaktilla tasolla? Yleensä noissa rekursiivisissakin funktioissa, tai metodeissa niiden onnistuneen toteuttamisen edellytyksenähän on, että lopetusehto on ennalta tiedossa, ja se lopetusehdon tarkastaminen on tuon metodin otsikkorivin jälkeen heti alussa ennen varsinaista toimintoa, jonka metodin on määritelty toteuttavan.
Kuva Kuvaajasta on mahdollinen, mutta sitten on mahdotonta kuvaa saada kuvaajaa kuvaavasta kuvaajasta olettaen, että jos ei ole määritelty lopetusehtoa, joka voisi olal vaikka jokin lukumäärä niitä kuvia, jotka ovat riittävästi. Jatkuisi iät ja ajat, ja jos Facebookissa ei olisi tuota rajoitusta, ennen pitkää koko järjestelmä kaatuisi resurssipulaan.
Tuossa kuvaaja -esimerkissä, jos kuvaajaa kuvaava kuvaaja ottaa lopulta itsestään nyt some-aikana suositaan paljonkin "Selfien" -ottoa, niin periaatteessa sehän on ehkä ainut poikkeus, mikä katkaisee tuon ketjun, mutta sittenkin kuva siitä selfien ottajasta, niin taas se jatkuisi eikä loppua tulisi.
Tuosta voisi saada hyvänkin valokuvan otettua, jossa on ideaa, jos ottaisi valokuvan jostain aukealta paikalta, jossa on kuvassa paljon edellisen kameramiehen kuvausta kuvaavia kuvaajia kuvassa, ja sitten se lopullinen kuva, joka siitä tulee julkisuuteen, on mahdollisesti selfien-tyylinen tai jollain automatiikalla laukaistu ja valotettu, no, digikamera-aikana nykyisin ei sinänsä valoteta, mitä perinteisesti filmikameralla, mutta kuitenkin se kuva, joka kuvaisi noita kuvaajia kuvaajia.
En epäile, että jossain satiirisarjassa tai viihteellisessä parodiassa tätä ideaa oltaisiin käytetty, Simpsonit voisi olla yksi sarja, jossa voisin kuvitella tätä ideaa joskus käytetty, mutta ei äkkiseltään tule mieleen jaksoa, jossa olisin nähnyt tämän käytännössä, vaikka noita Simpsoneita useaan kertaan niitä edellisiä kausia on nähnytkin niitä jaksoja sen alkamisesta Suomen televisiossa lähtien.
Eli kuvaajaa kuvaavasta kuvaajasta ei ole mahdollista ottaa kuvan siten, että lopetusehtoa ei määriteltäisi, edellyttäen, että se pitää tunnistaa ensin.
Onko joku muu pohtinut tätä, varmaan täälläkin palstalla jonkin verran valokuvakameroiden kanssa omaan arkistoon kuvaavia on, tai miksei muuallekin, niin varmaan olette pohtineet, miksi aina puhutaan, että kuvaajastahan ei ole kuvaa perinteisesti.
Tai miten olette päätelleet tuon, miksi Facebookissa ei voi tykätä tykkäyksistä?
Facebookin tuo tykkäys-toiminto jokin tämänkaltainen tykkäämis-algoritmi siinä on
MODULE Like like(User x, Post y):
y.likes=y.likes + 1
y.wholikes = ADD(x)
RETURN Like = like(x,y)
Tuokin nyt vähän ylimääräistä tuossa, mutta jokin tuon kaltainen yksinkertaisimmillaan se voisi olla, tuo on nyt jonkinlaisella yleisellä pseudokielellä kuvattu siten, että ei tarvitse tietää etukäteen mistään avainsanoista tai määritellä sen enempää, että tuon algoritmin idean käsittää kuka tahansa, mitä tuo moduuli "like" tekee, niin jotain tuon kaltaista voisi kuvitella olevan millä Facebookin ohjelmistokehittäjät ovat sitten ohjelmoineetkaan kielellä, JavaScriptillä millä lie tuon tykkäys-toiminnon, niin tuossa on sama mitä tämän postauksen alussa tuo kuvaus-algoritmi, että tuosta tykkäämisestä ei tule loppua tuolla määrittelyllä.