Naslovnica zeitgeist 2007
Kraj je godine, svi neke godišnje statistike daju, pa eto i na Naslovnica blogu popis (globalno) najčešćih pojmova koji su se nalazili na naslovima dnevnih tiskovina i Internet portala.
Sretna Nova!
Kraj je godine, svi neke godišnje statistike daju, pa eto i na Naslovnica blogu popis (globalno) najčešćih pojmova koji su se nalazili na naslovima dnevnih tiskovina i Internet portala.
Sretna Nova!
Pred par dana održao se prvi zagrebački BarCamp.
Došlo je dosta ljudi (po mojoj subjektivnoj procjeni 80tak, od 120 prijavljenih), tako da je to bila odlična prilika steći nova poznanstva, ponovno vidjeti poznata lica i učestvovati u raznim raspravama oko stola sa grickalicama i cugom.
Sama predavanja također su bila zanimljiva, iako smatram da se tu malo promašilo poantu — naime koliko sam ja uspio shvatiti BarCamp bi trebao biti više nekakvo ad-hoc druženje u kojem svi o svemu/biločemu pričaju, dok je prvi naš zagrebački bio više konferencijskog štiha. Nije ni to loše, samo je eto malo drugačije. Vjerojatno su tom mom osjećaju najviše pridonjele dvorane, od kojih je jedna doslovno konferencijska (povišena katedra, i klupe za publiku) dok je druga bila nešto bolja u tom pogledu, iako mi se i ona dosta “službenom” činila. Možda bi održavanje u recimo običnim učionama (njih par), gdje se ljudi, ne znam, samo sjednu na stolove ili kako već, više istakla neobaveznost druženja. A možda sam i ja fulao tip događaja, u kom slučaju slobodno zanemarite ovaj odlomak.
Svaka čast organizatorima koji su se poprilično potrudili i vrlo dobro složili cijelu stvar – jedina ozbiljna zamjerka je da su bili pre-popustljivi prema prezenterima pa su svi lagano prebacili svoje vrijeme, pa se delta skupljala i na kraju 2-3 prezentacije nisu niti mogle biti održane zbog vremenskog ograničenja. Znam da je nepopularno, ali vjerojatno su trebali srezati prezentere – zna se, imaš X minuta, i to znači da ako ne završiš u X minuta i prezentacija ti zbog toga ne uspije, sam si si kriv. (mi smo kod organiziranja Ubuntu konfe pak pogriješili u drugom smjeru pa ostavili previše vremena i prevelike rupe)
Kako su sve stvari o kojima se pričalo bile prilično zanimljive, publika je bila vrlo aktivna i nakon predavanja se povodila i daljnja rasprava, jasno mi je da je bilo šteta rezati takvo što. No eto, iskustvo za slijedeći put.
Mislim da je moje predavanje ok prošlo, nadam se da je bilo zanimljivo publici te da nisam bio previše smeten i zbunjujuć (prvo mi je predavanje kasnilo pola sata, a onda sam imao još problema sa laptopom i projektorom, hvala Grigoru na posudbi laptopa i spašavanju situacije). Hvala i Tomasu na žestokom rešetanju pitanjima i prijavi bugova :-)
Sve u svemu, mislim da je cijela konfa prošla izuzetno dobro, nadam se da će preći u tradiciju i da ćemo se vidjeti i slijedeće godine!.
PS. Uspio sam ne ponijeti fotić pa nemam slika s konfe, dajte ljudi Flickrajte/Ptichicajte slike…
Post sam krenuo pisati na komentar Ratkovog, koji u svom blog postu piše o ODFu, OOXMLu te standardima i daje svoje viđenje zašto je OOXML bolji. Post se zapravo svodi na kritiziranje ODF-a i ovlaš spominjanje OOXMLa na kraju, no kad je već obje kratice odlučio staviti u naslov, ne škodi pogledati malo i na drugu stranu.
Već sam pisao o ODF-ovim manama, odnosno lošim stranama na koje upozoravaju i ljudi iz “open source tabora”. Osobno stručno mišljenje o formatu nemam, no kad netko tko se godinama bavi tabličnim kalukaltorima i napisao je program kojeg koristim popljuje ODF, njegovu riječ shvaćam ozbiljno.
Dakle, nije neka novost da ODF nije idealan. Zato me zapravo veseli da u igru standardizacije ulazi još jedan kandidat, CDF. Brzi pogled na stranice otkriva da je baziran na XHML-u, SVG-u, a i SMIL-u koji već trenutno jesu široko korišteni standardi, te XFormsima koji .. ne znam jesu li široko korišteni, ali standard jesu. Nisam stručan da procjenim kvalitetu CDF-a, ali ovo mi je sasvim dovoljno da budem sretan što se i CDF gura u standarde. Što više kandidata u konačnici bi trebalo značiti tim veću kvalitetu krajnjeg izbora, zar ne? Osim u natjecanjima u popularnosti, tu je stvar uvijek subjektivna :-)
Kad se već dotičem guranja u u standarde, Ratko spominje i neke strke i panike oko guranja ODF-a kao standarda. Ja kod nas baš i nisam bio svjedokom neke strke — jedina s tim povezana stvar je da postoji “strategija” promoviranja i korištena otvorenih rješenja zbog osiguravanja interoperabilnosti, izbjegavanja ovisnosti o pojedinom vendoru, smanjenja troškova, itd. Istina je da se u toj priči ne spominje Microsoft, ali, gle, dečki, k’o vam je kriv što vaš standard nije otvoren. (isprika na linkanju wikipedie a ne službenih Microsoftovih stranica o formatu, koje bi zasigurno imale točnije informacije, ali nisam uspio naći službene Microsoftove stranice o formatu)
S druge strane, poprilična se strka digla oko fast-trackanja OOXMLa kao ISO standarda, pa i kod nas. Ukoliko ne pratite Radov Fuzzy blog, executive summary možete pronaći ovdje. U samu temu neću ulaziti da ne skrenem sa tematike ovog članka, ali očito je da je strka na “obje strane”.
Par riječi i o te “obje strane” — pretpostavlja se da tu postoje neka dva zaraćena tabora koja s vremena na vrijeme jurišaju jedan do drugog i nabijaju se bajunetama. Naravno za većinu korisnika bilo kojeg od ova dva standarda, taj aspekt je potpuno nebitan. Meni (kojeg bi prema činjenici da sam u Ubuntu udruzi i da mi je blog nazvan “Free Software Stuff” mogli svrstati u “anti-ms” tabor) je također apsolutno svejedno tko će domisliti tehnologije i standarde koje koristim. Eto, na primjer, po meni su C# i .NET odlična stvar, i baš me briga što iza njih stoji Microsoft. Platforma je specificirana, postoji odlično otvoreno rješenje koje kvalitetno implementira standarde (Mono), super.
S druge strane, OOXML očito ima tonu problema. Osim problema sa čisto tehničim posljedicama (poput backwards-compatible stvari koje opterećuju standard), zabrinjava činjenica i da su dijelovi standarda pokriveni patentima koji se u bilo kojem trenutku mogu upotrijebiti protiv bilo koga tko pokuša standard implementirati, te činjenica da ni sam standard nije precizno definiran, odnosno postoje mnoge nejasnoće koje u standardu “vise”, a u praksi bi bile određene određenom implementacijom.
Patenti i nekompletnost specifikacije su deal-breaker. Koliko god ODF bio loš, implementori tog standarda ne trebaju strahovati od legalnog rata protiv Microsofta, bilo zbog patenata, bilo zbog reverse-engineeringa da bi se otkrilo nespecificirane dijelove standarda. OOXML implementori se mogu nadati da će sve biti u redu, ali garancije nema. Uzmimo za primjer jedan danas vrlo popularan standard – A4 format papira. Standardna veličina A4 papira je 210x297mm. Zamislite da u standardu piše da je veličina 210×29…i nešto, sad, ovisno o tome kako to reže stroj određenog proizvođača. Ili da je definirano 210×297 ali da je zlatni rez patentiran. Zvuči besmisleno? I je.
Mogućnost implementacije dovodi me i do predzadnje točke po kojima analiziram originalni post. Ratko se se pita što je to zapravo norma, i odgovara da je to “industrijski koncenzus prihvaćen na tržištu.” Sasvim se slažem s tim odgovorom. Ratko na osnovu ove izjave i činjenice da puno više ljudi koristi DOC (u nedostatku kratice :) nego ODF format zaključuje da ODF nema smisla proglasiti standardom. No pritom zaboravlja na činjenicu da se radi o koncenzusu između različitih implementora standarda. Na primjeru A4 – A4 je standard zato jer svi proizvode A4 papir, a ne zato što ga koristi puno ljudi. Ljudi ga koriste jer su se proizvođači dogovorili da će taj format proizvoditi.
Tko danas podržava DOC? Microsoft Office, donekle OpenOffice, slabo ili nikako bilo tko drugi. Dakle 2 programa, od toga samo jedan kompletno. Tko danas podržava OOXML? Jedan program. Gdje je tu koncenzus?
Ono što je činjenica je da je Microsoft Office prihvaćen na tržištu. S te strane, pravilno bi bilo reći da je Office standard (što realno i je, pogledajte ECDL i nastavu informatike u školama, tamo se uči Office a ne uredski paketi). No činjenica da je Office standard ne znači automatski da je i OOXML standard. Nije. To je samo još jedan format, koji ima tu sreću da ga gura najkorišteniji Office paket na svijetu.
Kao što sam već naveo, ja u osnovi nemam ništa protiv Microsoftovih tehnologija, tako da cijelu stvar ne gledam sa stanovišta “tko će pobijediti”, nego “koliko će pobjednik biti kvalitetan”. U tom duhu, par stvari koje bi Microsoft mogao učiniti, a koji bi donijeli vjerodostojnost standardu.
Eto, kad bi se dogodilo nešto od ovoga, OOXML i ODF bi bili na istoj razini, i mogla bi početi bitka oko toga tko je tehnički kvalitetniji. Pa ono, ako je OOXML stvarno bolji od ODF-a, svi ćemo s veseljem koristiti .foox ekstenzije. Mislim li da će se to (nešto od gore izlistanog) dogoditi? Ne, nemam iluzija. Microsoft čvrsto drži tržište uredskih paketa, budućnost OOXMLa kao formata je zagarantirana. Samo se nemojmo zavaravati da to ima veze sa standardima ;-)
Iz nedavnog intervjua:
Q: How do you remember all of your passwords?
A: I can’t. No one can; there are simply too many. But I have a few strategies. One, I choose the same password for all low-security applications. There are several Web sites where I pay for access, and I have the same password for all of them. Two, I write my passwords down. There’s this rampant myth that you shouldn’t write your passwords down. My advice is exactly the opposite. We already know how to secure small bits of paper. Write your passwords down on a small bit of paper, and put it with all of your other valuable small bits of paper: in your wallet. And three, I store my passwords in a program I designed called Password Safe. It’s is a small application — Windows only, sorry — that encrypts and secures all your passwords.
Q: Is there any benefit to password protecting your home Wifi network? I have IT friends that say the only real benefit is that multiple users can slow down the connection, but they state that there is no security reason. Is this correct?
A: I run an open wireless network at home. There’s no password, and there’s no encryption. Honestly, I think it’s just polite. Why should I care if someone on the block steals wireless access from me? When my wireless router broke last month, I used a neighbor’s access until I replaced it.
Eto pa si vi mislite. Da vam neki tamo šmokljan kaže nešto ovako, vjerojatno biste mislili da je u najmanju ruku naivan. Ali kad to dođe od Schneiera, morate se bar malo zamisliti.
Zabavan i poučan video uradak:
Odgovor na pitanje iz videa: I am, right now :-)
Update: Totalno viralna stvar; evo taman stavio a vidim i da se i na drugim blogovima kod nas već vrti :)
Sutra je BarCamp Zagreb. Sva su mjesta popunjna, raspored je krcat zanimljivim predavanjima.
Moje će biti u 17.00 u bijeloj (manjoj) sobi, na temu među-domenskog JavaScripta (ili kako kreirati JS widgete koji pristupaju podacima na jednom serveru, a ugrađuju se u stranicama na drugim). Pomalo senzacionalistički, predavanje sam naslovio XSS, iako na njemu neće biti riječi o malicioznim exploitima (samo usputni spomen) nego o korisnim tehnikama primjene u svakodnevnim Web aplikacijama. Vidjet ćemo sutra koliko je ljudima to zanimljivo…
Registracija je zatvorena, ako ste se uspjeli registrirati, super, vidimo se, ako ne, nadajmo se da će biti još ovakvih događaja, a moguće je i da će snimke s događaja naći neko mjesto na webu pa će se naknadno moći vidjeti.
Potpuno nevezano s ovim, neki dan sam se prisjetio vrlo jednostavnog algoritma za izdvajanje random quotea iz nekog (velikog) niza stringova zapisanih u datoteci, koju je moguće čitati samo sekvencijalno. Naivni algoritam bi ili prvo sve učitao u memoriju, odredio random broj od 0 do N-1 te odabrao traženi string (što ima vremensku kompleksnost O(N) ali i memorijsko zauzeće O(N) pa je nepoželjan za vrlo velike nizove stringova), ili prvo prošao cijeli niz, odredio koliko je velik, odredio random broj od 0 do N-1, te u novom prolazu odabrao random. Ova varijanta ima vremensku kompleksnost O(2N) a memorijsku O(1), što znači da je duplo sporiji.
Nešto pametniji način je (pseudo):
trenutni = učitaj_prvi_string()
n = 1
sve dok ima još stringova:
n = n + 1
novi = učitaj_slijedeći_string()
# slučajno(X) -> broj iz [0 .. X-1]
ako slučajno(n) == 0:
trenutni = novi
vrati trenutni
Stvar funkcionira tako da se u svakom koraku računa vjerojatnost da se za string odabere novi. U svakom koraku je ta vjerojatnost 1/N. To znači da je vjerojatnost da se zadrži stari string (koji je u prethodnom koraku izabran s vjerojatnošću 1/(N-1)) (N-1)/N, odnosno ukupna “nova” vjerojatnost starog stringa je (N-1) / N * 1 / (N-1) = 1 / N. Po indukciji, vidi se da će u svakom koraku vjerojatnost pojave svakog stringa biti 1/N, što znači da je vjerojatnost ravnomjerno raspoređena, i konačni rezultat stvarno je random string iz skupa stringova. Kompleksnost ovog algoritma je O(N), a memorijsko zauzeće O(2).
Eto, fora :-)
Pred tjedan dana spominjao sam programe koje (ne) koristim na svojem slobodnom desktopu, došao do zaključaka na što bi se možda isplatilo prijeći, a što ću još morati nastaviti trpiti.
Sa strane prelazaka, XFCE Terminal se pokazao relativno dobrim, no popriličnu mi je muku zadao neki bug zbog kojeg se često izuzetno uspori i pojede sav CPU kad neki program ispisuje duže linije (tipa jedna linija od par tisuća znakova, wrapana pa ispuni cijeli term). Zbog ovog nedopustivog buga, a i preporuke prijatelja, odlučih probati rxvt-unicode, koji se hvali svojom brzinom, malim footprintom, te podrškom za unicode (živio utf8!) i tabove. Nažalost, rxvt-unicode mi se po keybindinzima i ponašanju (c/p, fullscreen toggle, itd) nikako ne uklapa u ostatak sustava, a i tabovi su užasno ružni! :) The jury is still out, dao sam XFCE Terminalu još jednu šansu (u zadnjih 2 dana se nije bagovito ponašao, možda se prepao da ću ga deinstalirati…)
Abiword zasad zadovoljava sve moje tekstovno-uređivačke potrebe. Jedini problem na kojeg sam naišao je nemogućnost upisivanja imena fonta u dropdown izbornik (ili bar pretraživanja po imenu), ne znam je li to stvarno do Abiworda ili sam ja zbunjen pa nešto krivo radim. Tablični kalkulator još nisam imao potrebe paliti, pa je zasad Gnumeric dovoljan.
Kod editora je GVim bio očit izbor, ali mi je u međuvremenu par ljudi preporučilo Geany, lightweight code editor / IDE za GNOME. Ugodno sam iznenađen, stvar stvarno lijepo radi, malo drugačije shortcutove ima od GEdita pa mi treba malo da se naviknem, ali vrlo je ugodno raditi u njemu. Ima dobar syntax-higlighting, code folding, code completion, zna u ovisnosti o jeziku pronaći definiciju klasa i funkcija, podržava regexpove, a ima i ugrađen shell, compiler (make) output prozor i “scratchpad” za upisivanje čega god…
Sve u svemu, vrlo ugodno sam iznenađen. Ukoliko se ne dogodi neka katastrofa, predviđam da ću svoje Python/PHP/XML editiranje obavljati u Geanyu. Za hardcore C-iranje ipak preferiram GVim, bar za sad.
Browser nisam promjenio, ali možda ću uskoro, jer sam napokon prešao na Ubuntu Gutsy, pa tako sad imam mogućnost i instaliravanja Webkit+Epiphany kombinacije iz neslužbenih repozitorija. Jedva čekam, nadam se da će webkit rendati stvari dovoljno dobro da ću ga moći za stalno koristiti.
Evo i spomenute dvije aplikacije s kojima još ne znam što bi: prva je mail reader. Bio sam svojedobno i na Evolutionu, pa na Thunderbirdu, na par sati isprobavao i (Slypheed) Claws. No Evolution mi je preveliki bloat, Thunderbird također nije malen, nije mi se baš najbolje uklopio u sustav a imao sam problema i sa filtriranjem SPAMa (to sam imao i kod Evolutiona, mislim da je prije problem u mom spamassasin setupu bio), Claws se apsolutno ne brine za bilo kakav HIG ili standarde i ima čudne keybindinge za sve i svašta i još k tome je stvarno ružan… tako da sam trenutno na Balsi. Balsa u načelu radi, no također ima svoje probleme – ne zna automatski spremiti adresu u adresar kad šaljem mail, kombinacija lošeg timinga u fokusiranju i bindinga komandi na slova umjesto na Ctrl/Meta+slovo kombinacije zna imati neugodne rezultate, messageboxovi su loše izvedeni… Razmišljam o prebacu natrag na Thunderbird (sad je već tu i nova verzija), jedino što me koči je ponovni prebac arhive mailova i setiranje filtriranja.
Prije nego što bilo tko pita – GMail ne dolazi u obzir. Treba mi mail na lokalnom računalu :-)
Druga aplikacija je Tomboy. Tomboy je Mono-based aplikacija, postit papirići koji čuče u panelu i za jedan/dva klika pronađe se postojeći ili kreira novi. Ne vise cijelo vrijeme po desktopu (svaki papirić je svoj prozor koji se može zatvoriti, a otvara se tek klikom na pojedini naslov), podržava masu stvari (html output, rich text, automatsko međusobno referenciranje, pretraživanje, …), a ima i podršku za pluginove. Jedini problem s Tomboyem je da jede ogromnu količinu memorije, za takav programčić. Kad sam prošli tjedan mjerio, mislim da je oko ~30MB bilo zauzeće za ~110 bilješki). Zasad, jedini programčić koji se čini mogućom zamjenom je XPad; kod njega me najviše brine skaliranje na veliki broj bilješki (pošto ih on sve prikazuje kod startupa, i svi su mu prikazani u izborniku).
Još jedna novotarija je Compiz Fusion, koji mi je eto došao enablean po defaultu sa updateaom. Stvar je proradila otprve, pa to sad malo testiram da vidim ima li smisla za neko normalno korištenje. Zasad mi se još sviđaju efektići, no čini mi se da je stvar sporija za rad – ne zbog sporosti računala, nego zbog animacija koje ipak traju neko vrijeme, dok je prije promjena bila trenutačna (switch desktopa, alt-tab).. Expose i ostale stvari koje bi mogle biti korisne se zasad nisam naučio koristiti, pa ne znam jesu li korisne, no vidjet ćemo s vremenom. Ono što je svakako korisno je zatamnjenje prozora ako je zablokiran, dobro dođe da vidim što se događa.