Nazad


Ja

Projekti

Priče

Članci

 

ČLANCI U PC-ju

U časopisu "PC" radim kao zamenik glavnog urednika, i pišem tekstove koji obrađuju problematiku projektovanja mikroprocesorskih kontrolera. Ali, ne morate odmah da bežite - ovde nema takvih tekstova. Za ovu priliku sam odabrao samo tekstove koji nisu stručni, dakle koji obrađuju slobodne teme: uglavnom moje dogodovštine i razmišljanja.

 


PC #3, jun 1995, rubrika DNEVNIK

Komunikacioni košmar

Poslovne primene računara više nisu ništa neobično, ali kao da niko nema hrabrosti da otpočne kompjuterizaciju proizvodnih pogona u fabrikama. Tamo se elektronika u najboljem slučaju sastoji od nekoliko zamašćenih relea sa bezbroj puta šmirglanim kontaktima. Za povezivanje "mišića" mašina sa "mozgovima" računara potreban je relativno jednostavan interfejs...

Put do tog "jednostavnog" interfejsa, na žalost, često nije lak. Početkom ove godine sam dobio zahtev da razvijem kontroler koji će upravljati mašinom za proizvodnju veštačkog krzna. Dogovor je bio da naručilac posla izradi softver za PC koji će da komunicira sa mojim interfejsom, a da ja preuzmem hardverski deo posla i softver na strani kontrolera.

Mikroprocesorski kontroleri su mi inače uža specijalnost, tako da je sve obećavalo posao u kome ću, kao i toliko puta do sada, pravom linijom bez lutanja stići do cilja. Odmah sam, u saradnji sa sa naručiocima, počeo da postavljam koncepciju kontrolera. Pošto jedan PC treba da kontroliše veći broj mašina, u kompjuter se postavlja kartica koja preko strujne petlje komunicira sa potrebnim brojem interfejsa, od kojih svaki upravlja po jednom mašinom. Ovde sam se rado opredelio za strujnu petlju: prilično je otporna na industrijske smetnje čak i za kilometarske udaljenosti, obezbeđuje galvansku izolaciju pojedinih delova sistema (jer se lako realizuje komunikacija preko optokaplera), cena komunikacionih kablova je niska (obična parica, čak i za dvosmernu komunikaciju) a svako proširenje sistema je vrlo jednostavno - samo se preseče parica i na red sa svim kontrolerima se doda još jedan, i to odmah radi kako treba - šta ćete bolje od toga!

Kontroleri koji rade uz mašine su, naravno, inteligentni - srce svakog od njih čini Intelov mikroprocesor 8032 (za njega sam se opredelio jer ima interno realizovan serijski port sa podrškom za multiprocesorsku komunikaciju). Što se memorije tiče, zahtev naručioca je bio 256 K statičkog RAM-a zaštićenog NiCd akumulatorom koji će u slučaju prekida napajanja sačuvati status mašine. Tekstilne mašine sasvim lepo umeju da nastave posao od mesta na kome su prekinute, samo ako elektronika ume da nastavi da im šalje neprekinutu "šaru" od mesta prekida napajanja. Tih 256 K sam samoinicijativno udvostručio na pola megabajta (neka se nađe, ništa me ne košta da ostavim prazna mesta na štampi ako se pokaže nepotrebno). Kasnije se to pokazalo kao itekeko potrebno - neki dezeni za veštačko krzno su zauzimali i preko 400 kilobajta!

Izlaz iz ovog kontrolera je niz od 40 paralelnih 24-voltnih logičkih signala koji pobuđuju drajvere za elektromagnete igala i motore koji uvode materijal za pletivo u mašinu. Ovde sam ugradio još jedan nivo obezbeđenja: i ovi signali su galvanski odvojeni od mašine nizom optokaplera (pogodićete da me je gorko iskustvo nateralo da insistiram na galvanskom odvajanju komponenti sistema).

Inače, dosad su ove mašine radile tako što su sa specijalnih filmova čitale kodove koji optičkim putem preko fototranzistora pobuđuju drajvere za izvršne elektromagnete, tako što se film (često i desetinama metara dugačak) stalno kretao ispred sijalice čitača dok je mašina radila. Ovakav sistem je uglavnom dovoljno pouzdan, ali se film posle kratkog vremena oštećivao, a nov je teško nabaviti zbog sankcija (treba li da kažem da je proizvođač monopolski čuvao tehnologiju kodiranja filma?), osim toga asortiman proizvođača veštačkog krzna je bio ograničen samo dezenima koji su postojali u katalogu onoga ko je prodavao filmove. Pošto je u fabrici postojala arhiva filmova za dezene koji su do sada korišćeni, trebalo je (u samo jednom primerku) napraviti i interfejs za čitanje filmova i prepis fajlova u kompjuter, gde bi se u nekom grafičkom editoru mogli editovati i ispraviti eventualna oštećenja. Naravno, posebna poslastica sistema je mogućnost da dizajner po volji smišlja dezene, ucrtava ih mišem u kompjuter i eto svaki dan novog proizvoda, praktično bez povećanja proizvodnih troškova.

Komunikacionu karticu za PC sam takođe morao sam da osmislim, jer ničeg sličnog nije bilo na tržištu: inteligentna kartica (dakle, još jedan 8032 sa 512 K RAM-a) koja podržava polu-dupleksnu (što će reći u oba smera, ali ne istovremeno) komunikaciju sa periferijama preko strujne petlje. Možda ćete se zapitati zašto je ovde potreban mikroprocesor, zašto jednostavno nije napravljen hardverski drajver koji prosleđuje signal sa serijskog porta na strujnu petlju i obratno? Pa, odgovor je da kompjuter mora sa 100% performansi da ostane slobodan za operatora dok komunikaciona kartica obavlja složenu prozivku većeg broja periferija ili vrši prenos kilometarskih fajlova preko strujne petlje. Tako smo uštedeli ceo jedan kompjuter u sistemu.

Još samo "sitnica"

Ostalo je da definišemo samo jedan detalj, i na njemu smo se sapleli tako da ću još dugo imati tikove kad samo pomislim na ovaj posao: kako ostvariti komunikaciju između ove kartice i kompjutera u čiji slot se ona ugrađuje? Meni je bilo logično da to bude ostvareno preko AT magistrale, tako što će paralelni podaci ići preko nekog od slobodnih I/O portova, sve u svemu - najobičniji handshaking. Međutim, naručilac posla je zahtevao serijsku komunikaciju kartice sa kompjuterom! Zamislite, kartica stoji na svom mestu, u AT BUS konektoru, ali ona ignoriše sve signale koji joj se kao na poslužavniku nude sa tog konektora, nego ide naokolo - generiše serijski signal, pa na spoljni 9-pinski konektor, pa kablić od 5 santimetara skače sa kartice na susednu karticu (ovog puta standardni RS-232 kontroler) pa onda konačno legalnim putem u kompjuter. Prvo sam pomislio da je ovo neki vic, ali ne: ljudi su mi lepo objasnili da je njihov program za PC rađen u Visual Basicu, koji zastupa Event Driven pristup (elegantniji izraz za program u kome su operacije inicirane spoljnim prekidima - interaptima, pa može da ih obavlja po redosledu koji nije diktiran nizovima programskih linija, nego zahtevima koji dolaze spolja). Pošto, eto, svaki bajt poslat ili primljen preko serijskog porta generiše interapt, njima je mnogo lakše da iskoriste ponudu koju dobijaju od Visual Basica nego da prave DLL potprogram koji obrađuje paralelni handshaking. Osim toga, ovako su bili sigurni da će program raditi pouzdanije, bez problema (zapamtite ovu formulaciju).

Moj argument da mi takva koncepcija, u kojoj kompjuter sam sa sobom komunicira preko serijskog interfejsa, liči na čoveka koji dvema rukama na dva uha drži dve telefonske slušalice i svađa se sam sa sobom - nije prošao. Tu ja shvatim da gubim zbog brojnog stanja (njih dvojica protiv mene samog), pa smislim plan kako da ih namamim u klopku: predložim da pozovem Dejana Ristanovića (imajući u vidu zaista ogroman autoritet koji on uživa kod mojih sagovornika), pa neka on presudi. Pošto su se složili, okrenem telefon i - doživim poraz: Dejan je podržao ideju o serijskoj komunikaciji! (Glavom i bradom moj glavni urednik, valjda mi neće izbaciti ovaj pasus iz teksta!)

I tako ja u interesu viših ciljeva prihvatim jedinu varijantu koja mi je ponuđena. Završili smo sastanak dogovorom o dinamici posla i izborom restorana u kome ćemo proslaviti uspešan završetak rada. I Dejan je bio pozvan.

Počeo sam da projektujem prvu štampanu ploču tako što sam iz biblioteke uzeo sirov oblik PC kartice sa iscrtanim konektorom na AT BUS-u i - đavo mi nije dao mira: tvrdoglavo sam se vezao za paralelnu komunikaciju i tako sam i iscrtao štampu. Telefonom sam obavestio naručioca da ga nisam poslušao i posle nekoliko minuta razgovora podneo još jedan poraz na pregovaračkom polju. Više mrzovoljno nego dobrovoljno, izbrisao sam sve što sam dotad uradio i krenuo u projektovanje štampe po koncepciji protiv koje sam se borio, tešivši se neubedljivom izrekom "Veži konja gde ti gazda kaže".

Dalje sam radio sam, tako da je posao tekao bez većih uzbuđenja - na mom stolu je sve radilo savršeno. Moj PC je bio razvojni sistem, a laptop je glumio kompjuter u ciljnom sistemu - ionako nije bilo potrebno ubadati karticu u konektor na matičnoj ploči; napone od +5 V za napajanje logike i +/- 12 V za bafere serijskog interfejsa (jer su samo ti kontakti korišćeni sa konektora matične ploče) doveo sam spolja, kablovima iz mog laboratorijskog ispravljača.

Istovremeno je i naručilac sistema pisao svoj program u Visual Basicu, tako da sam taj deo softvera morao da simuliram iz laptopa nečim što je pre nekoliko godina napravio Dejan Ristanović - program se zove RS i dozvoljava da se tastaturom u heksadecimalnom kodu unese proizvoljno dugačak string koji se pošalje na serijski port, a istovremeno se na ekranu ispisuje sve što je stiglo na ulaz serijskog porta. Vrlo praktičan i univerzalan program koji mi je bezbroj puta dosad pomogao u radu.

Spakovao sam celu skalameriju, alat, laptop, merne insrumente, logičke sonde, emulatore, diskete i dokumentaciju i krenuo na put, gde je trebalo povezati tri dosad odvojene celine: kompjuter sa operatorskim programom koje su moji naručioci u međuvremenu završili, moje kontrolere i mašinu za tkanje veštačkog krzna, koja se nalazi u fabričkom pogonu. Tako sam se otisnuo na put.

15. maj: Gde ima dima, ima i vatre

Uplašio sam se kad sam video kako su velike mašine kojima treba da upravljaju moji kontroleri: to je nekoliko tona gvožđurije u čijem srcu se nalazi nešto što liči na kapsulu svemirskog broda, ulazi ceo metar ispod nivoa poda i uz to još rotira priličnom brzinom. Srećom, u blizini se našao jedan vrlo ljubazan inženjer iz fabrike, koji je radio na održavanju ovih mašina i dobro ih je poznavao, tako da sam se uz njegovu pomoć brzo upoznao sa detaljima oko povezivanja kontrolera sa postojećom elektronikom na mašini. Dobili smo i dva prostrana stola na koje smo instalirali kompjutere, kontrolere, ispravljače, lemilicu, rasvetu i instrumente za debagiranje; sve u svemu, imali smo tri produžna kabla sa ukupno 11 slobodnih priključnih mesta, i to nam je bilo malo pa su neki manje važni potrošači delili utikačko mesto.

Za početak sam odlučio da povežem kontroler sa mašinom, jer me je najviše zanimalo kako će se ponašati ta veza. Kao što rekoh, postojalo je galvansko odvajanje optokaplerima, tako da nisam očekivao nikakve probleme. Priključio sam već pripremljene konektore, proverio sve veze još jednom, uključio glavni prekidač mašine i - još brže ga isključio, jer sam se u trenutku našao u oblaku gustog dima: negde je nešto gorelo, u prvom trenutku je teško shvatiti gde je izvor dima jer se činilo kao da dolazi odasvud, a situaciju je još dramatičnijom činilo to što su svi pritrčali da pomognu, a nikom nije bilo jasno šta konkretno da učini, samo su mahali rukama i panično hodali levo- desno (kasnije sam shvatio da su svi radnici u tekstilnoj industriji pomalo istraumirani ako se samo pojavi mogućnost požara, jer ovde itekako ima goriva za plamen tragičnih razmera). Sigurno sam u ovom galimatijasu ja bio najsmešnija figura, jer sam uz celu paniku imao još i osećaj krivice za sve što se događa.

Srećom, posle desetak sekundi dim je počeo da se razilazi i svi osim mene su mogli da odahnu, a ja sam započeo pretragu da bih utvrdio gde sam pogrešio i kolika je šteta. Ubrzo sam doživeo olakšanje, jer sam shvatio da je oštećen jedino kabl koji sam napravio za vezi kontrolera sa mašinom, a razlog je bio više nego banalan - mada je mašina imala minus pol napajanja na masi, signali za pobudu drajvera su vođeni kroz širmovane kablove kojima su oklopi (iz meni nejasnih razloga) spojeni sa pozitivnim polom izvora. Ja sam (bez ikakve provere) ove oklope tretirao kao masu, i sve skupa (njih 40) povezao na negativan pol napajanja. Originalni kabl (sa oklopljenim vodovima) je bio isključen, a ja sam kontroler povezao tankim trakastim kablom, dugačkim oko dva metra, koji je predstavlajo kratak spoj za izvor napajanja mašine. I nigde ni jednog jedinog osigurača, na mašini koja košta stotine hiljada dolara! Tako je kroz moj tanki kabl protekla ogromna struja i oslobođena toplota je izolaciju pretvorila u dim. Ispravljač mašine je ovaj strujni šok sasvim dobro podneo, jer to nije običan transfomatorski ispravljač nego robusni pretvarač motor-generator, koji je moguće spaliti jedino bazukom!

Ubrzo sam napravio nov kabl i ta veza je proradila kako treba. Sad je ostalo da konačno utaknemo komunikacionu karticu u matičnu ploču kompjutera i povežemo je sa serijskim portom čuvenim kablom koji može da uđe u Ginisovu knjigu rekorda kao najkraći kabl na svetu. Emulatori eproma su postavljeni na mesta EPROM-a u kartici za PC i kontroleru mašine i program je upisan u njih. Postavljen je film sa lepim dezenom leopardovog krzna i posle kraćeg podešavanja parametara bez greške učitan u kontroler, a onda i iz kontrolera preko strujne petlje u komunikacionu karticu. Došao je trenutak da vidimo kako lokalni program na kartici preko najkraćeg kabla na svetu komunicira sa Visual Basicom.

Odmah da kažem: nikako. Doduše, zaglavlje bloka bajtova redovno prođe kako treba i mikroprocesorima se učini da su uspostavili uspešnu komunikaciju, ali onda počnu negde da se gube bajtovi. Pošto zaglavlje nosi informaciju koliko bajtova je sadržano u bloku, kompjuter na kraju bloka obavezno uporedi tu informaciju sa stanjem brojača stvarno primljenih bajtova, i ustanovi da ih je primio manje nego što očekuje, često i po 20% manje. Ali, glavu gore! Ostalo je samo još to da sredimo, i onda smo završili. Idemo na ručak.

Izgleda da preterani optimizam nije preporučljiv u ovakvim poslovima, jer otupljuje oštricu kojom treba napasti probleme. Na ručku smo imali osećaj da smo završili posao. Eh, da smo znali koliko grešimo, preseo bi nam.

Evo nas ponovo u fabričkom pogonu. Da vidimo gde je problem: gubimo bajtove u komunikaciji. Prvi predlog je bio dobar: hajde da spojimo laptop sa serijskim portom preko koga se vrši komunikacija, da vidimo šta se na njemu događa. Malo seckanja i lemljenja, i najkraći kabl na svetu je dobio poduži dodatak: dve male silicijumske diode "kradu" signal sa TXD i RXD kompjutera i vode ga na RXD ulaz laptopa (Još jednom smo zaposlili program RS) i na LCD ekranu su počele da se ispisuju heksadecimalne cifre. Nije baš analizator protokola, ali poslužiće.

Mogli smo da vidimo samo da su svi bajtovi na svom mestu, znači da se gube negde u prijemu. Pošto sam ja bio nadležan samo za komunikacionu karticu i kontroler, pomno sam prekontrolisao sve potprograme koji se tiču komunikacije sa kompjuterom, i još jednom sam se uverio da je sve u redu. Isto je tvrdio i softverista koji je radio program za PC na Visual Basicu. Dakle, sve je u redu a stvar ne radi kako treba. Ponovo sam se zagledao u LCD ekran i zapazio nešto što je moglo da navede na dobar trag: ako komunikacija teče od kartice prema kompjuteru, ritam slanja bajtova je vrlo ujednačen, a od kompjutera prema katrici postoje značajne pauze na nepredvidljivim mestima. To su periodi kad Visual Basic (ili Windows) obavlja svoj "housekeeping", zapravo u RAM-u kompjutera radi nešto što najviše liči na posao koji Nortonov Speed Disk ili Microsoftov Defrag radi na disku. Naime, da bi dobio na brzini, on ostavlja "rupe" na mestima koje je samo privremeno koristio. Kad zbog tako neracionalnog korišćenja memorije ubrzo stigne do kraja rezervisanog bloka, on mora da se vrati i "pospremi krš" (prepiše sve aktivne fragmente na početak), a za to mu treba vremena. Ako kompjuter u tom trenutku šalje podatke kartici, izazvaće timeout i ignorisanje svih sledećih podataka do kraja bloka, a ako podaci teku ka kompjuteru, FIFO bafer UART-a 16550 se začas napuni (jer nema ko da ga prazni) i tako dobijemo overrun, što glupi Visual Basic ne ume čak ni da signalizira.

Ovaj problem može da se "napadne" podizanjem nivoa prioriteta interapta za serijski port, ali time smo samo smanjili broj izgubljenih bajtova, jer i Vizual Basic, kao i većina ostalih "šarenih" viših programskih jezika ima samo ograničenu mogućnost kontrolisanja vitalnih parametara procesa. Ostalo je još puno neobjašnjivih pauza za koje je teško reći da li su delo Visual Basica ili Windows-a.

Eto dijagnoze, sad još samo da nađemo lek. Za smer od kompjutera ka kartici je bilo lako: jednostavno sam povećao timeout sa 300 ms na 3 sekunde i sad bar jedan smer komunikacije (od kompjutera ka kartici) radi bez greške. Za drugi deo problema je jedino rešenje trebalo tražiti u osposobljavanju upravljačkih linija (RTS, CTS, itd...) da prorade kako treba, jer ako PC nije uvek sposoban da primi bajt, neka bar nauči da saopšti kad je sposoban!

Neću ulaziti u detalje, reći ću samo da se softverista koji je pisao program za PC našao pred nerešivim problemom: da natera da serijski port, koji je najnesrećnije rešen standard za komunikaciju po pitanju handshakinga, komunicira sa Visual Basicom, koji ne ostavlja nikakvu upotrebljivu mogućnost kontrolisanja upravljačkih linija tog porta. Istini za volju, ako prelistate dokumentaciju za Visual Basic, ostaćete u iluziji da imate mogućnost da upravljate ovim linijama, jer takve komande postoje, one čak i rade onako kako je navedeno u priručniku, ali je to u praksi neupotrebljivo jer su kašnjenja u aktiviranju ovih linija tako nepredvidljiva da možete samo da se nervirate.

Inače, na strani kartice nije bilo nikakvog problema: 8032 obavlja samo posao komunikacije, program sam pisao u mašincu, a svi upravljački signali sa RS-232 su baferovani standardnim drajverima i dovedeni do univerzalnih portova mikroprocesora. Znači da je obezbeđeno praktično trenutno opsluživanje upravljačkih linija i maksimalna fleksibilnost.

Hod po mukama je trajao do četiri sata posle ponoći, kad smo shatili da treba kovertirati sledeći potez i otići na spavanje.

16. maj: Bez napretka

Nemam dovoljno prostora da opišem sve trikove i pokušaje koje smo primenili da bismo komunikaciju učinili pouzdanom. Kad je neki problem tako dobro učauren i zaštićen od rešavanja kao ovaj naš, onda je najvažnije od svega sačuvati živce. A opet, teško je ostati hladnokrvan kad shvatite da ne možete da ostvarite najobičniju serijsku komunikaciju. Brzinu smo spustili sa početnih 115.2 na 2.4 kiloboda i opet ništa. Pokušali smo sa detekcijom ivice RTS signala umesto detekcije nivoa, ali je ta ivica nekad dolazila tako brzo da 8032 nije mogao da je registruje (ipak je on mnogo sporiji od 486) a nekad je kasnila po jednu ili dve sekunde. Gradili smo složene real-time algoritme od nekih nebuloznih pauza, blokova bajtova različitih dužina, logičkih kombinacija RTS i DTR izlaza... ništa ohrabrujuće. Polako smo počeli da shvatamo da u rukama držimo kosku na kojoj ćemo polomiti zube.

Na kraju drugog dana bili smo na istoj tački kao i na početku. U sitne sate, treća smena "vraća tuđi dug" (što reče Đorđe Balašević) a u istoj fabričkoj hali iznad stolova prepunuh računara, instrumenata, kablova, papira i polupraznih šoljica za kafu tri očajnika traže rešenje za problem koji je u početku izgledao kao lako rešiv.

17. maj: Rasplet

Vrtim telefone. Dejan se ne javlja (nikad ne zovite telefonom softveristu pre podne, bolje pokušajte popodne, kad je ispavan i svež, a još bolje noću, tad sigurno ne spava). Nešto kasnije pokušavam da pronađem Aleksandra Šušnjara, on je u Americi radio na razvoju nekih softverskih modula za Windows, možda će imati ideju šta da se radi. Pronašao sam ga, ali ono što sam čuo od njega toliko je deprimirajuće da mi je teško da poverujem; preopširno je da bih sve ponavljao (možda je bolje da on to sam napiše za časopis u jednom od sledećih brojeva, ima puno zanimljivih detalja koje ne možete nigde da pročitate), reći ću samo rezime:

Windows je operativni sistem koji pokušava da uradi mnogo stvari u isto vreme. On nije pogodan za poslove koji se obavljaju u realnom vremenu, jer će zbog svoje sporosti i želje da usluži svakog kad-tad izgubiti korak. S druge strane, Visual Basic je ipak Basic interpretator, pa makar bio i Visual (što ga objektivno čini još sporijim), pa ga ne treba koristiti u interaptima, pogotovo u onima koji se događaju često. Sve u svemu, kad se spoje Windows i Visual Basic, tu nema ništa od optimizacije, nego je važno samo da to radi (po mogućstvu što šarenije i atraktivnije). Čuo sam i da nismo jedini koji su se sapleli o isti problem - u Panasoniku su ljudi softver za registar kasu pisali u Visual Basicu, i on je - pogodite šta? Gubio karaktere sa serijskog porta! Mučili se ljudi, namučili (situacija mi je odnekud poznata) i kad su pogubili živce, rešili su da lepo napišu svoj DLL podprogram koji potpuno ignoriše celu ponudu standardnih drajvera i rešava sve to na svoj način. Aleksandar je u ovome aktivno učestvovao, taj DLL je upravo njegov proizvod, a ja o tome ništa nisam znao kad sam započinjao ovaj posao. Eto kako je svet mali.

Mi za ovo rešenje nismo imali vremena, jer smo bili na granici probijanja roka za predaju posla (preciznije rečeno, sa one zabranjene strane granice). Znači, trebalo je pod hitno nešto učiniti.

Rešenje je, kao i sva prava rešenja, jednostavno. Evo kako je stvar proradila kako treba: svaki put kad je kompjuter spreman da primi novi bajt, poslaće jedan (bilo koji) bajt. Kartica sa 8032 će ignorisati sadržinu ovog bajta, nego će samo činjenicu da je on stigao primiti kao signal da može da pošalje sledeći (to je nešto slično Xon/Xoff protokolu, ali pojednostavljeno). To je prepolovilo brzinu komunikacije (što je u datom slučaju sasvim nebitno), ali nam je spaslo glavu.

Uzdah olakšanja, zauzimanje udobnijih pozicija u stolicama, osvrtanje i traženje šoljice sa kafom koja se već odavno ohladila, čak se neko setio i da negde u torbi ima čokoladu. Odjednom razgovaramo opušteno, niko više ne oseća nervozu. Svi pogledi su uprti u staklenu kapsulu koja rotira ispod površine poda, jer se u njoj upravo iz našeg kompjutera stvara lep dezen leopardovog krzna.

 


PC #5, septembar 1995, rubrika KOMENTAR - Trendovi

Držite se, ulazimo u barok

Kao što ljudska civilizacija ima istoriju, tako i kompjuterska tehnologija ima faze u razvoju. Iznenadićete se kad vidite koliko sličnosti ima između ta dva razvojna toka.

Izgleda kao da je istorijska krivulja razvoja našeg društva počela da se ponavlja od trenutka kad se pojavio prvi kompjuter. Možda će nam ova podudarnost pomoći da prognoziramo šta će se sa hardverom i softverom događati u budućnosti. Ipak, ako ova predviđanja preozbiljno shvatite, učinite to na svoju odgovornost.

Preistorija

Pedesetih godina ovog veka, u sam osvit informatičke civilizacije, na našem tlu nije bilo ni akademskih informacija o tamo nekim tehnokratskim novotarijama kapitalističkog sveta kao što je, daleko bilo, kompjuter. Mi smo tada gradili srećno društvo jer ćemo tako, kad stvorimo duhovno i materijalno obilje, lako kupiti sve inovacije od Zapada, tik pre nego što on definitivno propadne.

Tako će za nas ovaj period biti obavijen večitim mrakom. Ali, stvar se iz osnova menja u trenutku kad se pojavljuju prvi džepni kalkulatori. Čudo neviđeno! Em sabiraju, em svetle u mraku, a i bili su dovoljno mali da su gastarbajteri mogli da ih švercuju u džepu, pa su tako i protiv volje političara kod nas širili uticaj trulog Zapada.

Prelaz is stare u novu eru: razapinjanje na krst

Informacije o prvim personalnim računarima pronašli smo u stranoj štampi. I baš kad smo krenuli u naručivanje prvih Apple i TRS-80 mašina, naša mudra vlada je dobila bolju ideju, genijalnu u svojoj jednostavnosti: ne može!

Zbog subjektivnih i objektivnih teškoća i slabosti (koje će širom društvenom akcijom biti prevaziđene, itd.) utvrđen je limit za uvoz robe iz inostranstva, koji je tek toliki da ne možete da uvezete ni najjeftiniji računar; tako je on, bez prava na odbranu, razapet na krst.

Moj prvi TRS-80 je stigao poštom u tri paketa. Najteže mi je bilo da ubedim pošiljaoca da makazama preseče trakasti kabl koji povezuje dve ploče, jer mu nikako nije išlo u glavu da ja hoću da mi računar bude baš tako poslat. Čudo jedno kako ti Amerikanci nemaju smisla za improvizaciju.

A onda je, kao grom iz vedra neba, stigla vest o vaskrsenju: u Službenom Listu je objavljen zakon u kome se od navedenog limita izuzimaju računari. Novi Vek je počeo.

XV vek: Novi realizam

Eh, kakvi su bili ti prvi računari. Nema predugih podizanja sistema, ali ni direktorijuma, diskova, CD romova. Monohromatski monitori, a grafika tek da se kaže da postoji. Mislite da su to nedostaci? Naprotiv! I to su bili kompjuteri, ali su korisnici bili drugačiji, pravi zaljubljenici kojima nije trebala šminka da bi ih motivisala za druženje. Bez zarade, piratovanja softvera, bez preprodaje švercovanih komponenata (koje su kod nas trgovci hrabro proglasili za "proizvodnju"), rodio se najlepši hobi na svetu.

I baš kao što se u XV veku novi realizam sa severa susreo sa humanizmom i renesansom s juga, tako smo početkom osamdesetih godina mi, iz zemlje seljaka na brdovitom Balkanu, itekako umeli da hladnim mašinama udahnemo život.

XVI vek: Renesansa

Mada je u jednom trenutku izgledalo da IBM okleva sa uskakanjem u igru oko personalnih računara, to je bila samo dobra taktika: sačekao je da se potrebe novog tržišta dobro iskristališu, pa da se pažljivo iskoncipira mašina koja će postati neoborivi standard za računare. Tako je stvorio otvoren sistem, koji ne treba da bude u startu veliki nego da raste, jer je bilo jasno da se u bliskoj budućnosti očekuje munjevit napredak digitalne tehnike.

A onda još jedan čudan i u isto vreme sjajan potez: bez ikakvih zatezanja i zaštite prava, dozvolili su istočnjacima da kopiraju i kloniraju njihove mašine. To je do te mere učvrstilo IBM PC kao standard, da je nemoguće u bilo kojoj drugoj delatnosti pronaći tako dobro osvojen monopol, i to čisto tržišnim merama.

XVII vek: Barok i rokoko

Hardver i softver su kao muškarac i žena: nemaju jedno o drugom baš uvek lepo mišljenje, ponekad se i posvađaju, ali ne mogu jedno bez drugog. Zato je, sa hardverom pod ruku, napredovao i softver. Microsoft je od početka pratio PC sa svojim DOS-om, sistemon koji je u startu bio solidno koncipiran, tako da je mogao da raste i da prati povećanje zahteva stotina miliona korisnika. Meni će biti mnogo žao kad stari dobri DOS bude umro, a kako sada stvari stoje, ne piše mu se baš najbolje.

Pa šta mu se dogodilo? Ulazimo u kompjuterski barok, eto šta. Doskorašnja funkcionalnost i unutrašnja lepota treba da ustupe mesto kitnjastoj i šarolikoj formi novog softvera. Umesto DOS-a, operativnog sistema koji je tražio od čoveka da se približi mašini, kao što je umetnost nekad zahtevala da se delo posmatra sa ozbiljnošću i dostojanstvom, pojavljuje se WINDOWS, sistem koji maksimalno povlađuje čoveku kao konzumentu, čoveku koji je ravnodušan prema računaru (jer o njemu i tako ne zna mnogo) ali lako pada na obojene ikone i šarene direktorijume.

Znam da na sebe navlačim nezadovoljstvo zaljubljenika u Windows okruženja, ali priznajte bar da je tolika procesorska snaga, koju nudi moderan hardver sa ultrabrzim procesorskim arhitekturama, mogla da bude utrošena i na nešto pametnije. S jedne strane imamo mašine koje su hiljadu puta brže od prvih IBM PC-a, a programi se izvršavaju sve sporije i sporije!

Zašto tako? Ne znam. Kad pitate autore, oni lepo odgovore da je njihov softver pravljen za neki jači i brži hardver, koji će se pojaviti u budućnosti. Nije nego! U toj budućnosti će moji živci biti uništeni time što pola vremena planiranog za rad gledam u peščani sat koji se vrti na ekranu, dok hard disk do beskraja nešto mulja, verovatno nepotrebno.

Bliska budućnost: XVIII vek, Neoklasicizam

Dalje trendove u razvoju kompjutera možemo samo da pretpostavimo na osnovu krivulje koja prati razvoj civilizacije i umetnosti. Preterivanje baroka i kitnjasti ukrasi rokokoa su ustupili mesto neoklasicizmu, čiji su glavni argumenti bili snaga, čistota i odmerenost. Valjda to znači da će se pojaviti kvalitet, toliko nesumnjiv da će se zastideti svi sejači neukusa, počev od Bila Gejtsa koji je zahvaljujući šarenim ikonama postao jedan od najbogatijih ljudi na svetu (sa trinaest milijardi dolara keša u džepu), pa zaključno sa njegovim mušterijama, koje su mu to omogućile. Pa da se vratimo kreativnom radu.

Daleka budućnost: XIX vek, Romantizam

Za ovo vredi živeti: ponovna afirmacija ličnosti, osećajnosti i unutrašnjih vrednosti. Ako se ovo ostvari, kompjuteri će nam se približiti na pravi način, bez opsenarstva i zamazivanja očiju, tako da će se spojiti s nama na višem nivou, skoro kao prijatelji. Kroz ovo mi i ne izgleda tako crno predviđanje Mitra Tarabića u Kremanskom proročanstvu da će "čovek više verovati svom sokoćelu nego komšiji". Šta zna Tarabić šta je kompjuter!

Mislim da upravo o ovom fragmentu budućnosti govori Artur Klark u Odiseji: "Just what do you think you are doing, Dave?..."

 


 

PC #6, oktobar 1995, rubrika KOMENTAR - Programski jezici

Skulptura od lego kocki

Svakako da umete da definišete hardver i softver, ali pazite da pritom ne uletite u zamku jedne predrasude. Evo kakve.

Kako izgleda tipičan softveraš? Bela košulja, kravata, Samsonit tašna (jer treba ostaviti dobar utisak i tako opravdati visok honorar), naočari sa primetnom dioptrijom (zbog stalnog gledanja u monitor), podočnjaci i bledilo zbog redukovanog sna (previše adrenalina u kasne noćne sate) i munjevito reagovanje na svaki zahtev naručioca posla, bez vidljivog mentalnog napora jer je mozak već dobro utreniran na polju logičke kombinatorike.

A tipičan hardveraš? Pogrbljena figura (jer je štampana pločica uvek na ivici stola, istisnuta instrumentima, kablovima, alatom i šoljicama sa sasušenim talogom od kafe), izbledeli džemper na kome nedostaju dva dugmeta (ko će da se doteruje kad je ionako cela radna soba u neredu), desni kažiprst i levi palac opečeni lemilicom, a na podu u kartonskim kutijama dovoljno komponenata da bi se u svakom trenutku od njih mogao sastaviti superkompjuter.

Da li je tako? Ako smatrate da jeste i da je time sve rečeno, onda mi dozvolite da se umešam.

Mada je po definiciji hardver sve što je materijalno i opipljivo u jednom digitalnom uređaju, ipak je hardverska delatnost mnogo više od pukog šrafcigerisanja i lemljenja. Hardveristi se skoro redovno bave i softverom, ali to nikad ne potenciraju kad se predstavljaju. Zašto? Oni su jednostavno osvojili jednu površinu koja se zove viši programski jezik, ali nisu ostali zadovoljni time nego kreću u osvajanje drugog nivoa - možda bi neko rekao nižeg, ali ja kažem dubljeg. Stalna potreba da se približe mašini tera ih da najpre ovladaju asemblerom, a onda kreću korak dalje, na prokleto klizav teren - "prljavo" programiranje, zaobilaženje BIOS-a, skokovi u pola instrukcije, sintetički (nedokumentovani) kodovi. Tako su započeli čačkanje po hardveru računara, doduše još uvek posredstvom tastature i procesorskih instrukcija, ali evo gde su neprimetno stigli - samo na jedan korak od projektovanja vlastitog hardvera. Izazov je tu, i eto... softveraš je evoluirao u hardveraša! Možete li da zamislite takav paradoks?

Staro ime za nove ljude

Ne bih baš dirao u samu definiciju, ali ako se složite, dao bih bar bliži opis delatnosti tipičnog hardveraša: to je sprezanje mašinskog koda mikroprocesora sa logičkim kolima okruženja. Ovde namerno ne kažem sprezanje PROGRAMA nego sprezanje MAŠINSKOG KODA, jer taj termin bolje odslikava nivo na kome se ova sprega odvija.

Već vas čujem kako negodujete: pa zna se šta je hardver a šta softver, čemu sad ovo redefinisanje i mešanje ta dva pojma? Pa eto, jednostavno, ja ne mogu da zamislim čoveka koji se bavi ČISTIM hardverom, a da pritom ne koristi blagodeti koje mu nudi softver; zato mislim da hardveraša u užem smislu treba zaboraviti i taj termin iskoristiti za hibridni soj koji postoji i čeka da dobije svoje ime.

Evo, pojasniću stvar. Pred vama je skala od 15 različitih pristupa digitalnoj elektronici, pa ćemo pokušati da u nju smestimo tipičnog softveraša i hardveraša (ili možda da svako od nas pronađe sebe i da se zapita koje novo područje bi želeo da osvoji). Videćemo da, kako se približavamo kraju skale, uglavnom opada strukturna a raste funkcionalna kompleksnost delatnosti.

1. Igranje akcionih igara

2. Igranje avanture

3. Rešavanje mozgalica

4. Rad sa aplikacionim programima

5. Rad sa spreadsheet programima

6. Viši programski jezici

7. C i srodni jezici

8. Asembler

9. "Prljavo" programiranje

10. Direktno programiranje periferijskih registara PC-a

11. Mikrokodiranje

12. PAL i GAL

13. Nezavisni mikroprocesorski sistemi

14. "Teški" hardver

15. Projektovanje procesora

Možda bismo običnog korisnika kompjutera mogli da smestimo u opseg od 1 do 4, tipičnog softveraša od 3 do 8, a hardveraša od 7 do 14 (samo besmrtnici mogu da osvoje tačku 15).

Probao sam, video da mogu...

Ostalo je još jedno zanimljivo pitanje: zašto hardveraši toliko forsiraju asembler na račun viših programskih jezika? Zar nisu viši jezici zgodniji za upotrebu, udobniji i lakši za rad?

Sve je to tačno. Već sam rekao da su hardveraši uglavnom započeli svoju kompjutersku delatnost baš sa višim programskim jezicima, "pretrčali" preko njih i nerado im se vraćaju (kao u onoj dosetki o seksu: probao sam jednom, video da mogu, i čemu sad ponovo?). Ali, šalu na stranu, možda ću se zameriti poklonicima jednog ili drugog, ali ipak ću izneti argumente za i protiv oba stila izrade programa.

Pitanje brzine izvršavanja mašinskih programa je već toliko puta obrađeno da je postalo neinteresantno isticati ga. Takođe, fizički obim izvršnog koda je izgubio na aktuelnosti u poslednjih nekoliko godina zbog enormnog povećanja kapaciteta diskova i RAM-a, pa ću radije ovaj prostor iskoristiti za druge aspekte poređenja ove dve vrste programiranja.

Viši programski jezici su superiorni u situacijama kad posao treba uraditi brzo i pouzdano, bez rizika od bagova i zaglavljivanja u ćorsokake. Takođe, mnogi od ovih jezika su znatno pogodniji za početnike. Lakše se ostvaruju programske strukture, naročito kad treba raditi sa racionalnim brojevima. Noviji programski jezici, koji rade u grafičkim okruženjima, izuzetno su pogodni su za programe u kojima treba postići visok estetski nivo i "user- friendly" komunikaciju sa korisnikom. Objektno orijentisani jezici čak omogućavaju programeru da bez određenog redosleda navede segmente programa, jer će se oni ionako izvršavati istovremeno.

S druge strane, ako zanemarimo superiornu brzinu izvršavanja programa, jedina prednost koju nudi asembler tiče se njegove fleksibilnosti i neograničene slobode koju ostavlja korisniku. Ne znam koliko vam znači jedan ovako apstraktan argument, ali ako program posmatrate kao skulpturu a programera kao vajara, onda će programiranje u višem programskom jeziku imati za rezultat skulpturu sastavljenu od Lego-kocki, a programer koji radi u asembleru će se naći pred mermernim blokom, naoružan teškim čekićem i klinom. Zna se kome je u ovom poslu lakše, ali baš me zanima koju od te dve skulpture biste radije videli u svojoj sobi?

 


 

PC #8, decembar 1995, rubrika KOMENTAR - Naravi i profesije

Mašine su humanije od nas

Sećate li se one priče Artura Klarka: Napravili ljudi jednu mega-mrežu, povezali sve kompjutere u jedan sistem da bi dobili odgovor na pitanje: da li ima Boga? I dobiju: sad ima...

Znam, i ja mislim da je to samo SF priča, ali sve drugo što ću reći je prokleto stvaran život, u kome smo se sticajem kosmičkih okolnosti zatekli, samo jednom u večnosti. Taj život nam je, kao 100 poena na početku video igre, poklonjen i moramo da ga provedemo tako da nam bude prijatan i da iza njega ostavimo neki zdrav plod, jer je to jedino što će mu dati smisao.

Naravno da čovek, da bi opstao, mora da bude efikasan u ostvarivanju svojih interesa, ali je tragedija ljudskog roda u tome što ima mnogo ljudi koji smatraju da u tom ostvarivanju imaju pravo da ugroze interese drugih. Ovakav način ponašanja, koji je skoro legalan u ljudskom društvu, nikad nećete pronaći kod kompjutera. Možda ćete reći da su virusi protivargument ovome, ali njih ne uzimam u obzir jer su to bolesni programi, proizvod ljudi koji su u tragičnom raskoraku između svog nesumnjivog tehničkog talenta i psihopatske strukture ličnosti.

Mnogo volim da upoznajem arhitekture novih mikroprocesora, u njima ima puno duha i ingenioznosti. Evo tek što sam završio pisanje teksta za umetak u časopisu, o jednom sjajnom Intelovom mikrokontroleru, sa kojim najradije pravim periferale. Nešto me je podstaklo na razmišljanje dok sam pisao poglavlje o prekidima, jer tu moram da navedem ko i u kom trenutku ima pravo da prekine procesor u radu da bi bio uslužen, pa i pod kojim uslovima on može da opozove nečije pravo, jer mu treba još hitnija usluga. I to samo zbog toga što vrši posao čije odlaganje bi bilo štetno za sistem, a ne zato što će ispod ruke da mu plati 10% od prometa ili što ima kuma u opštini koji poznaje sekretara komiteta. Pa, čija hijerarhija je onda poštenija? Kompjuterska ili naša, ljudska?

Sećam se primera iz psihologije koji objašnjava upravo pojam ljudske hijerarhije. Otprilike ovako: muž se vratio s posla nervozan i svoju fizičku nadmoć demonstrirao tako što je udario ženu. Ona ne može da mu uzvrati istom merom, ali se rasteretila tako što je udarila dete. I tako dalje, dete šutne psa, pas ujede mačku, možete da idete dokle hoćete, čak i na drugu stranu: muž je bio nervozan zato što se šef izvikao na njega, a ovaj opet zato što je direktor odjutros nakrivo nasađen jer... itd.

Pa šta smo mi onda, civilizovano društvo ili džungla? Dajte mi kompjuter, s njim se uvek radije družim nego s ljudima. S njim najbolje sarađujem, govorim njegovim jezikom a ako zatražim od njega i on će progovoriti mojim. Naivan je i dobronameran kao dete, a intelektualno nadmoćan kao superčovek. Zašto mi onda ljudi, koji su u zabludi da znaju šta je to kompjuter, stalno govore da je druženje sa mašinama nehumano?

Nikad nisam voleo da sa poklonicima društvenh nauka diskutujem o tako intimnim pitanjima kao što je izbor životnog poziva, posla kojim prehranjujemo telo i dušu. Nekad sam mislio da sam suviše mlad da bih shvatio u čemu su oni toliko superiorni u odnosu na nas koji se bavimo prirodnim naukama, ali evo ni sad u zrelim godinama ne shvatam razlog za njihovu prepotenciju. Da li nas činjenica da se bavimo mašinama a ne ljudima baš toliko degradira? Ne verujem.

Da bih izneo prvi argument u (ne samo) svoju odbranu morao bih svima koji se bave društvenim naukama da postavim pitanje ko vrši verifikaciju i procenu kvaliteta njihovog posla. Ako mi uzvrate istim pitanjem, prosto ću im odgovoriti da je u rezultatima našeg rada veoma lako razlikovati škart od kvaliteta. Kad kažem "našeg rada" ne mislim samo na konstruktore i autore programa, nego na sve "prirodnjake": lekare, meteorologe, arhitekte, da ih ne nabrajam. Pronađite mi samo jednog demagoga među njima ako možete, a da se nije odmetnuo od svoje struke i otišao u poslanike ili bar u opštinske funkcionere.

Moj drugi argument se odnosi na poštenje u poslu, ali ne na poštenje kao poštovanje zakona, jer je to pitanje za raspravu druge vrste, nego na druge forme poštenja. Poslužiću se primerom.

Poslednjih godina bili smo svedoci munjevitog bogaćenja cele armije naših novokomponovanih trgovaca. Oni su zasnivali profit na razlici između nabavne i prodajne cene, a da pritom robu nisu oplemenili radom, često ni videli.Dobro, tako se radi u celom svetu, ali to i nije ono što mi smeta - više me hvata nostalgija za vremenom kada su trgovci poštovali pravilo da je mušterija uvek u pravu, i kada su znali da nam za to što dobijaju duguju malo ljubaznosti.

A tek proslavljeni novokomponovani bankari? Znate na koje mislim, sigurno su vam u sećanju kilometarski redovi poniženih ljudi koji neće dobiti ni svoj novac a ni reč utehe u beznađu u kome su se našli. Najgore je kada pogledamo sudbinu krivaca za takvu nepravdu i shvatimo da živimo u društvu u kome se zločin isplati.

Ima li i od toga goreg? Ima: političari. Oni ne trguju ni robom ni novcem, nego ljudskim sudbinama. Nekada sam mislio da su političari pametni ljudi, Bogom dani da upravljaju društvom... a onda sam gledao prenose rasprava u Skupštini. O svemu tome ne mogu ništa više da kažem, samo ću apelovati na razum svih koji su u stanju da vole nekog političara. Ipak je idolopoklonstvu mesto u primitivnim plemenima.

Zašto o svemu ovome pišem? Ne znam kako da se u ovom nesrećnom društvu izborim za malo prava za one koji svoj hleb zarađuju kreativnim i poštenim radom, koji svoj posao započinju tako što se suoče sa praznim belim papirom ili crnim ekranom računara i onda se od njih očekuje da stvore nešto novo. Ivo Andrić je rekao: Najjeftinije se prodaju daroviti i sposobni ljudi, jer njih lukavi kupci najviše traže, a oni sami vrlo često nisu ni svesni svoje vrednosti. Tu treba tražiti uzrok mnogim od velikih ličnih tragedija izuzetnih ljudi.

 


 

PC #11, mart 1996, rubrika KOMENTAR - Terminologija

Znate li šta je kompjuter?

E, ovo je suviše. Toliko novca ste dali za njega, toliko vremena ste uložili u to da savladate DOS, Windows i razne aplikativne programe, umete čak i da programirate, a sad neko dovodi u sumnju da uopšte znate šta je to kompjuter! Naravno da znate! Za inat, nemojte dalje ni da čitate ovaj tekst!

Pošto vas očigledno nisam dovoljno naljutio (i dalje uporno čitate), reći ću vam da mi to nije ni bila namera, naprotiv. U znak pomirenja, preformulisaću svoje pitanje: šta mislite, kad kupite kućište sa matičnom pločom i svim onim što ide u to kućište, da li ste kupili kompjuter? Pazite, treba vam još tastatura i monitor, ali čak i ako to nemate, da li ipak možete da kažete da imate kompjuter?

Jeste li sad bar malo u nedoumici? Dobro, kupite tastaturu i monitor, i to ne običan, nego onaj koji u dnu ima LCD na kome piše u kom ste modu i koju rezoluciju koristite. Ovaj displej vam je, inače, potreban koliko i brisač bočnog stakla na automobilu, ali ako vam čini zadovoljstvo - opravdao je svoje postojanje.

Da se vratimo temi - može li se sad reći da ste kupili kompjuter? Evo najzad i mog odgovora: naravno da može, i to ne jedan nego bar pet ili deset kompjutera! A možda i više.

Gomila kompjutera u kompjuteru...

Problem koji smo upravo načeli nije samo terminološki, jer je ovde najmanje važno šta ćemo kako nazvati. Čak ćemo, kao nevažnu, zaobići i definiciju kompjutera. Mnogo je važnije da taj 386, 486 ili Pentium nije jedini mikroprocesor u sistemu koji se nalazi ispred vas, da ni taj skupi RAM nije jedini RAM, a oscilator (mada verovatno jeste najbrži) nije jedini dirigent nekog digitalnog orkestra. Ima ih još puno, i svaki od njih je kompjuter za sebe.

Krenućemo od tastature. U njoj postoji Intel-ov mikrokontroler 8049 (ili neki sličan) koji već u sebi ima RAM (samo 128 bajta, ali ipak je to RAM), a u njegov ROM od 2 KB upisan je program koji se izvršava isto kao i svaki drugi; oscilator diriguje, izlazne jedinice prozivaju kolone tastera, a ulazne očitavaju vrste, program verifikuje svaki pritisnut taster po sto ili više puta da bi se taj mali kompjuter uverio da ste ga vi zaista pritisli, a onda pošalje serijski kod tastera kroz tanki spiralni kabl do kompjutera...

Šta mislite, do kog kompjutera? Signal jeste kroz kabl stigao na matičnu ploču, ali on će poštovati hijerarhiju i prvo će se obratiti portiru - a i to je kompjuter za sebe! Ovaj je iz iste porodice i zove se 8042, ali i on ima sve što mu treba da bismo mogli da ga smatramo kompjuterom. Tek kad on pročita poruku od svog "brata" iz tastature i uveri se da glavni kompjuter nema važnija posla, proslediće ga njemu. Dakle, dva kompjutera rade na komunikaciji između tastature i matične ploče, samo da bismo imali tako tanak i elegantan spiralni kabl i da bismo mogli da spustimo tastaturu u krilo kada se udobno zavalimo u stolicu i podignemo noge na sto.

Isto tako je kompjuter i miš, kontroler diska, Sound Blaster, modem, mrežna kartica, štampač, skener, pa i većina monitora. Bez obzira što oni nisu tako univerzalni kao ono što smo navikli da smatramo kompjuterom, ipak svaki od nabrojanih periferala poseduje u sebi bar po jedan kompjuter.

...i ne samo u kompjuteru

Nepotrebno je nabrajati gde ih još ima: od Barbike koja govori, do nuklearne bojeve glave. Svakog dana spisak kompjuterizovanih stvari postaje sve duži. Zato se treba osloboditi predrasude da je kompjuter samo ono što smo navikli da smatramo da jeste. Ova predrasuda je češća nego što bi smela da bude, čak i kod stručnjaka. Ljudi su toliko navikli da rešavaju probleme pomoću personalnih računara, da su zaboravili da se neki projekti mogu ostvariti mnogo elegantnije specijalizovanim kontrolerima.

Nisam mogao svojim očima da verujem kada sam u jednoj ciglani video glomazni 386 sa monitorom i tastaturom kako preko analogno-digitalne kartice očitava temperaturu, da bi posredstvom relejnog interfejsa uključivao grejače i tako regulisao temperaturu u peći za pečenje cigle. Celog dana sam proučavao projekat, jer je trebalo da unesem neke izmene, i na kraju sam bio potpuno poražen činjenicom da nema nikakve obrade ili akvizicije podataka, pa ni očekivanog PID regulatora - 386 radi kao običan termostat!

Drugi primer je iz jednog zimskog turističkog centra. Trebalo je projektovati sistem za akviziciju podataka, radi statističke obrade. Tridesetak podcentara bi radilo u drvenim kućicama, na temperaturi i do trideset stepeni ispod nule, sa vetrovima koji ponekad dostižu orkansku jačinu. Investitor je, iz sebi znanih razloga, tražio da to budu PC računari, a da se podaci prenose na disketama do centra. Srećom, dozvolio mi je da ga ubedim da takvi uslovi nameću sasvim drugačija rešenja, koja su ne samo sigurnija u eksploataciji, nego i jeftinija.

Zasad ljudi u svom telu nose kompjutere samo u protezama i medicinskim pomagalima, ali je samo pitanje vremena kad će početi da se ugrađuju i u zdrave ljude, ne bi li im poboljšali performanse. Prognozira se, recimo, da će se u krvotok ubrizgavati minijaturne inteligentne podmornice sa zadatkom da čiste krvne sudove od štetnih naslaga! I šta mislite, da će se kroz kapilare kretati Pentium-i u midi tower kućištima? Naravno, ne! Biće to remek-dela mikronske mehanike, elektronike i softvera. I svaki od njih će biti kompjuter za sebe.

 


 

PC #14, jun 1996, rubrika KOMENTAR - Školstvo

Tri apsurda, nigde 'lada nema

Au što je škola zgodna,

Leči tugu i samoću

K'o da mi je kuća rodna,

Šteta što ne radi noću...

-------------------------------Ljubivoje Ršumović

 

Verovatno su mnogi ovu pesmu shvatili kao parodiju na poslovičnu odbojnost između škole i učenika. To ne treba ni dokazivati: primetili ste kako đaci polako, nogu pred nogu, odlaze u školu, i kako razdragano trče iz nje posle nastave! I mnogi učenici će posvedočiti da ova odbojnost postoji, ali poslednjih godina se događa nešto što bi moglo da utiče da se stvar popravi na obostranu korist: za uvođenje informatičkog obrazovanja nisu zainteresovane samo škole, već - gle čuda - i deca! Mladi ljudi su do te mere fascinirani mogućnostima kompjutera da su požurili da se sami obrazuju na tom polju i, naravno, uspelo im je.

Prvi apsurd: ko od koga uči?

Tako smo stigli do prvog apsurda - dogodilo se da u jednoj oblasti učenici nemaju šta da nauče u školi, i da to nikome ne smeta, jer ionako znaju više i od svojih nastavnika i od onih koji su pravili programe nastave.

Sve je to zavera koju su nam priredili Amerikanci, jer su diktirali tako brz razvoj informatičke tehnologije, da jedan tako glomazan i inertan sistem, kao što je naše školstvo, nikako nije mogao da ga prati. I šta se dogodilo? Nastavnici su se odjednom našli na terenu na kome njihov autoritet ne funkcioniše, jer sa kompjuterima nema foliranja: odmah se vidi ko ih poznaje, a ko ne. Nedavno je Sezam Pro bio teren na kome se odvijala živa diskusija o stručnosti nastavnog kadra: poruka jednog korisnika (username Magnus) o nastavnici informatike koja je standardnu PC tastaturu uključila u 5-polni DIN konektor na poleđini običnog EI televizora i očekivala da takav hipotetični "kompjuter" proradi, izazvala je kod ostalih učesnika konferencije buru ogorčenih reakcija, u stilu: "pa posle kažu - rađaj decu i šalji ih u školu."

Plašim se da će nastavnicima za povratak autoriteta biti potrebno mnogo rada i učenja, bar onoliko koliko to i od svojih učenika zahtevaju, da bi dobili prelaznu ocenu i da bi u školskoj hijerarhiji ponovo svaka stvar došla na svoje mesto. Situacija nije zavidna, to znamo, ali najlakše je nabrojati probleme i konstatovati tuđe greške, a najteže pronaći rešenje za izlazak iz ćorsokaka u kome smo se našli. Šta da se radi?

Drugi apsurd: kako izučiti nauku?

Zašto ne bismo, za početak, pitali decu šta im najviše odgovara? Naprimer, da se među učenicima sprovede anketa sa pitanjem kakvu informatičku nastavu bi želeli. Oni će imati ideje i sa puno ozbiljnosti će predlagati rešenja; ako se ponudi mogućnost da se iz školske nastave potpuno izbaci informatika, takav predlog učenici neće prihvatiti. Oni samo hoće nastavu u kojoj će imati šta da nauče, i to na način koji je primeren predmetu koju izučavaju... i evo, stigosmo do drugog apsurda: kako se to izučava informatika u našim školama?

Čast izuzecima, ali u većini škola se radi tako što nastavnik nabraja činjenice ili piše po tabli, a učenici pišu u sveske i bubaju sve to napamet. Najgori moguć način! Ako se učenicima u ovim uslovima nisu već smučili kompjuteri, onda je to samo zato što je ljubav prema njima tako jaka da mogu da im progledaju kroz prste takav pristup.

Škole za ovakav način nastave imaju dobar izgovor: nemaju dovoljno novca ni za lične dohotke, a kamo li za neke tamo komjutere! Ipak, nijedan problem nije nerešiv ako postoji dovoljno jak motiv: većina nas bi mogla da posvedoči da često ima problem nedostatka novca za golo preživljavanje, pa smo opet nekako došli do kakvog-takvog hardvera (o softveru ne govorimo, jer smo taj problem rešili na drugi način). Znači, može se! Pre bi se reklo da je problem u nedostatku ideja, dobre volje i truda da se pronađu sponzori, a najlakše od svega je slegati ramenima i izgovarati se činjenicom da niko neće da pomogne.

Treći apsurd: ne treba mi, al' ne dam!

Za treći apsurd smo svi pomalo krivi: jedna lepa mogućnost da pomognemo našoj deci čami negde po uglovima naših soba i skuplja prašinu. Zaista, baš sam hteo da upitam šta ste uradili sa starim matičnim pločama, zastarelim video kartama, monohromatskim monitorima i diskovima kapaciteta 40 Mb? Kad ste poslednji put uradili neko dobro delo? Najbliža škola će biti zahvalna za ono što vam više ne treba, i sigurno će umeti to da iskoristi. Nemojte da mislite da nije zgodno da poklanjate zastarelu opremu, čija materijalna vrednost je sada tako mala; svi kompjuteri starijih generacija su još uvek isto toliko dobri kao i u trenutku kad ste ih kupili. Tada su vam dobro poslužili, pa zašto ne bi isto tako služili i nekome ko bi rado naučio programiranje, a nije u situaciji da bira? Zauzvrat ćete dobiti satisfakciju da, kad s prijateljima prolazite pored te škole, možete da se napravite važni i nonšalantno kažete: "... a njima sam poklonio svoj stari kompjuter". To i sam radim svaki put kad prolazim pored jedne osnovne škole i, da vidite, nije loš osećaj.

 


PC #16, septembar 1996, rubrika KOMENTAR - Tehnologija

Knjiga je mrtva-živeo CD

Panika je zavladala među izdavačima koji decenijama drže monopol na tržištu pisane reči. Hoće li im binarna mašina oteti hleb iz ruke?

Izgleda da ljudi koji u svojim rukama drže sve konce kulture, i koji bi po prirodi svog posla morali da se ponašaju kao džentlmeni, polako počinju da pokazuju svoje drugo lice. Uzrok njihove frustracije je pojava novih medijuma, pre svega CD ROM-a i Interneta. Uglavnom ćete ih čuti kako agituju za staru dobru knjigu zato što je sve drugo osim nje grubi atak na umetnost, ali ne verujte im: oni su se samo uplašili za svoj profit, i ništa više.

Kad se u prošlom veku pojavila fotografija, slikare i galeriste je isto tako zahvatila panika: propadosmo, šta ćemo sad? Ovaj šok je imao i produženo dejstvo, jer dugo posle toga fotografija nije bila priznata za umetnost sa izgovorom da je u svom postupku sadržavala i neke tehničke postupke, koji su joj, po rečima protivnika, "oduzimali dušu". Koliko nisu bili u pravu, vidimo tek sad, kad je fotografija priznata za nezavisnu umetnost, koja ničim ne ugrožava slikarstvo. Slična priča se može ispričati i za film.

Sada, u sukobu papir - kompjuter, situacija je čak jednostavnija: pisana reč će ostati to što je bila, rečenica neće promeniti svoju formu, samo će se pogled čitaoca kretati po drugom materijalu. I šta će se time promeniti? U zavisnosti od ugla gledanja, i ništa i sve.

Ništa, jer će i pisci i njihova dela ostati to što jesu. I dalje će postojati loša, osrednja, dobra dela i remek - dela. Rečenica jednog Ive Andrića ima istu snagu bez obzira da li je napisana rukom na belom salvetu, u skupom izdanju sa tvrdim povezom ili u hipertekstu.

Sve, jer će nestati glomazne biblioteke, a umesto njih će se pojaviti CD ROM- ovi ili neki još pogodniji medijumi, ili čak ni to - baze podataka Interneta će sadržati sve što je ikada igde na svetu napisano.

Kao svaka dosad, tako će i ova revolucija u komunikacijama snositi krivicu za veliki broj oštećenih i zaslugu za još veći broj dobitnika, među kojima će svakako biti pirati, telefonske kompanije, provajderi i proizvođači elektronske opreme. Oštećeni će biti izdavači, jer će se srušiti dobro uhodan mehanizam sticanja dohotka, zatim miševi, jer neće imati šta da grickaju u bibliotekama, pa snobovi i skorojevići, jer neće moći da kupuju "metar plavog Dostojevskog za regal", a možda i pisci, jer će i njihov dohodak biti ugrožen. Ipak, ova poslednja tvrdnja zahteva malo više prostora, jer se bavi kategorijom ljudi koji zaslužuju posebnu pažnju.

Hoće li s knjigom izumreti i pisci?

Hteli oni to ili ne, moraće da podele zlu sudbinu sa programerima, koji su verovatno najviše pokradena profesija u istoriji. Pa i pored toga, programeri i softverske kuće nikako nisu siromašni, naprotiv. Način distribucije njihovih proizvoda, zbog niskih troškova, omogućava takve profite da se kao od šale pokrivaju gubici zbog piratovanja i kopiranja "na crno".

Verovatno će isti način distribucije i zaštite svojih proizvoda preuzeti i izdavači književnih dela. Koliko će oni umeti da se snađu u tome ostaje da se vidi, ali pisci neće biti ugroženi. Naprotiv, "knjiga" (ovaj termin, nadamo se, nikad neće izumreti) biće jeftinija, dostupnija čitaocu, postojaće prava tržišna selekcija i tako će pisci izaći na međusobni megdan u kome će kvalitet dela biti jedino oružje. Evo i ilustracije za tu tvrdnju: mladi, neafirmisani pisac smatra da je stvorio delo kojim zaslužuje izlazak iz anonimnosti. Njemu neće trebati naklonost izdavačke kuće, privatne veze ili pripadnost klanu: niski troškovi "štampanja" dela na CD-u će mu omogućiti da realizuje privatno izdanje, i da tako sam vidi (pa i da pokaže drugima) na čemu je, a preko elektronske pošte će ostvariti povratnu spregu u smeru čitalac - autor.

Ovde pominjemo samo književnost, ali isto se odnosi i na mnoge druge umetnosti, jer tehničke mogućnosti, koje se upravo ovih godina pred našim očima rađaju i razvijaju, svakako će uzrokovati i stvaranje mnogih hibridnih multimedijalnih umetnosti. Ovakav "novi umetnički poredak" će imati dosta protivnika, pre svega u grupaciji ljudi koji zbog skučenih mentalnih kapaciteta u startu imaju otpor prema svemu novom, ali i kod onih čiji senzibilitet je selektivno izoštren samo na klasične umetnosti. Ovima prvima nema pomoći, a drugi neće biti ugroženi jer će uvek moći da, recimo, odu u galeriju i vide dela Renoara ili da zauzmu svoje mesto u koncertnoj dvorani i odslušaju Betovenovu Koriolan uvertiru u izvođenju klasičnog orkestra.

A kad će to biti?

Što se knjige tiče, već je počelo. Neke kategorije knjiga, kao što su katalozi, rečnici i enciklopedije, već su se odomaćile na CD-ovima. U zadnje vreme se najavljuju pa čak i pojavljuju neka umetnička književna dela (recimo, Pavićev Hazarski Rečnik), ali objektivno gledano trenutak za to još nije došao. Razloga za takav zaključak ima više.

Prvo, računari i periferije, a naročito monitori i LCD ekrani, još uvek nisu dovoljno tehnološki usavršeni da bi mogli da konkurišu papiru kao nosiocu pisanog teksta. Za oči je mnogo manje naporno da gledaju u papir nego u elektronsku sliku, a osim toga nije lako poneti računar (čak i ako je to notebook) na sva mesta gde bismo čitali knjigu, recimo u krevet, na plažu ili u zubarsku čekaonicu.

Drugo, još uvek nije premašena kritična masa personalnih računara kod krajnjih korisnika, a to su čitaoci knjiga (ili, šire gledano, konzumenti svih umetničkih dela), dakle svi pismeni ljudi koji poseduju bar minimum kulturnog nivoa. Onog trenutka kad dovoljan broj ljudi bude imao računare, međusobno dejstvo između računara i CD-ova će usloviti eksponencijalni rast obe kategorije, sve do zasićenja tržišta.

Treće, dosta vremena će trebati da se prevaziđe psihološka barijera koja nas sprečava da menjamo navike. Klasične biblioteke su vekovima bile simboli kulture, i u njih niko osim pravih ljubitelja knjige nije zalazio. Računar je, nasuprot tome, već dobio lošu reputaciju: osim toga što je proglašen za običnu tehničku novotariju bez duše, on je doneo i video igre koje nam "kvare decu", kompjuterski kriminal, piratovanje softvera, viruse... ko će verovti da on može da nosi i nešto plemenito, kulturno, umetničko?

Papir se manje koristi, a više troši

Ipak ne treba preuraniti sa zaključcima, jer smo nedavno bili svedoci jedne loše procene uticaja računara na klasične tehnologije intelektualnog rada. Niko nije sumnjao u to da će zahvaljujući računarima papir biti sve manje potreban u kancelarijama, čak su i proizvođači papira počeli da prave paniku jer su se uplašili da će izgubiti tržište. Desilo se upravo suprotno, a kao primer neka posluži redakcija PC Press, koju smatramo prototipom savremene izdavačke kuće: nikad nijedan saradnik nije doneo tekst na papiru, sve stiže isklučivo na disketama ili preko elektronske pošte (čak i skice i ilustracije), fotografije se rade digitalnim kamerama, prelom teksta je kompjuterski, gotov časopis odlazi na filmovanje na magnetooptičkom medijumu, arhiviranje je na CD-ovima... reklo bi se da nigde nema papira, pa ipak je njegova potrošnja izuzetno visoka, i sve više raste. Otkud to? Jednostavno, kad imate brze laserske štampače onda lako odlučujete da odštampate međuvarijante prilikom korekture ili preloma teksta, često i po više primeraka "da se nađe"... ne treba vam pola sata da biste ispisali rukom ili pisaćom mašinom celu stranu, nego papir samo leti... a proizvođači samo trljaju ruke.

ta će se u budućnosti događati s knjigom, pa i sa ovakvim časopisima? Možemo samo da nagađamo, ali definitivan odgovor neće zavisiti od naših procena ili nečijih interesa, zato sve navedene prognoze primite samo kao "razmišljanje naglas". Pre nekoliko hiljada godina kamena ploča i dleto su ustupili mesto glinenoj ploči i klinastom pismu, a ova opet životinjskoj koži, pa papirusu, pa onda papiru kakav danas poznajemo... i u tim prelomnim trenucima niko nije mogao da spreči progres; tako i sada, dogodiće se ono što će biti najbolje za čovečanstvo. Zato nema mesta strahu.

 


 

PC #18, novembar 1996, rubrika KOMENTAR - Virusi

Nek' komšiji crkne krava

Kompjuterski virusi nisu vanzemaljskog porekla, nisu delo mafije ili špijunskih organizacija. Njih prave ljudi kao što smo vi ili ja, ljudi pored kojih prolazimo na ulici i s kojima se družimo... kakvi su to ljudi?

Nemamo razloga da ne pomislimo da su i autori virusa ljudi koji imaju svoje porodice, koji su zabrinuti za svoju decu kad su bolesna, ljudi koji imaju kompjutere sa fajlovima do kojih im je stalo i koji su nesrećni kad im u taj kompjuter odnekud uleti virus i napravi dar-mar po disku. Sigurno je da raspolažu solidnim tehničkim talentom i iskustvom, jer im je to neophodno da bi realizovali tako "prljave" i nevidljive programe kao što su virusi. Pa ipak, mada imam dosta prijatelja koji ispunjavaju ove uslove, pouzdano znam da oni ne prave viruse. Mora biti da postoji još nešto što pokreće čoveka da postane "loš momak".

I pre nego što su se pojavili kompjuteri, psihogija je upoznala i proučila ljude koji imaju potrebu da čine zlo drugima, čak i onda kad nemaju nikakve koristi od toga. To su psihopate, ljudi koji mogu dugo da se ponašaju kao zdravi, pa ih je zato teško prepoznati i dijagnostikovati, sve do trenutka kad se steknu određeni uslovi, a onda obavezno "procuri" i mračni deo njihove ličnosti. Ovaj poremećaj je stvoren u detinjstvu, i obzirom da je postao deo temelja na kome je izgrađena ličnost, smatra se da je poremećaj definitivan i da je nemoguće izmeniti psihičku strukturu ovih ljudi. Ako takav čovek nema neku posebnu sklonost i talenat, onda psihofizički maltretira članove svoje porodice, naravno one slabije od sebe. Za volanom se trudi da stigne i udari psa ili goluba i beleži sebi pozitivan poen ako u tome uspe (deset poena ako ga pritom ubije). Ako ima harizmatičkog dara za narodnog vođu i napravi političku karijeru, onda ukida građanske slobode, stvara kazamate u koje zatvara neistomišljenike i vodi narod u rat, a ako ima tehničkog dara i dobro poznaje kompjutere, onda... naravno, pravi viruse.

Ako mislite da je ovakav psihološki profil autora virusa suviše strog, verovatno ste pomislili da se ovim samo rasterećujem radi lošeg iskustva sa virusima. Razuveravam vas: zahvaljujući dobroj preventivi nikad nisam imao virus u svom kompjuteru. Svi stavovi koje ovde navodim su napisani bez gorčine i afekta, a da bih to potvrdio navešću zaključak koji je još oštriji, ali s kojim ćete se i sami složiti: autori virusa su, za razliku od većine drugih psihopata, odabrali domen u kome ne moraju da gledaju svojoj žrtvi u oči dok joj čine zlo. Dakle, imamo pravo da ih proglasimo i za kukavice... pa recite sami, šta mislite o takvim ljudima?

Najezda virusa zbog kolektivne frustracije

Posebno je zanimljiv podatak da većina novih virusa (oko 80%) dolazi iz bivših socijalističkih zemalja. Da li smemo da na osnovu toga zaključimo da su celi narodi imali "nesrećno detinjstvo" i da se sada zbog toga svete civilizovanom delu čovečenstva, ili je samo opšti pad moralnih kriterijuma stvorio pogodno tle da njihova bolest preraste iz latentnog u manifestni oblik, a možda je posredi i nešto treće? Da bismo bolje rasvetlili uzroke koji dovode do ovoga, uspostavićemo paralelu sa pojavom koju duže i bolje poznajemo: ispisivanje grafita po fasadama zgrada.

Mada za ovakvo "umetničko" delo u nekim zemljama sleduju drastične kazne, kod nas se na to gleda sa simpatijama, pa se čak u nekim medijima organizuju i konkursi za najbolji grafit. Svako od nas će imati svoj stav o ovome, ali to sad nije važno: interesuje nas samo ličnost autora, jer grafiti i kompjuterski virusi imaju puno zajedničkih osobina: zagađuju okruženje u kome živimo i radimo, čine materijalnu štetu, delo su ljudi koji su dovoljno hrabri da realizuju svoju ideju a u isto vreme su kukavice pa to rade samo kad ih niko ne gleda i, što je najinteresantnije, nose pečat autora: neku vrstu potpisa, nešto što ih bar donekle izvlači iz anonimnosti. Upravo ovo poslednje je najvažnije za analizu u koju smo se upustili: dozvoljava nam da zaključimo da su to ljudi kojima nije bilo omogućeno da na neki drugi način iskažu svoje kvalitete, pa sad rade nešto što ih dvostruko zadovoljava: javno pokazuju svoj talenat i svete se svima koji su ih sprečili da to učine na bolji način.

Onaj ko je dosta putovao, zna u kojim delovima sveta ima najviše grafita: u siromašnim urbanim zemljama ima ih skoro svuda, na zapadu samo u getima i dubokim periferijama u kojima žive nezadovoljni ljudi sa neregulisanim socijalnim statusom, a u stabilnim bogatim zemljama severne Evrope skoro da ih uopšte nema. Iz ovih zemalja ne samo da dolazi najmanje virusa, nego su odatle potekli i najkvalitetniji antivirusni programi: FPROT sa Islanda i TBAV iz Holandije. Nikakvo čudo, jer u ovim zemljama je uspostavljen pravedan i efikasan sistem vrednosti, tačno se zna ko koliko vredi i čiji rad koliko košta... svakom ko ima talenta, omogućeno je da ga iskaže na način koji će mu obezbediti poštovanje okoline i materijalni prosperitet. Naravno da je takvom čoveku ispod dostojanstva da razmišlja o pravljenju virusa.

Kako se boriti protiv napasti?

Svako od nas već zna na koji način da umanji mogućnost da njegov kompjuter "upeca" virus. To su obične "safe sex" metode: izbegavanje učitavanja programa sa potencijalnih "žarišta" (pre svega od pirata koji distribuiraju nelegalne kopije programa), pomno testiranje svake datoteke koja ulazi u kompjuter (čak i onih fabričkih, legalnih) i korišćenje samo onih programa koji su nam zaista potrebni, bez suvišnog "kolekcionarstva".

Ali, kako se boriti da se smanji broj novih virusa i autora koji ih prave? Teško da za ovo postoji način koji bi bio efikasan. Zakonsko sankcionisanje nema efekta, jer je u ovoj oblasti "savršen zločin" najlakše ostvariv. Izgleda da nam ne prostaje ništa osim da čekamo da u tim ljudima proradi savest i da sami izmene svoje stavove, a to je već čista utopija. Znači, ništa: živećemo i dalje u svetu u kome ravnopravno postoje i dobro i zlo.

Hipokrat se prevrće u grobu

Viruse ne prave monstrumi sa dugim očnjacima i crvenim beonjačama, već ljudi čiji spoljni izgled i ponašanje neće otkriti njihovu prirodu. Tek u razgovoru s njima možda ćete doći do zaključka s kim imate posla.

Sticajem okolnosti nekoliko dana sam proveo u bolnici, gde sam upoznao jednog mladog lekara - stažistu. Kad je čuo čime se bavim, započeo je razgovor jer su nam računari bili tema zajedničkog interesovanja. A onda mi je, valjda sa idejom da razmenimo tehnička iskustva, saopštio nameru da napravi "svoj" virus i da ga pusti u opticaj... čovek koji se po svojoj volji opredelio za posao u kome će lečiti bolesne, koji će u svojim rukama držati nečije zdravlje ili život, koji je položio Hipokratovu zakletvu...

Neka mi oproste svi ti plemeniti i hrabri ljudi koji rade najhumaniji posao na svetu, ali ubuduće ću dobro paziti kome poveravam svoje zdravlje.

 

Autor teksta se zahvaljuje dr Rajku Trikiću, psihijatru, za stručnu konsultaciju.