duminică, 23 noiembrie 2008

Utilizarile utilitarului CTTE

This page intentionally left blank.

CTTE este utilitarul pe care trebuie sa il folosesc pentru tema la IE. Atat. Si asta nu vine dupa nervi tociti ca se misca norisorii in pagina. Nu am cearcane si nu tip. E un mic efort de a intelege la ce e bun CTTE in lumea reala (adica lumea aia cu oameni care fac ceva ce le produce o oarecare placere sau ceva care le aduce niste bani cu care sa faca ceva care le face o oarecare placere sau bani cu care sa faca bani cu care sa ....).

Foloseste cineva asa ceva? Am inteles ca e un model interesant, dar inainte sa te apuci sa scrii cod, cand iti dai seama ca o sa iti ia ceva timp sa termini de scris acel cod, te gandesti ca poate ar trebui sa multumesca si pe altcineva produsul final. E un soft ok pentru un produs cu o singura versiune. Ai vazut ca merge, nu a lesinat nimeni de nerabdare sa vada ce face, te-au mai aplaudat unii pe ici pe colo, tu te-ai bucurat si atat. Cand repari buguri si faci o a ciunshpea versiune deja inseamna ca ai o menire in viata, cineva depinde de eforturile tale, ai o armata de oameni care asteapta ca tu sa faci masinaria si mai buna. Altfel de ce te-ai mai chinui? Si totusi numarul de download-uri la CTTE se inzeceste cand vine tema la IE.

Nu am nimic de zis legat de implementare. E un soft mare sris si mentinut de un singur om. Crapa in multe locuri si e de inteles. Am mai vazut soft-uri dezvoltate in mod asemanator, din multa pasiune, dar avand in spate si convingerea ca faci ceva util - vezi ANTLR. Pentru o comparatie cat se poate de elocventa intre cele 2 soft-uri: google ANTLR vs. google CTTE ...q.e.d

De fapt tot postul asta a plecat de la faptul ca pana in momentul in care am terminat de citit tutorialul de pe curs.cs nu intelesesem ce face CTTE. De fapt nu intelesesem de ce s-a chinuit cineva sa il faca.

Utilitarul CTTE

"The ConcurTaskTree Environment" este utilitarul cu care trebuie realizata tema 2 la IE. In el se implementeaza regulile CTT (Concurrent Task Tree), creandu-se un arbore de decizii si actiuni pe care un utilizator al unei interfete (in cazul de fata un blog) trebuie sa le indeplineasca pentru a atinge diferite scopuri (aici trebuie modelata chiar postarea acestui articol pe blog). Exista 4 tipuri de taskuri posibile (USER TASK, APPLICATION TASK, INTERACTION TASK si ABSTRACT TASK) care sunt relationate temporat prin alegere, simultaneitate si multe altele... pentru mai multe informatii cautati pe site dezvoltatorilor... aici

sâmbătă, 22 noiembrie 2008

innerHTML sau cum sa schimbam continutul paginii mai rapid din JavaScript

Motivat de viteza cu care ne copleseste serverul nostru xhost, am incercat obtinerea unei imbunatatiri a experientei utilizatorilor pe situl nostru transferand sarcina de incarcare a paginilor vizitate catre client-side. Asadar, in acest articol voi vorbi putin despre JavaScript.

In momentul de fata, de fiecare data cand incerci schimbarea paginii pe situl nostru de interfete web, i se cere serverului web noua pagina. Ideea ar fi sa se incarce in browser de la bun inceput toate paginile si sa se schimbe doar o portiune din pagina afisata in concordanta cu optiunea utilizatorului.

Pentru a face acest lucru se poate folosi propietatea innerHTML a obiectelor din DOM. De notat ca aceasta nu este standardizata si prin urmare suportul sau in diferitele browsere este incert. Pentru o varianta standardizata, incercati innerDOM .

Implementarea este aparent simpla: se face in pagina un div, sa ii spunem "continut". La apasarea butonului de incarcare a unei pagini, se apeleaza o functie JavaScript care seteaza proprietatea innerHTML a divului "continut" la un string dat de noi... si asta este tot.

Problema insa intervine in momentul in care stringul nostru contine mai multe linii, ghilimele si alte elemente speciale (cum este si cazul unui string care codifica o pagina intreaga). Cautand pe net, am dat peste o pagina care contine o comparatie intre innerHTML si innerDOM. Interesant este ca si exemplul cu innerHTML reuseste sa imi actualizeze continutul unui div la un formular intreg. Din cate imi dau seama pana acum, diferenta intre ce am incercat eu si acest exemplu este ca acesta din urma ia codul HTML dintr-un textarea.value, care este de tip DOMString.

Voi incerca sa studiez problema, iar daca voi gasi o solutionare voi reveni cu un articol. Daca aveti o solutionare, please comment :)

sâmbătă, 8 noiembrie 2008

Barbatii sunt o specie pe cale de disparitie!

Citesc plin de entuziasm un articol in care sunt prezentate cu lux de amanunte faptul ca barbatii sunt o specie pe cale de disparitie si cum tot mai multi barbati se nasc cu defecte genetice si cum disproportia dintre populatia feminina si cea masculina este din ce in ce mai pregnanta.

Articolul in sine este plin de bullshit... dar ideile pe care le lanseaza in mintea oricarui barbat satul de toanele femeilor sunt naucitoare. Daca tot suntem o specie pe cale de disparitie de ce nu suntem protejati, lipsiti de stres, pastrati doar pentru rostul pe care ni l-a harazit natura: "procreerea". Barbatul nu ar trebui sa munceasca, ci ar trebui sa stea acasa si sa se pastreze pentru partenera(ele) sa(le) pentru cand aceasta(ea) vin(e) acasa. Toate parantezele de dinainte sunt din cauza celei de a doua idei care m-a "cucerit". O resursa pe cale de disparitie se reutilizeaza, se recicleaza, iar ca o singura femeie sa pastreze pentru sine un barbat "functional" este imoral si neortodox. Este ca si cum ai rupe o floare-de-colt.

NU... NU si iar NU... barbatii trebuiesc folositi cu cap... fiecare dintre noi trebuie ingrijit cu finetze si impartit cu alte femei... fiecare dintre ei sa aiba propriul harem. De asemenea, stresarea mascului sa fie o crima capitala...

Nu sunt misogin... doar tin la viitorul omenirii asa cum o stim noi. Si ca aceasta sa aiba o sansa, aceaste masuri ar trebui aplicate chiar de maine...

joi, 6 noiembrie 2008

Viitorul este mai cloudy decat oricand

Azi am ascultat bbc si am prins un subiect interesant..
m-am gandit sa scriu cate ceva despre el..
Chiar daca nu pare, "cloud computing" are cat se poate de multa legatura cu interfetele evoluate, mai ales in viitorul apropiat.. (10-20 ani).. se refera la punerea la dispozitia utilizatorilor a unor servicii de prelucrare date, sub orice forma ar fi aceasta.. ganditi-va cum ar fi daca nu v-ar mai trebui acasa un calculator performant pentru a va rula aplicatiile.. cum ar fi daca acestea ar fi rulate pe servere performante care ar avea stocate toate aplicatiile si datele voastre.. tot ce va trebuie este un terminal care sa va ofere interfata foarte friendly (si se pune mare accent pe asta) de conectare.
Tendinta asta este deja luata in serios de firme cu renume cum ar fi google - care vor sa ia painea microsoft, incercand sa aduca solutii cat mai complete pentru prelucrarea documentelor (se pare ca suita office a avut un rol crucial in dezvoltatea aplicatiilor marelui gigant) pentru a convinge firmele sa adere la o astfel de solutie, care de altfel este free :)
microsoft in schimb depune efort pentru crearea versiunilor sistemelor de operare Windows distribuite.
Un alt gigant care s-a orientat pe dezvoltarea de aplicatii online este Adobe - am asistat la o prezentare a lor chiar azi..
Presupun ca mai sunt multi altii care vad o imagine a viitorului nostru in care puterea de calcul va fi tratata ca un serviciu de utilitati casnice - ca apa de la chiuveta sau gazul.. vor exista niste furnizori de "computing" la care ne vom abona si ne vom bucura de serviciile oferite..
Normal.. se pune problema securitatii datelor, si modului in care acestea sunt folosite (profile utilizatori), disponibilitatea lor. Problema este in dezbatere.
Un alt aspect interesant este faptul ca pentru a tine astfel de clustere de servere, cel mai mare cost il presupune.. consumul de energie electrica.. de aceea aceste "computing sites" sunt construite langa surse de energie regenerabile sau foarte ieftine (am inteles ca google au niste servere prin tari unde energia electrica are un pret scazut).
Informatiile postate nu sunt de pe net.. daca vreti mai multe detalii.. cautati-le
ni se ofera deja un astfel de serviciu ;)

luni, 3 noiembrie 2008

There's no place like home

In caz ca nu ai ajuns aici pentru ca I know some people who know some people who spam some people, dai un click pe textul subliniat, vezi ce iti place pe pagina care se deschide, lasi un comment si ne spui ce nu iti place, sau, daca e mai comod asa, nimeni nu trebuie sa afle ca ai calcat acolo(in afara de Google analytics).
click me or the bunny dies

Good evening infidels

Adica numai ce s-a lansat la apa (net?, sarma?) blogul ce tocmai il citesti. Aici o sa gasesti cam tot ce o sa gasim si noi de cuviinta sa iti povestim legat de tehnologii web, promovare pe net, ceva IT stuff, stiai ca-uri, fisiunea nucleara doar cu o sarma si o punga de carrefour si multe asemenea.