JavaScript kompresori (za ovde ili za poneti)

Deo onog jednog, jedva izdvojenog dana, za predavanje na Paliću, proveo sam sa veselom DTP ekipom. I tako… odemo na ručak i otvori se (naravno) totalno geekovska diskusija o tome kako je najbolje kompresovati JavaScript kôd.

Pomenemo onaj genijalni hak gde se više JavaScript datoteka dovlači u browser jednim HTTP zahtevom. Pomenemo gzip i nekoliko compresora koji rade na principu uklanjanja white spacea, skraćivanju imena funkcija i varijabli… ali na kraju ostanemo bez nekog jasnog iskustva šta je najbolje… Možda zato što je deo ekipe već počeo da kompresuje vino.

I kako to biva, totalno ne namerno naletim danas na on-line alat koji u benchmarkingu daje rezultate za nekoliko kompresora i to sa ili bez gzip kompresije. Možete probati i sopstveni kôd pa videti šta je bolje na vašem konkretnom primeru, i to sa varijantama uključenih opcija kompresovanja. Divan on-line alat. Vama najbolji rezultat kompresije možete preuzeti - za poneti.

Eto zašto volim ovakve seminare.

Posted by admin on april 19th, 2008

Filed under programiranje, hedonizam | 1 Comment »

Kulminacija takozvane AJAX arhitekture je prošlost

Nešto je u ljudskoj prirodi (barem mojoj), te ne mogu prećutno tretirati svoje ranije procene koje se pokazuju tačnim… i… da, ubeđujem vas da verujete onome šta ovde pišem :P

Povod ovom “mom egzibicionizmu” je članak koji govori da “jači” korisnici postaju nezadovoljni AJAX rešenjima. Sada je o tome počeo govoriti u svojim (za nas) skupim studijama i čuveni Forrester Research od 20. marta.

Njihovi argumenti snažno podsećaju na ono što sam pisao ovde (pre više od pola godine), predavao pomalo ovde (pre oko godinu i po na IT seminaru u Nišu) ili nedavno komentarisao kod Ilije na blogu.

“Oštrim” se da još argumentovanije o tome pričam i na E-trgovini 2008.

Što bi Miloje rekao Marku… “sad se malo valjaj po terenu”

A monetizacija? Pa eto… uzdamo se kao i nekoliko naših klijenata u naše čedo DataMeal, kojeg (kao potvrda svega) u pomenutim pravcima razvijamo evo već tri godine (uz pauze).

Ima li negde investitora?

Posted by admin on mart 28th, 2008

Filed under programiranje, informaciona arhitektura | 6 Comments »

METRO Cash & Carry - neke stvari mi prosto ne idu u glavu

Metro Cash & CarryNa bahatost prema kupcima u novosadskom METRO Cash & Carry već sam ukazivao na ovom blogu. Već mi dođe da pokrenem poseban blog na temu zaštite potrošača.

Prvi put posle “prošlog bisera” odemo opet porodično. Na ulazu, naravno obavezna identifikacija karticom. Postavim karticu pod čitač i čuje se ružan zvuk (kao kad neko da pogrešan odgovor u TV kvizu). Pitamo šta je…

- “Imate nevažeću karticu!” kažu službenice

- “Kako mislite nevažeću, već sam ulazio ovde kod vas, sa ovom istom!?”

- “Čekajte da vidim… aha pa ova je izvađena u Beogradu!”

- “Kakve to veze ima, molim vas…”, već sam besan

- “Trebate izvaditi kod nas, jeste li poneli pečat?”

- “Nisam, obično ne nosim pečat kad idem u kupovinu… šta sad to znači… ne mogu da uđem…”

- “Ne možete…”

Slede dva-tri moja treptaja, neverica i gomila upitnika iznad moje glave - onako kao u stripu. Kao što rekoh, neke stvari mi ne idu u glavu. Dođeš da potrošiš novac, prethodno su te već identifikovali, imaš karticu… ali sad je opet potreban pečat, jer zbog nečije birokratije kartica je iznenada riknula!?

Za kraj, onako usput… čeznem za dnevnim novinama koje bi imale petlju da ovakve stvari objavljuju, bez straha da će im to ugroziti prihod od oglašavanja, čeznem za novinama ili mediju koji su advokati korisnika i kupaca, a ne PR agencije velikih firmi. I o tome sam već ovde pisao.

Posted by admin on mart 22nd, 2008

Filed under povedanje | 3 Comments »

HINT: brzo do konekcije na bazu

Data Link PropertiesIma sad već nekoliko godina kako sam naleteo na ovaj štos za brzo pravljenje takozvanog “connection stringa”. U poslednjih mesec dana dva puta sam ga “prodao” programerima, i pre toga ko zna koliko… pa bi bio red da ostane trag i na blogu kada se svi tako već oduševljavaju sa hintom…

String za konekciju na bazu ima relativno kompleksnu i vrlo “pipavu” sintaksu, i neohodan je kod konekcija na bilo koju popularniju bazu iz većine razvojnih alata odnosno iz većine desktop programskih jezika. Nisu svi razvojni alati opremljeni “čarobnjakom” koji ovaj string kreira, a sa druge strane malo je poznato da je jedan ovakav čarobnjak dostupan u svakom novijem Windowsu (barem od 2000 na ovamo).

Dovoljno je da:

  1. Otvorite Windows Explorer
  2. Odaberite File > New > Text Document i promenite ime tako da ima UDL ekstenziju npr. mojakonekcija.udl (veličina će inicijalno biti nula bajtova)
  3. Dvokliknite na tu datoteku i otvoriće se Data Link Properties dijalog, preko kojeg podesite parametre konekcije: drajver, korisnika…i sa “Test Connection” proverite da li se pomoću zadatih parametara konekcija ostvaruje.
  4. Zatvorite dijalog klikom na OK
  5. Videćete da datoteka (koju ste kreirali u koraku 2) nije više prazna nego da je dobila nekakav sadržaj. U nekom plain-text editoru/vieweru videćete da se u njoj nalazi potreban i proveren connection string.

Posted by admin on mart 5th, 2008

Filed under programiranje | No Comments »

Majstori retoričkog šibicarenja

Milan VlajčićU današnjem Blicu, u kulturnoj rubrici objavljen je tekst - Kultura je i zastava i štit (naslov zvuči epski). Nekoliko poznatih domaćih intelektualaca dalo je viđenje kulture kod nas… Među njima i Milan Vlajčić (poznati novinar, književnik i kritičar) koji je praktično većinu današnje (kulturne) elite opisao tako precizno i efektno sa: majstori retoričkog šibicarenja.

Neko je to mogao opisivati u u nekoliko pasusa, ali eto čoveku stalo u tri reči (andrićevski).

Možda nema veze, ali eto prilike da se ja požalim da mi već godinama bude oči/uši/glavu izraz - nekulturan, je se u njemu krije jedna od doza domaće ksenofobije. Izraz nekulturan, ovde prečesto označava onog koji se postupcima razlikuje od većine. Ako nisi mediokritet - automatski si nekulturan. Možda je Vinčanski čovek čačkao nos (mediokritetski banalizovana slika “nekulture”)… ali nije bio nekulturan. Umetnost se nalazi u “kulturnom” košu, ali daleko od toga da ga potpuno ispunjava. Mediokriteti često tu stavljaju znak jednakosti.

Naš jezik, pored ovog nesretnog “homonima” ima bar nekoliko desetina sličnih devijacija u značenju reči koje nam odmažu u nameri (ako je upšte ima) da živimo lepše.

Posted by admin on februar 19th, 2008

Filed under povedanje | 1 Comment »

Srednjovekovni helpdesk

Nisam baš ljubitelj “zanimljivo sa YouTube” tipa postova, ali ne odolevam.

Napokon sam našao još jedan način kako da korisnicima ilustrujem kako mi ponekad zvuče njihova pitanja. Na način da me razumeju.

Posted by admin on februar 15th, 2008

Filed under informaciona arhitektura | 2 Comments »

Besplatna reklama: umešani prsti - “nema zezanja”

Nema zezanjaDruštveni aktivizam je sjajna stvar.

Aktivisti okupljeni oko EXIT festivala, pokrenuli su akciju animiranja izlaska mladih na izbore pod nazivom - “Nema zezanja”. I tako… krenula ta kampanja, listam ja novine, gledam baner na B92… i vidim nešto slično - konture znaka moje firme - “ona tvoja šapica” kako je od milja zove jedan moj klijent. Rešim da proverim poklapanje i evo rezultata na slici.

Tako su umešani prsti meni (vrlo uslovno) kolateralno napravili reklamu. Čudni su putevi internetski, a aktivizam je plemenita stvar - zbog toga se i ne ljutim.

Možda je interesantno da sam do “šapice” došao stilizovanjem malih latiničnih slova “m” i “l” (od majlab - majstorović laboratorija)… dalje je interesantno da neki to video kao ikonicu fabrike ili grafikon rasta (!).

ili

Posted by admin on januar 31st, 2008

Filed under povedanje, informaciona arhitektura | 1 Comment »

Hak(ić) u arhitekturi JavaScript kôda - trend za 2008 - “bibliotekarski problem”

Nakon povampirenja povećane primene JavaScripta od pre 3-4 godine, popularisalo se u primeni nekoliko klijentskih biblioteka (to i vrapci znaju): Ajile, Dojo toolkit, Echo, ExtJS, JQuery, MochiKit, MooTools, Prototype, Rialto, Rico, script.aculo.us, Yahoo! UI Library … ima ih još… Interesanto je dalje, da je postojanje ove palete stvorilo drugu - paletu JavaScript programera. Nove specijalnosti - nova kasta, novi fetiš, novo pleme…

Biranje “prave” uvek je kompromis, a o programerskim fetišima sam se naterao da ne razmišljam. E sad, nije o tome reč, a ako o tome neko želi iole racinalno mišljenje evo mu polaznih linkova:

Može se reći da iza svake od navedenih biblioteka stoji barem nekoliko čovek/godina kodiranja i testiranja i najbolje prakse. Zbog toga nema snažnijeg razloga da ovakve biblioteke sami razvijamo. Kada se uz korišćenje jedne od njih iskodira neki deo web apikacije, biblioteku dalje održava open-source zajednica a naš deo kôda bi (teoretski) trebao da radi i na sledećim stabilnijim i performantnijim verzijama. Mod(ula)(e)rno, nema šta… ali ne i bez glavobolje.

Hakić na koji želim ukazati zapravo je trend u arhitekturi. Dešava se da krenete da web aplikaciju razvijate sa jednom bibliotekom, a kasnije pronađete savršenu komponentu za vašu web aplikaciju ali pisanu na drugoj biblioteci. Problem je što bi sad trebalo u browser “dovući” obe ne baš male biblioteke, ugroziti mu stabilnost. Ponekad se JavaScript biblioteke (programerskim žargonom rečeno) “kolju”, odnosno smetaju jedna drugoj da rade ispravno. Tipično i jednostavno je recimo različito tretiranje window.onload eventa… Apsurd je veći jer obe biblioteke imaju iste ili slične metode/funkcije - redudantan kôd. Drugi problem biblioteka je da se često iz njih koristi tek nekoliko procenata kôda. Kasnije ću se pozvati na sve ove problem, pa ih sada nazivam - “bibliotekarski problemi” (neću sad braniti zašto baš takvo ime).

Hak u arhitekturi je zapravo dodatna mogućnost neke JavaScript komponente da rade na više biblioteka. To na primeru ExtJS izgleda otprilike ovako (izvor slike):

Hak u arhitekturi JavaScripta

Ovo je arhitektura tog haka na u primeru sa ExtJS, ali se treba šire posmatrati. Dakle neka komponenta (gornji široki plavi bar) može da radi na na baznoj biblioteci (u datom primeru je to: ext-base.js), ali se preko tzv. adaptera može koristiti i na drugim bibliotekama (zeleni, crveni i narandžasti pravougaonik). Adapter je po pravilu malo parče kôda - tzv. apstrakcija (proksiranje) prema drugoj biblioteci. Na taj način rešavaju se “bibliotekarski problemi”.

Ovaj “pattern” (ili hak) u arhitekturi ovih meseci postaje trend. Za kraj evo jedne popularne komponente, sa rešenim “bibliotekarskim problemom”. Javite se ako pronađete još JS komponenti u ovoj arhitekturi.

Posted by admin on januar 29th, 2008

Filed under programiranje | No Comments »

OpenCoffee Novi Sad - customize

Nakon ~jednoipomesečne pauze, novosadska OpenCoffee okupljanja se nastavljaju. Za sad imamo mini-jubilej: 10 okupljanja…

Sloba se potrudio da se sve gurne koji korak napred, te je registrovao odgovarajući domen (www.opencoffeenovisad.org) i tamo preselio (one od ranije) osnovne informacije. I ne samo to, rešio je da artikuliše primedbe na mesto, termin i periodiku okupljanja… ta artikulacija će se izvesti preko ovog on-line upitnika.

Za kraj, podsetnik da su ova okupljanja neformalna, nije potrebna pozivnica, nema agende i sponzora. Za nešto formalnije artikulisanje zajednice e-preduzetnika i e-profesionalaca nadam se da će poslužiti Udruženje E-start, koje smo nedavno osnovali. To Udruženje nije direktno vezano za OpenCoffee, ali eto nama teme kad se vidimo na OCNS… (postoji neka “erotika” u ovim skraćenicama, zar ne :))

Posted by admin on januar 27th, 2008

Filed under povedanje, hedonizam | No Comments »

Usability se još uvek isplati

Upravo je danas objavljena studija o isplativosti usability eksperize. Ko bi drugi nego usability guru, danac Jakob Neilsen. Zato studija i nije besplatna (~100€), ali evo jednog javnog zaključka…

Njegova grupa je sličnu studiju radila i ranije - negde 2002. Interesantno je da je KPI ranije bio 135%, a sada manje(!) 85%. Dakle, ulaganje u usability je i dalje vrlo isplativo, ali ne toliko enormno kao ranije.

U komentaru na moj članak - Stevino pravilo, Grba se pitao ima li domaćih sličnih studija. Imate li neke insajderske ROI kalkulacije?

Posted by admin on januar 22nd, 2008

Filed under povedanje, informaciona arhitektura | No Comments »