miercuri, 3 noiembrie 2010

Poli review: Analiza Algoritmilor (AA)

  • Profesor
St. Trausan-Matu
  • Materie
Singura chestie mai utila practic este calculul complexitatii algoritmilor.

In rest, chestii utile de stiut teoretic, in special daca vrei sa lucrezi in cercetare pe viitor, dar nici acolo nu-s chiar asa utile... Ce e o problema NP, gramatici formale, prostii de-astea.

Partea cu multimi si operatori n shit o sa fie utila mai incolo la PP si la IA.
  • Curs
Personal nu am fost niciodata la curs... a fost vinerea, cand nu mai aveam nimic altceva... dar am inteles ca proful preda bine, si ca e util cursul.
  • Seminar
 Hmm, nici aici nu mai stiu cum o chema... De treaba tipa, desi not the brightest of people... Dar macar explica asa ca pentru idioti, sa fii sigur ca dupa ce pleci de acolo, intelegi. A fost ok.
  • Notare
Examenul a fost destul de simplu. Daca ai fost la seminare, le mai citesti inainte de examen 1 data si treci.

Poli review: Programare Orientata pe Obiecte (POO)

  • Profesor
Lorina Negreanu
  • Materie
Java. Si ceva teorie legata de programare orientata pe obiecte (notiuni de clase, public/private, mostenire, design pattern,  etc).

Recomandare: cititi "Thinking in Java" de Bruce Eckel
  • Desfasurarea cursului
Am fost la primul curs. Se facea dictare ca la clasa 1, o poveste frumoasa despre cum e cu POO asta. Am adormit la a 2a ora, si nu am mai dat pe la nici un curs, si nu imi pare rau.
  • Desfasurarea laboratorului
Nu mai stiu cum il cheama... tip blond cu ochi albastrii(?).

Laboratorul a fost ok. Destul de usor. Tipul explica bine, vreo juma de ora despre ce si cum trebuie sa faci. Chiar daca nu te deranjai sa mergi la curs sau sa citesti cartea, explicatiile lui erau arhisuficiente cat sa faci labul. Daca citeai cartea, in general terminai labul inainte sa termine el explicatiile.

Temele iar au fost destul de usoare, vreo 5 in total.

Sfat: folositi Eclipse. You'll love it!
  • Notare
Examenul final a fost foarte usor, daca stiai Java bine. Sunt la inceput niste intrebari de "teorie", care sunt foarte usoare, la modul ce e o clasa abstracta, ce face codul urmator, etc.

Partea a 2a, cu materiale pe masa, rezolva o problema cu design patternu X. Si asta e usurel, desi tre sa ai cat de cat habar cu ce se mananca ala, ca nu o sa ai timp sa-l cauti si sa-l citesti pe loc.

Poli review: Programare in Limbaj de Asamblare (PLAS)

  • Profesor
V. Lungu
  • Materia
Desi teoretic are "programare" in nume, nu prea e despre asta... In esenta, cursul era despre structura procesoarelor,  organizarea memoriei, etc. Si trebuia sa le tocesti.

Am facut teoretic si ceva assembly language... read on.
  • Desfasurarea cursului
Personal, recunosc ca nu am fost la curs. De la colegi insa, am inteles ca a fost extrem de plictisitor. Oricum, faptul ca mergi la curs nu te ajuta cu nimic.
  • Desfasurarea laboratorului
Am facut laboratorul cu Boiangiu (parca asa il chema... tip inalt care vorbeste monoton si plictisit, imi amintea de politistii de la examenu auto...)

Ce anume am facut? Lab 1: deschideti exemplul asta de cum sa afisati "Hello world" in assembler. Rulati-l. Bun, ati inteles? Intrebari? OK, tema pentru labu urmator: faceti un program care sa citeasca de la tastatura un string, si sa il afiseze reversed si trimiteti-l pe mail la adresa x@y.z . La revedere.

Cum, vroiati mai multe explicatii? Vroiati sa chiar lucrati ceva la lab? Vroiati sa chiar va ajut in vreun fel? Tzeapa! Descurcati-va cum puteti!.

Si cam asa era la toate laburile, nu prea faceam nimic la ele, dar aveam teme...
  • Notare
Partial: Teorie.  E o lista cu 54 subiecte preferate. Vedeti cum faceti rost de ea. Cititi-le, invatati-le (aka tociti-le). A dat parca 10 sub de teorie din ea. Cu copiatul... noua ne-a verificat foile, deci nu puteai copia cu servite. Unii colegi mai creativi aveau telefonu bagat in pantaloni... si nu in buzunar... au luat note bune. Eu chiar am memorat o parte din sub alea si am luat o nota decenta.

Final: Probleme in assembler. 2 probleme. E si aici o lista de subiecte preferate. Recomand sa faceti rost de ea, impreuna cu rezolvarile. Rezolvarile sunt foarte importante. Se copiaza mai usor la final. Daca faci cum e acolo (chiar daca unele sunt gresite), iei 10. Daca esti mai naiv asa ca mine, si te gandesti "eu stiu assembler, hai sa le rezolv la comp si sa inteleg asa in loc sa tocesc", te trezesti la examen ca ii scrii o problema care stii sigur ca e bine si compileaza, ca ai facut-o la comp cu o seara inainte, si profu zice "ce e prostia asta? 5!"... si daca contesti, risti sa pici, deci mai bine zici mersi si pleci. Ah, si daca scrii problema perfect, dar pui din greseala un mov din memorie in memorie, te pica, chiar daca e din greseala (cunosc cazuri). Deci, remember kids, procesoru face doar operatii registru-registru sau registru-memorie, nu si memorie-memorie!

Back to writing...

Acu ca am reusit sa mai rezolv din probleme, m-am gandit ca ar fi bine sa revin la scris si pe blog. Motivul principal este ca, spre surprinderea mea, inca am 50+ vizite pe luna de pe google, in general de la boboci care vor sa stie cum e la poli probabil, sau sa citeasca diverse tutoriale...

Prin urmare, voi continua cu review-ul materiilor din anul 2.

Trebuie sa mentionez ca anul 2 a fost pentru mine unul de kkt. Am venit la poli sperand ca voi da de profesori buni, ca va fi fun, ca nu va mai trebui sa tocesc, ci doar sa inteleg... prostii d-astea la care se asteapta toti bobocii... Consecinta a fost ca in anul 2 mi-am bagat pwla, mai ales ca nu am avut mai deloc materii de programare, ci in schimb multe materii total idioate si inutile, predate ca dreq. Consecinta: multe restante, de care acum intr-un final am scapat.

Mai incolo, avand in vedere ca imi voi face master-ul in Danemarca, ma gandesc ca ar fi util sa postez si procedura pentru asta, ce si cum e, etc. Poate intereseaza pe cineva.

So... expect more updates in the near future! :P

duminică, 7 februarie 2010

How to fail as parents, from a child's perspective

First of all, I'll start by saying I'm currently looking for a job and an apartment to rent. If anybody needs a good programmer to do any programming, lemme know, or if you have an apartment you want to rent (I will get enough money for it, don't worry, leave comment for details).

A few people who "know" me say I'm a spoiled brat because I want more from my parents... Sure, I got almost everything I wanted materially, but is that really all a child needs? If your answer is "yes", then fuck off and stop reading this post.

What if that child gets everything he or she needs, but in addition to that, is continuously emotionally abused by these people called "parents"?

I still remember one day when I was 7 or so, and my dad kept yelling at me that I should never lie to him... I was sobbing and telling him I never lied, but he kept on yelling. Why? Well, he had a crappy job, managed to ruin his life due to a series of bad decision, and ofc was taking it out on me and my mom... And that's been going on for 21 years now.

And as for my mom? She always tries to guilt me into doing things... never yelling, just starting to cry whenever I tell her something contradicting her.

One thing I'm thankful when it comes to my parents, is that they've been great examples on how I shouldn't be in life.

And I'm tired of this... I'm better then this. I'm a programmer. I want to be able to sit in front of a computer and do what I like doing the most without being interrupted every 5 seconds by these people yelling at me for no apparent reasons.

I know it'll be hard, but I'm more motivated then ever to go through with this. If I managed to get this far and learn so much with my annoying parents on my back, I know I'll be able to do much better once I'm out of here.

And to my "loving" parents, I only have this to say:
FUCK YOU, I WON'T DO WHAT YOU TELL ME!

marți, 26 ianuarie 2010

Linux + PPPoE (RDS)

Multa lume a semnalat probleme cu asta, desi mie pe slackware vad ca mi-a mers f bine si frumos (am incercat doar pentru ca mi s-a futut routerul si innebuneam sa stau doar pe win).

So, cum se face: (multumiri celui care a scris postul de aici)

pppoe-setup

Easy script, if you know basic English. Iti seteaza absolut tot ce ai nevoie si salveaza configurarile.

pppoe-connect

Recomand sa dati asta prima data, pentru ca are un output mai detaliat, in caz ca apare vreo eroare.


pppoe-stop

Pentru terminarea conexiunii


pppoe-start

Ca sa porniti conexiunea in general, puteti da comanda asta, care are mai putin output.

Si dupa faceti un script la boot cu pppoe-start n you're done ^^

joi, 14 ianuarie 2010

Mic tutorial de lex/GNU flex

Acest mic tutorial va va spune, pe scurt, tot ce aveti nevoie pentru a face un program elementar de analiza sintactica n more cu GNU flex (da, inclusiv tema la LFA, care nu va va lua mai mult de 1h dupa ce cititi asta).

  • Ce dreq e GNU flex?
 Practic, este un wrapper peste C, un program care citeste dintr-un fisier o serie de reguli si genereaza un alt fisier cu cod sursa .c, care are vreo 1000 de linii de cod.

In esenta, reprezinta o serie de reguli de forma expresie regulata -> instructiuni de executat la gasirea ei in input.
  • Cum il folosesc?
Iei si instalezi programul de aici.  Scrii tot ce trebuie intr-un fisier .flex, si dupa rulezi "flex fisier.flex" dintr-o consola, si iti va genera lex.yy.c.
  • Bine bine da in ce consta mai exact?
Sunt 3 sectiuni in program, despartite prin "%%":
intro
%%
expresii regulate si instructiuni
%%
other code

  • Ce altceva mai trebuie sa stiu?
- Tot ce scrii intre %{ si %} va fi copiat direct in codul sursa generat (si de obicei astea se pun in intro sau other code, in functie de necesitati)
- o lista cu toate expresiile regulate pe care le stie se gaseste aici.
- yyin - pointer catre input. da, poti sa faci un yyin=fopen(argv[1],"r");
- yytext - in asta e memorata linia curenta analizata in fisier;
- yylex() - functia pe care trebuie sa o apelati din main sa intre in analizator
  • Exemple
Un program care numara de cate ori apare stringul "urasc poli" intr-un fisier:

%{
  int nr;

  /* aici se mai pot declara si alte variabile globale, sau functii pe care le veti folosi in program*/

%}

%%

"urasc poli" {printf("Da, si eu urasc poli!\n"); nr++;}
. {/*nu fa nimic pentru orice alt caracter*/}

%%
int main(int argc, char ** argv){
  nr=0;
  yyin=fopen(argv[1],"r");
  yylex();
  printf("nr = %i\n",nr);
  return 0;
}