on the verge of extinction... again

mi-e rau

Probabil nu inseamna nimic, dar... unu. Si doi.

Daca nu stiti cine sunt oamenii aia doi, un simplu search pe Google va lamureste.

Pe scurt, cineva care lucreaza la Mozilla m-a intrebat daca m-ar interesa un proiect legat de Firefox. Si cineva care lucreaza la Yahoo si e un fel de web guru m-a adaugat pe o lista cu CSS geeks.

Iar eu n-am lucrat o zi in domeniu. De fapt, n-am lucrat mai mult de 3 luni si 9 zile in nici un domeniu, dar asta e alta capra. Per total, sunt un parazit nenorocit.

Am inceput Politehnica si n-am fost in stare s-o termin. Da, bine, restante aveam (am? naiba stie ce timp ar mai trebui folosit aici ca n-am mai trecut pe acolo de 2 ani, dar n-am incheiat niciodata oficial socotelle) la economii, dar nici la materiile de programare n-am fost vreo stea. Acum imi sparg creierii si nu sunt in stare sa produc un algoritm care sa imi gaseasca cel mai scurt traseu de sus pana jos (albastru = liber, gri = obstacol). Stiu ca as putea gasi unul pe net, dar nu este vorba despre asta. Este vorba despre faptul ca ala produs de mine, fara nici un fel de inspiratie din alta parte, da rateuri in unele situatii.

Nu spun ca ar fi trebuit sa retin algoritmi, dar ar fi trebuit sa invat cum sa pot produce unul bun. Se pare ca n-am fost in stare de asta...

N-am fost in stare sa invat prea multe chestii nici de una singura. Cam toate chestiile pe care am reusit totusi sa le invat pot fi incadrate in aceeasi arie restransa. N-as putea niciodata sa fiu "completa".

Si de-aia in astfel de momente ma simt oribil de vinovata. Ca un fel de impostoare care pacaleste lumea ca s-ar pricepe la ceva...

Stiti, de-aia n-am mai participat la olimpiadele de engleza din ultimii doi ani de liceu. In clasa a noua luasem premiul intai si in clasa a zecea premiul doi. Si apoi mi-a fost frica si rusine sa mai particip.

Eram convinsa ca s-a gresit undeva daca eu am castigat premiul intai. Si apoi premiul doi. Si ma gandeam ca greselile nu se pot repeta de prea multe ori. Mi-era rusine, pentru ca nu-mi iesea din cap ca pacalesc lumea.

In generala avusesem o colega care chiar simtea engleza. Ca si mine, gandea in engleza, ii scapau foarte des fraze in engleza. Dar per total, simtea limba mai bine decat mine. Ea a dat la liceul de informatica, dar ne-am reintalnit la olimpiada de engleza. Eram convinsa ca se va descurca mai bine decat mine. Dar n-a trecut de faza pe judet.

In liceu am avut o alta colega de clasa care chiar simtea limba mai bine decat mine. Si a luat doar locul trei. Chiar nu meritam sa ies in fata lor.

La olimpiada din clasa a zecea, in timp ce asteptam sa soseasca subiectele, tipa din banca din fata mea s-a intors si am schimbat cateva cuvinte. In timp ce se juca cu chestiile de pe banca mea. Printre ele si buletinul. Si apoi a picat ca o maciuca intrebarea. Daca eu sunt cea care a iesit pe locul intai cu un an in urma. M-am simtit ca un sobolan in cursa si mi-a parut rau ca sunt acolo. Gata, s-a terminat, dupa olimpiada asta toata lumea va afla ca nu meritam sa castig nici data trecuta.

Mi-e scarba de mine

11 pareri

cine
Arisu
cand
joi, 23 august 2012 la 19:57:00 EEST
Cam toţi părem buni la ceva fără să fim cu adevărat, doar că oamenii ne văd mai buni, mai frumoşi şi mai deştepţi decât suntem pentru că ne iubesc. Sau poate că e mult spus că ne iubesc, poate văd în noi o sclipire care nu există sau pe care noi nu o vedem.

De când n-ai mai scris mă tot gândesc că am intrat neinvitată pe blogul ăsta. Uneori mi-am expus părerile fără să mă gândesc că ele valorează fix zero, alteori mi-a părut rău că te considerai insuficient de capabilă să înţelegi anumite chestii pe care eu nici măcar nu le visez, dar mereu mi-a fost greu să mă exprim astfel încât să nu par că mi-e milă. Urăsc oamenii care se uită de sus cu ochii lor de fiinţe superioare către oameni pe care îi consideră vrednici de milă. Nu ştiu dacă mi-a reuşit; de fapt pot pune pariu că am ratat de multe ori.

Sper că nu mă urăşti prea mult, sunt şi eu o trestie care vrea să treacă la următorul nivel dar care trebuie să se împace cu ea însăşi mai întâi.

P.S. Spunea un cunoscut că a intrat la facultate la o secţie de design. La proba eliminatorie a trebuit să deseneze bustul unui model şi s-a descurcat cât de cât, astfel că a trecut proba. Ciudat i se părea o tipă care avea un car de talent şi era mult mai bună decât el, a picat pentru că nu a desenat modelul până la bust, ci până puţin mai sus, probabil din cauză că nu a citit cu atenţie enunţul. Vezi? În viaţă nu trebuie neapărat să fii as, ci să fii atent, riguros în activitatea pe care o faci.
cine
Cristi
cand
vineri, 24 august 2012 la 01:22:00 EEST
Sunt convins ca te vei descurca cu proiectul. Nu doar experienta la locul de munca conteaza... pune la socoteala si zilele (sau noptile :P) care le-ai petrecut lucrand.
Cred ca te subestimezi. Spun asta, nu din mila, ci pentru ca am cunoscut destui programatori si am constatat ca imi formez rapid o parere destul de exacta. Rareori mi se intampla sa gresesc.
Algoritmul tau este aproape ok, problema este ca pentru fiecare punct de pornire, genereaza doar 1 singura solutie, dar sunt mai multe posibile.

@Arisu: Parerile valoreaza 2 centi. :P Si e normal ca un barbat sa fie mai priceput la busturi. :)
cine
Cristi
cand
vineri, 24 august 2012 la 01:30:00 EEST
Am observat ca nu merg link-urile din meniu: http://brontozaurel.blogspot.ro/p/cine-si-de-ce.html si http://brontozaurel.blogspot.ro/p/atentie-bronto-rau.html. Cautam link-ul cu demo-ul cu planetele...
cine
brontozaurel
cand
vineri, 24 august 2012 la 11:38:00 EEST
@Arisu: It's alright.

@Cristi: Am modificat eu permalink-urile si chiar mi-am spus sa nu uit sa le modific si in meniu :| Se pare ca pana la urma totusi am uitat.

Demo-ul este asta - planetary system demo
Merge in ultimele versiuni de Safari (perfect), FF (linia punctata a orbitei pare continua, dar in rest e perfect), Opera (arata aiurea umbra stelei la zoom). Ar trebui si IE10, dar n-am testat. In Chrome nu merge decat cu wobble disabled pentru toate (si n-am inclus optiunea ca utilizatorul sa poata face asta pentru toate planetele si satelitii... criza de timp). E un bug cunoscut si, din pacate, nerezolvat pana acum.

Stiu ca algoritmul gaseste doar prima solutie din fiecare punct, insa daca incerc sa obtin toate solutiile din fiecare punct si apoi sa le compar, nu merge nici macar atat, uneori imi intoarce ca rezultat in mod inexplicabil o cale foarte lunga. Si nu am avut nervi sa-mi dau seama de ce, pentru ca am nevoie sa testez pe un grid ceva mai complex, cu niste trasee pe care stiu sigur ca da rateuri. Asta inseamna un grid suficient de mare incat sa-mi incapa calea aia pe ele. Si daca e mare si incerc sa ii inregistrez fiecare pas, ma trezesc cu un log kilometric si ma zapacesc de tot.
cine
brontozaurel
cand
vineri, 24 august 2012 la 11:41:00 EEST
Changed permalinks back to what they were.
cine
Cristi
cand
sâmbătă, 25 august 2012 la 10:57:00 EEST
Demo-ul arata super. Eu am Chrome si merge cu wobble.

In varianta algoritmului care genera toate solutiile, ai restaurat valoarea din visited[row][col] = false inainte de path.pop()? Altfel ramane marcat ca vizitat si pierzi o parte din solutiile care aveau drum pe acolo...
cine
brontozaurel
cand
sâmbătă, 25 august 2012 la 14:07:00 EEST
Nu, dar am schimbat putin mai multe chestii (folosesc un array de 1xN^2 in loc de unul de NxN, clonez path inainte de apelul recursiv, deci practic nu mai e nevoie de pop(), din moment ce doar ii schimb valoarea sau nu dupa comparatia rezultatelor intoarse) si ce am inteles eu din log e ca imi gaseste inclusiv traseul cel mai scurt, insa atunci cand vine vorba de comparatii, de acolo nu iese ce trebuie. Din cauza ordinii in care le-am listat, daca exista un traseu care merge drept de sus pana jos, ala o sa fie primul gasit. Mai mult, am pus conditia ca daca exista un astfel de traseu a carui lungime e N, sa termine cautarea. Dar nu face asta, daca am un astfel de traseu si este posibil si un traseu alternativ care coteste putin la deapta sau la stanga, mi-l alege pe cel care coteste.

Cred ca o sa incep iar de la zero luni.
cine
Cristi
cand
sâmbătă, 25 august 2012 la 22:32:00 EEST
Cred ca este din cauza limbajului. Cand faci pset.push(path) adauga in pset o referinta la path nu o copie, astfel ca, daca modifici path-ul, se va modifica si valoarea salvata. (vezi exemplul de mai jos)


​var path = [];
var pset = [];

path.push(1);
path.push(2);
​​pset.push(path);

path.pop();
path.push(3);
pset.push(path);
for(var i = 0; i < pset.length; i++)
console.log(pset[i]);
cine
brontozaurel
cand
sâmbătă, 25 august 2012 la 22:39:00 EEST
Acum folosesc path.slice(0) in loc de path si nu mai adaug in pset, pur si simplu compar la fiecare pas lungimea caii intoarse la pasul acela cu lungimea celei mai scurte de pana la momentul respectiv (la primul pas compar cu N*N), daca e mai scurta (dar mai lunga de N, pentru ca am pus testul asta inainte) o inlocuiesc, daca nu... trec mai departe.
cine
MihaiS
cand
luni, 3 septembrie 2012 la 09:37:00 EEST
Despre algoritmi, eu nu am fost prea bun vreaodata la a gandi unul. Da asta nu m-a impiedicat sa devin un developer deasupra mediei. POti fi un developer bun fara sa stapanesti maretii algoritmi de rezolvare a unui graf? Da, pentru ca te specializezi pe altceva. In cazul meu mi-a placut arhitectura aplicatiei si consider ca asta conteaza cel mai mult. Algoritmii sint buni si necesari doar in situatii specifice. Si javascript nu e limbajul ideal in general. Poate mult mai simplu pt astea ar fi sa folosesti java sau c# (am vazut ca le stii).

Si acum, imi pare rau sa fiu un pic dur, dar serios, lasa naibii victimizarea. N-are rost sa-ti fie scarba de tine ca in mod sigur se gaseste lume care sa te critice si sa te umileasca la orice pas. Macar nu-i ajuta si nu le face treaba.
cine
brontozaurel
cand
marți, 4 septembrie 2012 la 02:02:00 EEST
Problema e ca vreau sa fac unele chestii pentru care am nevoie de un algoritm bun.

C# nu stiu. Ma rog, n-am scris cod, sunt convinsa ca nu e foarte diferit de Java. JavaScript imi este mult mai comod din mai multe motive:
- e mult mai usor de testat, nu-mi bat capul cu un IDE, adica scap fix de partea pe care o detest si n-o inteleg, dar de care am neparat nevoie, pentru ca eu habar n-am cum as putea rula altfel un program Java/ C/ whatever else of the kind; teoretic stiu cum, ca am invatat la facultate... practic, nu cred ca mi-a iesit vreodata...
- in JavaScript nu am dimensiune batuta in cuie pentru array (I can push and pop elements at will), in Java da; da, stiu, ArrayList, tralala... neh, prea complicat pentru creierul meu...
- vreau sa fac niste demonstratii a ceea ce pot face; jsFiddle gives me a link to a live working demo; daca fac de ex un joculet in Java folosind SWT si il trimit unui potential angajator, poate ala nici n-a auzit de SWT, asa ca fisierele mele .java sunt cam inutile in cazul asta...

Sa ma critic mai dur decat ar putea sa o faca altcineva e singura chestie care ma ajuta sa supravietuiesc. Daca n-as face asta, m-as fi aruncat de mult in fata trenului.

Da-ti si tu cu parerea!

Mai jos se pot scrie tampenii. Nu mai mari ca alea de mai sus...
Insa inainte de orice altceva, vezi cum se comenteaza: indrumar tehnic si reguli!
HTML acceptat: <b>, <i>, <a href=""> (fara alte atribute)