Najmlađa web dizajnerica na svijetu

Posted on Monday 29 June 2009

Smješko

Sezona kiselih krastavaca i dosadnih kiša često urodi člancima kao što je Djevojčica (9) kao od šale dizajnira internet stranice. Djevojčica je s 8 godina dizajnirala web stranicu za svoju školu, a godinu dana kasnije je postala najmlađa web poduzetnica. Dobila je i brojna priznanja za svoj rad, a prvo na listi je ono Američkog udruženja webmastera.

Sve 5, rođeni talent, genijalka, zar ne? Njezin uspjeh je potvrda ispravnosti programa naših škola jer mala je započela s Paintom, započela dizajniranje web stranica u MS Wordu, prve radove, za koje je dobila priznanja, napravila je u FrontPageu i sada prelazi na DreamWeaver i Flash.

Nema sumnje da je djevojčica inteligentna, ali cijela priča miriše na iskorištavanje djeteta u svrhu promocije. Nije teško dijete njezinom uzrasta podučiti izradi web stranica u nekom od vizualnih alata. Teže je motivirati dijete na taj korak pored svih ostalih zabavnih stvari koje se mogu raditi na računalu. Sreelakshmi je zacijelo svoje prve stranice napravila sama, a kada se priča zakotrljala, onda je slijedilo udruživanje. Njezina tvrtka nudi cijeli niz usluga na temelju kojih vam je jasno da je ona tu samo mali maneken. Pokrenula je i projekt Tinylogo koji je Logo based search engine. Ovaj put u suradnji s Cybrosys Techno Solutions.

S tehničke strane njezine stranice su dosta loše (na razini početničkog klikanja u FrontPageu i njegovog generiranog koda), ali to i nije toliko važno. Ono što je meni zapelo za oko je nedostatak dječjeg štiha, dječje zaigranosti i tragova dječje znatiželje. Koliko je tu njezinog rada, a koliko je nadodala mama učiteljica?

A što je sa silnim nagradama? Nisam detaljizirao, ali izgleda da su to sve redom nagrade koje dodjeljuju web stranice koje su se specijalizirale za dodjelu nagrada svojim članovima. Jedini preduvjet za nagradu je uplata članarine ili administracijskih troškova. Jednostavnim rječnikom: to su nagrade koje možete jeftino kupiti i poželjno je da se njima ne hvalite ljudima iz struke.

Djevojčica ima priliku da jednog dana postane web dizajnerica, ali ta prilika je tek nešto malo veća od one koju ima bilo koje drugo dijete. Sva ova zvjezdana prašina oko nje prije će joj odmoći u tome nego pomoći.

P.S. Vidim da se namnožilo tih web stranica koje dijele nagrade. Eto ideje za jedan funny projekt koji bi mogao zavrijediti 5 minuta digovske slave. Napraviti stranicu po uzoru na klasični web dizajn iz devedesetih godina prošlog stoljeća i prijaviti ju za sve moguće web nagrade. I onda ju reklamirati kao najnagrađivaniju web stranicu u svemiru i šire. U tome bi vam mali problem mogao predstavljati trošak članarine, ali knjižite to kao trošak marketinga.

P.P.S. Autor slike uz tekst je u trenutku stvaralačkog zanosa imao nešto više od tri godine, a njegovi roditelji su prepustili priliku da ga predstave svijetu u kampanji Trogodišnjak kao od šale stvara slike. A već je mogao imati vlastitu galeriju i hrpu unajmljenih polu-profi slikara koji bi producirali slike pod njegovim brandom.

vuk @ 13:52
Filed under: klinci and web
Opera Unite

Posted on Tuesday 16 June 2009

Najava nove stvari je bila dobro izvedena, stvorio se dobar buzz, Twitter je zujao o tome. I ja sam pokušao pogoditi što će to biti. Nakon što se jutros podignula zavjesa prvo što mi je palo u oči bila je najava da je to web poslužitelj u web pregledniku. WTF, pomislio sam, pa što će mi web server u browseru? Malo kasnije su mi se kockice posložile i djelomično bih se i složio s tvrdnjom: Clever little devils work there at #Opera.

Što najviše fali Operi kao browseru? Tijekom svih ovih godina u dosta stvari je bila prva (npr. tabovi), brza je, drži se standarda (zbog toga dugo nisu implementirati XML HTTP Request Object koji je glavni krivac za AJAX), ali nedostaju joj korisnici. Ima ona vjerne sljedbenike, ali taj krug nikako da se proširi. Kako proširiti krug?

Treba dodati nešto što će privući veći broj korisnika. Za što velika većina korisnika koristi Internet? Za razmjenu raznih datoteka, chat, slušanje mjuze, razmjenu slika…Mali vražići iz Opere su sve to ubacili u preglednik i još omogućili developerima izradu dodatnih servisa. Stvorili su uvjete koji bi im mogli povećati broj korisnika, ali pitanje je da li će se to i dogoditi? Opera je i prije imala dodatne aplikacije (mail i BitTorrent klijent), ali to joj nije puno pomoglo.

Čini mi se da Opera uvijek propusti napraviti onaj završni sloj, glazuru. Opera nikada nije ispeglana do kraja, uvijek ostaje neki nabor koji otjera korisnika. Nije dovoljno laka za početničku vožnju. Zbog toga ju uglavnom i koriste napredni korisici. Može li Opera Unite promijeniti stvari? Ili će opet za par godina svi preglednici imati neku inačicu Unitea, a Opera će i dalje držati market share od 2.2%?

vuk @ 21:51
Filed under: Internet and aplikacije and web
MS Frontpage kao obavezan alat u školama?

Posted on Thursday 4 June 2009

Jučer sam bio upitan da li mogu nabaviti i ukucati jedan program u računalo. Program se zvao MS Frontpage i bio je potreban učeniku da bio mogao napraviti domaću zadaću. Lijepo sam se ispričao, rekao da je to piratstvo i da ja to ne radim i ne želim raditi.

Ono što je negativno u toj priči je da nastavnik u školi potiče učenike na piratstvo, uči ih da je normalno nabaviti i ukucati program u računalo. Druga negativnost je da za upoznavanje sa HTML-om koristi aplikaciju koja je zastarjela i s kojom će učenike u najboljem slučaju naučiti da ako kliknu na onaj gumb možda dobiju ono. Jasno mi je da je nastavnik prije par godina stekao svoje znanje na nekom od hitrih tečajeva i da ne zna bolje. Netko će možda reći kako su to iznimke. Ne baš, u pojedinim školskim planovima i programima stoji da se za upoznavanje s HTML-om koriste Frontpage i Word($#%!!!!). Tako će mladi pedikeri i frizeri veselo štrikati elektronsku paučinu u Wordu.

Upitna je svrhovitost takve informatičke edukacije za smjerove koji s tim nemaju veze, ali ako kad ih već uče nečemu onda im neka daju osnove. Pretpostavljam da matematiku ne podučavaju tako da pokrenu calc.exe i onda kažu ako kliknete na 2 pa onda na + i… Osnove HTML-a se rade u običnom editoru u kojem će se puno bolje i jasnije objasniti svrha i smisao takvih dokumenata te prikaz i organizacija sadržaja. To se radi ovako. To je druga prezentacija od 21 lekcije pod naslovom University of Washington: Web Programming. Ako ste početnik svakako proučite te prezentacije.

Potražite li na webu lekcije stranih sveučilišta onda možete vidjeti da osnove HTML-a skoro svi rade na isti način. Frontpage, Dreamweaver ili bilo što treće mogu uhvatiti u ruke tek onda kad znaju što zapravo produciraju ti alati. Na Harvardu kažu: Please start with your favorite text editor!

Molim vas, izbacite Frontpage iz programa naših škola.

vuk @ 19:40
Filed under: obrazovanje and web and web dizajn
Ne učite Python (niti Ruby)

Posted on Monday 1 June 2009

Link nije novi, ali opisuje zašto ne treba učiti Python. Taj članak je inspiriran jednim drugim koji opet savjetuje da ne učite Ruby.

Moousture je mouse gesture library (kako to najsretnije prevesti na hrvatski?). Nije da vam je to trebalo u životu, ali može poslužiti za demonstraciju sile i izazivanje wow efekta.

Tražite li neki plugin za vaš omiljeno (ili nametnuto) JavaScript okruženje posjetite stranicu Javascript Plugins. Za sada je popis relativno skroman pa ako znate neku bolju stranicu iste namjene spomenite ju u komentaru.

Ako pod Linuxom radite s bazama pogledajte Mergeant. Sučelje mu baš nije ispeglano, ali sama aplikacija je vrlo upotrebljiva. Podržava MySQL, PostgreSQL, SQLite i još poneku bazu, a prosječnom developeru na Linux teško da treba nešto više.

vuk @ 22:17
Filed under: baze podataka and javascript and programiranje and python
Kad server poludi

Posted on Saturday 30 May 2009

Jedna od najpoznatijih, a meni i najiritantnija, web stranica na kojima jedni ljudi postavljaju pitanja, a drugi odgovaraju na njih (i tako u krug), je Expert Sex Change. Kasnije su promijenili ime domene iz expertsexchange.com u experts-exchange.com pa nije bilo dvojbe da se zapravo zovu Experts-Exchange. Često bih tragajući na rješenjem nekog problema naletio na te stranice, ali vrlo rijetko sam bio zadovoljan onime što sam pročitao. A još su gnjavili korisnike sa sakrivanjem sadržaja jer im je bilo važno da ga tražilice indeksiraju, ali da ga ljudi malo teže pronađu, osim ukoliko ne plate premium uslugu. Uglavnom taj site je mene natjerao da u tražilicama tražim postavku: ignoriraj taj site.

Jedna od najboljih stranica na kojima ljudi postavljaju pitanja i dobivaju odgovore je Stack Overflow. Glavni krivci za njega su Jeff Atwood i Joel Spolsky. Prvenstveno je namijenjen programerima i na njemu je sve otvoreno i slobodno (nema premium servisa). Uveden je sustav bodovanja na osnovi kojeg zarađujete svoju reputaciju i bodove. Cijeli sistem je dobro razrađen, zajedničari na tom servisu su pristojni i pametni tako da SO ispunjava svoju svrhu postojanja. Ja ga baš ne koristim prečesto, ali sve više uviđam kako bi on trebao biti jedna od prvih stanica na putu do rješenja programerskih dvojbi i problema.

Nedavno je pokrenut i Server Fault. On je sve isto kao Stack Overflow, ali namijenjen svima onima koji administriraju računala. S nešto više od 3.000 pitanja on još nije dosegnuo potencijal Stack Overflowa, koji ima više od 175.000 pitanja, ali na dobrom je putu.

Eh…gle koliko teksta i koji uvod da bi vam rekao samo to da je pokrenut Server Fault. :-)

vuk @ 21:19
Filed under: poslužitelji and programiranje and web
Sigurnost djece na Internetu na drugi način

Posted on Saturday 16 May 2009

Danas je uz Večernji list objavljena knjižica Sigurnost djece na Internetu koja je dostupna i u online inačici (u mojem omiljenom formatu s c00l listanjem stranica :-) ).

Ono što se kroz cijeli priručnik provlači je da dijete treba nadzirati, kontrolirati, zabranjivati mu. Osim nekih tehničkih detalja većina onoga što savjetuju je ono o čemu bi roditelji trebali voditi brigu neovisno o Internetu. Priručnik je pisan s pretpostavkom da su Windowsi jedini operacijski sustav koji postoji i ne spominju se druga rješenja. Ali zato se često spominju rješenja koja se plaćaju pa uz njih autori rado navode riječ nažalost. Kod imenovanja tehnologije autori su trebali više upotrebljavati popularna imena koje klinci koriste…peer-to-peer malo kome što znači, ali svi znaju što je torrent. Priručnih je više teorijski orjentiran, roditeljima je važna praksa. U redu, postoje dječji e-mail servisi, ali da li to djeca koriste, kako ih koriste? Jedan savjet navodi kako socijalne mreže nisu za djecu osnovnoškolskog uzrasta. Pokušajte to reći vašem djetetu koje ide 7 ili 8 razred.

Vratimo se tehnologiji. Linux je danas puno bolje rješenje za vaše dijete koje uglavnom koristi Internet. Većina gamadi koja obitava na Windowsima na Linuxu nije prisutna. Neće vam trebati antivirusni program niti nekoliko anti-spyware programa. To ujedno znači da će i računalo raditi brže jer svi ti programi za zaštitu usporavaju računalo. Koliko puta ste masno platili čišćenje računala? Instalacija programa ide preko sigurnih repozitorija u kojima će vaše dijete naći skoro sve što mu je potrebno za učenje. Uz OpenDNS možete filtrirali hrpu štetnih i zlonamjernih stranica. Nedostatak Linuxa je relativno siromašan izbor komercijalnih igara. Ali to i ne mora biti loše, veća je vjerojatnost da će vaše dijete raditi nešto korisno na računalu. Stanje nije tako crno, uz wine možete pokrenuti veliki broj igara za Windowse. To obično nisu najnovije igre, ali zato imate velik broj dobrih, starijih igara koje možete vrlo povoljno nabaviti. Pazite na to da koristite legalne programe? S Linuxom to možete jednostavnije postići. Većina kućnih Windows korisnika kopiranje i presnimavanje doživljava kao svoje ustavno pravo.

Korištenje Interneta i zaštita na njemu bi trebali biti sastavni dio nastavke Informatike u školama. CARNet ima zanimljivu prezentaciju o tome. Priručnik uz Borbeni komplet također je izvor korisnih informacija. NetAkademija je dosta angažirana na tom području (oni su sudjelovali i u izradi priručnika Sigurnost djece na Internetu), pokrenuli su stranicu Sigurnost i zaštita djece na internetu na kojoj ima dosta sadržaja koji je slobodan za korištenje u nastavi. Jasno, težište je opet na Microsoft tehnologijama i problemima.

Netbookovi postaju sve popularniji. Sve više roditeljima djeci kupuje mali laptop. Kako je na njemu najkorišteniji program preglednik web stranica postoji cijeli niz razloga da se na njemu vrti baš Linux. Barem će vam tehnički aspekti sigurnosti biti manji problem…

vuk @ 12:21
Filed under: (ne)sigurnost and Internet and linux
Swiftweasel i Links2

Posted on Thursday 14 May 2009

Svako toliko padnem u iskušenje pa isprobavam neki od alternativnih preglednika (browsera). Opera je česti gost na tim seansama, ali nikako da se naučim na nju tako da sakuplja digitalnu prašinu u tamo nekom direktoriju. I Flocku sam davao više od jedne šanse, ali nije ju iskoristio. Danas sam opet instalirao novi preglednik. Swiftweasel se temelji na Firefox kodu. Osnovna razlika je u tome što je Swiftweasel optimiziran za brže izvođenje, za vrstu procesora, kompajliran je s novijom inačicom GCC-a, a poboljšana je i sigurnost. Hvale ga da je brži od Firefoxa, da troši manje memorije…Za ovo kratko vrijeme korištenja povećana brzina je primjetna, a lasica je puno agilnija i ne zapinje kao lisica. Binary inačice postoje samo na Linux.

Tekstualni preglednici su na drugim operacijskim sustavima rijetko viđene zvijeri, ali na Linuxu ih ima preko nekoliko, razvijaju se i ljudi ih koriste. Ja obično instaliram links na poslužitelje kojima pristupam jer uvijek postoji potreba da se nešto provjeri, pogleda. Kako nisam bio njegov power user tek danas sam saznao da links2 (istoimeni paket nalazi se u .deb distribucijama) radi i u grafičkom modu te ima i JavaScript interpreter. Nije da se može uspoređivati s pravim preglednicima, ali u nevolji može pomoći. Možete i na neko staro računalo instalirati minimalnu distribuciju bez X-a i gore staviti links2. Twitter manijacima ionako ne treba ništa više…;-)

vuk @ 20:29
Filed under: aplikacije and linux
Sita Sings the Blues

Posted on Tuesday 12 May 2009

U komentaru na prethodni post Krešo je postavio vezu na članak Dragana Petrica koji smatra da bi plaćanjem online sadržaja oživjela industrija medija pa bi razlika između pravog novinarstva i amaterskog prepisivanja ponovno postala vidljiva. Ne znam kako Dragan definira pravo i amatersko, da li su pravi novinari oni koji su plaćeni za svoje pisanje, a amateri oni koji za pisanje ne dobijaju novac? Kod nas je sve češća praksa da plaćeni, profesionalni novinari pišu daleko ispod razine onih koji tipkaraju zabadava.

Povod ovom postu je zapravo vijest o dugometražnim filmovima na Animafestu. Prvospomenuti je film Sita Sings the Blues za kojeg novinar(ka?) (mp) kaže da je dobitnik nagrade za najbolji dugometražni film festivala u Annecyju te da ga se ne smije propustiti jer ga je moguće gledati samo na festivalima. To je probudilo moju znatiželju pa sam ga izguglao. Prvi rezultat je web stranica filma na kojoj saznajemo da je film pod Creative Commons Attribution-Share Alike licencom što znači da ga možete slobodno distribuirati, kopirati, dijeliti, spremiti, prikazivati pa čak i mijenjati, ako imate dara i mogućnosti za to. Film nije ograničen samo na prikazivanje na festivalima već ga možete slobodno skinuti te prikazati u svojoj udruzi, dvorani mjesnog odbora ili dobrovoljnog vatrogasnog društva. Možete naplaćivati prikazivanje te autoru filma poslati dio utrška.

Navedeni profesionalac je ispustio taj važan detalj te potpuno izokrenuo informaciju o filmu. Netko će u njegovu obranu reći kako je samo prenio objavu za medije pa nije kriv. U redu, ali otkad se onda copy&paste, bez uključenog mozga, naziva novinarstvom? I zašto bi to onda trebali plaćati?

Novinari su nekada imali privilegiju na ekskluzivne informacije. Novi mediji i društvene mreže su im tu privilegiju izbili iz ruku. Današnji novinari danas imaju puno manje vremena za obradu informacije, izvora je puno, puno više, a na ekskluzivitet mogu zaboraviti. Ljudi više ne čekaju ekskluzivne informacije velikih kuća koje prečesto pate od nedostatka objektivnosti. Sve se više cijeni neposredna informacija od osoba koje su direktni sudionici ili promatrači. Sirovi, neušminkani materijal. Slijetanje aviona u rijeku Hudson najprije je dokumentirano na Twitteru, Flickru, Tumblru, TwitPicu…budućnost medija nije u građanima-novinarima (koje polovica pravih novinara prezire, a druga polovica ih se boji) već u građanima-izvorima. Novinar budućnosti treba imati dar za brzu obradu tih izvora, treba znati ocijeniti njihovu vjerodostojnost, vrijednost, kritički ih obraditi.

I dok je Draganu glavni problem naplata, te razmišlja o tome kako će držati ekskluzivitet u krletki, izgleda da ne vidi da mu se struci događa distruptivna inovacija koja će promijeniti odnose na tržištu. Darko je to lijepo sažeo u zadnjem poglavlju svog posta.

P.S. Ovo me sjetilo na jedan moj post od prije 5 godina u kojem sam na pomalo satiričan način također pisao o budućnosti novinarske struke. Novinar budućnosti.

vuk @ 20:39
Filed under: film and mediji and open source
Budućnost novina na domaći i strani način

Posted on Monday 11 May 2009

The New York Times je objavio drugu inačicu svojeg readera. Prva inačica bila je u Silverlightu, dok su za ovu odabrali Adobe Air. Times Reader 2.0 podsjeća na klasične novine, rasporedom i dizajnom stranice, ali upotrebljivost je na visokom nivou, nema iritantnih rješenja kao kod nekih drugih e-novina. Tjedna pretplata za puni sadržaj je 3.45$. TNYT je ozbiljno shvatio opasnost koja prijeti klasičnim novinama i krenuo u budućnost…

Mogli bi reći da je i PC Chip krenuo u budućnost, i on nudi pretplatu na elektroničko izdanje. Ali napravili su dvije greške. Prva je ta što su pretjerali s cijenom. 20kn za jedan broj i 100 kn za 6 brojeva je previše. Njihov orjentir je očito bila cijena tiskanog izdanja, i postupili su po klasičnom domaćem poslovnom modelu koji teži da proda manje za više novaca umjesto više za manje novca. Cijena online, elektroničkog sadržaja bi trebala biti takva da kupac ne razmišlja previše o cijeni, kupnja bi trebala biti impulsna. Druga greška je prezentacija sadržaja. Sudeći po njihovom PC Businessu odabrali su FlippingBook. Jedna od najiritantnijih stvari kod njega mi je efekt listanja stranica. To vam može izgleda cool kad ga prvi put vidite, ali poslije vam smeta. Korisnički doživljaj prilikom čitanja je daleko lošiji nego kod Times Readera. FlippingBook koristi skenirane slike različite veličine. Zaboravite na kopiranje za potrebe citiranja ili klikanje na linkove. Možda FlippingBook to sve ima, ali ovdje to ne vidimo.

Mjesečni ritam izlazaka predugo je razdoblje za elektroničko izdanje. Bez drastične promjene strategije e-izdanje PC CHIP-a nema baš neke šanse za uspjeh. VIDI također ima e-izdanje koje je dostupno besplatno i sadrži samo manji dio sadržaja (1/3?). Oni također koriste rješenje bazirano na Flashu koje je funkcionalno na skoro istom nivou kao i PC CHIP prezentacija, ali omogućavaju i skidanje dokumenta u .PDF formatu. S obzirom da VIDI-ju ta prezentacija služi kao demo tiskanog izdanja nema prostora za kritiku cijene ili poslovnog modela. Svoju funkciju obavlja zadovoljavajuće. Ali listanje stranica je i dalje iritantno.

vuk @ 21:59
Filed under: aplikacije and kiosk and web
Firefox - problemi s bookmarkom

Posted on Saturday 2 May 2009

Na svojem domaćem Linux računalu sam već par mjeseci imao problema s bookmarkcima. Nekih su nestali, a neki su u naslovu imali jedan opis, dok je url vodio na stranice koje nisu imala veze s tim opisom. Ali kako bookmarke uopće ne koristim, nisam se previše bavio time. Sve do danas dok mi nije dosadilo dosta često zaglavljivanje Firefoxa na 2-3 seknude. Pretpostavio sam da bi problem mogao biti u nekoj od datoteka u koje on često ubacuje zapise. U profilu se nalazilo nekoliko .sqlite datoteka, dvije od njih su bile veće od 50MB. Negdje sam pročitao da je dobro napraviti VACUUM nad njima pa sam to krenuo napraviti. Stvar je pukla na places.sqlite datoteci koja je javila poruku SQL error: database disk image is malformed. Unatoč tome moglo se sa sqlite3 klijentom ući u datoteku, provjeriti koje su tablice unutra…nakon kratkom i brzog uvida zaključio sam da mi ništa od toga nije kritično pa sam spornu datoteku preimenovao i pustio Firefox da napravi novu.

Sada nema povremenih zaglavljivanja, ubrzalo se pokretanje Firefoxa (kao i zatvaranje) i mogu ponovno spremati bookmarke. Najvjerojatnije se velik dio podataka mogao spasiti, prekopirati u novu datoteku, ali nisam želio riskirati nove probleme. Ako i sami budete imali isti problem, a želite sačuvati bookmarke, možete postupiti po naputku Locked or damaged places.sqlite.

vuk @ 22:03
Filed under: aplikacije and čarolije
Ext JS 3.0 RC1 i Ext Core 3.0

Posted on Friday 17 April 2009

Jučer je završila prva Ext konferencija na kojoj je napravljeno i lansiranje Ext JS 3.0 inačice te odlične JavaScript biblioteke za programiranje bogatog sučelja. Trenutno je na raspolaganju za download Ext JS 3.0 RC1, a mogu se pogledati i primjeri. Ono što je korisnike najviše razočaralo je informacija da je Ext Designer odgođen za 3.1 inačicu. Dio ugođaja s konferencije prenošen je i na nezaobilaznom Twitteru.

Prije dva tjedna pojavio se još jedan novitet u Jackovoj produkciji: Ext Core. Ext JS je odlična biblioteka, ali je prvenstveno namijenjena web aplikacijama i prevelika je za klasične web stranice na kojima ne možete korisniku podmetnuti 500kb JavaScripta. Ext Core djelomično ispravlja taj problem. To je manja biblioteka koja nema toliko widgeta, ali dobro pokriva funkcionalnosti koje su potrebne na web stranicama. Ext Core po svemu konkurira JQuery i MooTools bibliotekama. Za razliku od nepopularne GNU GPL v3 licence za Ext JS, Core je objavljen pod manje restriktivnom MIT licencom.

Koliko mi se čini Ext Core je napravljen prvenstveno da održi Ext developere na okupu, da ne šaraju s drugim bibliotekama u slučajevima kad im Ext JS ne odgovara. Ali to ne znači da je loš ili manjkav. Uvid u manual otkriva dosta toga…

vuk @ 7:50
Filed under: javascript
Izbjegavate li NULL?

Posted on Thursday 16 April 2009

Danas je na Pollitici pokrenuta tema o manipulaciji popisima birača. Na stranici Pretraživanje popisa birača možete provjeriti koliko na pojedinoj adresi ima birača. Sumnjive su adrese koje po pravilu imaju kućni broj 0 ili 900 i veći. Svi oni koji imaju iskustva s bilo kakvim komunalnim sustavima već pogađaju zbog čega su se pojavili ti nerealni brojevi. U pravilu se radi o adresama bez kućnog broja pa se u tom slučaju upisivala nula (broj 0) ili neki veliki broj (u ovom slučaju 900).

Sve to ne bi bilo dovoljan razloga za ovaj post da u navedenoj temi komentator petar8 nije ustvrdio da je logičan pristup po kojem se upisuje broj 0 tamo gdje ne postoji kućni broj. Na komentar da se u tom slučaju koristi NULL petar8 odgovara ali je pravilo da se null izbjegava - jer inače svako pretraživanje traži uzimanje u obzir da navedeno polje nema vrijednosti….

Ups…NULL se izbjegava zato da programer u pojedinim slučajevima ne bi trebao pisati dodatni uvjet u upit? To nije pravilo, to je glupost i lijenost i kosi se s još uvijek važećim pravilima za RDBMS-ove. Ima NULL svojih nedostataka, ima prijedloga koji bi te nedostatke mogli ukloniti, ali kako oni još nisu postali standard moramo se ravnati po starom standardu. Edgar F. Codd (18.4. mu je 6. godišnjica smrti) je tu bio poprilično jasan. NULL rješava potrebu da se u bazi prikažu informacije koje nedostaju ili nisu poznate. U spomenutom slučaju kućni broj nije poznat pa je jedino logično rješenje da se on označi kao NULL (nepoznat, bez vrijednosti).

Zašto programeri izbjegavaju NULL? Uglavnom zato jer u upitima zaboravljaju obraditi to nedostajanje vrijednosti, dobivaju neočekivane rezultate pa idu linijom manjeg otpora i koriste nulu ili prazan string. Dodatan problem predstavljaju i različite implementacije u pojedinim bazama. Npr. ako imate ORDER BY po polju koje može imati i NULL vrijednosti (npr. tablica natjecatelja koja ima polje pozicija koje neće imati vrijednost ako natjecatelj nije završio utrku ) Microsoft SQL Server će vam te natjecatelje s NULL pozicijom postaviti ispred natjecatelja s pozicijama, dok će Oracle i PostgreSQL te natjecatelje staviti iza natjecatelja koji imaju konkretnu vrijednost u polju pozicija.

NULL se koristi, i polje u tablici se označava da može imati NULL vrijednost, u slučaju kad postoji potreba da se slog spremi bez da je poznata vrijednost u tom ili takvim poljima. U navedenom slučaju s natjecateljima mi moramo biti svjesni da postoje oni koji nisu osvojili poziciju u utrci i oni imaju drugi status nego natjecatelji koji su utrku završili. Aplikacija koja bi obrađivala rezultate mora biti svjesna toga, a ne da zanemaruje problem koristeći nulu ili neki veliki broj. Izbjegavanje NULL-a može se u nekim slučajevima vratiti kao bumerang jer će programer na kraju pisati više koda nego da ga je koristio.

Primjer koji sam ja navodio, kad sam nedavno dokazivao da postoje slučajevi kad se NULL treba koristiti, je slučaj tablice u kojoj se sprema datum nečije smrti (npr. baza za udrugu za posmrtnu pripomoć). U toj tablici su navedeni i živi ljudi koji još nemaju datum smrti. Što će oni, kojima je logično da se NULL izbjegava, upisati u to polje? Neki nerealni datum? Bez obzira koliko taj datum bio daleko, nekima se ne bi dopalo da predviđate datum njihove smrti. Zanima vas popis živih članova? Ako ste usvojili petar8 logiku onda morate znati koji vam je granični datum pa su živi oni koji imaju taj granični datum. Ako se držite standarda onda su vam živi svi oni koji nemaju datum smrti. Što je logičnije?

Neki ne vole NULL-ove zato jer skoro sve funkcije za agregaciju ignoriraju NULL-ove. Zamislimo da je petar8 radio aplikaciju koja bilježi temperaturu u gradu i na temelju prikupljenih podataka vraća prosječnu temperaturu. Postoje dani kad temperatura iz nekog razloga nije očitana. Slog s tim datumom će imati NULL u polju temperatura. petar8 i njegova logika će se u tom slučaju imati problem jer ne mogu koristiti nulu (budući da regularna temperatura može imati tu vrijednost) pa će najvjerojatnije uzeti neku nerealnu vrijednost. -100 ili 100?! Kod ispisa prosječnih temperatura petar8 će dobiti čudne vrijednosti, pa će se sjetiti da mora dodati uvjet kako bi isključio dane kada nije bilo očitavanja. Oni koji su koristili NULL tih problema nemaju jer funkcija AVG isključuje takve podatke.

Budite oprezni u logičnom izbjegavanju NULL-ova. Možda jednog dana zaslužite svojih pet minuta slave na The Daily WTF portalu. ;-)

vuk @ 23:10
Filed under: baze podataka
Microsoft referrer spam

Posted on Friday 10 April 2009

Bill Gates je prije 5 godina rekao da će problem spama biti riješen do 2006. godine. Svi znamo da je to bila potpuno promašena prognoza, a i iz Microsofa stiže izvještaj o tome kako je 97.3% mail prometa spam. Jasno je da je ta borba izgubljena. I što onda neki rade kad nisu u stanju pobijediti protivnika? Pridruže mu se!

Priča o referrer spamu iz Microsofta je stara već nekoliko godina. U želji da poveća search share svojeg Live Search servisa Microsoft poseže i za spamerskim metodama. Ako pratite logove svojih web stranica sigurno ste primjetili da imate posjete koje vam kao šalje Live Search. Uvijek je to samo jedna riječ. Unesite tu riječ na Live tražilici da vidite koju poziciju zauzimate. Klikajte stranicu po stranicu i možda nekada ugledate i štrumpfove…prije nego link na vašu stranicu. O čemu se radi? Live Search analizira vašu stranicu, otkrije ključne riječi tako da kasnije može simulirati kao da je posjetitelj došao na vašu stranicu postavivši upit s tom riječi na njihovoj tražilici.

Svojedobno je objašnjenje iz Microsofta bilo:

The traffic you are seeing is part of a quality check we run on selected pages.

Zanimljiv način provjeravanja kvalitete. Priča je bila aktualna prije godinu i pol (ako izguglate microsoft referrer spam većina rezultata će biti iz tog vremena), ali referrer spam i dalje radi. Meni je pažnju na to skrenuo jedan mali servis za statistiku kojeg koristim i koji je blokirao Microsoft spam bota. Jedan bloger otkrio je taj problem istražujući veliki bounce rate za nove ključne riječi.

Znatiželjan kakav jesam išao sam baciti oko na neke logove. Gdje god sam pogledao našao sam tragove spam bota. Iz logova ovog bloga dalo bi se zaključiti da imam vrlo dobre pozicije na Live Searchu za slijedeće ključne riječi: microsoft, jasno, source, parrot, gmail, provider, server, servis, forum, dizajn, pregled, comment, title, vijest, december, ninja, google…pojedite se SEO stručnjaci. ;-)

vuk @ 22:40
Filed under: microsoft and web