Dar din dar se face rai

Când povestim că lucrăm la DEX online, oamenii ne întreabă adesea „păi ce mai lucrați, nu aveți deja toate definițiile?”. Atunci le povestim cu entuziasm despre toate ideile pe care le avem și cum fiecare nouă funcție pe care o implementăm ne deschide orizonturi pentru alte funcții și mai ambițioase. Frontiera lucrurilor de făcut se extinde continuu, dar timpul nostru este tot de 24 de ore pe zi.

Mai trist este că DEX online rămâne, chiar și după 11 ani, un proiect făcut în timpul liber. Când apar alte priorități în viață, el trece pe planul doi. Am vrea să nu fie așa. Unul dintre noi (Radu) vorbește mereu despre ziua când va putea lucra la DEX online cu normă întreagă și sperăm ca acea zi să vină înainte de pensie. Ne dorim și să angajăm un al treilea om (fie el programator sau lingvist). Am ajuns departe cu pasiune și cu sprijinul vostru, al comunității de voluntari și simpatizanți, dar ne-am dori un ritm mai susținut, pentru că avem mult de muncă.

Cu ajutorul vostru, putem face această trecere. Am creat o pagină de donații în care enumerăm proiecte concrete pe care le-am putea face cu banii strânși. Vă invităm să o vizitați:

http://dexonline.ro/doneaza

Nu putem răsplăti îndeajuns bunăvoința voastră, dar putem încerca astfel:

  • 20 de lei – medalii (virtuale) pentru donatori
  • 50 de lei – în plus, pagini fără reclame timp de un an
  • 100 de lei – în plus, trei autocolante cu DEX online
  • 200 de lei – în plus, un tricou cu DEX online

Anunț important

DEX online anunță cu mândrie că, începând cu 15 aprilie, vom pune la dispoziția publicului larg binecunoscutul DISOO (Dicționar Ilustrat de Sexualitate Orientală Orientată). Autorii acestuia, Vysapha Kootopa Kaleala și Sanookredetz Chespoon au fost de acord să ne pună la dispoziție acest dicționar, inclusiv imaginile. Suntem în special mulțumiți de traducerea acestuia în limba română, la care am muncit asiduu în ultimele șase luni, fiind nevoie inclusiv de cursuri de specializare.

Având în vedere că cei mai mulți utilizatori sunt obișnuiți cu formatul fără poze, acesta va rămâne formatul implicit. Dacă doriți să activați pozele, vă rugăm setați acest lucru de la Preferințele contului.

Pagini de utilizator mai bogate

De-a lungul anilor, DEX online a primit mult ajutor de la mulți oameni generoși. Aceștia și-au dedicat zeci, sute sau mii de ore din viața lor pentru a contribui la proiect în diverse feluri: au adăugat definiții, au moderat definiții trimise de alții, au scris software, au organizat cuvântul zilei și multe altele.

În încercarea de a-i recompensa, dar și de a-i motiva pe alți utilizatori să se implice în proiect, dorim să îmbunătățim pagina fiecărui utilizator, pentru ca cei care merită credit să-l primească. Am implementat două mecanisme:

1. Medalii. Oferim opt tipuri de medalii pentru opt tipuri de activități:

  • introducerea de definiții;
  • programarea;
  • moderarea și întreținerea bazei de date;
  • organizarea cuvântului zilei;
  • gestionarea e-mailurilor primite;
  • activismul pe rețele sociale;
  • sponsorizarea proiectului (detalii în curând).
Iată, ca exemplu, paginile câtorva dintre utilizatorii noștri cei mai harnici: blaurb, LauraGellner, gall, raduborza, Dorin12catatavi.
2. Poză de profil. Utilizatorii își pot încărca o imagine „avatar” de 48×48 pixeli.
Sperăm ca aceste daruri modeste să vă dea ocazia, tuturor celor care ne-ați ajutat și continuați să ne ajutați, să vă mândriți cu ceva, căci o meritați din plin.

DEX online a trecut la licența AGPL

Trimitem o notă informativă cu caracter semitehnic. De astăzi, 9 noiembrie 2012, codul-sursă al DEX online este disponibil sub licența AGPL (Affero General Public License), care înlocuiește licența de până astăzi, GPL (GNU General Public License).

Ca orice alt software liber, codul-sursă al DEX online urmărește să respecte libertățile utilizatorilor săi. Oricine poate descărca, studia, redistribui, modifica și redistribui copii modificate ale DEX online. Desigur, majoritatea utilizatorilor noștri nu se folosesc de aceste drepturi, nefiind programatori de meserie; dar din când în când apare cineva care știe și dorește să contribuie cu cod. Astfel s-au născut subproiecte ca spânzurătoarea sau cuvântul zilei. Din cooperarea umană și din plăcerea unora dintre noi de a scrie software s-au născut lucruri bune pentru societate.

Licența GNU GPL ne-a servit bine timp de mulți ani. Ea este un tip special de licență pentru software liber, numită licență copyleft. Ea garantează că oricine încorporează bucăți din codul DEX online în propriile sale programe, dacă alege să redistribuie acele programe, trebuie să le distribuie tot sub o licență copyleft, pentru a continua să respecte libertatea utilizatorilor săi. Spiritul licenței GPL este ca, odată scris, programul și toate programele care îl folosesc să fie libere, ad infinitum.

Licența GNU GPL își atinge însă limitele în cazul programelor destinate să ruleze pe servere web, așa cum este și DEX online. În acest caz, un dezvoltator independent poate descărca programul DEX online, îl poate îmbunătăți cu funcții noi și apoi poate crea un server separat. Utilizatorii interacționează cu programul modificat, dar nu îl pot descărca, iar îmbunătățirile aduse nu își găsesc drumul înapoi în societate.

Licența AGPL, în esență, adaugă o clauză peste GNU GPL, prin care spune că, dacă operatorul unui server rulează software acoperit de licența AGPL, el este obligat să ofere în mod vizibil pe server o modalitate de descărcare a codului-sursă al programului.

Toamna se numără… stagiarii

Vara aceasta, DEX online a avut plăcerea să colaboreze cu doi stagiari de la Universitatea Politehnică din București (ne ferim să le spunem interni, cum li s-a încetățenit numele studenților din IT care fac practica pe vară, căci nu i-am găzduit la internat, nici nu le-am dat voie să opereze pacienți). Rezultatele sunt fantastice pentru noi și – sperăm – și pentru ei.

Mihai Trifu a îmbunătățit rezultatele căutării aproximative, care intră în acțiune atunci când un cuvânt căutat nu este găsit. Algoritmul anterior era mai lent și dădea rezultate mai proaste. Cu algoritmul implementat de Mihai, sistemul răspunde de 3 ori mai repede și „înțelege” ce a vrut utilizatorul să spună când a tastat pignuin, judetz sau chiar calrvizunne.

Pentru cei interesați, algoritmul folosit este căutarea cu trigrame, prin care fiecare cuvânt din baza noastră de date este împărțit în grupuri de trei litere. Pentru pinguin obținem (__p, _pi, pin, ing, ngu, gui, uin, in_, n__). Când utilizatorul tastează pignuin, sistemul caută cuvântul (sau cuvintele) care au cele mai multe trigrame în comun cu pignuin și găsește pinguin.

Cristian Chilipirea a scris un nou joc cu care sperăm să vă ajutăm să vă perfecționați cunoștințele de limba română într-un mod distractiv. El este încă în lucru (unele din întrebări sunt prost alese, iar grafica mai are nevoie de îmbunătățiri), dar îl puteți vedea în versiune beta la Moara cuvintelor.

Cum orice joc are și un scop util, pe viitor sperăm să putem folosi Moara cuvintelor ca să colectăm statistici despre dificultatea cuvintelor limbii române, observând care dintre ele sunt ghicite mai des sau mai rar. Acest proces este iterativ și ne va ajuta să rafinăm nivelurile de dificultate pentru Moara cuvintelor și pentru Spânzurătoarea. Pe termen mai lung, o ordonare bună a cuvintelor limbii române după frecvență servește ca suport pentru estimarea numărului de cuvinte ale limbii pe care le cunoaște un vorbitor.

Această colaborare a fost posibilă prin efortul depus de ROSEdu, o comunitate de entuziaști ai programării și ai educației în programare, în special cea open source. Misiunea ROSEdu este să sprijine educația IT bazată pe valorile open source. Una dintre activitățile ROSEdu în 2012 a fost ROSEdu Summer of Code (RSoC), un program care a oferit multor studenți un stagiu pe timpul verii la diverse proiecte open source, printre care s-a numărat și DEX online.

Le mulțumim călduros și pe această cale lui Cristian, Mihai și comunității ROSEdu!

Cîteva cifre

    A mai trecut un an din viața noastră și a dexonline.ro, iar din cînd în cînd e bine să ne mai lăudăm și noi… Și nu există metodă mai obiectivă decît prezentarea cîtorva cifre!

    De la ultima aniversare, ne-au vizitat peste 11 milioane și jumătate de vizitatori unici, deci mai mult de 50% + 1 din totalul persoanelor cu drept de vot din România! Chiar considerînd că doar 80% dintre ei au provenit din România (restul provenind din Moldova – 10% Italia, Germania, cîte 1%), tot depășim cvorumul! Acești vizitatori au deschis circa 120 de milioane de pagini (în 40 de milioane de vizite), în creștere mică (circa 5%) față de anul trecut.

    Nici pe facebook lucrurile nu stau tocmai rău! Am ajuns la peste 140.000 de like-uri (creșterea fiind de mai bine de 100.000 în acest an). O parte a acestui succes se datorează Cuvîntului Zilei, ale cărui postări sînt vizualizate de circa 20.000 de persoane zilnic pe facebook. Și dacă am ajuns aici, chiar dacă nu am primit premiul Oscar, trebuie să îi mulțumim lui Vasile Alboiu, care ne-a ajutat cu ilustrațiile începînd cu 15 februarie!

    Planurile pentru viitor sînt mărețe; timp suficient (și voluntari) să fie!

Cântă, zeiță, mânia ce-aprinse pe gicuion@yahoo.com

Nu cunosc cheia succesului, dar cheia eșecului este să încerci să mulțumești pe toată lumea.

– autor necunoscut 

Am primit un mesaj cu un ton foarte… colorat pe adresa de contact. Nu ne face plăcere să dăm din casă, dar i-am promis omului că, dacă nu se potolește, îi publicăm mesajele aici. Acum nu facem decât să ne ținem de cuvânt. 🙂

Voi ce părere aveți? Puteam să facem ceva mai bine și n-am făcut, de am stârnit furia acestui nene?

                                                                        


From: george <gicuion@yahoo.com>
Subject: Unelte | Top |
To: „contact@dexonline.ro” <contact@dexonline.ro>

OARE UNDE ATI GASIT VOI CAPETE LUMINATE CUVANTUL „Unelte” si „Top” in limba romana ? basini in nas si aroganta prostului vad ca nu va lipseste invatati macar la scrieti romaneste

                                                                        

Subject: Re: [Ticket#2012042510000021] Unelte | Top |
To: george <gicuion@yahoo.com>
From: DEX online <contact@dexonline.ro>



Bună ziua,

Apropo de scris românește, îmi permit să corectez brambureala trimisă de dumneavoastră:

Oare unde ați găsit voi, capete luminate, cuvintele „unelte” și „top” în limba română ? Bășini în nas și aroganța prostului văd că nu vă lipsesc; învățați măcar să scrieți românește.

Diferențe notabile:
– Litere mici, în afară de cazul în care sunteți isteric cu certificat
– Diacritice (ăâîșț)
– Virgule înainte și după apoziție („capete luminate”)
– Ghilimele jos și sus („unelte”), nu doar sus, ca în limba engleză („unelte”).
– Literă mare la începutul propoziției („Bășini”)
– Acordul subiectului cu predicatul („lipsesc”, nu „lipsește”)
– Punct și virgulă (sau cel puțin virgulă) între două propoziții nelegate prin conjuncție (după „lipsesc”)
– Corectarea greșelii de tipar, („să” în loc de „la”) probabil datorată grabei de a termina fraza înainte să vă pierdeți ideea (prețioasă, de altfel).

Pe lângă sintaxă, aveți și o gravă eroare semantică: „unealtă” și „top” sunt cuvinte românești:

http://dexonline.ro/definitie/unealta
http://dexonline.ro/definitie/top

Așadar,  9 greșeli în 30 de cuvinte. Nu pot să răspund decât: prost sunteți dumneavoastră. 🙂

Din partea echipei DEX online,
Cătălin Frâncu

PS: Dacă continuați pe acest ton, vom publica aceste emailuri, și pe toate cele care vor urma, pe blogul nostru și/sau pe Facebook. Cred că utilizatorii noștri se vor distra copios. Alegeți-vă bine cuvintele.

                                                                        


From: george <gicuion@yahoo.com>
Subject: Re: [Ticket#2012042510000021] Unelte | Top |
To: DEX online <contact@dexonline.ro>
Vad ca de tampiti ce sunteti nu va dati inapoi de la prostie, cum dracu a tunat si va adunat ? mai bine v-ati corecta rahatul vostru ca pute pana departe.

DEX online folosește OpenID

Dacă aveți un cont pe DEX online și obișnuiți să stați autentificați în el, veți observa că mecanismul de autentificare s-a schimbat. DEX online a migrat la OpenID, o modalitate de autentificare mai simplă și mai sigură.

  • Nu mai este nevoie să rețineți un nume de cont și o parolă în plus;
  • Nu mai este nevoie să completați formulare cu detalii personale;
  • Un cont OpenID, odată creat, poate fi refolosit pe orice site care admite OpenID, iar numărul acestora este în creștere;
  • Sunt șanse mari să aveți deja un OpenID, deoarece multe site-uri mari (Google, Yahoo și altele) servesc și ca furnizori de OpenID;
  • Dacă aveați deja un cont pe DEX online, îl veți putea revendica și asocia cu OpenID-ul dumneavoastră, imediat după ce vă autentificați cu OpenID.

Dacă erați autentificați în momentul migrării, ați fost deconectat și veți fi rugați să vă autentificați folosind un OpenID.

Precizăm că autentificarea pe DEX online nu este necesară. Toate funcțiile de căutare funcționează exact la fel și pentru utilizatorii autentificați, și pentru cei anonimi. Site-ul răspunde chiar mai repede pentru utilizatorii anonimi, deoarece ei beneficiază de pagini precalculate, care sunt servite instantaneu. Vă recomandăm să vă autentificați numai în două cazuri:

  • Contribuiți cu definiții și doriți să primiți credit pentru ele;
  • Doriți să vă creați o listă de definiții favorite pentru acces ușor.

Definiții favorite

Începând de astăzi, utilizatorii autentificați își pot crea propria colecție de definiții favorite, pentru a le găsi cu ușurință mai târziu. După fiecare definiție veți găsi o legătură numită Adaugă la favorite. De asemenea, în meniul utilizatorului (sus-dreapta) veți găsi o legătură către colecția dumneavoastră.

Mulțumiri lui Andrei Gudiu, care a scris codul necesar!

DEX online caută programator

Descrierea postului

DEX online a crescut până la punctul în care avem nenumărate idei fascinante de implementat, dar nu avem destui oameni care să le implementeze (suntem doi programatori fără timp liber).

Oferta

În prezent DEX online caută un programator voluntar. O colaborare reușită pentru ambele părți se poate concretiza într-un contract de muncă la nivelul pieței, îndată ce DEX online va începe să angajeze.

Beneficii

  • Veți face un mare bine culturii românești. Nu este demodat sau jenant să fiți idealiști, chiar dacă trăim într-o societate care tinde să râdă de idealism. Noi așa suntem și ne este bine.
  • Unde împărțim munca, împărțim și prestigiul care decurge din ea. DEX online este o marcă îndrăgită; primim frecvent emailuri de mulțumire, iar ocazional stăm de vorbă și cu ziare, reviste, posturi de radio sau TV. În general, oamenii care află că lucrăm pentru DEX online au o reacție foarte puternică de admirație, mai ales când le spunem că suntem doar 6-7 oameni activi în echipă.
  • Întrucât oferta noastră se adresează în primul rând studenților, ne angajăm să vă fim mentori, să vă ajutăm să faceți o trecere ușoară și productivă de la teorie la practică, de la mediul academic la cel industrial. Unul dintre noi (Cătălin Frâncu) a lucrat la Google între 2001-2006 și promite să vă învețe, pe cât posibil, toate bunele deprinderi care formează un bun inginer software.
  • Pentru că nu avem o ierarhie, munca voastră va ajunge direct în producție și va fi folosită de un milion de oameni. Distanța între editorul vostru de texte și serverul principal al dexonline.ro este infimă.
  • Vă vom încuraja să lucrați, măcar din când în când, la componente de care avem nevoie stringentă (de exemplu buguri grave sau funcții foarte des cerute de utilizatori). În general, însă, veți putea lucra la absolut orice componentă vă atrage, cu singura condiție să nu faceți site-ul mai greu de utilizat sau mai lent.
  • Nu avem ședințe, ore fixe, obiective sau team buildinguri, dar nu refuzăm niciodată un pahar în Centrul Vechi.
  • Puteți lucra de acasă, în afară de cazul în care voi veți simți nevoia să lucrați alături de unul dintre programatorii DEX online.
  • Numărul de ore pe săptămână este la alegerea voastră. Vă recomandăm totuși minim 10 și ideal 20 de ore pe săptămână.
  • Dacă în timpul lucrului aveți nevoie de operatori umani care să proceseze volume mari de date pentru o cauză bună, DEX online poate coopta o echipă remarcabilă de voluntari.

Cerințe

  • Cunoștințe de PHP, MySQL, GNU/Linux
  • Cunoștințe de (sau dorința de a învăța din mers componente ca) Subversion, Smarty, AdoDB
  • Cunoștințe minime de algoritmi și structuri de date

Exemple de proiecte

Deoarece lumea ne tot întreabă „păi și ce mai e de făcut, nu aveți deja toate cuvintele?”, enumerăm o mică parte din proiectele la care ne gândim cu jind.

  • Depistarea automată a noilor cuvinte intrate în limbă. Avem nevoie de un crawler pe texte românești de încredere (ziare mari, literatură etc.) care să ruleze periodic și să țină o evidență a cuvintelor pe care nu le avem, împreună cu o frază din contextul unde au fost găsite. Când un cuvânt apare suficient de frecvent, el și toate contextele găsite sunt trimise unei echipe de lexicografi pentru a îi elabora o definiție (interfața pentru accesul lexicografilor trebuie și ea scrisă).
  • Exemple pe lângă definiții. Există multă literatură românească ieșită de sub incidența copyrightului pe care o putem indexa și servi pe marginea definițiilor, ca exemple (citate).
  • Restructurarea ghidului de exprimare. În prezent, ghidul este pe o singură pagină, nu este ordonat, nu este căutabil, iar articolele tind să fie mici și să nu dezbată toate argumentele. Unele înregistrări (de exemplu cea despre acordul substantivului „majoritate”) necesită un articol amplu de minim un ecran. Dorim să cooptăm un lexicograf și să-i creăm un sistem wiki în care să poată expanda acest ghid într-o serie de articole. Apoi, acest ghid trebuie integrat cu motorul de căutare („Ați căutat «majoritate»? Avem un articol detaliat despre folosirea acestui cuvânt!”).
  • O infrastructură pentru testare (unit testing, stress testing, functional testing etc.)
  • O unealtă pentru estimarea vocabularului unei persoane, după modelul testyourvocab.com.
  • Îmbunătățirea profilurilor de utilizator și integrarea cu OpenID; introducerea de „insigne” pentru diverse tipuri de contribuții, pentru a ne motiva voluntarii.
  • Restructurarea definițiilor într-un format XML general. Formatul curent (simple bule de text cu indicații pentru bold și italic) nu se pretează la analize statistice, are o redundanță uriașă între diversele dicționare și comasează sensuri, sinonime, expresii, etimologii indicații de uz (de exemplu „peiorativ”).

Puteți consulta lista noastră de buguri și idei grele și ușoare.

Filtru

Dacă următorul gen de întrebări vă sperie, probabil nu ați fi mulțumiți de munca la DEX online.

  • Ce se întâmplă de când tastez un URL în browser și până îmi apare pagina pe ecran? (răspunsul vostru ar vorbi câte puțin despre DNS, porturi, serverul de HTTP, cookie-uri, pagini dinamice, redirectări, Javascript, CSS și altele).
  • Ce este un cookie?
  • Care sunt diferențele între cererile de tip GET și POST? Când sunt de preferat una sau cealaltă?
  • Cum interclasez două șiruri ordonate de numere (de exemplu, interclasarea lui [1, 3, 5 10] cu [3, 4, 8] produce șirul [1, 3, 3, 4, 5, 8, 10])? Care este complexitatea? Cum interclasez k șiruri ordonate de câte n numere?  Care este complexitatea?

Descrierea proiectului

DEX online este o colecție de dicționare ale limbii române. Codul-sursă este software liber. O bună parte din datele deținute sunt de asemenea disponibile pentru descărcare și utilizare sub licența GNU GPL. DEX online are circa 1,4 milioane de vizitatori unici lunari și circa 11 milioane de pagini afișate lunar. Codul și datele au fost produse exclusiv prin eforturi voluntare.

Cum să ne contactați

Scrieți-ne la contact@dexonline.ro pentru a stabili un interviu pe teme de algoritmi și dezvoltare web.