<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8130513796350254627</id><updated>2011-05-04T12:34:42.154+03:00</updated><category term='url'/><category term='wiki'/><category term='colaborativ'/><category term='twine'/><category term='site-uri'/><category term='DNS'/><category term='Radar Netwoeks'/><category term='JAVA'/><category term='joomla'/><category term='print screen'/><category term='comunitati sociale'/><category term='interfata utilizator'/><category term='electrophoretic'/><category term='autentificare'/><category term='sef ulr'/><category term='smart pen'/><category term='url rewriting'/><category term='interfata'/><category term='Web Workers'/><category term='owl'/><category term='rdf'/><category term='social bookmarking'/><category term='performanta'/><category term='ergonomie'/><category term='interfete evoluate'/><category term='e-book reader'/><category term='Chrome'/><category term='inteligenta artificala'/><category term='web 2.0'/><category term='teme'/><category term='CTTE'/><category term='openID'/><category term='jing'/><category term='Kaminski'/><category term='usability'/><category term='magazine online'/><category term='cooperativ'/><category term='liveScribe'/><category term='XRDS'/><category term='page rank'/><category term='XSL'/><category term='modelul sarcinilor'/><category term='CSS'/><category term='REST'/><category term='Javascript'/><category term='semantic web'/><category term='screen capture'/><category term='XML'/><category term='diagrame'/><category term='visio'/><category term='advanced'/><category term='Nova Spivack'/><category term='interfete web'/><category term='SAX'/><category term='SOAP'/><category term='free software'/><category term='single sign-on'/><category term='Google Analytics'/><category term='diverse'/><category term='Firefox'/><category term='software'/><category term='combobox'/><category term='design'/><category term='screencasting'/><category term='HI5 API'/><category term='interfete prietenoase'/><category term='social media'/><category term='gliffy'/><title type='text'>Interfete web</title><subtitle type='html'>Noutati despre interfete web si interfete evoluate</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Echipa noastra</name><uri>http://www.blogger.com/profile/18160896776485280338</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6267265807818191123</id><published>2009-01-14T12:36:00.002+02:00</published><updated>2009-01-14T12:37:56.786+02:00</updated><title type='text'>Prezentare finala</title><content type='html'>&lt;div&gt;&lt;br /&gt;                 &lt;span class="slideshow-title"  style="font-size:14;"&gt;InterfeteEvoluate.eu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                 &lt;div class="slideshow-embed"&gt;&lt;div style="width: 425px; text-align: left;" id="__ss_915876"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/guest4afe/interfete-evoluateeu-presentation?type=powerpoint" title="Interfete Evoluate.eu"&gt;Interfete Evoluate.eu&lt;/a&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-09391794954281291 visible ontop" href="http://static.slideshare.net/swf/ssplayer2.swf?doc=ieultimaetapa-1231928597242364-1&amp;amp;stripped_title=interfete-evoluateeu-presentation"&gt;&lt;/a&gt;&lt;object style="margin: 0px;" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=ieultimaetapa-1231928597242364-1&amp;amp;stripped_title=interfete-evoluateeu-presentation"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=ieultimaetapa-1231928597242364-1&amp;amp;stripped_title=interfete-evoluateeu-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"&gt;View SlideShare &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/guest4afe/interfete-evoluateeu-presentation?type=powerpoint" title="View Interfete Evoluate.eu on SlideShare"&gt;presentation&lt;/a&gt; or &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/upload?type=powerpoint"&gt;Upload&lt;/a&gt; your own.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                 &lt;div class="slideshow-description"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                 &lt;a href="http://www.slideshare.net/guest4afe/interfete-evoluateeu-presentation" class="slideshow-link"&gt;SlideShare Link&lt;/a&gt;&lt;br /&gt;               &lt;/div&gt;&lt;br /&gt;             &lt;img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTIzMTkyOTMzOTgxMiZwdD*xMjMxOTI5Mzg1MjM*JnA9MTAxOTEmZD*mbj1ibG9nZ2VyJmc9MSZ*PSZvPWMwOWM2ZDc4Y2JkNzQwYzRhMjc5NjQwODVmNjc*ZTE4.gif" width="0" border="0" height="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6267265807818191123?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6267265807818191123/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6267265807818191123' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6267265807818191123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6267265807818191123'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2009/01/prezentare-finala.html' title='Prezentare finala'/><author><name>Echipa noastra</name><uri>http://www.blogger.com/profile/18160896776485280338</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-8827191787973002924</id><published>2009-01-12T15:45:00.001+02:00</published><updated>2009-01-13T16:21:21.387+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='combobox'/><category scheme='http://www.blogger.com/atom/ns#' term='interfata utilizator'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><title type='text'>Despre interfete</title><content type='html'>De curand a expirat termenul de predare al temei 4 la materia interfete evoluate. A fost o tema interesanta ce a avut ca scop realizarea unei interfete pentru un program de cautare in log-urile aplicatiilor de messenger instalate in sistem.&lt;br /&gt;&lt;br /&gt;La prima vedere, tema parea a fi una deosebit de usoara, pana cand am inceput sa ma gandesc la acele amanunte care fac diferenta intre interfetele aplicatiilor. (Tema am realizat-o in Java, iar interfata grafica a utilizat Swing). De exemplu, am vrut sa afisez rezultatele cautarii intr-un arbore in care utilizatorii sa fie grupati dupa sistemul de messenger utilizat. Pare o sarcina simpla, insa am vrut sa afisez si un icon pentru fiecare sistem de messenger, asta inseamna ca este nevoie de un renderer customizat. Dupa o cautare am vrut ca primul utilizator sa defina vizibil si sa ii fie selectata prima conversatie, ceea ce a dus la necesitatea tinerii evidentei primului utilizator adaugat si apoi a fost necesar sa aplelez niste metode pentru a face vizibil nodul selectat.&lt;br /&gt;&lt;br /&gt;Un alt amanunt a fost ca atunci cand selectez campul de introducere text (care este un combobox editabil) sa se selecteze automat textul existent. Aceasta sarcina nu este asa de usoara pe cat pare. In mod normal, se adauga un ascultator de tipul FocusListener capabil sa receptioneze evenimentele de tipul FocusGained / FocusLost si apoi la primirea focusului se apeleaza o metoda asupra modelului combobox-ului care va selecta textul; numai ca in cazul combobox-ului nu este deloc simplu, deoarece combobox-ul este o combonenta compusa din mai multe componente (editorul text, butonul si container-ul in sine). O solutie era adaugarea listener-ului tuturor obiectelor continute in combobox, insa aceasta solutie nu functioneaza pentru componentele care au setet lok and feel-ul de Windows deoarece se pare ca exista un bug in acest look and feel care nu permite procesarea evenimentelor de tipul focusGained / focusLost de catre unele componente. Si asa am pierdut aproximativ trei ore cautand o solutie. In final am creat o noua clasa editor pentru combox careia i-am adaugat un listener la editorul intern (care este un textField).&lt;br /&gt;&lt;br /&gt;Un ultim amanunt pe care il mentionez este partea de afisare a conversatiei care am dorit sa fie placuta, in sensul ca am vrut sa afisez numele utilizatorilor in culori diferite, data mesajului intr-o culoare placuta, dar diferita de numele utilizatorilor, si in plus, textul cautat sa fie evidentiat prin scrierea lui cu culoarea rosu. Si asemanator cu tree-ul utilizat pentru afisarea utilizatorilor, am dorit ca atunci cand se vizualizeaza o conversatie sa fie afisata prima linie care contine textul cautat.&lt;br /&gt;&lt;br /&gt;Toate aceste "amanunte" tin de utilizabilitate si sunt cele care fac diferenta intre o aplicatie pe care utilizatorul sa o foloseasca cu placere si una pe care nu o prea foloseasca.&lt;br /&gt;&lt;br /&gt;Mai multe detalii puteti afla din sectiunea &lt;a href="http://www.interfete-evoluate.eu/produse.php"&gt;Produse&lt;/a&gt; a site-ului nostru.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-8827191787973002924?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/8827191787973002924/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=8827191787973002924' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8827191787973002924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8827191787973002924'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2009/01/despre-interfete.html' title='Despre interfete'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-513497175434991792</id><published>2009-01-05T15:31:00.001+02:00</published><updated>2009-01-06T19:59:13.399+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social bookmarking'/><category scheme='http://www.blogger.com/atom/ns#' term='twine'/><category scheme='http://www.blogger.com/atom/ns#' term='Nova Spivack'/><category scheme='http://www.blogger.com/atom/ns#' term='semantic web'/><category scheme='http://www.blogger.com/atom/ns#' term='social media'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='Radar Netwoeks'/><category scheme='http://www.blogger.com/atom/ns#' term='interfata'/><category scheme='http://www.blogger.com/atom/ns#' term='owl'/><category scheme='http://www.blogger.com/atom/ns#' term='comunitati sociale'/><title type='text'>Twine - Web 2.5?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sQfuPpeGpdM/SWIAwDa19MI/AAAAAAAAAOM/Z9rliZ888C0/s1600-h/twine_logo.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 180px; height: 98px;" src="http://2.bp.blogspot.com/_sQfuPpeGpdM/SWIAwDa19MI/AAAAAAAAAOM/Z9rliZ888C0/s320/twine_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5287789738037998786" border="0" /&gt;&lt;/a&gt;Definindu-se ca o noua metoda de a colecta continut de pe web si de a cunoaste oameni care iti impartasesc interesele, &lt;a href="http://www.twine.com/"&gt;Twine&lt;/a&gt; este o platforma online proaspat iesita din beta.&lt;br /&gt;&lt;br /&gt;Dar ceea ce il face pe Twine diferit de alte aplicatii de online social bookmarking, precum &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;, este motorul semantic ce se afla in spatele interfetei si care organizeaza automat informatia si face recomandari bazate pe comportamentul utilizatorului.&lt;br /&gt;&lt;br /&gt;Un "twine" este un group creat in jurul unui topic, la care pot sa participe oricati utilizatori ce pot sa posteze continut sub forma de bookmarks, note, video, fotografii, documente Word sau pdf. In acest fel un utilizator isi poate crea propria retea de informare, personalizata in functie de preferinte prin abonarea la twine-urile care il intereseaza.&lt;br /&gt;&lt;br /&gt;Web-ul semantic este, asa cum il defineau Tim Berners-Lee si altii, o retea de date care permite computerelor sa gaseasca, sa extraga, sa partajeze, sa refoloseasca informatia si posibil, chiar sa rationeze pe baza ei. Continutul semantic pote di includ in paginile web, publicat din bazele de date si adunat in repozitorii online. Insa cel mai important este ca datele semantice contin in ele insele "meta-informatii" astfel incat alte servicii pot sa le inteleaga.&lt;br /&gt;&lt;br /&gt;Webul semantic pare sa fie urmatorul pas in dezvoltarea tehnologiilor web, fiind denumit si Web3.0. De aceea faptul ca Twine pune la lucru o astfel de tehnologie in spatele unei interfete simple si prietenoase este de laudat si de urmarit.&lt;br /&gt;&lt;br /&gt;Principala tehnologie pe care se bazeaza motorul Twine este Resource Description Framework language sau RDF.  La baza sa stau declaratiile din 3 parti , denumite si triplete. Toata informatia din Twine - fie ca este despre un obiect, o persoana, o nota, un bookmark, un email sau chiar un flmulet -  este exprimata intr0un set de tupluri. O alta tehnologie importanta folosita de Twine este OWL(Web Ontology Language) . Ea serverste la definirea proprietatilor si claselor ce apar in tripletele RDF. In ultimii ani multe organizatii au definit diverse ontologii, si la fel a facut si Twine, folosindu-se totusi si de alte seturi de definitii mai largi produse de W3C si alte organizatii. Acest lucru permite ca Twine sa interactioneze cu alte repozitorii de informatii.&lt;br /&gt;&lt;br /&gt;Este de remarcat ca - din multitudinea de aplicatii de semantic web -  Twine pare sa aiba un succes foarte mare cu zeci de mii de utilizatori care imbogatesc in fiecare zi baza sa de cunostiinte. Totusi, asa cum declara Nova Spivack, creatorul Twine, aplicatia se va orienta mai mult asupra aspectului social, in urmatoarea perioada. Acest lucru ma face sa nu declar Twine ca apartiniand in intregime erei Web3.0 ci mai degraba Web2.5 -  un pas intermediar catre ceea ce ne asteapta.&lt;br /&gt;&lt;br /&gt;Va invit sa vizitati websiteul &lt;a href="http://www.twine.com/"&gt;Twine&lt;/a&gt; si sa va facei singuri o parere. Pentru a naviga prin diferitele twine-uri nici macar nu este nevoie sa fiti logati. Iar dupa ce ati vazut despre ce este vorba, astept parerea voastra printr-un comentariu mai jos.&lt;br /&gt;&lt;br /&gt;Anca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-513497175434991792?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/513497175434991792/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=513497175434991792' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/513497175434991792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/513497175434991792'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/twine-web-25.html' title='Twine - Web 2.5?'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sQfuPpeGpdM/SWIAwDa19MI/AAAAAAAAAOM/Z9rliZ888C0/s72-c/twine_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-8649771593981491561</id><published>2008-12-23T11:20:00.009+02:00</published><updated>2009-01-10T14:31:59.662+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='teme'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='diverse'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Tema 3 nu e chiar simpla :)</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_0hb8kYYl0sg/SVCt0pbvdAI/AAAAAAAAAAc/deOfEtQcRqE/s1600-h/ajax.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5282913482892604418" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 105px; CURSOR: hand; HEIGHT: 120px" alt="" src="http://4.bp.blogspot.com/_0hb8kYYl0sg/SVCt0pbvdAI/AAAAAAAAAAc/deOfEtQcRqE/s400/ajax.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Anu' trecut, cu ceva intarziere, am facut si eu tema 3. Nu a fost grea, insa e foarte amuzant ca pare simpla, dar creeaza niste probleme destul de mari. Acuma, nah, evident, puteai sa alegi sa te lupti cu aceste probleme sau sa sari peste ele. M-am uitat si pe la alti colegi ca sa vad cum au rezolvat si... se pare ca s-au dus pe varianta usoara...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Pe scurt, tema 3 cere sa se realizeze un mic script Javascript care sa permita evidentierea unor cuvinte intr-o pagina data, care se afla la aceeasi locatie ca si fisierul curent. Scurt si la obiect. Pe deasupra, se mai da ca exemplu si utilizarea optiunii de afisare din cache pe care o ofera motorul de cautare Google. Evident, ca un mic bonus se cere sa se utilizeze &lt;a href="http://en.wikipedia.org/wiki/Ajax_(programming)"&gt;AJAX&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Insa, de aici incep problemele. Io am alex AJAX. Fix in acest moment am dat cu capul de perete. Motivul il reprezinta restrictiile de securitate impuse de browser-ele din zilele noastre. Mai exact, browser-ele nu prea permit incarcarea fisierelor locale prin intermediul unor scripturi locale. Evident, logica e simple: se incearca evitarea cazurilor de acces neautorizat.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Varianta mea de rezolvare a temei 3 poate fi gasita pe site-ul nostru, &lt;a href="http://www.interfete-evoluate.eu/"&gt;http://www.interfete-evoluate.eu/&lt;/a&gt; .&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Problema cea mai mare este cauzata de faptul ca browserele permit incarcarea prin Javascript doar a fisierelor care sunt in acelasi domeniu de securitate cu fisierul initial. Mai exact, un script de pe site-ul &lt;a href="http://www.microsoft.com/"&gt;http://www.microsoft.com/&lt;/a&gt; poate incarca doar un alt script/fisier care se afla pe acelasi site. Ca o situatie particulara, fisierele locale pot incarca alte fisiere locale doar cu acordul utilizatorului (in Firefox) sau nu pot incarca deloc alte fisiere locale (Internel Explorer).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Arial;"&gt;Detalii despre aceste restrictii de securitate in Internet Explorer 7 pot fi gasit la adresa: &lt;a href="http://msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Pentru a rezolvat problema in Firefox 3, solutia e relativ simpla: adaugati un apel ca cel de mai jos, care informeaza browser-ul ca sunt necesare drepturi suplimentare (la randul sau, browser-ul va cere utilizatorului sa confirme faptul ca doreste sa acorde aceste drepturi):&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead UniversalFileRead");&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;Ionut&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-8649771593981491561?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/8649771593981491561/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=8649771593981491561' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8649771593981491561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8649771593981491561'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/tema-3-nu-e-chiar-simpla.html' title='Tema 3 nu e chiar simpla :)'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0hb8kYYl0sg/SVCt0pbvdAI/AAAAAAAAAAc/deOfEtQcRqE/s72-c/ajax.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-1369596257297395984</id><published>2008-12-19T22:47:00.006+02:00</published><updated>2009-01-11T23:26:18.005+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jing'/><category scheme='http://www.blogger.com/atom/ns#' term='interfata utilizator'/><category scheme='http://www.blogger.com/atom/ns#' term='print screen'/><category scheme='http://www.blogger.com/atom/ns#' term='screencasting'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='screen capture'/><title type='text'>Jing [le bells]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jingproject.com"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 303px; height: 241px;" src="http://4.bp.blogspot.com/_sQfuPpeGpdM/SWpd3k9ZdcI/AAAAAAAAAOU/053Lln-TlXM/s320/ui-slider-panel1.jpg" alt="" id="BLOGGER_PHOTO_ID_5290143921695454658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Motto-ul : "Simple is beautiful" exprima foarte clar si modul in care echipa IntelliWeb vede interfetele web. De aceea cei de la &lt;a href="http://jingproject.com"&gt;Jing &lt;/a&gt;m-au cucerit de prima data cand am descoperit tool-ul lor care face lucrurile mai complicate sa devina o joaca.&lt;br /&gt;&lt;br /&gt;Stiu ca dupa titlu ca asteptati poate sa vorbesc despre sarbatorile care sunt pe buzele tututor, insa eu vreau sa sparg tiparele :) Asa ca , taa daaa, o sa va spun de ce mi-a placut acest &lt;a href="http://jingproject.com"&gt;programel &lt;/a&gt;de screen capture si screencasting.&lt;br /&gt;&lt;br /&gt;Asa ca here we go :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Instalarea nedureroasa (desi are nevoie de platforma .NET asa ca daca nu exista preinstalata va dura ceva mai mult)&lt;/li&gt;&lt;li&gt;Interfata cu utilizatorul este unul dintre aspectele care m-au facut sa il iubesc pe &lt;a href="http://jingproject.com"&gt;Jing&lt;/a&gt;. Atunci cand ruleaza se aseaza cuminte in partea superioara a ecranului ca un mic soare pe care il vezi pe jumatate. Daca ai nevoie de el un simplu mouseover il va trezi pentru a-ti sari in ajutor. De remarcat ca daca lucrezi cu &lt;a href="http://jingproject.com"&gt;Jing &lt;/a&gt;pornit nu o sa sughita computerul din lipsa de memorie, nicidecum.&lt;/li&gt;&lt;li&gt;Pentru a prinde o imagine a ecranului din doua click-uri nu ai ce face. Selectezi portiune care te intereseaza iar apoi ai la dispozitie mai multe unelte pentru a explica ce se intampla in poza - poti sa faci highlight pe anumite zone, sa introduci niste casute cu text, sa adaugi sageti.&lt;/li&gt;&lt;li&gt;Poti fie sa salvezi pe computerul personal, sa pui pe un ftp, sa postezi in contul tau de pe Screencast. Dar cel mai fain este ca poti sa trimiti direct la Flickr sau sa copiezi imainea ca atare (ca ca un link)&lt;/li&gt;&lt;li&gt;In ce priveste screencasting-ul acesta este de o calitate satisfacatoare iar limiarea la 5 minute nu este deloc deranjanta. Cine vrea sa se uite la mai mult de 5 minute de explicatii anyway?&lt;/li&gt;&lt;li&gt;Odata ce s-a terminat inregistrarea poti sa uploadezi pe Screencast unde ai la dispozitie 2G de spatiu si de bandwidth lunar, sau sa salvezi inregistrarea ca swf intr-un director sau pe ftp.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Exista si o versiune Pro care iti permite sa iei screencasturile in format MPEG sau sa le trimiti direct la YouTube sau Vimeo, insa pentru nevoile zilnice personale am gasit varianta Free mai mult decat completa.&lt;br /&gt;&lt;br /&gt;Te incurajez sa renunti la a mai apasa PrintScreen si sa incerci &lt;a href="http://jingproject.com"&gt;Jing&lt;/a&gt;. Te asigur, va deveni indispensabil.&lt;br /&gt;&lt;br /&gt;Anca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-1369596257297395984?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/1369596257297395984/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=1369596257297395984' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1369596257297395984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1369596257297395984'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/jing-le-bells.html' title='Jing [le bells]'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sQfuPpeGpdM/SWpd3k9ZdcI/AAAAAAAAAOU/053Lln-TlXM/s72-c/ui-slider-panel1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-1484930835539351431</id><published>2008-12-14T16:01:00.005+02:00</published><updated>2008-12-16T14:33:12.130+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performanta'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='diverse'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Speed of Browsers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://kingofgng.com/media/firefox.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://kingofgng.com/media/firefox.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: arial;"&gt;Intr-un &lt;a href="http://interfetewebupb.blogspot.com/2008/12/web-workers.html"&gt;articol anterior&lt;/a&gt; vorbeam despre &lt;a href="http://www.whatwg.org/specs/web-workers/current-work/"&gt;Web Workers&lt;/a&gt;. Pe scurt, "Web Workers"-ii reprezinta o modalitate prin care un script Javascript poate beneficia de facilitatile de multithreading oferite de sistemul de operare.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: arial;"&gt; &lt;/div&gt; &lt;div style="font-family: arial;"&gt;Motivul pentru care a aparut acest API (practic, utilizarea acestor facilitati se face prin intermediul unor functii disponibile in Javascript) il reprezinta dorinta utilizatorilor de a avea aplicatii web cat mai rapide, precum si dorinta programatorilor de a putea face aplicatii care sa ofere functii cat mai "dragute". Vezi Google Orice (&lt;a href="http://docs.google.com/"&gt;Docs&lt;/a&gt;, &lt;a href="http://www.gmail.com/"&gt;Gmail &lt;/a&gt;etc.).&lt;br /&gt;&lt;br /&gt;In ziua de azi, din ce in ce mai multe site-uri ofera continut care foloseste foarte mult facilitatile oferita de Javascript. Din aceasta cauza, baietii de la &lt;a href="http://www.google.com/chrome"&gt;Google Chrome&lt;/a&gt; s-au gandit ca o dezvoltare logica a browser-elor inseamna marirea vitezei cu care se executa/interpreteaza codul Javascript. Astfel, in Chrome vine cu cateva lucruri diferite fata de alte browsere:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;fiecare tab ruleaza intr-un proces separat, in care codul Javascript poate rula in thread-uri separate. La pornirea Google Chrome se creaza un proces principal, de control, iar fiecare tab deschise duce la crearea unui nou proces. In felul acesta, un tab care face niste procesari intense nu afecteaza in niciun fel celelalte tab-uri;&lt;/li&gt;&lt;li&gt;codul Javascript este compilat direct in cod binar specific masinii pe care ruleaza browserul. In Firefox 3, Javascript-ul este adus la forma unui limbaj intermediar (bytecode), dupa care este compilat la nevoie (oarecum asemanator cu ce se intampla in cazul Java). Firefox 3.1 are un mod diferit, despre care am sa vorbesc mai jos;&lt;/li&gt;&lt;li&gt;Javascript-ul nu are suport direct pentru clase. Cei de la Chrome au introdus o notiune noua (hidden classes), prin care permit reutilizarea codului intr-un mod asemanator cu cel din limbajele de programare normala. Plus ca apare si un Garbage Collector...&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;(Detalii suplimentare despre V8, motorul Javascript al Chrome-ului gasiti la adresa: &lt;a href="http://code.google.com/p/v8/"&gt;http://code.google.com/p/v8/&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Baietii de la Google au fost destul de destepti cand au luat decizia de a face un browser mai rapid. Nu neaparat pentru ca lor le-a iesit un produs bun, dar pentru ca au impins din spate ceilalti producatori.&lt;br /&gt;&lt;br /&gt;Astfel se face ca cei de la Mozilla au facut o mica modificare in Firefox 3.1, care aduce un plus destul de important de viteza. Motorul Javascript din Firefox 3.1 nu mai este &lt;a href="http://www.mozilla.org/js/spidermonkey/"&gt;SpiderMonkey&lt;/a&gt;. El a fost inlocuit cu &lt;a href="https://wiki.mozilla.org/JavaScript:TraceMonkey"&gt;TraceMonkey&lt;/a&gt;, care foloseste o alta metoda de "interpretare" a codului. Practic, acesta nu mai genereaza un graf de control al fluxului (&lt;a href="http://en.wikipedia.org/wiki/Control_flow_graph"&gt;Control flow graph&lt;/a&gt; - &lt;a href="http://en.wikipedia.org/wiki/Control_flow_graph"&gt;CFG&lt;/a&gt;) in sensul clasic, si, in felul acesta, nu compileaza tot codul la inceput (ca Google Chrome) si nici nu aduce tot codul intr-un limbaj intermediar (ca Firefox 3.0.1). In felul acesta, se pot obtine pe alocuri viteze de circa 30 de ori mai mari decat in forma clasica. TraceMonkey foloseste trace-trees, despre gare gasiti mai multe detalii aici: &lt;a href="http://www.ics.uci.edu/%7Efranz/Site/pubs-pdf/ICS-TR-07-12.pdf"&gt;http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-07-12.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ionut&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-1484930835539351431?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/1484930835539351431/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=1484930835539351431' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1484930835539351431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1484930835539351431'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/speed-of-browsers.html' title='Speed of Browsers'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-4533863064583751221</id><published>2008-12-10T15:13:00.004+02:00</published><updated>2008-12-10T15:59:59.518+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='diverse'/><title type='text'>Testele ACID2 si browser-ele</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/b/bb/Acid2_reference.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 168px; height: 168px;" src="http://upload.wikimedia.org/wikipedia/commons/b/bb/Acid2_reference.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Din pacate pentru colegii mei, nu am idei care sa fie legate in mod direct de interfetele web. Insa...&lt;br /&gt;&lt;br /&gt;Astazi am avut niste probleme de layout intr-o aplicatie. Cautand pe net sa vad care-i problema, am dat peste o chestie interesanta, de care simt nevoia sa spun si altora.&lt;br /&gt;&lt;br /&gt;Toata lumea stie ca browserele afiseaza in mod diferit aceeasi pagina. Motivul se datoreaza faptului ca fiecare browser are un motor diferit (afirmatie oarecum valabila deoarece exista motoare care se regasesc in mai multe browsere - ex. &lt;a href="http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29"&gt;Gecko&lt;/a&gt; se gaseste in Firefox, Camino, Netscape si Thunderbird (stiu ca asta nu e browser)). Evident, fiecare motor e mai mult sau putin compliant cu standardele asa ca apar diferente.&lt;br /&gt;&lt;br /&gt;Insa, ceea ce nu stiam este faptul ca exista un test care iti poate arata cat de compliant este un browser cu standardul &lt;a href="http://en.wikipedia.org/wiki/CSS3#CSS_3"&gt;CSS3&lt;/a&gt;. Pe scurt, va duceti la URL-ul: &lt;a href="http://www.webstandards.org/files/acid2/test.html"&gt;http://www.webstandards.org/files/acid2/test.html&lt;/a&gt;, si faceti testul.&lt;br /&gt;&lt;br /&gt;Mai multe detalii gasiti aici: &lt;a href="http://en.wikipedia.org/wiki/Acid2"&gt;http://en.wikipedia.org/wiki/Acid2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Ionut&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;UPDATE: Cristi a semnalat printr-un comentariu faptul ca am facut o greseala in articol: ACID2 este pentru &lt;a href="http://www.w3.org/TR/CSS21"&gt;CSS2&lt;/a&gt;, nu &lt;a href="http://www.w3.org/Style/CSS/current-work"&gt;CSS3&lt;/a&gt;... Mea culpa...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-4533863064583751221?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/4533863064583751221/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=4533863064583751221' title='2 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4533863064583751221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4533863064583751221'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/testele-acid2-si-browser-ele.html' title='Testele ACID2 si browser-ele'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6983881408150183398</id><published>2008-12-10T10:51:00.004+02:00</published><updated>2008-12-10T11:05:10.837+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='diverse'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Workers'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Web Workers</title><content type='html'>&lt;span style="font-family:arial;"&gt;Am sa incep cu un disclaimer: acest post nu reprezinta o insiruire a unor idei personale. Mai degraba, am gasit niste lucruri pe net despre care consider ca ar putea fi utile si altor persoane, asa ca m-am gandit sa le public aici.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;a href="http://www.chip.ro/stiri/software/modificari_importante_in_a_doua_versiune_beta_pentru_firefox_31_beta/23244"&gt;Azi am aflat&lt;/a&gt; ca a aparut un nou beta al browser-ului Firefox 3.1. Ca un programator curios, m-am dus si io pe site-ul lor ca sa vad &lt;a href="https://developer.mozilla.org/devnews/index.php/2008/12/08/firefox-31-beta-2-now-available-for-download/"&gt;ce lucruri noi aduce aceasta versiune&lt;/a&gt;. Printre chestiile insiruite se afla si informatii despre acesti "&lt;strong&gt;Web Workers&lt;/strong&gt;". In fapt, un web worker este un "thread" (pun ghilimele deoarece notiunea de thread nu este neaparat identica cu ce se intelege prin &lt;a href="http://en.wikipedia.org/wiki/Thread_(computer_science)"&gt;thread intr-un sistem de operare&lt;/a&gt;) care executa cod Javascript.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;In acest &lt;a href="https://developer.mozilla.org/web-tech/2008/09/04/web-workers-part-1/"&gt;articol&lt;/a&gt; exista mai multe informatii despre partea cu Web Workers in Firefox 3.1. Partea cea mai interesanta o reprezinta acel cod Javascript a carui executie, chiar dureaza ceva timp...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Detalii suplimentare despre Web Workers gasiti pe site-ul: &lt;a href="http://www.whatwg.org/specs/web-workers/current-work/"&gt;http://www.whatwg.org/specs/web-workers/current-work/&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;Ca observatie Web Worker-ii nu sunt specifici Firefox. &lt;/em&gt;&lt;/span&gt;&lt;a href="http://www.whatwg.org/"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;http://www.whatwg.org/&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; sunt cei care se ocupa de intretinerea HTML.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ionut&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6983881408150183398?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6983881408150183398/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6983881408150183398' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6983881408150183398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6983881408150183398'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/web-workers.html' title='Web Workers'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6541885046229662395</id><published>2008-12-09T15:15:00.006+02:00</published><updated>2008-12-09T20:43:11.347+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openID'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='XRDS'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='single sign-on'/><category scheme='http://www.blogger.com/atom/ns#' term='autentificare'/><title type='text'>Autentificarea pe web</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DlNXgRJhP3g/ST5vrGwvoUI/AAAAAAAAACk/0R0VDx7y4aY/s1600-h/OpenID.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px; height: 113px;" src="http://4.bp.blogspot.com/_DlNXgRJhP3g/ST5vrGwvoUI/AAAAAAAAACk/0R0VDx7y4aY/s320/OpenID.png" alt="" id="BLOGGER_PHOTO_ID_5277778599664918850" border="0" /&gt;&lt;/a&gt;Orice interfata web ce ofera acces la o serie de servicii web precum (Yahoo, Gmail, SourceForge ... ) necesita o forma de &lt;span style="font-weight: bold;"&gt;autentificare&lt;/span&gt;. O posibila problema o reprezinta multimea de nume si parole ce trebuie retinute. Una dintre solutiile acestei probleme o reprezinta folosirea autentificarii de tipul Single Sign-on.&lt;br /&gt;&lt;br /&gt;Conceptul din spatele Single Sign-on este destul de simplu: utilizatorul se inregistreaza la un &lt;span style="font-weight: bold;"&gt;Identity Provider&lt;/span&gt; ce apoi ofera verificarii identitatii pentru utilizatorul respectiv. In continuare, voi exemplifica procesul de autentificare pentru sistemul &lt;span style="font-weight: bold;"&gt;OpenID.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Un site ce necesita autentificare in mod normal afiseaza doua campuri text pentru introducerea numelui si a parolei, insa un site ce foloseste OpenID va afisa doar un camp text, pentru introducerea identificatorului OpenID. Dupa comletarea acestui camp si trimiterea spre validare a identificatorului, site-ul contacteaza site-ul OpenID (de exemplu myopenid.com) pentru a valida utilizatorul, in general prin introducerea unei parole. Dupa autentificarea utilizatorului pe pagina OpenID, site-ul care a cerut autentificarea va primi acces la un document XRDS (eXtensible Resource Descriptor Sequence) care este un format XML folosit pentru descoperirea de metadate despre resurse (in cazul nostru datele utilizatorului). In continuare, utilizatorul primeste acces la site-ul dorit.&lt;br /&gt;&lt;br /&gt;Iata cum folosind un singur cont puteti accesa o multime de resurse. Printre site-urile ce ofera autentificare folosind OpenID se numara: Technorati, SourceForge, Yahoo, Google, chiar si blogspot.com ofera posibilitatea autentificarii cu un cont OpenID in vederea comentarii articolelor.&lt;br /&gt;&lt;br /&gt;Voi ce solutii de Single Sign-on folositi?&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6541885046229662395?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6541885046229662395/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6541885046229662395' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6541885046229662395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6541885046229662395'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/autentificarea-pe-web.html' title='Autentificarea pe web'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DlNXgRJhP3g/ST5vrGwvoUI/AAAAAAAAACk/0R0VDx7y4aY/s72-c/OpenID.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-8190201384531648549</id><published>2008-12-07T14:17:00.005+02:00</published><updated>2008-12-09T15:15:08.431+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electrophoretic'/><category scheme='http://www.blogger.com/atom/ns#' term='e-book reader'/><title type='text'>Cartile secolului 21</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DlNXgRJhP3g/STu_VMx8U_I/AAAAAAAAACc/Z1deX0veM_o/s1600-h/SonyReader.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_DlNXgRJhP3g/STu_VMx8U_I/AAAAAAAAACc/Z1deX0veM_o/s320/SonyReader.jpg" alt="" id="BLOGGER_PHOTO_ID_5277021759323526130" border="0" /&gt;&lt;/a&gt;Se pare ca in curand se va rezolva si problema cartilor digitale utilizand e-book reader-ele de tipul Sony Reader. In felul acesta vom avea acess mai usor la interfetele web ale site-urilor preferate sau la site-urile ce contin carti in format digital.&lt;br /&gt;&lt;br /&gt;Ce este un&lt;span style="font-weight: bold;"&gt; e-book reader&lt;/span&gt;? Este un dispozitiv, similar cu un mp4 player, dar cu un display mai mare, capabil de a afisa carti in format digital. Pana aici, nimic deosebit.&lt;br /&gt;&lt;br /&gt;Partea interesanta o reprezinta display-ul dispozitivului, care este electrophoretic. Practic, acest display &lt;span style="font-weight: bold;"&gt;nu are nevoie&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;de &lt;/span&gt;o &lt;span style="font-weight: bold;"&gt;iluminare &lt;/span&gt;din spate deoarece reflecta lumina ambienta. Aceasta duce la renuntarea la reimprospatarea imaginii, ceea ce se traduce intr-o imagine mult mai relaxanta pentru ochiul uman ce poate fi &lt;span style="font-weight: bold;"&gt;citita &lt;/span&gt;chiar si afara&lt;span style="font-weight: bold;"&gt; in soare&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In ultima perioada, au aparut destul de multe astfel de dispozitive, cateva exemple fiind &lt;span style="font-weight: bold;"&gt;Sony Reader, Amazon Kindle, iRex iLiad&lt;/span&gt; si alte cateva.&lt;br /&gt;&lt;br /&gt;Printre alte avantaje se numara durata mare de viata a bateriei, greutatea redusa a reader-ului, portabilitate foarte ridicata.&lt;br /&gt;&lt;br /&gt;Un astfel de reader poate monitoriza feed-urile RSS si descarca stirile preferate, poate descarca reviste inainte de a aparea in format printat, poate afisa blog-urile preferate. Aceste functionalitati se gasesc in cadrul reader-ului &lt;span style="font-weight: bold;"&gt;Amazon Kindle&lt;/span&gt; care ofera printere altele si conectarea permanenta la Internet printr-o maniera asemanatoare cu cea a telefoanelor mobile, insa fara a fi necesara plata unui abonament.&lt;br /&gt;&lt;br /&gt;Din pacate, tehnologia nu este inca suficient de matura, ceea ce se traduce printr-o slaba reproducere a culorilor (mai degraba dispozitivele afiseaza text alb-negru), imaginea seamana cu aceea a unui ziar de slaba calitate si nu se pot adauga efecte multimedia (meniuri, animatii, pointeri) datorita refresh-ului extrem de redus.  Un alt "inconvenient" il reprezinta pretul, destul de mare, ~300$.&lt;br /&gt;&lt;br /&gt;Sunt convis insa ca vor aparea readere din ce in ce mai performante. Un exemplu este Sony Reader, ajuns deja la a treia versiune (Sony Reader 700) ce include functionalitati precum ecran tactil, recunoasterea gesturilor, posibilitatea sublinierii pasajelor importante si altele...&lt;br /&gt;&lt;br /&gt;Mai multe detalii despre display-urile electrophoretice si aplicatiile lor puteti gasi &lt;a href="http://en.wikipedia.org/wiki/Electrophoretic_display"&gt;aici&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-8190201384531648549?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/8190201384531648549/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=8190201384531648549' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8190201384531648549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8190201384531648549'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/cartile-secolului-21.html' title='Cartile secolului 21'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DlNXgRJhP3g/STu_VMx8U_I/AAAAAAAAACc/Z1deX0veM_o/s72-c/SonyReader.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6811570562696834620</id><published>2008-12-04T12:00:00.003+02:00</published><updated>2008-12-08T10:26:13.507+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='gliffy'/><category scheme='http://www.blogger.com/atom/ns#' term='diagrame'/><category scheme='http://www.blogger.com/atom/ns#' term='visio'/><title type='text'>Gliffy - un tool util cu o interfata web prietenoasa</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.gliffy.com/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 188px; height: 70px;" src="http://1.bp.blogspot.com/_sQfuPpeGpdM/STbslK0EuzI/AAAAAAAAAN8/UfHkiDQkOho/s320/logo_index.gif" alt="" id="BLOGGER_PHOTO_ID_5275664136813198130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;L-am descoperit pe &lt;a href="http://www.gliffy.com/index.shtml"&gt;Gliffy&lt;/a&gt; in incercarea de a realiza o diagrama de retea decenta. Fiindca nu am Visio instalat si imi doream sa termin repede cu pasul acesta am cautat pe Google si foarte repede am dat peste acest website.&lt;br /&gt;&lt;br /&gt;La ce este util &lt;a href="http://www.gliffy.com/index.shtml"&gt;Gliffy&lt;/a&gt;? Este un software online pentru crearea de diagrame, si in urma primei experiente cu interfata lui - ce contine toate functionalizatile potrivite si care este usor de utilizat - am ramas cu o impresie foarte buna. &lt;a href="http://www.gliffy.com/index.shtml"&gt;Gliffy&lt;/a&gt; ofera toata gama de diagrame de la floorplan-uri, la diagrame UML, flowchart-rui, retele si interfete utilizator. In plus, varianta basic, este gratuita, nelimitata in timp si ofera acces la toate shape-urile pentru diagrame. Totusi nu poti avea decat 5 diagrame publice -  ceea ce este un trade-off mai mult decat rezonabil daca planuiesti sa il utilizezi ocazional pentru proiecte personale.&lt;br /&gt;&lt;br /&gt;In concluzie, il recomand pentru realizarea de diagrame rapid, usor si fara costuri. Nu-i asa ca e grozav cand gasesti un tool online care face toata treaba de care ai nevoie, te scuteste de instalat alt program mare si complicat, si mai este si gratuit pe deasupra?&lt;br /&gt;&lt;br /&gt;Daca aveti vreun tip despre alte software-uri online la fel de utile si usor de utilizat, nu ezitati sa ne lasati un comentariu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6811570562696834620?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6811570562696834620/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6811570562696834620' title='1 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6811570562696834620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6811570562696834620'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/gliffy-un-tool-util-cu-o-interfata-web.html' title='Gliffy - un tool util cu o interfata web prietenoasa'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sQfuPpeGpdM/STbslK0EuzI/AAAAAAAAAN8/UfHkiDQkOho/s72-c/logo_index.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6077649549766712825</id><published>2008-12-04T11:26:00.004+02:00</published><updated>2008-12-09T20:43:44.641+02:00</updated><title type='text'>Al patrulea element</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/STeiZfOyrMI/AAAAAAAAACU/zyHav7N3-4s/s1600-h/memristor.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 244px; height: 238px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/STeiZfOyrMI/AAAAAAAAACU/zyHav7N3-4s/s320/memristor.jpg" alt="" id="BLOGGER_PHOTO_ID_5275864047251795138" border="0" /&gt;&lt;/a&gt;Am citit de curand despre una din acele descoperiri stiintifice care modifica tehnologia, asa cum o stim noi. Este vorba despre &lt;span style="font-weight: bold;"&gt;memristor&lt;/span&gt;.&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Timp de aproape 170 de ani au existat trei dispozitive electronice fundamentale: capacitorul (descoperit in 1745), rezistorul (descoperit in 1827) si inductorul (descoperit in 1831). Problema era ca, cel putin la nivel teoretic, trebuia sa mai existe in un dispozitiv fundamental. Descoperit in 1971 de catre Leon Chua, profesor la University of California, Berkeley,  acest dispozitiv teoretic nu a fost deloc apreciat. El trebuia sa creeze o legatura intre sarcina electrica ce trece prin el si fluxul magnetic generat.&lt;br /&gt;&lt;br /&gt;A trebuit sa treaca aproape 30 de ani, pana in 1995 cand HP s-a hotarat sa porneasca un amplu proiect de cercetare cu scopul de descoperii cum poate fi realizat acest al patrulea dispozitiv. Dupa aproape 10 ani de cercetare, rezultate exceptionale au fost obtinute.&lt;br /&gt;&lt;br /&gt;Practic, cercetatorii de la HP au reusit sa creeze un dispozitiv care se comporta ca o memorie nevolatila: &lt;span style="font-weight: bold;"&gt;memristorul&lt;/span&gt;. Dispozitivul isi modifica rezistenta electrica functie de sensul si valoarea curentului care trece prin el. Implicatiile sunt imense: mermristorii vor putea fi folositi pentru crearea de memorii nevolatile extrem de rapide (imaginati-va doar o memorie RAM foarte rapida, cu un consum foarte mic de energie electrica si care nu isi pierde continutul atunci cand nu mai este alimentata - vom putea porni si opri computerele instantaneu).&lt;br /&gt;&lt;br /&gt;O alta aplicatie directa memristorilor o vor reprezenta emularea (nu simularea) sinapselor din creier. In stadiul actual, simularea creierului unui soarece necesita un computer de dimensiunea unui oras, iar cantitatea de energie ... (ar trebui cam doua centrale nucleare). Folosind memristori, aceasta s-ar putea face cu un dispozitiv de dimensiunea unui laptop.&lt;br /&gt;&lt;br /&gt;Pentru emularea functionalitatii memristorilor este nevoie de un dispozitiv realizat cu 15 tranzistori si mai multe componente pasive. Avantajul folosirii memristorilor va fi imens. Oricum, tranzistorul a ramas aproape 30 de ani o curiozitate, pana a fost creata o aplicatie (aparatul auditiv) care sa il foloseasca si sa il popularizeze.&lt;br /&gt;&lt;br /&gt;Mai multe informatii despre memristor, istoria sa si posibile aplicatii pot fi gasit pe site-ul revistei &lt;a href="http://www.spectrum.ieee.org/dec08/7024/1"&gt;Spectrum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6077649549766712825?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6077649549766712825/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6077649549766712825' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6077649549766712825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6077649549766712825'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/al-patrulea-element.html' title='Al patrulea element'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DlNXgRJhP3g/STeiZfOyrMI/AAAAAAAAACU/zyHav7N3-4s/s72-c/memristor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-2450806743641445443</id><published>2008-12-03T09:48:00.010+02:00</published><updated>2008-12-03T11:13:13.895+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Analytics'/><title type='text'>Google Analytics si click-urile</title><content type='html'>&lt;span style="font-family:arial;"&gt;E destul de greu sa gasesti o idee pentru un blog, insa, cateodata, ea este chiar sub ochii tai.&lt;br /&gt;&lt;br /&gt;Toata lumea stie de motor de cautare Google. Multi stiu si de &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;, care ofera posibilitatea de a analiza traficul. Insa putini stiu cum se leaga motorul de cautare de analizatorul de trafic.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In mod normal, un utilizator se duce pe site-ul unui motor de cautare, de exemplu, &lt;a href="http://www.google.ro/"&gt;www.google.ro&lt;/a&gt;. Aici introduce un text, apasa butonul Search (sau Cauta), vede rezultatele, alege ce-i trebuie si da un click pe link-ul dorit. Gata. Asta-i tot ce se vede:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0hb8kYYl0sg/STY9YIro8aI/AAAAAAAAAAU/YsloUZqrkdk/s1600-h/google1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 62px;" src="http://1.bp.blogspot.com/_0hb8kYYl0sg/STY9YIro8aI/AAAAAAAAAAU/YsloUZqrkdk/s400/google1.png" alt="" id="BLOGGER_PHOTO_ID_5275471498367791522" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;Insa, in spate, existe cateva lucruri ascunse putin. In mod normal, "Interfete web" din screenshot-ul de mai sus ar trebui sa fie un simplu link HTML (&amp;lt;a href=...&amp;gt;...&amp;lt;/a&amp;gt;). Insa nu e doar atata. Practic, fiecare element din pagina arata cam asa:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;a class=... onmousedown=... href=...&amp;gt;&amp;lt;em&amp;gt;...&amp;lt;/em&amp;gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Evident, partea cea mai interesant este reprezentata de codul executat cand se da click pe un link (atributul onmouseover al elementului HTML a). Acesta arata cam asa:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:85%;"  &gt;return clk(this.href,'','','res','166','')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Atributul href este cat se poate de simplu. In cazul de mai sus, el este un simplu link catre site-ul cautat:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;a style="font-family: courier new;" href="http://www.interfete-evoluate.eu/"&gt;http://www.interfete-evoluate.eu/index.php&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;Nu voi intra in detalii prea amanuntite despre ce face functia javascript clk (doar ca paranteza, parametrul '166' reprezinta locul efectiv in ierarhie). Insa voi arata doar rezultatul functie. Practic, atributul onmouseover permite scrierea unei functii care poate sa returneze un boolean sau nu. Daca functia nu returneaza un boolean, atunci, dupa ce se da click, se executa functia (sau codul), dupa care se executa continutul atributului href. Insa, daca functia returneaza un boolean, acesta indica daca se va continua cu analiza atributului href. Practic, daca functia intoarce false, atunci nu se face jump catre noul site.&lt;br /&gt;&lt;br /&gt;Dar, foarte interesant, functia clk nu face decat sa incarce o poza (1x1, evident). :) Adica un element image/gif. Ce este si mai interesant este URL-ul de unde se ia aceasta poza. In cazul prezentat de mine mai sus, acesta este:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;http://www.google-analytics.com/__utm.gif?utmwv=4.3&amp;amp;utmn=1104772560&amp;amp;utmhn=www.interfete-evoluate.eu&amp;amp;utmcs=ISO-8859-1&amp;amp;utmsr=1280x1024&amp;amp;utmsc=32-bit&amp;amp;utmul=en-us&amp;amp;utmje=1&amp;amp;utmfl=10.0%20r12&amp;amp;utmcn=1&amp;amp;utmdt=Interfete%20web&amp;amp;utmhid=1942208334&amp;amp;utmr=http://www.google.ro/search?num=100&amp;amp;hl=en&amp;amp;q=interfete+web&amp;amp;start=100&amp;amp;sa=N&amp;amp;filter=0&amp;amp;utmp=/index.php&amp;amp;utmac=UA-6192221-1&amp;amp;utmcc=__utma%3D37387768.3033006558281806300.1228290852.1228290852.1228290852.1%3B%2B__utmz%3D37387768.1228290852.1.1.utmcsr%3Dgoogle%7Cutmccn%3D(organic)%7Cutmcmd%3Dorganic%7Cutmctr%3Dinterfete%2520web%3B&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nu cred ca are rost sa mai intru in comentarii legate de componenta parametrilor apelului GET de mai sus. Banuiesc ca se vede cu ochiul liber faptul ca este indicat site-ul cautat, detaliile date la cautarea de pe Google s.a.m.d.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ionut&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-2450806743641445443?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/2450806743641445443/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=2450806743641445443' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/2450806743641445443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/2450806743641445443'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/google-analytics-si-click-urile.html' title='Google Analytics si click-urile'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0hb8kYYl0sg/STY9YIro8aI/AAAAAAAAAAU/YsloUZqrkdk/s72-c/google1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-9061105633473206307</id><published>2008-12-02T20:15:00.002+02:00</published><updated>2008-12-02T20:35:17.288+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='url'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete prietenoase'/><category scheme='http://www.blogger.com/atom/ns#' term='sef ulr'/><category scheme='http://www.blogger.com/atom/ns#' term='url rewriting'/><title type='text'>Prietenosi cu toata lumea</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sQfuPpeGpdM/STV_ey9p2uI/AAAAAAAAAN0/MJQoVN9JarY/s1600-h/urllarge.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 290px; height: 192px;" src="http://4.bp.blogspot.com/_sQfuPpeGpdM/STV_ey9p2uI/AAAAAAAAAN0/MJQoVN9JarY/s320/urllarge.jpg" alt="" id="BLOGGER_PHOTO_ID_5275262705587575522" border="0" /&gt;&lt;/a&gt;Astazi m-am jucat cu optimizarea URL-urilor pentru un website facut in Joomla! . Mai precis, intentia era devenim prietenosi atat cu userii cat si cu motoarele de cautare folosin ceea ce se numeste SEF URLs - Saerch Engine Friendly URLs. Dupa ce am tot cautat explicatii si sfaturi despre cum sa folosesc fisierul .htaccess pentru a-mi atinge scopurile - si am gasit un tutorial bunicel &lt;a href="http://m0n5t3r.info/articles/tutorial-mod_rewrite.html"&gt;aici&lt;/a&gt; m-am hotarat sa merg pe calea mai batatorita si sa incerc sa instalze o extensie pentru Joomla! care face munca aceasta mai usoara.&lt;br /&gt;&lt;br /&gt;La prima vedere, OpenSEF parea sa fie alegerea cea mai buna. Totusi avea nevoie ca fisierul .htaccess sa fie modificat corespunzator, si nici asa nu am reusit sa scot ceva functional. Asa ca am mers mai departe si am incercat extensia sh404SEF care are avantajul ca functioneaza si fara fisierul .htaccess. In plus imediat dupa configurarea destul de intuitiva a interfetei noii componente, website-ul a devenit prietenos cu toata lumea afisand URL-uri bazate pe titlurile paginilor. Pentru ca perfectiunea este ceva greu de atins, inca nu am reusit sa scap de un index.php, intre baza URL-ului si sfarsitul prietenos. Dar sa zicem ca am facut un pas destul de mare catre imprietenirea cu utliziatorii si cu motoarele de cautare.&lt;br /&gt;&lt;br /&gt;Care este experienta ta cu URL rewriting. Ai gasit un tutorial mai complet despre cum sa faci asta doar din .htaccess. Daca da, spune-ne si noua! Sau poate folosesti chiar Joomla!. Care este extensia castigatoare din punctul tau de vedere?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-9061105633473206307?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/9061105633473206307/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=9061105633473206307' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/9061105633473206307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/9061105633473206307'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/prietenosi-cu-toata-lumea.html' title='Prietenosi cu toata lumea'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_sQfuPpeGpdM/STV_ey9p2uI/AAAAAAAAAN0/MJQoVN9JarY/s72-c/urllarge.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-2249002301908742846</id><published>2008-12-01T12:56:00.005+02:00</published><updated>2008-12-09T20:44:06.600+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='Kaminski'/><title type='text'>Securitatea DNS-ului</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/STPEqhqluKI/AAAAAAAAACM/qcbV8L9jTrY/s1600-h/image001.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 230px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/STPEqhqluKI/AAAAAAAAACM/qcbV8L9jTrY/s320/image001.png" alt="" id="BLOGGER_PHOTO_ID_5274775823451535522" border="0" /&gt;&lt;/a&gt;Cu siguranta ati auzit despre DNS, acel sistem distribuit care face posibila utilizarea internetului. Practic, DNS sau Domain Name System, este un sistem distribuit in intreg Internetul ce face posibila utilizarea de adrese "human readable", precum www.google.ro in loc de 64.233.183.99. Folosind DNS, adresele simbolice sunt transformate in adrese IP. DNS-ul utilizeaza protocolul UDP pentru transmiterea cererii si a raspunsului pentru aflarea unei anumite adrese.&lt;br /&gt;&lt;br /&gt;Pana aici, totul este OK. Sau poate ca nu. Sa luam un exemplu banal de utilizare. Tastati in browser-ul preferat adresa www.google.ro si apasati enter. In scurt timp, browserul afiseaza continutul paginii cerute. Insa foarte multe lucuri s-au intamplat intre timp, unul dintre ele fiind afarea adresei IP a computerului pe care se afla pagina ceruta. Acest lucru s-a realizat prin intermediului DNS, astfel: browserul a trimis o cerere de rezolvare a adresei www.google.ro catre serverul DNS default. Daca serverul respectiv are adresa ceruta in cache, va returna adresa IP ceruta, altfel, va interoga si el la randul sau un alt server DNS iar aceasta secventa se va repeta pana cand unul dintre servere are informatia ceruta sau se ajunge la un server autoritar.&lt;br /&gt;&lt;br /&gt;Problema poate aparea la unul dintre serverele intermediare. Daca printr-un mecanism obscur, serverul DNS este pacalit si ii este injectata o adresa IP falsa, atunci acesta va raspunde la cereri cu adresa respectiva. Acest lucru a fost descoperit de catre Kaminski in iulie anul acesta.&lt;br /&gt;&lt;br /&gt;Care sunt implicatiile? Destul de mari. Daca un utilizator rau intentionat doreste sa redirecteze traficul de la google.ro catre goggle.ro atunci el va initia un atac Kaminski catre un server DNS preferat si in aproximativ 10 secunde serverul respectiv va fi compomis, daca nu se iau masuri de precautie.&lt;br /&gt;&lt;br /&gt;O astfel de masura poate consta in configurarea serverelor DNS sa utilizeze un alt port pentru fiecare cerere, ceea ce ar micsora foarte mult sansele unui atacator de a injecta un raspuns fals. O alta masura ar putea fi utilizarea protocolului DNSSEC.&lt;br /&gt;&lt;br /&gt;Serverul DNS pe care il folositi este securizat?&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-2249002301908742846?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/2249002301908742846/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=2249002301908742846' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/2249002301908742846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/2249002301908742846'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/12/securitatea-dns-ului.html' title='Securitatea DNS-ului'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DlNXgRJhP3g/STPEqhqluKI/AAAAAAAAACM/qcbV8L9jTrY/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-8690111445320383335</id><published>2008-11-27T16:26:00.004+02:00</published><updated>2008-11-27T23:47:26.044+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social bookmarking'/><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='inteligenta artificala'/><category scheme='http://www.blogger.com/atom/ns#' term='cooperativ'/><category scheme='http://www.blogger.com/atom/ns#' term='colaborativ'/><title type='text'>Colaborativ vs cooperativ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/SS6umyHJG4I/AAAAAAAAACE/-AjnaE4zVTc/s1600-h/cooperative.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 101px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/SS6umyHJG4I/AAAAAAAAACE/-AjnaE4zVTc/s320/cooperative.jpg" alt="" id="BLOGGER_PHOTO_ID_5273344195007421314" border="0" /&gt;&lt;/a&gt;Sunt sigur ca ati auzit de &lt;span style="font-weight: bold;"&gt;brainstorming&lt;/span&gt; sau de "furtuna de idei". Desigur, veti intreba care este lagatura cu colaborativ sau cooperativ? Brainstorming-ul este punerea in practica a conceptului de lucru colaborativ.&lt;br /&gt;&lt;br /&gt;Lucrul colaborativ reprezinta urmatorul pas in invatarea artificiala. Il putem defini ca "efect de grup" sau "ceva mai mult decat suma partilor" sau o sinergie. In contrast, lucrul colaborativ este ceva in genul: fiecare cu partea lui. In ambele cazuri sunt implicate mai multe entitati care lucreaza in comun, insa in primul caz se obtine mai mult decat obiectivul initial.&lt;br /&gt;&lt;br /&gt;Este ca in cazul unui musuroi de furnici. Fiecare lucreaza partea lui, iar la sfarsit descopera ca au realizat mult mai mult decat adaugarea unui graunte de praf la musuroi; au realizat MUSUROIUL.&lt;br /&gt;&lt;br /&gt;Inteligenta artificiala este grozava. Aplicatii precum invatarea automata (supervizata sau nu), data mining, retele neurale si altele sunt doar cateva exemple de lucru colaborativ. Dar se pare ca viitorul inteligentei artificiale sta in "cunoasterea sociala". Pana in prezent, IA nu si-a atins scopul: realizarea unui sistem perfect de dialog om - calculator. Probleme sunt multiple, insa mai ales &lt;span style="font-weight: bold;"&gt;probleme de context&lt;/span&gt;. Se pare ca noi avem foarte multe cunostinte dobandite social, in comunitate.&lt;br /&gt;&lt;br /&gt;O incercare de rezolvare a problemei o constituie formarea unor ontologii: structuri arborescente de definire a obiectelor si a conceptelor. Insa si ontologiile au "o problema": sunt construite de oameni, iar oamenii tind sa vada lucururile diferit. Nu spun ca ontologiile sunt ineficiente, nu sunt, insa este foarte dificil sa definiesti TOT ce exista, fie si intr-un domeniu limitat.&lt;br /&gt;&lt;br /&gt;Tocmai de aceea web-ul 2.0 aduce foarte multe lucuri bune. Permite crearea de cunostinte sociale (blog-uri, comunitati sociale, etc.) care apoi se pot folosi pentru extragerea de cunostinte. Un exemplu este dat de bookmarking-ul social (del.icio.us) in care mai multi utilizatori impartasesc bookmark-urile preferate si in acelasi timp le adnoteaza cu anumite tag-uri. In felul acesta ul alt utilizator poate vedea cat de important este un site (cati alt utilizatori l-au adaugat) sau poate descoperii alte site-uri din acelasi domeniu.&lt;br /&gt;&lt;br /&gt;Web-ul construit social. Ramane sa vedem cum vom folosi "noile" cunostinte dobandite in acest mod.&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-8690111445320383335?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/8690111445320383335/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=8690111445320383335' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8690111445320383335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8690111445320383335'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/colaborativ-vs-cooperativ.html' title='Colaborativ vs cooperativ'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DlNXgRJhP3g/SS6umyHJG4I/AAAAAAAAACE/-AjnaE4zVTc/s72-c/cooperative.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6963935873741419511</id><published>2008-11-25T12:20:00.009+02:00</published><updated>2008-11-25T22:41:48.575+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smart pen'/><category scheme='http://www.blogger.com/atom/ns#' term='liveScribe'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete evoluate'/><title type='text'>LiveScribe Pulse Smart Pen - un ajutor pentru studenti si un numai</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DlNXgRJhP3g/SSvU4Oa8xeI/AAAAAAAAAB8/QoqzxTewntE/s1600-h/livescribe.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 267px; height: 186px;" src="http://2.bp.blogspot.com/_DlNXgRJhP3g/SSvU4Oa8xeI/AAAAAAAAAB8/QoqzxTewntE/s320/livescribe.jpg" alt="" id="BLOGGER_PHOTO_ID_5272541851176191458" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.livescribe.com/"&gt;LiveScribe smart pen&lt;/a&gt; sau pixul inteligent.&lt;br /&gt;&lt;br /&gt;Nu v-ati dorit niciodata sa puteti inregistra un curs de exemplu? Eu mi-am dorit, mai ales la cursurile pentru care nu exista alt suport in afara de slide-uri.&lt;br /&gt;&lt;br /&gt;Pentru astfel de  situatii, acum exista LiveScrribe smart pen. Acesta pare a fi un pix obsnuit (scrie normal) NUMAI CA in timp ce scrie, la un moment dat poate fi activata functia de inregistrare. &lt;span style="font-weight: bold;"&gt;In acel moment, pixul va incepe sa inregistreze tot ceea ce se scrie, si in plus, tot ceea ce aude.&lt;/span&gt;  Aceasta reprezinta inovatia produsului.&lt;br /&gt;&lt;br /&gt;Folosind un astfel de pix, la un curs cum este cel de care va spuneam mai devreme nu ar mai fi nicio problema: activezi functia de inregistrare, iei notite si pixul inregistreaza si ce scrii si ce vorbeste profesorul.&lt;br /&gt;&lt;br /&gt;Dar asta nu este tot. Cum sunt accesate inregistrarile? Aici avem parte de o noua surpriza: dupa ce este oprita inregistrarea, &lt;span style="font-weight: bold;"&gt;daca se face "click" cu pixul pe unul din cuvintele scrise, pixul incepe si reda ce a inregistrat in momentul acela&lt;/span&gt;. Inregistrarile pot fi descarcate pe computer (Windows sau Macintosh) unde un program iti va prezenta ceea ce este stocat in memoria dispozitivului.&lt;br /&gt;&lt;br /&gt;Pixul acesta poate fi numit un computer in miniatura: are procesor la 150 MHz, memorie 1-2GB (suficienta pentru inregistrarea a 100-200 ore), camera cu infrarosu, conector USB.&lt;br /&gt;&lt;br /&gt;Partea nu foarte faina este ca trebuie sa scrieti cu el pe o hartie speciala ce contine niste puncte special amplasate pentru ca pixul sa poate realiza recunoasterea. Oricum, asta nu e asa o problema, deoarece programul cu care vine dispozitivul ofera posibiliatea de a printa astefel de pagini (folosind o imprimanta laser color).&lt;br /&gt;&lt;br /&gt;Oricum, dispozitivul mi se pare super si este in wishlist-ul meu. Voi ce parere aveti? V-ati cumpara asa ceva?&lt;br /&gt;&lt;br /&gt;Completare: dispozitivul poate fi gasit la &lt;a href="http://www.livescribe.com/"&gt;http://www.livescribe.com/&lt;/a&gt; iar pretul este 150$ pentru versiunea de 1GB&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6963935873741419511?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6963935873741419511/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6963935873741419511' title='2 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6963935873741419511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6963935873741419511'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/livescribe-pulse-smart-pen-un-ajutor.html' title='LiveScribe Pulse Smart Pen - un ajutor pentru studenti si un numai'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DlNXgRJhP3g/SSvU4Oa8xeI/AAAAAAAAAB8/QoqzxTewntE/s72-c/livescribe.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-3777703905641143816</id><published>2008-11-24T20:46:00.004+02:00</published><updated>2008-11-30T20:01:07.994+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='colaborativ'/><category scheme='http://www.blogger.com/atom/ns#' term='comunitati sociale'/><title type='text'>Wiki wiki</title><content type='html'>Wiki=repede , wiki wiki=repede x2&lt;br /&gt;Trebuie sa fi auzit pana acum de wiki-uri si de minunatiile pe care le pot face pentru o comunitate.&lt;br /&gt;Pe scrut un wiki - este o aplicatie online care permite accesul mai multor useri pentru a colabora. Cel mai bun exemplu care sustine relevanta wiki-urilor este crearea unui document complex la care lucreaza mai multe persoane dintr-o echipa. Daca eu incep documentul si il trimit lui Nelu, el il downlodeaza, il modifica si apoi il trimite din nou ca atsament Mariei, iar ea la randul ei face acelasi lucru si mi trimite mie inapoi. Iar eu intre timp am mai modificat copia mea initiala, e evident ca s-au creat multe copii intermediare necesare si in final eu va trebui sa ma descurc intrce cele doua documente.&lt;br /&gt;&lt;br /&gt;De aceea wiki este o inventie grozava. Pe langa facilitarea colaborarii, noile versiuni atat de diverse ofera functionalitati din ce in ce mai interesante.&lt;br /&gt;&lt;br /&gt;Personal am folosit DekiWiki - o versiune de wiki care mi-a placut atat pentru simplitatea ei, cat si pentru faptul ca ofera o versiune hostat de ei - ce impune atat de putine limite. Mi-a fost util atat pentru gestionarea colaborarii in cadrul unei echipe mari cat si pentru proiecte personale pe care am putut sa le structurez mai bine.&lt;br /&gt;&lt;br /&gt;V-am atsat un filmulet introductiv care explica intr-o maniera hazlie la ce este bun un wiki.&lt;br /&gt;&lt;br /&gt;Welcome to the wiki world!&lt;br /&gt;&lt;br /&gt;Anca&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-019610939667610972 visible ontop" href="http://www.youtube.com/v/-dnL00TdmLY&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/a&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-dnL00TdmLY&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-dnL00TdmLY&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-3777703905641143816?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/3777703905641143816/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=3777703905641143816' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/3777703905641143816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/3777703905641143816'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/wiki-wiki.html' title='Wiki wiki'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-4216314763423836011</id><published>2008-11-20T15:16:00.009+02:00</published><updated>2008-11-20T16:29:44.003+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modelul sarcinilor'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='CTTE'/><title type='text'>Despre CTTE</title><content type='html'>Sau cum poti descrie designul unei aplicatii fara insa sa scrii cod pentru asta. CTTE inseamna Concurrent Task Tree Environement si este o aplicatie care permite realizarea obiectivului de mai sus.&lt;br /&gt;&lt;br /&gt;Cu ajutorul aplicatiei se pot defini (relativ usor) comportamente orientate pe evenimente ale aplicatiei. Astfel exista patru tipuri de entitati disponibile: utilizator, aplicatie, interactiune si abstract. Intre entitati (care se numesc sarcini) pot exista diferite relatii temporale iar sarcinile pot avea atribute, preconditii, tipuri, etc. Un alt aspect pozitiv al aplicatiei este ca utilizeaza o structura ierarhica de actiuni, insa aceasta inseamna ca nu se pot reutiliza arbori de sarcini deja definiti.&lt;br /&gt;&lt;br /&gt;Cate ceva despre cele patru tipuri de sarcini.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DlNXgRJhP3g/SSVxTloVPQI/AAAAAAAAABs/96kii-pi07U/s1600-h/user.png"&gt;&lt;img style="cursor: pointer; width: 41px; height: 41px;" src="http://3.bp.blogspot.com/_DlNXgRJhP3g/SSVxTloVPQI/AAAAAAAAABs/96kii-pi07U/s200/user.png" alt="" id="BLOGGER_PHOTO_ID_5270743520239762690" border="0" /&gt;&lt;/a&gt;Prima, sarcina utilizator, modeleaza o actiune posibil logica, de alegere, de rezlvare de probleme pe care o executa utilizatorul, fara a interactiona insa cu sistemul.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/SSVxGmxzDsI/AAAAAAAAABk/xYv_mLcVg7k/s1600-h/computer-icon.gif"&gt;&lt;img style="cursor: pointer; width: 32px; height: 32px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/SSVxGmxzDsI/AAAAAAAAABk/xYv_mLcVg7k/s200/computer-icon.gif" alt="" id="BLOGGER_PHOTO_ID_5270743297209601730" border="0" /&gt;&lt;/a&gt;Al doilea tip de sarcina este aplicatia, ce modeleaza procesarea datelor de catre sistem (la cererea utilizatorului) avand ca rezultat date ce sunt prezentate utilizatorului. De exemplu, ca urmare a unui click al utilizaotrului pe un link, sistemul va procesa cererea, va crea o pagina de raspuns si o va afisa utilizatorului.&lt;br /&gt;&lt;br /&gt;Urmatorul tip de sarcina, interactiunea, reprezinta actiunea utilizaotrului asupra aplicatiei (click pe un buton, drag and drop something ...)&lt;br /&gt;&lt;br /&gt;Ultimul tip de sarcina este cea abstracta - o sarcina complexa care nu se incadreaza in niciunul din tipurile prezentate mai sus.&lt;br /&gt;&lt;br /&gt;Cam asta ar fi in mare despre CTTE. Personal, mi-a lasat o impresie ... nu foarte buna. Cu siguranta nu poate fi utilizat pentru ptoiecte de mari dimensiuni deoarece modul de vizualizare si interactiune cu obiectele lasa de dorit (lipsa alinierii obiectelor, mutarea obiectelor, rearanjarea automata urat implementata, etichetele obiectelor care sunt aliniate doar la stanga ...).&lt;br /&gt;&lt;br /&gt;In concluzie, nu il recomand pentru a fi folosit in mod curent.&lt;br /&gt;&lt;br /&gt;As vrea sa aflu si parea vostra daca ati utilizat acest program&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-4216314763423836011?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/4216314763423836011/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=4216314763423836011' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4216314763423836011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4216314763423836011'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/despre-ctte.html' title='Despre CTTE'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DlNXgRJhP3g/SSVxTloVPQI/AAAAAAAAABs/96kii-pi07U/s72-c/user.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-1944571416590858079</id><published>2008-11-20T13:51:00.004+02:00</published><updated>2008-11-20T15:07:37.481+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='site-uri'/><category scheme='http://www.blogger.com/atom/ns#' term='performanta'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='diverse'/><title type='text'>Starcraf2 si XML-ul</title><content type='html'>&lt;span style="font-family:arial;"&gt;Un post foarte scurt:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Nu stiu cati dintre cei trei care urmaresc acest blog sunt pasionati de &lt;a href="http://en.wikipedia.org/wiki/Starcraft"&gt;Starcraft&lt;/a&gt;, dar e un lucru care merita sa fie spus despre site-ul &lt;a href="http://www.starcraft2.com/"&gt;Starcraft2&lt;/a&gt;: este facut doar cu XML-uri si &lt;a href="http://en.wikipedia.org/wiki/Xsl"&gt;XSL&lt;/a&gt;-uri (plus, evident, Flash).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Insa, din cauza asta, consumul de resurse este putin cam mare. Folosind &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx"&gt;Process Explorer&lt;/a&gt;, lucrurile raportate arata cam asa (am folosit ultimele versiuni disponibile pentru browsere, fiecare a fost deschis pe aceeasi masina si a fost incarcat doar site-ul &lt;a href="http://www.starcraft2.com/"&gt;http://www.starcraft2.com/&lt;/a&gt;, sistemul de operare fiind Windows XP SP3):&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Internet Explorer 7: private bytes: 72M, virtual size: 208M, 1 proces cu 12 thread-uri;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Firefox: private bytes: 41M, virtual size: 115M, 1 proces cu 16 thread-uri;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Arial;"&gt;Chrome: private bytes: 18+17+48M (are trei procese diferite), virtual size: 125+76+127M, 3 procese cu cate 25, 2 si 7 thread-uri. Aici trebuie sa ma adaug si faptul ca are un consum imens de procesor (imi tine un core cam pe la 100%).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Arial;"&gt;Asa ca vin si-mi pun o intrebare simpla: oare chiar merita sa folosesti XML-uri pentru a face interfete? Recunosc ca e simplu. De exemplu, site-ul Starcraft 2 e foarte curat. Codul sursa e pe intelesul oricui. Totul e frumos. Mai putin consumul de resurse...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;"&gt;Disclaimer: recunosc ca datele de performanta pentru browsere pot sa varieze, insa ele vor fi in jurul acelorasi valori.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;a href="http://interfete-evoluate.eu/"&gt;Ionut&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-1944571416590858079?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/1944571416590858079/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=1944571416590858079' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1944571416590858079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/1944571416590858079'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/starcraf2-si-xml-ul.html' title='Starcraf2 si XML-ul'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6486579722828090538</id><published>2008-11-20T12:31:00.021+02:00</published><updated>2008-11-20T15:08:03.788+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performanta'/><category scheme='http://www.blogger.com/atom/ns#' term='advanced'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><title type='text'>Adunarea a doua siruri in Java</title><content type='html'>&lt;span style="font-family:arial;"&gt;La cererea expresa a lui Florin si contrar vointei acestuia, subiectul primului meu post pentru proiectul de la cursul Interfete Evoluate va fi despre un lucru aparent banal: concatenarea a doua siruri in Java.&lt;br /&gt;&lt;br /&gt;Operatia de adunare (concatenare) a doua siruri este una foarte raspandita in aplicatiile Java normale. Insa aceasta creaza probleme din cauza faptului ca obiectul String este imutabil. Practic, din adunarea a doua obiecte de tip String, va rezulta o noua instanta, complet diferita de primele doua. In codul compilat (adica in fisierul .class), acest lucru se face prin instantierea clasei &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html"&gt;StringBuilder&lt;/a&gt; si apelarea metodei &lt;span style="font-family:courier new;color:#009900;"&gt;&lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html#append(java.lang.String)"&gt;append&lt;/a&gt;&lt;/span&gt;. Mai exact, daca vom scrie intr-o functie urmatoarea secventa de cod:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s1 = "a";&lt;br /&gt;String s2 = "b";&lt;br /&gt;String s3 = s1 + s2;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ea va fi compilata in:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s1 = "a";&lt;br /&gt;String s2 = "b";&lt;br /&gt;String s3 = (new StringBuilder(String.valueOf(s1))).append(s2).toString();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ca observatie, StringBuilder-ul este folosit doar de la Java 1.5. In versiunile mai vechi (care, din pacate inca se mai intalnesc...) se utilizeaza &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/StringBuffer.html"&gt;StringBuffer&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Este evident faptul ca apelul &lt;a href="http://java.sun.com/javase/6/docs/api/java/lang/String.html#valueOf(java.lang.Object)"&gt;String.valueOf&lt;/a&gt; este inutil deoarece s1 este nenul (&lt;a href="http://kickjava.com/src/java/lang/String.java.htm#2614"&gt;valueOf cu parametru de tip Object, intoarce sirul "null" daca parametrul este nul sau apeleaza functia toString() a obiectului daca acesta este nenul&lt;/a&gt;). De asemenea, in cazul in care o asemenea operatie se face des, cum ar fi intr-un ciclu, atunci este mai bine sa se reutilizeze instanta StringBuilder. Mai exact, daca avem urmatoarea secventa de cod:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;for (int i=0; i&amp;lt;100; i++) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s1 = "a";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s2 = "b";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s3 = s1 + s2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:100%;color:#000000;"&gt;ea va fi compilata in:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;for (int i=0; i&amp;lt;100; i++) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s1 = "a";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s2 = "b";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;String s3 = new StringBuilder(String.valueOf(s1)).append(s2).toString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:100%;color:#000000;"&gt;Evident, acest cod poate fi optimizat in felul urmator (facem abstractie de modul in care functioneaza instantierea obiectelor in Java):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;StringBuilder buffer = new StringBuilder();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;for (int i=0; i&amp;lt;100; i++) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;String s1 = "a";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;String s2 = "b";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;buffer.setLength(0);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;String s3 = buffer.append(s1).append(s2).toString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ca incheiere, vreau sa mai adaug doar ca incepand cu Java 1.5, StringBuilder si StringBuffer au un parinte comun, &lt;a href="http://kickjava.com/src/java/lang/AbstractStringBuilder.java.htm"&gt;AbstractStringBuilder&lt;/a&gt; (aici ma refer la JDK-ul de la Sun). Practic, in clasa abstracta sunt implementate toate operatiile, iar StringBuilder si StringBuffer actioneaza doar ca niste wrapper-e. Diferenta dintre cele doua clase este data de faptul ca StringBuffer este thread-safe deoarece apelurile sale sunt marcate ca &lt;span style="font-family:courier new;color:#009900;"&gt;synchronized&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;a href="http://interfete-evoluate.eu/"&gt;Ionut&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6486579722828090538?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6486579722828090538/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6486579722828090538' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6486579722828090538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6486579722828090538'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/adunarea-doua-siruri-in-java.html' title='Adunarea a doua siruri in Java'/><author><name>Ion Ionascu</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-8957921284181232194</id><published>2008-11-17T19:26:00.006+02:00</published><updated>2008-11-30T20:02:19.828+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ergonomie'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><title type='text'>Cuvantul magic : Usability</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sQfuPpeGpdM/SSGsmMbHXtI/AAAAAAAAAKU/pj76sO_4jKY/s1600-h/wud.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 271px; height: 320px;" src="http://3.bp.blogspot.com/_sQfuPpeGpdM/SSGsmMbHXtI/AAAAAAAAAKU/pj76sO_4jKY/s320/wud.jpg" alt="" id="BLOGGER_PHOTO_ID_5269682811170152146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pe romaneste utilizabilitate, acest aspect al definirii interfetelor web este unul cheie care poate determina succesul sau esecul unui website.&lt;br /&gt;&lt;br /&gt;Utilizabilitatea web este o abordare a crearii websiteurilor din punctul de vedere al usurintei folosirii de catre utilizator, fara ca acesta sa urmeze un training special inainte.&lt;br /&gt;Utilizatorul ar trebui sa coreleze in mod intuitiv actiunile pe care trebuie sa le realizeze pe pagina web cu alte tipuri de actiuni din viata de zi cu zi, de exemplu apesi pe buton si poof ai primit ceva.&lt;br /&gt;&lt;br /&gt;In sens larg, scopurile pe care le urmareste utilizabilitatea sunt:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;sa prezinte informatia utilizatorulu intr-o maniera clara si concisa&lt;/li&gt;&lt;li&gt;sa ii prezinte utilizatorului variante corecte de alegere, intr-un mod cat mai evident&lt;/li&gt;&lt;li&gt;sa inlature ambiguitatea cu privire la consecintele unor actiuni&lt;/li&gt;&lt;li&gt;sa puna cele mai importante elemente la locul potrivit pe pagina web sau in aplicatia web&lt;/li&gt;&lt;/ul&gt;Am gasit multe resurse pe web care trateaza subiectul acesta, oferind idei despre cum sa imbunatatesti sau sa testezi utilizabilitatea portalului tau.&lt;br /&gt;&lt;br /&gt;Dintre acestea un blog mi-a placut mult si as vrea sa il impartasesc si cu voi. E vorba de &lt;a href="http://www.usabilitypost.com/"&gt;UsabilityPost&lt;/a&gt; si puteti sa aruncati un ochi pe postul despre &lt;a href="http://www.usabilitypost.com/2008/10/21/does-your-website-suffer-from-these-7-usability-mistakes/"&gt;7 greseli curente in ce priveste utilizabilitatea.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Noi suntem in curs de definirea a websiteului nostru http://www.interfete-evoluate.eu . Daca vreti sa ne sugerati vreo greseala fie din cele 7 fie din celelalte 1007 posibile in ce priveste utiliazbilitatea, asteptam comentariile voastre.&lt;br /&gt;&lt;br /&gt;Anca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-8957921284181232194?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/8957921284181232194/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=8957921284181232194' title='2 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8957921284181232194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/8957921284181232194'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/cuvantu-magic-usability.html' title='Cuvantul magic : Usability'/><author><name>Anca</name><uri>http://www.blogger.com/profile/17184807431477057675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sQfuPpeGpdM/SSGsmMbHXtI/AAAAAAAAAKU/pj76sO_4jKY/s72-c/wud.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-4035154061600142435</id><published>2008-11-16T12:14:00.005+02:00</published><updated>2008-12-09T20:44:56.723+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='page rank'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><title type='text'>Despre PageRank</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/SR_5mdsSZ-I/AAAAAAAAAA0/WFleVQmwgRA/s1600-h/g1.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 151px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/SR_5mdsSZ-I/AAAAAAAAAA0/WFleVQmwgRA/s200/g1.gif" alt="" id="BLOGGER_PHOTO_ID_5269204528247498722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Poate ca ati auzit despre &lt;span style="font-weight: bold;"&gt;PageRank &lt;/span&gt;sau PR. Sau poate ca aveti instalat Google Toolbar si ati observat ca vi se afiseaza un numar cuprins intre 0 si 10, numit Google PageRank. Sa vedem despre ce este vorba.&lt;br /&gt;&lt;br /&gt;Mai intai, &lt;span style="font-weight: bold;"&gt;ce este PageRank&lt;/span&gt;? PR este un algoritm de analiza a link-urilor care atribuie o valoarea numerica unui document dintr-o colectie de documente pe baza importantei documentului. Cu alte cuvinte, PR determina importanta relativa a unui document dintr-o colectie, cu conditia sa existe lgaturi intre documentele respective (link-uri).&lt;br /&gt;&lt;br /&gt;O varianta simp&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DlNXgRJhP3g/SR_5wEiYS4I/AAAAAAAAAA8/FjGO1IpdcHw/s1600-h/PR.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 179px; height: 50px;" src="http://2.bp.blogspot.com/_DlNXgRJhP3g/SR_5wEiYS4I/AAAAAAAAAA8/FjGO1IpdcHw/s200/PR.png" alt="" id="BLOGGER_PHOTO_ID_5269204693293747074" border="0" /&gt;&lt;/a&gt;lista a functionarii algoritmului. Daca o pagina A contine un link catre o alta pagina B, atunci se considera ca pagina A "sustine" pagina B. Deci, cu cat mai multe link-uri exista catre o pagina, cu atat mai mare va fi PR-ul paginii respective. Insa PageRank nu insumeaza pur si simplu valorile PR ale paginilor respective ci PR-ul unei pagini este impartit la numarul link-urilor care se gasesc pe acea pagina. Spre exemplu, daca o pagina are PR egal cu 8 si contine un singur link catre o pagina A, atunci A va primi 8 unitati la PR-ul sau. Insa, daca pagina initiala contine 100 de link-uri, printre care si unul catre A, atunci A va primi doar 0.08 unitati la PR-ul sau. Se presupune ca valoarea calculata de Google foloseste o scala logaritmica. Astfel, devine din ce in ce mai greu sa obtii valori mari ale PR-ului.&lt;br /&gt;&lt;br /&gt;In concluzie, cu cat mai multe pagini web contin link-uri catre site-ul vostru, cu atat mai mult va creste PR-ul vostru.&lt;br /&gt;&lt;br /&gt;Florin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-4035154061600142435?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/4035154061600142435/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=4035154061600142435' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4035154061600142435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/4035154061600142435'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/despre-pagerank.html' title='Despre PageRank'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DlNXgRJhP3g/SR_5mdsSZ-I/AAAAAAAAAA0/WFleVQmwgRA/s72-c/g1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6173673156126523353</id><published>2008-11-13T09:41:00.007+02:00</published><updated>2008-11-13T10:02:24.332+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='magazine online'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='comunitati sociale'/><title type='text'>Despre comunitati sociale si magazine online</title><content type='html'>Am mai auzit despre comunitati sociale, gen Hi5, YouTube, Moodle (?). Ele permit mai multor utilizatori sa impartaseasca idei, resurse, ganduri, fisiere, informatii, ... si lista poate continua. Este chiar util sa aflii cate ceva in plus despre prietenii tai, depre ce le place sau nu le place, despre ce au mai facut ... si o mutime de alte lucruri.&lt;br /&gt;&lt;br /&gt;Ceea ce am aflat de curand, este ca aceste comunitati sociale se pot forma si altfel si anume in cadrul magazinelor virtuale. Da, in momentul in care ne inregistram pe un site, oferim o serie de informatii despre noi acelui magazin. Pe masura ce cumparam, se formeaza un profil al nostru. Si uite asa, magazinul capata o baza de date cu preferintele utilizatorilor.&lt;br /&gt;&lt;br /&gt;Care este legatura cu interfetele web? Una destul de evidenta. Folosind informatiile din reteua sociala creata, programatorii site-ului pot oferi continut particularizat utilizatorilor. In felul acesta, cand voi intra pe site-ul magazinului, voi vedea o lista cu produse care sa reflecte preferintele mele (poate doar, doar voi mai cumpara unul din ele). Si astfel ajungem la imbunatatirea interfetei web pe care utilizatorul o foloseste pentru accesarea site-ului.&lt;br /&gt;&lt;br /&gt;O alta modalitate de folosire a informatiilor din reteaua sociala a magazinului este de a folosi preferintele celorlalti utilizatori pentru a-mi oferi mie sugestii de obiecte pe care le pot cumpara. Cum functioneaza? In primul rand mi se determina profilul din cadrul magazinului pe baza a ceea ce am mai cumparat. Apoi sunt cautati utilizatorii care au preferinte similare (eventual care au dat note produselor respective). Se extrage din lista de preferinte a utilizatorilor o alta lista de obiecte pe care ei le-au cumparat (dar eu nu) si mi se ofera ca recomandari pentru a le cumpara. Destul de interesant. De exemplu, Amazon are o politica destul de agresiva de recomandari.&lt;br /&gt;&lt;br /&gt;Voi ce parere aveti despre folosirea informatiilor legate de profilul de utilizator in scopuri de marketing?&lt;br /&gt;&lt;br /&gt;Florin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6173673156126523353?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6173673156126523353/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6173673156126523353' title='1 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6173673156126523353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6173673156126523353'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/despre-comunitati-sociale-si-magazine.html' title='Despre comunitati sociale si magazine online'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-6714869747407262747</id><published>2008-11-09T18:39:00.014+02:00</published><updated>2008-11-09T23:00:58.807+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAX'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='HI5 API'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><title type='text'>API pentru explorarea comunitatii HI5</title><content type='html'>A trecut si tema 1 la Interfete Evoluate. Titlul ei? &lt;span style="font-style: italic;"&gt;Analiza unor comunitati web&lt;/span&gt;&lt;br /&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DlNXgRJhP3g/SRcaC6q68QI/AAAAAAAAAAU/HUF6-M-3u9w/s1600-h/hi5.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 42px; height: 47px;" src="http://3.bp.blogspot.com/_DlNXgRJhP3g/SRcaC6q68QI/AAAAAAAAAAU/HUF6-M-3u9w/s200/hi5.gif" alt="" id="BLOGGER_PHOTO_ID_5266706926644424962" border="0" /&gt;&lt;/a&gt;Cum aveam un cont la HI5 m-am gandit ca e perfect daca as face o explorare pentru a vedea cu cati utilizatori este conectat profilul meu (mergand doua niveluri in jos am descoperit ca "am" aproximativ 6000 de prieteni &lt;span style="font-weight: bold;"&gt;distincti&lt;/span&gt;, destul de multi :) )&lt;br /&gt;&lt;br /&gt;Dar pana sa ajung aici a fost destul de interesant.&lt;br /&gt;&lt;br /&gt;Tre&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DlNXgRJhP3g/SRcc6RLOpoI/AAAAAAAAAAk/RBJC4MKTEmQ/s1600-h/java.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 39px; height: 62px;" src="http://1.bp.blogspot.com/_DlNXgRJhP3g/SRcc6RLOpoI/AAAAAAAAAAk/RBJC4MKTEmQ/s200/java.gif" alt="" id="BLOGGER_PHOTO_ID_5266710076601575042" border="0" /&gt;&lt;/a&gt;buie sa va spun ca mie imi place sa programez in JAVA, asa ca pentru tema aceasta m-am gandit ca ar fi excelent daca as utiliza cunostintele de parsere SAX pentru a rezolva tema.&lt;br /&gt;Initial, am zis ca voi face o parsare a &lt;a href="http://www.hi5.com/friend/viewFriends.do"&gt;listei de prieteni&lt;/a&gt; Numai ca nu e chiar asa de simplu: in primul rand trebuie sa fii logat (se poate face din Java, de exemplu folosind clasa &lt;a href="http://hc.apache.org/httpclient-3.x/"&gt;Ht&lt;/a&gt;&lt;a href="http://hc.apache.org/httpclient-3.x/"&gt;tpClient&lt;/a&gt; insa nu e asa placut) apoi, pentru a folosi un parser XML cu o pagina HTML e riscant (paginile HTML nu au intotdeauna tag-urile inchise corect, nu folosesc intotdeauna ghilimele pentru valorile atributelor ...), apoi lista de prieteni este afisata pe mai multe pagini, deci trebuie mai multe parsari. In concluzie, prima solutie parea destul de complicata.&lt;br /&gt;&lt;br /&gt;Dupa ce am cautat putin pe net am descoperit ca HI5 expune un &lt;a href="http://api.hi5.com/"&gt;api&lt;/a&gt; (aflat in stadiu beta!) de explorare a comunitatii. Exact ce aveam nevoie. API-ul era oferit sub forma de servcii web ce puteau fi accesate prin SOAP. Ca urmare am incercat sa ma conectez la &lt;a href="http://api.hi5.com/profile"&gt;serviciul de lookup&lt;/a&gt; pentru a afla ID-ul unui utilizator (eu) a carui adresa de email o cunosteam. Conectarea am incercat sa o realizez folosind un client SOAP si anume Axis. Desi pare foarte simplu: creezi un nou client SOAP, creezi un nou apel, setezi parametrii si tipul lor, tipul raspunsului, trimiti cererea si astepti raspunsul formatat XML, &lt;span style="font-weight: bold;"&gt;nu a fost simplu&lt;/span&gt;. Se pare ca nu degeaba e in stadiu beta API-ul. Aparent, WSDL-ul (&lt;span style="font-weight: bold;"&gt;W&lt;/span&gt;eb &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;ervice &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;escription &lt;span style="font-weight: bold;"&gt;L&lt;/span&gt;anguage) asociat nu era consistent (asa cum am aflat dupa ce am folosit un utilitar AXIS de generare a unui client folosind WSDL-ul).&lt;br /&gt;&lt;br /&gt;A &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DlNXgRJhP3g/SRcfYHucFhI/AAAAAAAAAAs/Fywz9iGWZCI/s1600-h/rest.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 39px; height: 39px;" src="http://2.bp.blogspot.com/_DlNXgRJhP3g/SRcfYHucFhI/AAAAAAAAAAs/Fywz9iGWZCI/s200/rest.gif" alt="" id="BLOGGER_PHOTO_ID_5266712788484232722" border="0" /&gt;&lt;/a&gt;picat si SOAP-ul. Insa pe pagina API-ului HI5 mai era un API, si anume: &lt;span style="font-weight: bold;"&gt;REST&lt;/span&gt; (Representational state transfer). API-ul permite accesarea de resurse peste o retea folosind identificatori. In scurt timp am vazut cat de usor se puteau accesa informatiile care ma interesau (userID si lista de prieteni ai unui utilizator pentru care cunosc id-ul). Asa ca am folosit metoda &lt;a href="http://api.hi5.com/rest_.profile.lookup.html"&gt;/profile/lookup&lt;/a&gt; pentru a afla id-ul utilizatorului si &lt;a href="http://api.hi5.com/rest_.profile.foaf.%7BuserId%7D.html"&gt;/profile/foaf/&lt;/a&gt; pentru a afla lista de utilizatori in format &lt;a href="http://www.foaf-project.org/"&gt;FOAF&lt;/a&gt;. Era exact ce imi trebuia; primesc raspunsul in XML, totul e foarte clar. Mai departe am inceput sa scriu programul care foloseste un XMLReader pentru a parsa documentele si cateva handlere (cate unul pentru fiecare tip de document). Este destul de usor sa creezi un handler SAX, este nevoie sa extinzi clasa org.xml.sx.helpers.DefaultHandler si sa redefinesti cateva metode: startDocument (apelata la inceputul documentului), startElement (apelata la dechiderea unui nou tag), endElement (apelata la inchiderea unui tag) si characters (apelata la intalnirea de caractere intre un tag de inceput si unul de sfarsit).&lt;br /&gt;&lt;br /&gt;Si asa am utilizat SAX si REST scriind un program in JAVA pentru a descoperii ca am 6000 de prieteni indirecti pe HI5. Voi cati prieteni aveti?&lt;br /&gt;&lt;br /&gt;Florin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-6714869747407262747?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/6714869747407262747/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=6714869747407262747' title='1 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6714869747407262747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/6714869747407262747'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/api-pentru-explorarea-comunitatii-hi5.html' title='API pentru explorarea comunitatii HI5'/><author><name>Florin</name><uri>http://www.blogger.com/profile/16000739271525996109</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DlNXgRJhP3g/SRcaC6q68QI/AAAAAAAAAAU/HUF6-M-3u9w/s72-c/hi5.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-5294817234261269956</id><published>2008-11-05T09:38:00.002+02:00</published><updated>2008-11-05T09:42:22.369+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><title type='text'>Hello web</title><content type='html'>Hello web!&lt;br /&gt;&lt;br /&gt;Un fel de "Hello World" al utilizatorului web 2.0 or something. In sfarsit am reusit sa ne punem pe picioare, suntem doar la inceput, insa avem convingerea ca vom reusi sa scriem o serie intreaga de articole interesante despre interfetele web actual folosite in web-ul 2.0.&lt;br /&gt;&lt;br /&gt;Si cum un hello world trebuie sa fie scurt ... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-5294817234261269956?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/5294817234261269956/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=5294817234261269956' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/5294817234261269956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/5294817234261269956'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/hello-web.html' title='Hello web'/><author><name>Echipa noastra</name><uri>http://www.blogger.com/profile/18160896776485280338</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130513796350254627.post-5589212843439834500</id><published>2008-11-04T18:45:00.000+02:00</published><updated>2008-11-04T20:01:31.813+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfete web'/><category scheme='http://www.blogger.com/atom/ns#' term='interfete evoluate'/><title type='text'>We are LIVE!</title><content type='html'>&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OixWBslZ3aw/SRCFyhLbC1I/AAAAAAAAAAM/C1_NadjWjsE/s1600-h/echipa+noastra.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 286px; height: 161px;" src="http://4.bp.blogspot.com/_OixWBslZ3aw/SRCFyhLbC1I/AAAAAAAAAAM/C1_NadjWjsE/s320/echipa+noastra.png" alt="" id="BLOGGER_PHOTO_ID_5264855067342342994" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;Ma bucur sa inaugurez cu un post proaspat blogul nostru adica al echipei Anca, Florin si Ionut sau Florin, Ionut si Anca sau Ionut, Florin si Anca ... sau cum vreti voi, pana ne gasim un nume :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bun venit si Enjoy! our blog and our &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://interfete-evoluate.eu/"&gt;website&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; - pe care o sa il aduca barza cat de curand.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Nu vrem sa incarcam web-ul cu chestii inutile asa ca veti gasi aici numai noutati interesante atat din domeniul Interfetelor Web cat si din alte domenii conexe care ne pasioneaza. Sper ca va fi o experienta placuta sa ne rasfoiti blogul.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Have fun!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Anca&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8130513796350254627-5589212843439834500?l=interfetewebupb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://interfetewebupb.blogspot.com/feeds/5589212843439834500/comments/default' title='Postare comentarii'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130513796350254627&amp;postID=5589212843439834500' title='0 comentarii'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/5589212843439834500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130513796350254627/posts/default/5589212843439834500'/><link rel='alternate' type='text/html' href='http://interfetewebupb.blogspot.com/2008/11/we-are-live.html' title='We are LIVE!'/><author><name>Echipa noastra</name><uri>http://www.blogger.com/profile/18160896776485280338</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OixWBslZ3aw/SRCFyhLbC1I/AAAAAAAAAAM/C1_NadjWjsE/s72-c/echipa+noastra.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
