Sunday, December 28, 2008

Demoliranje kauča

Jutros kad sam se probudio, jedna od prvih stvari koje su mi pale na pamet bilo je demoliranje kauča. Naravno, do toga sam došao razmišljajući o relacionim bazama podataka, a kasnije sam shvatio da je sve to tijesno vezano sa Platonovom filozofijom.
Dakle, stvar je u sljedećem - svi znamo da u programiranju, matematici i raznoraznim drugim životnim sferama mi susrećemo promjenljive i konstante. Jasno, ono što se mijenja su promjenljive, a konstante se ne mijenjaju. Inače, valjda, ne bi ni bile konstante. E sad, u matematici je razlika prilično očigledna - svi znamo da su brojevi 1, 2, 3 i tako dalje konstante, da se promjenljive označavaju raznoraznim slovima i tome slično. Mali trik je što ponekad i konstante mogu da budu označene slovima (npr. slovom a u nekom zadatku označimo nešto što jeste konstanta, ali nas zaboli uvo koja je to tačno konstanta), ali to je otprilike to. S druge strane, zamislimo sad slučaj iz relacionih baza podataka da npr. imamo tabelu sa spiskom svih studenata nekog fakulteta. Šta se dešava kad se neki student ispiše, pa izbrišemo njegovo ime? Sad opet imamo neku tabelu, ovaj put kraću za jedno ime. Ta tabela očigledno nije ona ista tabela od maloprije (jer ima red manje), ali s druge strane očigledno da je to ista tabela jer i ono i ovo je tabela sa spiskom studenata tog konkretnog fakulteta. Dakle, šta se do đavola dešava s tom tabelom? Mijenja li se ona ili ne?
Postoje naravno i mnogo drastičniji primjeri, ali nećemo sad ulaziti u njih da se ne rasplinjavamo. Poenta je da je nekad lako razgraničiti promjenljivu i konstantu, a nekad opet nije. Evo - posmatrajmo promjenljivu x. Neka ona trenutno ima vrijednost 3. I ako nam neko kaže "Ajde promijeni vrijednost promjenljive x u 4", nema nikakvih problema. Ali ako nam neko kaže "Promijeni broj 3", možemo samo da ga pogledamo bijelo i pozovemo kola za ludnicu. Kako možemo da promijenimo broj 3? Ako ga "promijenimo", to onda više nije broj 3 nego nešto sasvim deseto. Neko će reći - "Pa možemo da napišemo broj 3 na papiru, pa ga izbrišemo ili podebljamo ili nešto slično." Da, ali, dozvolićete, zapis broja tri na papiru nije sam broj tri nego upravo što rekosmo - zapis. Švrljanjem po papiru vi mijenjate zapis, a ne sam broj tri, koji zapravo i ne postoji u konkretnom obliku, već samo kao ideja.
Čovjek koji je, bar što se tiče relacionih (a i objektnih) baza podataka riješio sve nedoumice oko ovakvih problemčića je Christopher J. Date, u svojoj monumentalno-briljantnoj knjižurini pod nazivom An Introduction to Database Systems (btw, ako slučajno naletite na nekog naduvanog programera koji se izdaje za stručnjaka za baze podataka, pitajte ga da li je pročitao tu knjigu, a ako nije, slobodno mu se nasmijte prezrivo u lice). Elem, dakle, oću da kažem sljedeće - C. J. Date je odlično opisao i riješio problem u bazama podataka. Tako da nama za ovaj ubogi blog ostaje samo da se pozabavimo promjenljivima i konstantama u stvarnom životu, ali naravno koristeći neke pojmove iz teorije baza podataka (može i pomoću pojmova iz klasičnog programiranja, ali baze podataka su mi bliže pa ću da se držim toga).
Spomenuo sam kako je apsolutno suludo pričati o "mijenjanju" broja 3 i kako on postoji samo kao ideja, dok su sva njegova pojavljivanja na monitoru, na papiru i sl., samo slike tog broja. Ali šta je recimo sa kantom za smeće u vašoj kući? Da li je ta kanta konstanta ili promjenljiva? Sigurno ste u iskušenju da ko iz topa odgovorite "Kanta za smeće u mojoj kuhinji (ako tamo uopšte imam kantu a ne recimo kesu) je nesumnjivo konstanta!". Međutim, javlja se isti problem kao sa tabelom studenata - ako vi sad čekićem razbijete tu kantu u paramparčad, to i dalje ostaje kanta za smeće iz vaše kuhinje, albeit totalno rasturena. S druge strane, vaša malopređašnja predivna neoštećena kanta za smeće sada više ne postoji. Odnosno, ne postoji u fizičkom obliku, ali očigledno da postoji kao ideja. VI znate za tu kantu, VI je se sa sjetom prisjećate (i pitate se što ste li je rasturili samo zato što vam je to neki imbecil naredio na svom idiotskom blogu), dakle - IDEJA te kante postoji.
Sad vam je otprilike jasno gdje nastupa Platon. Njegova nesumnjivo genijalna i revolucionarna tvrdnja o svijetu ideja savršeno objašnjava sva pitanja o tome da li mi u stvarnom životu nalijećemo na promjenljive ili konstante. Zbog teorije o Idejama, Platona smatram najvećim filozofom svih vremena (mada se ne razumijem nešto u filozofiju) i svako ko kritikuje tu teoriju nema apsolutno blagog pojma ni sa čim. Elem, šta bi sa tim svijetom ideja? Pa, to je nešto kao mjesto gdje se nalaze sve moguće konstante - brojevi, kante za smeće, kauči u raznim varijantama, kompletni i demolirani, svi ljudi u svim mogućim formama itd. Sve materijalno što mi srećemo u našem ovozemaljskom životu jesu zapravo promjenljive koje za vrijednosti uzimaju konstante iz svijeta ideja.
Evo kako stvari funkcionišu - zamislite sebe kao osobu. Vi ste u svakom slučaju jedinstveni. Vi imate svoje JA i to JA je različito od onog JA koje imaju drugi ljudi. To je ono što vas jedinstveno određuje i što bi se u bazama podataka nazvalo primarnim ključem. Malo banalnija varijanta je npr. vaš matični broj. Svi ljudi imaju različite matične brojeve i kad znate neki matični broj, postoji tačno jedna osoba na koju se taj broj odnosi. Tj., matični broj bi bio primarni ključ za svijet ljudi. Neki ljudi mogu da imaju isto ime, ali ne i matični broj. Slično, npr. za neke predmete bi njihov serijski broj mogao da bude primarni ključ itd. Naravno, nama nije toliko bitno da precizno navedemo te primarne ključeve - bitno je da znamo da oni postoje. E sad pogledajmo šta se dešava s kaučem u vašoj dnevnoj sobi i šta biva kad vam neko kaže da demolirate kauč. Kauč U Dnevnoj Sobi je promjenljiva. Njegova trenutna vrijednost iz svijeta ideja može da bude npr. zeleni trosjed ili nešto slično. Ako vi demolirate kauč, vi zapravo ne uništavate svoj zeleni trosjed - vi jednostavno umjesto jedne konstante iz svijeta ideja u svoju promjenljivu Kauč U Dnevnoj Sobi uvrštavate drugu konstantu (u ovom slučaju, to je jedna vrlo demolirana konstanta). Prilično utješna misao za sve one koji su nekad nešto slomili, zar ne?
Vi sad možete da budete lukavi, pa da postavite sljedeće pitanje: "A šta ako ja svoj kauč iz dnevne sobe prenesem u spavaću? Da li je to isti kauč?" Odlično pitanje! Odgovor naravno postoji, ali nije ga baš najjednostavnije objasniti. Ako kauč iz dnevne sobe prenesemo u spavaću, tada promjenljiva Kauč U Dnevnoj Sobi ima kao vrijednost specijalnu konstantu (neki bi rekli NULL, ali to ipak nije to) koja označava da tu zapravo nema kauča. S druge strane, promjenljiva Kauč U Spavaćoj Sobi naprasno kao vrijednost dobija onaj kauč koji ste prenijeli iz dnevne sobe. Naravno, ovakav izbor naziva promjenljivih nije baš najsretniji, upravo zbog ovog primjera. Dakle, bolje objašnjenje bi bilo da npr. i kauči, baš kao i ljudi, imaju identitet, da imaju nešto što ih jedinstveno određuje. Možemo npr. da posmatramo kauč sa tim-i-tim serijskim brojem i da imamo promjenljivu Kauč Sa Tim-I-Tim serijskim brojem. Sada lako vidimo da intervencije u smislu promjene lokacije predmeta uopšte ne mijenjaju dotični kauč. Međutim, taj kauč je takođe podložan demoliranju, a to već jeste nešto što ga "mijenja". Odnosno, kako smo prije objasnila, ne mijenja ga, već umjesto njega stavlja drugi, demolirani, kauč.
I konačno - šta je sa ljudima? Iz prethodnog izlaganja je valjda očigledno da ste vi, iako naizgled konstanta, zapravo promjenljiva. Mijenjate se, starite, otpadaju vam zubi i drugi dijelovi tijela. Na kraju, kad odapnete, briše se vaša promjenljiva. S druge strane, rađanje nekog derišta predstavlja uvođenje nove promjenljive, koja će naravno vrijednost da uzima iz skupa mogućih ljudi, koji je podskup skupa Ideja.
Za kraj - jasno je da nema sve iz skupa Ideja fizičku reprezentaciju. Kauči, demolirani ili ne, uglavnom imaju. Ali u svijetu ideja imate i neke superopake ideje kao što su skup svih skupova, brijač koji brije one koji se ne briju sami itd., dakle stvari koje ni teoretski ne mogu da postoje. Eto.

Monday, December 22, 2008

Dolazak u grad

Baš sam nešto razmišljao o jednom sasvim neobičnom problemu. Zamislite da imate neki mali grad, lijep i čist, u nekoj državi (Bosna je naravno isključena, jer tu nema lijepih gradova). I naravno, ljudima koji tu žive je prijatno i fino i svi su dobro raspoloženi i zadovoljni.
E sad zamislimo sljedeću problemsku situaciju - odjednom gomila ljudi dođe u taj grad. Nije bitno zašto, kojim povodom, da li je organizovano ili ne, jednostavno - gomila ljudi se tu pojavi. Ne mislim da počnu da žive tu, nego naprosto dođu i budu u tom gradiću. Zar ne bi onda u gradiću nastupila totalna gužva, ulice bi bile krcate i svi bi postali nervozni i zlovoljni? Čak nije neophodno da došljaci prave nered, da se tuku sa lokalnim stanovnicima ili da ostavljaju otpatke na ulici. Samo njihovo prisustvo u ogromnom broju dovodi do gužve i samim tim do neuslovnih uslova za život.
Pretpostavimo dalje da pridošlice jednostavno neće da odu. Ispune sve hotele, a kad tamo više nema mjesta, ostatak spava na ulici. I tako se nasade u gradić i ni da mrdnu.
Clearly, ovo je vrlo komplikovan problem. Ne možete ih izbaciti jer ne krše nikakav zakon. Niko nikog ne sprječava da jednostavno bude na nekom mjestu. Ali s druge strane, valjda bi trebalo da i građani gradića imaju pravo na svoj mir. Pitanje je - da li postoji neki zakon koji zabranjuje masovne dolaske u pojedina mjesta? Vjerovatno da ne. Ali trebalo bi ga izmisliti. Eto.

Monday, December 8, 2008

Smrt 3

Vraćam se danas s posla i taman kad sam bio tamo na čuvenom Kružnom Toku, kroz isti protutnje pogrebna kola. I naravno, odmah pomislim kako bi bilo ubitačno interesantno da me recimo da pogrebna kola spiče nasred pješačkog prelaza i da se tako oprostim od ovog svijeta.
Generalno, svi mi imamo neke planove za budućnost, šta bismo voljeli da postanemo kad porastemo, gdje da živimo, kuda da putujemo i tome slično, ali veoma malo ljudi razmišlja o načinu na koji bi željeli da odapnu.
Meni lično je pogibija od strane pogrebnih kola na vrhu liste. Takva ironijska crta se teško nalazi kod konvencionalnijih umiranja kao što su infarkt, davljenje hranom, pad klavira na glavu ili da vas upuca ljubomorni muž. Nije loše ni kad vas zgaze kola hitne pomoći, ali pogrebna kola su ipak bolja. Ovde su moguće i raznorazne varijacije, ali o njima nešto kasnije.
Prije toga - problemi koji mogu da izbiju. Jedan od njih je što kad vas zgazi auto, to zna da bude prilično bolno. Dakle, u daljem tekstu podrazumijevamo da vas tako efikasno odalami da vas ubije na mjestu, bez ikakve dodatne prepiske. Drugi problem je nešto složeniji - ako želite, kao sav normalan svijet, da vas zgaze pogrebna kola, potrebno je da budete svjesni da ta pogrebna kola neko vozi i da će taj neko da bude odgovoran za vašu smrt. Teoretski, vi možete da se bacite pod ta kola van pješačkog prelaza (ili na pješačkom kad je crveno) i da tako kompletno preuzmete krivicu za svoju smrt, ali i to nije najsretnije rješenje jer će opet osoba koja vas je zgazila, ako ima imalo savjesti (a vozač pogrebnih kola sigurno ima), biti do kraja života istraumirana i izjedena osjećajem krivice. Želite li to da natovarite nekom na vrat? Naravno da ne.
Zbog toga je potrebno da razmislimo o nekim modifikacijama. Šta ako, npr., na nekoj raskrsnici kojom prolazite nastupi katastrofalno užasan lančani sudar epskih proporcija i ako u sveopštoj kakofoniji i odbijanju neka pogrebna kola budu lansirana prema vama i sravne vas sa zemljom? Na taj način vozač tih kola sigurno nije kriv, ali... Ne samo da u lančanim sudarima obično bude mrtvih, nego još i definitivno postoji neko ko je taj sudar započeo i onda bi taj neko bio kriv. Dakle, eto nas opet na početku.
U suštini, frustrirajuće je to što, kako god okrenete, neko mora da bude kriv. Pretpostavimo da prelazite ulicu iza pogrebnih kola, iz suprotnog smjera se neko silovito zakuca u njih, kovčeg izleti kroz zadnja vrata i napravi palačinku od vas. Opet je vozač pogrebnih kola oslobođen odgovornosti, ali se ona prebacuje na tog drugog vozača.
Možemo da posmatramo drugi slučaj - neko je parkirao kola na nizbrdici i zaboravio da povuče ručnu. Vi prolazite donjim dijelom ulice čitajući strip, ništa ne sumnjate, kad odjednom osjetite kako ste monstruozno zgaženi. I u ovom slučaju kriv je vozač što nije povukao ručnu. Slično važi i ako ostavi otvorena zadnja vrata, kovčeg izleti kroz njih, sklizne niz padinu, pokupi vas i zakuca u semafor, a onda se u taj isti semafor zabije trospratni autobus. Opet je kriv vozač što nije zatvorio vrata.
I tako dalje. Pokazuje se da je zajednička crta svih ovih smrti od pogrebnih kola činjenica da je uvijek neko drugi kriv za vašu smrt (ili to ili će da bude istraumiran do kraja života). Kako izaći iz te problemske situacije? Da li da se okrenemo nekom konzervativnijem načinu umiranja, npr. srčanoj kapi ili tuberkulozi? Možda velikim boginjama?
Jok. Ostajemo kod saobraćajnih nesreća. Rješenje je jednostavno - smatraćemo da pogrebna kola vozi neki pokvareni gadni ubica (naravno, ukrao ih je) kome vaša smrt ništa ne znači jer je već pobio trideset ljudi tog dana. Dakle nema osjećaja krivice, nema trauma, divota. Sad sam stvarno gladan i odoh nešto da pojedem.

Blogovanje s posla

Jelenskih mi rogova! Ovaj post kucam s posla! Kakav osjećaj! Kao da radim nešto zabranjeno, nešto kažnjivo. Moram da se okrećem svaki čas da vidim da mi neko ne viri iza leđa. Moram da imam minimiziranje prozora na gotovs, za slučaj da neko uleti kroz vrata kabineta. A pošto je ovo kompjuter iz doba trijasa i treba mu jedno 13 minuta da minimizuje prozor, moram da budem spreman da u trenutku probodem oko bajonetom svakom nezvanom pridošlici prije nego što vidi šta se na ekranu dešava. Zaista, blogovanje s posla je stresno, ali znate kako kažu - najslađe je zabranjeno voće. Zapravo najslađe su datule, a poslije toga zabranjeno voće. Koje god ono bilo. Osim ako nisu datule. Mada nisam čuo da su datule zabranjene. Možda šećerašima. Ali njima je zabranjena i čokolada, pa da li to znači da je čokolada voće? Naravno da ne.
Primijetimo da je danas opet ponedeljak. Moji postovi u posljednje vrijeme su kao po pravilu redovno vezani za ponedeljak. Moram da priznam da sam u velikoj mjeri prevazišao svoju mržnju prema tom danu. Sad mi je čak i najdraži dan u sedmici, poslije srijede, petka, subote i nedelje. Naravno, to su dani kad nemam nastavu. Dakle, sad mi je ponedeljak (kad imam dva časa) miliji od utorka i četvrtka kad imam 4. Neko bi na osnovu ovoga mogao da zaključi da ja volim da držim što manje časova i taj neko bi bio u pravu. Ali, bitno je i da na moje vježbe na Šumarstvu dolazi sve manje i manje djece, tako da je atmosfera sve podnošljivija. Sad se čak pojavljuju i ljudi koji znaju skoro sve što pričam, što je vrlo lijepo i pohvalno. Naravno, uvijek valja biti oprezan, jer bi neko od njih mogao da provali koliko ja zapravo pojma nemam, te zato uvijek treba imati spreman bajonet i protjerati ga kroz oko prvom koji nešto posumnja. Pa nek oni vide...
Jasno, niste na ovom blogu da biste slušali kako tupim o ponedeljku. Svi znamo da je mnogo interesantnija tema - smrt. Elem, danas kad sam došao na posao, vidim na vratima smrtovnicu. Apparently, umrla je majka jednog od profesora. Šta je tu tako čudno, pitate se vi. E pa ja sam se zaposlio na Mašinskom fakultetu u julu prošle godine (dakle tu sam nešto manje od godinu i po) i ovo je već sedma ili osma smrtovnica koja se pojavljuje. Nisu u pitanju samo bliski srodnici ljudi koji tu rade, među umrlima je bilo i zaposlenih, a bogme i jedan student. Takve stvari natjeraju čovjeka da se zapita ima li to neke veze s njim. Ja sam naravno konstatovao da nema, čisto zato da ne bih imao grižu savjest zbog toga što stradaju ljudi vezani za moj fakultet, a političari su svi alive and kicking. Da se odmah razumijemo, ovim ne želim da pozovem na masovni linč političara - odsijecanje prstiju bi bilo sasvim dovoljno. Ili recimo strpati ih sve u jednu zatvorsku ćeliju - Majlorada Dudika, Harija Silajdića, Nika Špeerića, Edija Tarzića, Silomana Tuhića itd. Pa nek se snalaze (obratite pažnju na to da su Njihova imena kopirajtovana, a do zaključivanja ovog bloga nisam uspio da obezbijedim prava na korišćenje tih pravih imena).
E sad je dosta s ovim budalaštinama, odoh kući da nešto jedem, a vi se snalazite sami. Baš me briga. Mnjnjnjnj.
Related Posts Plugin for WordPress, Blogger...