Izveštaj sa BarKamp konferencije iz Banjaluke
Autor: Goran Mekić
Počevši od tema, drugi banjalučki BarKamp je oduševio, ako nikog drugog, onda autora ovog teksta. Govoreći slengom programera, teme su bile izuzetno „niskog nivoa”1 — od kernel programiranja, preko iskorišćenja slabosti programa za dobijanje prava korenskog korisnika (rut) do korupcije podataka na medijumima usled različitih događaja kao što su pisanje u memorijsku lokaciju blizu one koju želimo da promenimo, kosmičkih zraka, kvantnih fluktuacija i svih onih bizarnih i čudnih situacija koje niko ne može objasniti. Ruku na srce, bilo je i malo manje „niskih“ predavanja, kao što su „Kako postati frilenser i kako opstati kao frilenser” i veb programiranje uz Flask i Pajton. Uzevši u obzir izbor tema i njihovu težinu, veoma iznenađuje pažnja publike koja je u skoro nepromenjenom broju ispratila događaj do samog kraja.
1 U slengu, površinski nivo označava sve što se pokreće na operativnom sistemu. S druge strane, niski (duboki) nivo se najčešće odnosi na komponente sistema, na kernel i na upravljačke programe.
Pa da krenemo od početka. Samo pet sati puta nas je delilo od apsolutne zabave uz hakere. Uz carine, tričavih sedam sati je prošlo u društvu brže nego što smo očekivali. Sutradan je na ETF-u počelo dešavanje, radi kojeg smo svi došli, uz manje probleme sa mrežom. Na prvom predavanju se videlo da se ekipa predavača ne šali kada su teme u pitanju. Dragan Simić je pričao šta je to tzv. efekat „čekićanja vrste” (eng. row hammer, prim.prev.) ili kako izmeniti bit u memoriji kom nemamo pristup. Ukratko, zbog gustine bitova na fizičkim čipovima, električni naboj koji predstavlja bitove ponekad može da „procuri” na susednu lokaciju. Dragan je predstavio šta su istraživači radili da spreče ovakvo ponašanje memorije kroz softver i hardver. Isti predavač je kasnije pričao i o tome kako se bitovi na medijumima ponekad promene iako im niko nikad nije pristupao. Iako se ovo statistički retko dešava, postoje slučajevi u kojima to nije zanemarljivo. Kao primer dat je VHS i da od nekoliko desetina petabajta, 128MB podataka bude korumpirano bez mogućnosti ispravke.
Nikola Nenadić je pričao o dvema veoma interesantnim temama u vezi sa kernelom: pisanje drajvera (upravljačkih programa) i korišćenje kompresije memorije u kernelu (zram, zswap i zcache). Interesantna činjenica je da, iako računar veoma dobro radi sa brojevima sa pokretnim zarezom, u kernelu je zabranjeno koristiti ih. Sa druge strane, ukoliko imate stari hardver sa malo memorije, kompresovanje podataka pre snimanja u memoriju može da vam oživi taj hardver.
Autoru najzanimljivije predavanje je bilo o bagovima korupcije memorije koje je držao Strahinja Piperac. Veoma lepo je objasnio šta su to sigurnosni propusti na niskom nivou: prelivanje bafera (eng. buffer overflow), bagovi u formatiranju stringova (eng. format string attack), izlazak van opsega intidžera (eng. integer overflow) i drugi. Takođe, prikazao je nekoliko tehnika zaštite koje su implementirane, objasnio je zašto je nemoguće zaštititi se nekom alatkom koja bi automatski odbijala napade i prikazao zašto je uopšte nemoguće braniti se od napada bilo čime što nije dobro programiranje.
Autor ovog teksta je pričao o veb razvoju uz Flask razvojni okvir (eng. Flask framework) i Pajton jezik. Predavanje je bilo na početnom nivou i cilj je bio izneti ideje koje se ne nalaze u drugim rešenjima. Takođe, prisutni su mogli čuti kako od Flaska, koji je po dizajnu minimalan, napraviti korisno razvojno okruženje uključivanjem proširenja.
Za kraj, Goran Jakovljević je pričao kako postati frilenser, šta su najčešće greške, kako najbrže doći do posla i zadržati klijente.
Sve one koji nisu bili u mogućnosti da prisustvuju možemo obradovati vešću da je organizator obećao da će sva predavanja biti okačena na Jutjub kanal kada se završi montiranje.