Archive

Archive for February, 2007

FOSDEM

February 26th, 2007 Senko No comments

Upravo sam se vratio sa FOSDEM-a (Free Open-Source Software Developers’ European Meeting) koji se svake godine održava u Bruxellesu, a traje 2 dana preko vikenda. Konferencija je zapravo zanimljiva svima koji imaju ikakve veze se open sourceom, pa se tako moglo vidjeti i čuti o različitim temama, od mnogobrojnih Linux distribucija, BSD-ova, Firefoxa, i mnogobrojnih većih i manjih projekata, te se može dobiti odličan presjek aktualnih stvari u free software svijetu.

Raspored je bio poprilično popunjen, imali su negdje 15tak dvorana pa se mnogo različitih stvari događalo u isto vrijeme. Nasreću, uspio sam posjetiti gotovo sva predavanja koja su me zanimala, jedno sam propustio zato jer sam se zapričao u hodniku. Ukratko:

  • Keith Packard, glavni hacker u X.Orgu i zaposlenik Intela (radi na open source driverima za intel kartice, naravno :-) je pričao o X.Org novostima koje možemo očekivati u slijedećim verzijama: stanje drivera (intelove kartice su odlično podržane, reverse-engineerd driver za atijeve je već vrlo dobar, a nouveau projekt odlično grabi i trebao bi za par mjeseci biti dovoljno stabilan i koristan za 2d korištenje, 3d ipak u slijedećih godinu-dvje.
  • Edward Herwey (GStreamer/Pitivi/Elisa hacker) je ukratko opisao status GStreamera, sada već standardne multimedia platforme za Linux. Ukratko, ima sve više GStreamera aplikacija a sve manje bugova se prijavljuje za osnovnu funkcionalnost, što je dokaz da je stvar dobro smišljena i radi u praksi :-) Radi se naravno na novim gst elementima (pluginovima, codecima), a zanimljivo je da osim Linuxa i raznih BSD-a GStreamer odnedavno radi i na Windowsima i MacOS X-u.
  • Pomalo neobično predavanje o OpenMoko, free software telefonu, u kojem je manager projekta (valjda mu je to titula :) dosta filozofirao o evoluciji i kreiranju novih vrsta (želeći inspirirati free software hackere da se igraju i eksperimentiraju platformom), ali bilo je i zanimljivih tehničkih detalja. Ukratko, velika većina softvera u telefonu je free, koriste Linux kernel, napisali su još par drivera, koriste modificirani GTK+ GUI engine sa dodatnim widgetima, planiraju napraviti još par korisnih librarya i pustiti na volju developerima da se igraju i rade što žele. Jedini proprietary dio je gsm firmware (mora biti zbog zahtjeva FCC-a/tk operatera), s kojim se razgovara setom AT komandi. Inače, zanimljivo je da iza tog projekta stoji tajvanski proizvođač hardvera koji proizvodi uređaje za razne brandove/firme, pa na ovaj način želi proširiti tržište.
  • Daffyd Harries iz Collabore je opisao poantu Telepathya i na čemu trenutno stojimo, što radi, što se planira, i tako dalje. Na ovom projektu radim i ja pa sam već pisao o tome, ali ako ste dotične postove uspješno ignorirali, nemate isprike za ne saznati o čemu se radi ovdje.
  • Peter st. Andre (iz Jabber/XMPP foundationa) i Robert McQueen su pričali o Jingle ekstenziji jabbera koja omogućuje VoIP preko Jabbera. Naime, VoIP se sastoji prijenosa samih podataka (zvuk, slika), te protokola dogovora koje će se adrese koristiti, koji kodeci, itd. Podaci se obično prenose RTP-om (Real Time Protocol, nad UDP-om) a dogovaraju se na razne načine: u SIP-u je to SDP (Session Description Protocol), u H.323-u (stariji ITU-T standard kojeg danas SIP dosta istiskuje) je to H.323 ;-). E, pa, Jabber/XMPP ima svog konja za utrku a zove se Jingle. O tome ste već sigurno čuli ako ste čuli za Google Talk, naime on implementira stariju verziju te ekstenzije, dok se na novoj još radi.
  • Mirco Müller, lud njemac koji se u slobodno vrijeme bavi Capoeirom i radi vratolomije po hodnicima konferencija, a ponekad i grafikom pod X-ima je prezentirao savjete i trikove kako programirati Bling! Bling! grafiku (recimo, koristiti SVG layere kao widgete ili spriteove korištenjem librsvga/libcaira) i nedostatke u X serverima (npr - hardver akceleracija je u driveru ali arhitektura za prenošenje zahtjeva driveru (EXA) još nije gotova, pa se dosta stvari ipak renderira u softveru, što je sporo.
  • Miguel de Icaza, jedan od osnivača GNOME projekta i glavni u Mono je pričao o novom alatu, Mono Migration Assistantu koji može analizirati .NET programe (na windowsima) i otkriti koje fičre .NET-a koje Mono još nema program koristi, odnosno koliko je teško portati program na Linux/Mono. Odlična stvar, a od trenutnih ~1500 prijava, izveli su procjenu da je oko 70% .NET programa trivijalno (uz malu ili nikakvu izmjenu) koristiti na Linuxu. Prilikom predavanja došlo je do smješnog “incidenta”, u kojem je Miguelu (koji je već kasnio 10 minuta sa krajem prezentacije, pa se pokušavao žuriti koliko god može) jedan free-software zealot pokušao postaviti pitanje, valjda komentar u smislu “Proprietary software sucks, why are you supporting it!”. No, radilo se o Francuzu kojem stvarno ne ide engleski, i nitko živ u dvorani ga nije razumio, ali ovaj je bio uporan i nije dao Miguelu da nastavi, pa smo 5 minuta proveli u slušanju “But…[frenchrypted]…business!….[frenchrypted]…Coca Cola! (wtf??, op.a.)..” s jedne strane i “What? I can’t understand you [hvata se za glavu], ok, I’ll talk to you later…[još hvatanja za glavu]…yes, yes, ok, business bad, coca cola bad, business will eat your children, can we please move on?” s druge. Zabavno :-) Ali pokazuje da stvarno ima pre-zagriženih ljudi u free software zajednici.
  • Kako uopće ne koristim KDE i ne znam što se događa u tom svijetu, odslušao sam i predavanje o novim fičrima u KDE-u 4. Osim baziranosti na Qt4, KDE4 će sadržavati nekoliko potpuno redizajniranih ili novih komponenti: Solid će omogućiti jednostavnu detekciju, enumeraciju i konfiguraciju hardvera (koristiti će višestruke backende, vjerojatno jedan od njih i HAL), Phonon je multimedia sustav koji će nuditi jednostane player widgete, mogućnost konfiguriranja audio/video uređaja (koji zvučnici koji zvuk puštaju, valjda i izlaz kod dual-headed kartica i sličnih stvari), a biti će baziran na GStreameru (i opet još par dodatnih komponenti, ne žele se ograničiti), Decibel je instant messaging framework baziran na Telepathyu, Dolphin je zamjena za Konquerovog file managera sa nekim zanimljivim dodacima inspiriranima Mac OS X-om i Vistom, Plasma je KDEova vizija desktopa budućnosti, Strigi je desktop search tehnologija a’la Google Desktop Search ili Beagle, itd, itd. KDE zajednica je dosta uzbuđena zbog mnogih nadolazećih stvari.

Evo, nije baš bilo ukratko, ali vikend je bio stvarno prepun događanja. Naravno, kad ste u Belgiji radite što i Belgijanci, dakle pijte mnogo kvalitetne pive, pa sam se i ja svojski trudio uklopiti se (iako ne preferiram baš pivu inače). Kad budete u Bruxellesu, svakako probajte odvojiti par sati i posjetiti Delirium Cafe, pub koji drži Guinnesov (onaj od knjige, ne od piva) rekord u broju vrsta piva koje nude, 2004. Ali imaju samo jedan primjerak menija (knjigetina je), pa se morate strpiti dok dođete na red. Ili radite što i mi, random pokazujte po zidu / stropu i recite “to, to, to, …” ;-)

E i da, napokon sam uhvatio svoj primjerak Nokia N800 :-D Hvala Nokii i Collabori na stavljanju me na developers program listu i omogućavanja da dobijem ovaj uređaj! Vrlo zgodna igračka, vjerojatno ću u slijedećih par mjeseci blogati o svakakvim trikovima/glupostima koje s njom možete napraviti. Nažalost, stvar kod nas iz nekog razloga nije na prodaji, tako da gadget freakovi koji drže do sebe će morati nešto zapadnije po to. Također hvala Collabori na omogućavanju da posjetim FOSDEM (full disclosure: outsorcaju mi dio posla) , bilo je to odlično iskustvo koje se nadam ponoviti i slijedeće godine.

P.S. Zna netko gdje ima free (legalnih) wifi hotspotova po Zagrebu? :D

Categories: Croatian Tags:

AJAX-CAPTCHA

February 5th, 2007 Senko 4 comments

Ako ste ikad ostavljali komentar na nečijem blogu ili koristili neki od Web2.0 servisa vjerojatno ste naišli na CAPTCHA, zgodan trik za razlikovanje ljudi od spambotova. Najčešće je implementiran u obliku slike nekih slova i brojeva, dovoljno zamuljanih da ih OCR ne može prepoznati, koje treba identificirati da bi dokazali da ste ljudsko biće. Osim što su očiti problem za ljude sa slabijim vidom, zbog nastojanja da onemoguće sve bolji OCR softver, ponekad su slova tako zamuljana da je i ljudima sa dobrim vidom poprilično teško uočiti što je pisac tu htio reći. Za rješavanje takvih problema ponekad se koristi audio captcha (morate čuti što je rečeno i utipkati to), a mali broj sajtova koristi i JavaScript implementacije (JAPTCHA) koje obično uspoređuju korisnikov upit sa nekim hidden poljem. Problem ovoga je da je poprilično lako vidjeti koji je točan rezultat, ili krivotvoriti očekivani odgovor i tako izbjeći zaštitu, čak i bez korištenja JavaScripta.

No, vjerujem (a i neobavezno googlanje govori tome u prilog) da spambotovi obično nemaju full javascript implementaciju, jer im je to neefikasno i prekomplicirano, bar zasad. Zbog toga je trenutno CAPTCHA koja otkriva prisutnost radećeg JavaScripta u browseru jednako učinkovita kao i CAPTCHA koja otkriva prisutnost čovjeka. Ideja je dati posjetitelju zadatak koji može riješiti samo pomoću JavaScripta (funkciju koju treba izvršiti) a čiji se ishod može predvidjeti na strani servera, te tražiti da posjetitelj vrati rezultat serveru.

Scenarij korištenja:

  1. Posjetitelj dolazi na stranicu i dobija (X)HTML kôd stranice
  2. JS sa stranice radi asinkroni zahtjev na neki URL na serveru za “zadatak”
  3. Server vraća “zadatak” u obliku teksta JS funkcije (JSON, ali sa kôdom a ne podacima
  4. Browser izvršava funkciju, kao rezultat dobiva jedan broj koji upisuje u sakriveno polje forme
  5. Nakon što je forma ispunjena i rezultat poslan, server uspoređuje sa očekivanim rezultatom

Očita prednost ovakve implementacije je da je potpuno nevidljiva posjetitelju, odnosno on ne mora razmišljati o tome (i naprezati oči ako slabije vidi), a nedostatak je zahtjevanje uključenog JavaScripta (čuo sam negdje da je netko rekao da je netko to isključio, jednom). No, tehnika se može kombinirati sa standardnim grafičkim CAPTCHA-om (po defaultu se vidi slika i zahtjev za identifikaciju što je na slici, ali JS kôd to sakriva u točki 2. gore), čime se dobiva i pouzdana detekcija ima li korisnik uključen JS ili nema.

Mane su relativna jednostavnost zaobilaženja - inventivni spamer sa firefoxom bi mogao složiti greasemonkey skriptu koja izvršava JS, ali bi osim truda implementacije to bilo i mnogo sporije (JS nije baš najbrži jezik za svijetu, pa ako trebate par milijuna puta izvršiti neku funkciju da zaspamate nekog, to se zbroji), pa vjerujem da bi sve dok relativno mali broj ljudi koristi ovu tehniku spameri njihove stranice samo otpisali kao gubitak, i ne trudili se. Dakle, ljudi, ako vam se ideja sviđa, nemojte je koristiti! ;-))

Categories: Croatian Tags: