IT Industrija
🔥 Najčitanije
🔥 Najčitanije
Prošlog meseca Startit je ugostio Voju Antonića, pronalazača, filmskog montažera i publicistu, koji je održao predavanje o programiranju u ranim danima računarske ere. Tu priliku smo iskoristili za intervju s njim.
Njegov prvi projekat, po konceptu Konvejovog Game of Life, bilo je iscrtavanje evolucije uz pomoć mikroprocesora na matrici od 16×16 svetlećih dioda. Posle toga je još mnogo projekata uradio kao i taj — ručno asemblirajući na papiru. Tek je ‘70-ih, u vreme kada je bilo zabranjeno uvesti išta vrednije od 50 maraka, iz Amerike dobio svoj prvi mikroračunar. Da bi izbegao pravila o uvozu zamolio je prijatelje koji su mu ga slali da preseku trakasti kabl kojim su bile vezane ploče računara i pošalju ih odvojeno.
Prošle su godine u analiziranju softvera i razvijanju asemblerskih znanja pre nego što je u časopisu „Galaksija” prvi na ovim prostorima objavio kako na principu samogradnje napraviti računar koji je on sam konstruisao. Jedan takav Galaksija računar danas stoiji u Muzeju nauke i tehnike u Beogradu. Sa njegovim autorom, Vojislavom Antonićem, razgovarali smo o tome šta je za njega značila buvlja pijaca, kako je shvatio u čemu je štos sa mikroprocesorom, velikim stvarima koje je uradio zato što mu je bilo dosadno na moru, o tome da i neki tamo Bil Gejts greši i da je sada vreme da ode u Ameriku i proveri da li tamo znaju da „Pre i posle jela treba ruke prati”.
Od početka sam imao problem. Morao sam da ratujem s ocem koji mi nije dozvoljavao da se bavim tim stvarima. To su za njega bile stvari koje rade majstori i zanatlije, oni kojima su ruke ceo dan prljave, a on je hteo da budem gospodin čovek. Da imam belu košulju, tašnu, mašnu i kako to već ide. Zato mi je uništavao ono što bih napravio, pa sam sve morao da sakrivam od njega. Ali pošto on to nije uspeo da uguši u meni od samog početka, onda je to valjda postojalo i bilo neuništivo.
Otkud znam. Ništa ja to nisam otkrio. U prvoj polovini šezdesetih godina sam živeo na Karaburmi. Dole u Višnjičkoj ulici, pored Dunavca bio je jedan niz otpada. Otpada na kom je bila gomila neke tehničke robe koja je odbačena. To je za mene bio pravi raj. Verujem da su to vreme i ti otpadi odredili moju budućnost, moju profesiju, moja usmerenja, interesovanja i sve ostalo. Za mene je bilo veliko zadovoljstvo da čeprkam po tim starim krševima. Novim stvarima nisam imao pristup. Naročito kao klinac. I dalje jako volim da odem na neku buvlju pijacu. Ali ne na ove kultivisane buvlje pijace, nego one na kojima se po zemlji prodaju tehničke stvari prostrte na neku krparu.
Tamo sam nalazio prve elektronske komponente. Na otpadu sam mogao da nabavim neke stare otpornike, kondenzatore… Tada tranzistore i diode još nisam video svojim očima. Postojali su negde, ali su za mene bili preskupi. Diode sam kupovao kod jednog radio-mehaničara koji je prodavao diode koje je odnekud skidao i razlemljivao. Germanijumskih tranzistora takođe nije bilo. Zapravo ih nije bilo nigde u Beogradu. Mogao sam da ih kupim u Zagrebu. Čuo sam da postoji negde u Frankopanskoj ulici prodavnica koja prodaje tranzistore koji su proizvedeni u Nišu u Eletkronskoj industriji. To su bili AC 540 i 541 germanijumski tranzistori, pa sam iskoristio jednu ekskurziju kada sam bio u osnovnoj školi da odem i pronađem tu Frankopansku ulicu. Našao sam je, kupio sam te tranzistore i počeo sam da eksperimentišem s njima.
Meni je nedostajalo znanja iz elektronike, a digitalna tehnika ima tu prednost da vam ne treba poznavanje elektronike. Odnosno, treba vam vrlo plitko poznavanje jer sve komponente rade u nekom nelinearnom režimu. Tako sam ja tada sa tim tranzistorima koje sam kupio izmisio flip flop (bistabilno kolo, prim. aut.). Mislio sam da sam ga izmislio, naravno. Nisam znao da već postoji.
Isto tako sam i ranije, kada sam se igrao sa diodama, mislio da sam izmislio Grecov spoj. To je onaj talasni ispravljač. Nisam znao da je 100 godina pre mene neko drugi to već izmislio. Nisam znao šta je naizmenična struja, pa sam tim spojem pokušao da ispravim struju tako da ako priključim neki motor gde je važno koji je polaritet, ne bude važno kako bateriju okrenem. Pošto su to bile jako slabe diode, a motor vuče po nekoliko ampera struje, sve je u istom trenutku puklo i razletelo se po celoj sobi. Što nije važno. Važno je da sam ja izmislio Grecov spoj.
Pošto sam već izmislio flip flop (smeh), počeo sam da pravim svoje prve sklopove sa tranzistorskom logikom. To su bili neki digitalni satovi, uglavnom oni sa nixie cevima. Eto, napravio sam neki. Nemam ga odavno zato što sam svaku stvar koju sam napravio morao da rasklopim jer su mi bile potrebene komponente za sledeći projekat. Međutim, ono što je 70-ih godina počelo da se probija bio je mikroprocesor i mene je jako zanimalo šta je to.
Svi su pričali o tome i pisalo se dosta o tome, ali ja nikako nisam mogao da ukapiram u čemu je štos, kako to radi kompjuter i kako to radi mikroprocesor. Tražio sam u literaturi. Imao sam pristup časopisu „Byte”, ali tu nije bilo objašnjene teorije za nas amatere. Imao sam pristup i časopisu „Elektor” koji je bio nemački. Ja nisam znao nemački ali sam imao druga koji znao dobro nemački i prevodio mi je sve što sam hteo, ali opet nisam mogao da pronađem to što me je interesovalo.
I tako sve dok nisam slučajno došao u posed jedne knjige koju je moj kum Zoran kupio misleći da će mu to biti potrebno. Tu su bile objašnjene samo instrukcije Zilog procesora Z80, ali na vrlo suvoparan način koji je i meni bio obeshrabrujući. Međutim, ja sam u jednom trenutku imao onaj „aha” doživljaj. Odjednom mi je puklo pred očima i shvatio sam o čemu se radi. Na jednoj stranici je bila objašnjena najjednostavnija moguća instrukcija – kopiranje podataka iz jednog registra u drugi registar. Video sam da je to nekakav dekoder instrukcija.
Meni tada nije samo bilo jasno na koji način radi mikroprocesor, kako to može da se iskoristi, nego mi je odjednom bila jasna i funkcija i struktura. Ja, naravno, tu noć nisam spavao. Ujutru sam počeo da pravim svoj prvi mikroprocesor.
Od samog početka je to bilo vrlo ozbiljno. To je bilo negde ‘76, ‘77. godine kada sam ukapirao kako radi mikroprocesor i u čemu je tu štos. Doduše, tada nisam imao kompjuter niti sam znao šta je to asembler niti šta se kako piše niti šta se kako programira. Nikakva pravila nisam znao, nego sam to morao po nekom svom instinktu da radim. To što nisam imao asembler znači da sam asemblirao ručno na papiru i sve instrukcije sam morao da držim u glavi. Sve sam prevodio u nule i jedinice direktno iz glave. Ako ubacim jednu jedinu instrukciju, sve ostalo se pomera, sve one nule i jedinice koje slede su drugačije. Onaj ko je radio programiranje u asembleru zna da to sve asembler radi sam.
Nisu bile ni prve stvari ni prvi kompjuteri. Arbitar je bio sistem za merenje vremena na smučarskim takmičenjima. To su bili sistemi koji liče na današnje laptopove. Bilo je pet takvih uređaja i oni su bili ugrađeni u Samsonite tašne. Bili su portabl uređaji, pa su mogli da se nose na brdo gde su se održavala sportska takmičenja. Oni nisu radili samo merenje vremena, nego kompletnu obradu. Postojao je mali štampač koji je izbacivao tabelu učesnika i taj sistem je prvi put zvanično bio upotrebljen ‘83. godine na Balkanskom šampionatu u smučanju. FIS (Internacionalna smučarska federacija) je tada testirao uređaje i dali su zeleno svetlo da to može da se tretira kao oficijalno vreme.
Nastala je u Crnoj Gori na letovanju. Za mene su letovanja na moru beskrajno dosadna jer nema šta da se radi. Tamo sam uzeo svesku i na plaži počeo da pravim neke svoje projekte i crtam. Tu sam prvi put došao na ideju kako može jednostavno i ekonomično da se napravi video jedinica koja je bila najkomplikovanija stvar za tadašnje kompjutere. Cena kompjutera je uvek zavisila od složenosti video jedinice. Ja sam došao na zamisao kako to može vrlo jednostavno da se reši, da se napravi kompjuter koji je loš kompjuter, spor do bestraga jer četiri petine vremena troši na generisanje slike, ali je to ipak bio kompjuter.
Shvatio sam da takav računar radi i može vrlo jednostavno da se napravi, pa sam pomislio „Zašto da ne ponudim još nekome?” Onda sam rešio da ću to negde da objavim kao do it yourself projekat. Časopis „Galaksija” je objavljivao specijalno izdanje o računarima koje je trebalo da se zove „Računari u vašoj kući”. Povezao sam se s Dejanom Ristanovićem, čovekom koji je trebalo to da piše, i ispričao mu svoju ideju, na šta je on rekao: „Kako da ne. To bi bilo divno, da za prvi broj bude neka samogradnja” i tako mi krenemo.
Sećam se da smo, kad smo predali tekstove u štampu, Jova (glavni urednik), Dejan i ja sedeli u redakciji i razgovarali. Tad je Jova upitao: „Šta mislite, koliko ljudi će da napravi taj računar?” Ja sam rekao da bih bio presrećan kada bi ih bilo 50, Dejan je prognozirao između 100 i 200, a Jova nam je poručio da smo naivni i da će ih biti 500. To je u tom trenutku zvučalo kao preterivanje. Međutim, posle nekoliko meseci su mi pokazali jednu gomilu u uglu prostorije na kojoj je bilo 8.000 pisama od ljudi kojima je pošlo za rukom da naprave računar.
Zbog čega sam i sve drugo radio. Meni je to bio cilj. Kasnije, kad je objavljen prvi broj časopisa, pojavila se neka firma sa Istre koja je distribuirala komponente, uvozila ih je iz Austrije i prodavala ih zajedno sa programiranim EPROM-ima. Oni su finansijski lepo prošli. Kada sam na kraju izračunao koliko su toga oni prodali, ispostavilo se da su zaradili više od milion tadašnjih maraka. To bi teoretski trebalo da me potrese, ali nije me potreslo. Njima je to bio cilj, meni je nedostajalo pohlepe da bih tako nešto uradio.
Jeste, ona je ukradena. Ono što nisam umeo je da napravim floating point aritmetiku jer mi je za to nedostajalo teoretsko znanje. Ipak, napravio sam dosta toga. Osamdest odsto tog firmware-a sam napravio sam, 20 odsto sam ukrao.
I oni su bili u začetku. Bili su potpuno nepoznati. Posle sam čuo da se Bil Gejts za kog pre toga uopšte nisam znao hvalio da je taj operativni sistem iz kog sam ukrao aritmetiku napravljen savršeno, bez i jednog jedinog baga. A ja sam im pronašo jedan, i to jedan katastrofalan bag. Kada biste u dugoj petlji čitali veliki broj podataka iz data liste, došlo bi do greške koja se zove stack overflow. Imala je jednu više push instrukciju od pop instrukcija u toj petlji i onda bi na kraju dolazilo do kraha stack pointera ako je to čitano u dužoj petlji.
Mislim da je šteta što ne možete da počnete od početka, from scratch, sa nekim kompjuterima koje ste u stanju da razumete, da razumete njihovu strukturu do kraja. Ja sam imao tu sreću da rastem u to doba kada su kompjuteri uglavnom bili jednostavni i kada su mogli da se razvijaju. Onda sam kroz tu strukturu mogao da učim. Danas su kompjuteri bela tehnika. Nekada su bili čudo prirode. Kao što čoveka može da ne zanima kako radi frižider – šta ga briga, dok on hladi to je to. To je problem s kojim vi nekako treba da izađete na kraj.
Siguran sam da bi mogao. Postoje pogrešni načini i jedan dobar način da se to radi. Pogrešan način je da se misli kako nešto sada ima dobru cenu i može da se zaradi na tome, pa rešite to da radite. Pogrešan način je i da čovek kaže kako je genije, pa će on da sedne i izmisli nešto i da se proslavi. Možete da zaključite koji je dobar način. Dobar način je da radite nešto zato što vam je zadovoljstvo da to radite, a ne zato što ćete to posle naplatiti.
Istraživanje kosmosa i robotski automobili bez vozača. Mislim da će obe ove stvari u budućnosti veoma da utiču na život ljudi. Ovi automobili će promeniti fizionomiju grada. Mislim da će nestati privatni automobili, da će svi biti u javnom vlasništvu, da ćete na ulici moći da uđete u bilo koji automobil i da kažete gde da vas vozi i možda da vašu kreditnu karticu provučete kroz neki čitač. Onda bi automatski bili rešeni problemi parkinga, zagađenja i vlasništva nad automobilima.
A ova druga stvar me fascinira od kada sam bio mali i pogledao u nebo. Poslednji put kada sam bio u Los Anđelesu radio sam na nekom projektu u DesignLabu i tada je došao glavni urednik „Hackadaya” da bi napravio interviju sa nekim čovekom iz NASA-e o roverima. To je bio stručnjak za antene i komunikaciju iz Jet Propulsion Laboratorya. Nakon snimanja tog intervjua on se zainteresovao za to šta radim jer je video neku elektroniku. Kada je pogledao malo bolje zaključio je da ne koristim module. Pitao me je da li radim u asembleru, a kada sam odgovorio sa „Da”, on je rekao nešto što je meni bilo neverovatno: „Hoćete li da radite u Jet Propulsion Laboratory?” Nisam pristao, jer sam tad radio za „Hackaday”, ali mi je to podiglo ego za tri stepenice.
Pravim neke projekte, ali ono glavno je da sam završio sve formalnosti oko vize jer sam dobio ponudu od Supplyframe-a da se preselim u Ameriku i da radim neke komercijalne projekte za njih. Konkretno, kontrolere koji se koriste u bolnicama za sisteme za održavanje higijene. Američko zdravstvo plaća desetine miliona dolara bolesnicima koji su dobili neku lokalnu infekciju posle hirurških intervencija u bolnicama. Problem je u tome što ne poštuju svi ono pravilo da „Pre i posle jela treba ruke prati”. Zato pravim sistem sa senzorima koji treba da prati koliko ljudi poštuju higijenske norme.
Ne znam šta me motiviše. Verovatno je to što se dobro osećam. Kada uzmete da radite nešto, u nekim dobrim trenucima, naročito kada privodite neki projekat kraju, cela stvar počne da oživljava. Do pola projekta morate da gurate uzbrdo, a od pola nizbrdo jer vas on sam vuče. Kad počne da radi ta stvar i kad postaje sve lakše i lakše dodavati funkcije i kada te funkcije postaju sve atraktivnije meni se neki put dogodi da moram da prekinem rad, da izađem napolje da prošetam pola sata samo da razgradim adrenalin koji mi se nakupio.
Objavio/la članak.
subota, 15. Jul, 2017.
Petar Popović
ponedeljak, 24. Jul, 2017.
Moguće da se nismo u potpunosti razumeli, jer se sa većinom stvari koje si sada rekao slažem :) A JavaScript je odlično osmišljen, baš kad se uzme u obzir vreme za koje je to urađeno. Postoji knjiga "JavaScript: The Good Parts" (koja je prilično dobra), ali kako mi je jednom prilikom rekao jedan prilično iskusan Frontend dev, loši delovi ne postoje. Ako razumeš JavaScript u potpunosti, "loši delovi" postaju još jedno oružije u arsenalu (tada mi je preporučio knjigu "You don't know JS"). To sam hteo da kažem. Naravno, svaki jezik ima svoje prednosti i mane, ali to je manje bitno, bitno je koliko znaš i koliko nešto može da ti reši problem.
Nikola
nedelja, 23. Jul, 2017.
Petre, nisi razumeo moj komentar. Ja nisam rekao da ne treba da te briga kako je implementirano rešenje, čak sam jedan od onih koji ima manu da insistira na kvalitetu koda, dokumentovanju i testiranju čak i kada radim neke projekte gde to i nije toliko neophodno i zbog čega sam dobijao kritike da ne razmišljam dovoljno o ostalim detaljima poput korisničkog iskustva. Drugo, mnogi programeri danas su inženjeri, ali nije svaki. Inženjer je neko po mom mišljenju neko ko precizno primenjuje naučna dostignuća, a većina današnjeg koda nije primenjena precizno tj. softver je implementiran u velikom broju slučajeva da radi ono za šta je razvijen, a kasnije da se dodatno optimizuje ukoliko je to neophodno (ovo nije moja izmišljotina već ono što su mi rekli senior developeri od preko 10 godina iskustva u ovoj industriji). Ne znam zašto me tvrdnja da JavaScript nije (iako se to značajno menja poslednjih godina) kako treba diskvalifikuje iz rasprave kada je to činjenica i kada je o tome napisano hiljade i hiljade članaka. Jezik je dizajniran za nešto više od nedelju dana, a rat web brauzera je ceo web još više doveo u haos. To se polako menja zbog transpilera, ali i dalje predstavlja problem pri razvoju browser-agnostic rešenja. Ako ćeš da implementiraš sve od nule samo izvoli, posao programera nije da izmišlja toplu vodu već da razvija rešenje koristeći se svim dostupnim sredstvima. Samo govorim ono što su mi rekli i ljudi koji su dugo u ovoj industriji i koji su radili na najrazličitijim kodnim bazama. Startapovi su skroz druga priča.
Petar Popović
nedelja, 23. Jul, 2017.
@Nikola mislim da si malo pobrkao lončiće. Pre svega, razmišljanje "Važno da radi, koga briga šta je ispod" je verovatno najgore razmišljanje kojim može da se vodi jedan inženjer, tj. programer. Takvo razmišljanje je ok ako si code monkey, ili neki startapovac koji nije tehnički potkovan pa mu je važno samo da što pre izbaci MVP i validira ideju. Takođe, rečenica "Da, neke stvari nisu baš kako treba (JavaScript)" te automastki diskvalifikuje iz dalje rasprave. Optimizacija ne isključuje razumljivost koda. Slažem se da ne treba preterivati i izmišljati toplu vodu, ali nekad su programeri bili mnogo lukaviji i mudriji. Zahvaljujući tome uspevali su da zaobiđu ograničenja koje je nametao hardver tog doba. Vremenom su ta ograničenja postala zanemarljiva, ali se i izgubila ta domišljatost. Verujem da je to ono što je Dejan hteo da kaže.
Nikola
nedelja, 23. Jul, 2017.
Dejane, apsolutno se ne slažem sa tobom. Imam 18 godina i programiranjem sam se počeo baviti negde oko 2012. godine, poslednje dve, tri godine radim kao frilenser i za ljude iz svog okruženja. Da i dalje imamo to razmišljanje da stalno razmišljamo o optimizaciji, smanjivanju koda (što je vrlo opasno, kod treba da bude što razumljiviji) čak i tamo gde ne treba, tek onda ne bi napredovali. Da, neke stvari nisu baš kako treba (JavaScript), ali za to nisu krive mlađe generacije. Ljude zanimaju proizvodi, rešenja za njihove probleme, uglavnom ih briga kako to nešto radi.
Dejan
utorak, 18. Jul, 2017.
Covek je legenda. Da je vise nas iz stare garde u Srbiji u IT sektoru mozda bi se sve kod nas lakse i brze razvijalo. Zalosno je kako danasnji klinci nemaju pojma o pocetcima kako u svetu tako i kod nas, prvim kompjuterima, igrama i svemu ostalom sto je okruzivalo tadasnje obecavajuce vreme. Zbog toga je sve sto se novo uradi uglavnom copy paste, bez i trunke inovativnosti a kamoli sa optimizovanim minimalnim kodom.
Vladan
subota, 15. Jul, 2017.
Jedan od idola! Onih pravih... rame uz rame sa Wozniak-om.