Blogul lui Vlad Valceanu

Am un prieten pe care il cheama Lex. Pe el de fapt il cheama Alexandru, da’ toata lumea ii zice “Lex”. Sau “ba p***”. Sau “atrifan”. Dar in niciun caz Alexandru. Asa ca e de inteles ca ieri (Sf Alexandru) am uitat sa ii zic “La Multi Ani”, desi am stat de vorba cu el si stiam ce zi e.

Propun sa se faca un calendar ortodox pentru oameni ca mine, care uita lucruri. Un calendar detaliat, cu toate poreclele posibile. De exemplu:

21 Mai: Sf Constantin, Costel, Costinel, Titi, Costelus, Constanta, Tzuca, Costi, Tanta;
21 Mai: Sf Elena, Lenuta, Nuta, Nusa, Lenusa, Nuti;
30 Aug: Sf Alexandru, Alex, Lex, Bram, Atrifan, “ba p***”, …
27 Decembrie: Sf Stefan, Stef, Stefi, Fane, Istvan;
etc.

In felul acesta n-as mai uita. Pana atunci… La multi ani, Lex! :)

§514 · August 31, 2009 · fun, personal, poze · 1 comment ·


10:00 Un proiect mic (Tema 5 la SO), dar interesant: client + server de fisere implementati cu metode avansate: IO Completion Ports, socketi asincroni, thread pools etc.
Vreau sa incerc guerilla programming: un plan foarte agresiv de lucru, concentrare care elimina neesentialul, care sa ma ajute sa termin in cateva ore.
Ca apoi sa am timp sa duc pisica in curte la joaca :)

O sa postez aici progresul, pas cu pas. Sunt si eu curios… Tineti aproape :P


10:08 Deja am pierdut prea mult timp setand wordpressul. Incepem!


10:14 Cicluri:

  1. dummy de server si de client
  2. server care deschide socket si accepta conexiuni, client care se conecteaza
  3. IO completion ports si thread pool pentru handling de conexiuni noi
  4. client care trimite comenzi
  5. server: implementare List files
  6. server: implementare read file
  7. server: implementare write file
  8. testare cu mai multi clienti concomitent
  9. debugging
  10. bere!

Nota: fireste ca dupa fiecare din etape testez ce am facut pana atunci si rezolv problemele care au aparut. Asta era de la sine inteles :)


10:18 Timpi, in minute:

  1. 15 dummy de server si de client
  2. 20 server care deschide socket si accepta conexiuni, client care se conecteaza
  3. 20 IO completion ports si thread pool pentru handling de conexiuni noi
  4. 20 client care trimite comenzi
  5. 20 server: implementare List files
  6. 20 server: implementare read file
  7. 10 server: implementare write file
  8. 30 testare cu mai multi clienti concomitent
  9. 60 debugging
  10. bere!

In total, 215 minute, adica 3 ore jumate. Cu pauze de 10 minute la fiecare ora, inseamna 4 ore. Deci pe la 14:30 o sa fiu gata!


10:27 Avem dummy de server si de client. In 20 de minute de acum trebuie sa vorbeasca intre ei pe socketi, versiunea primara.


10:35 Chin cu wsa_32. Rezolvat. WSA startup merge.


10:49 URA! Avem client si server care vorbesc intre ei!

Avem 5 minute in avans, dar am descoperit ca e mai greu decat credeam. Mai adaug, ACUM, 20 de minute pentru citit documentatie.


11:20 Inca citesc despre operatii asincrone cu completion ports. Dupa ce am incercat sa fac de capul meu si nu merge, trebuie sa citesc documentatia :)

Amanam orice planificare pana nu inteleg despre ce e vorba.


11:50 Sunt la fel de derutat ca acum o ora! Nu inteleg daca trebuie sa si accept conexiuni in mod asincron, sau doar sa le handlez. Documentatia nu e beginner-friendly. Singurele tutoriale sunt pe code project si sunt enorme. Tot ce am incercat sa scriu nu merge si nu inteleg de ce. Nu am inca nicun model mintal.


12:10 Lucrul cu IO Completion Ports + Socketi asincroni pe Windows pare un fel de iad: e derutant, inconsecvent, plictisitor si incomplet documentat. Pentru mine sunt concepte noi.

Nu spun ca n-as fi in stare sa inteleg. Doar ca nu am inteles suficient in doar 2 ore. Estimez ca mi-ar lua prea mult timp pana invat tot ce am nevoie.

Decizia cea mai inteleapta: sa investesc timpul asta vanand alte teme (oportunitati) cu acelasi potential de castig (tot atatea puncte), dar cu timp estimat mai mic de terminare (pentru ca sunt tehnologii pe care le cunosc). Noroc ca am optiunea asta!

UNELE LUCRURI SUNT GRELE, si imi face bine la infatuare sa accept ca n-am fost in stare sa invat in 2 ore suficient despre notiunile astea noi incat sa le pot folosi. “20 de minute pentru citit documentatie“! Ha!

Guerilla programming: FAIL, din cauza proastei estimari initiale (“imi ia putin sa invat conceptele XYZ”)
Modesty: WIN – e bine sa inveti ca n-ai scula chiar asa de mare :)
Time: WIN, pentru ca m-am oprit la timp in loc sa pierd o zi cu asta.


§485 · August 26, 2009 · fun, personal, proiecte · 5 comments ·


include studio.h ...

#include studio.h

Aah cat de dor imi era!…

§462 · August 18, 2009 · fun, personal · Comments Off ·


Ultimele 5 zile am stat fara sa fac nimic.
Nici lucruri pe care le faci in vacanta, nici treburi in casa, nici nimic.
Nimic din ala solid!
Nici macar n-am lenevit, ca lenea implica sa ai ceva de facut si sa nu faci.
Eu nu aveam nimic de facut.
Fruntas pe ramura la taiat frunza la caini!

Si ce bine e… Mai vreau!

§460 · August 9, 2009 · fun · Comments Off · Tags:



Mi-e pofta de absint! Rau!

Dar oare absintului i-o fi pofta de mine?

Se gandeste el oare “Ce pofta am sa-l innebunesc pe Vlad”?

Cand ne vedem asta o sa fie intrebarea, de ambele parti: “Ti-a fost dor de mine?”

§453 · August 6, 2009 · fun · Comments Off ·


Ii cheama RedHost si imi plac mult!

Recomandati de prieteni, dar si de schimbul de mailuri pe care l-am avut inainte sa cumpar de la ei. Foarte prietenosi, mi-au zis ca imi accepta fitzele (jailshell, webdav, scp, svn). Serverele sunt in Romania, deci pingul e de 10 milisecunde.

Exact ce imi doream: viteza mare, acces la consola prin ssh, relatii cu clientii grozave. Sa ne traiasca :)

§444 · August 5, 2009 · web · Comments Off · Tags: , , , ,