2048

Toată lumea știe jocul 2048, pentru că toată lumea a pierdut o parte semnificativă din timpul de la servici cu acest joc.

La câteva zile după lansare, au apărut tot felul de clone și variațiuni. Acum a apărut cea mai tare variație: 2048 UBB CS style. În loc de numere, sunt poze cu profi de la Info UBB :D/

2048 UBB CS

Go forth and waste time :D

Alida

IMG_3190

O prietenă foarte bună de-a mea din liceu, Alida, a fost diagnosticată în urmă cu 6 luni cu leucemie.  Mai țin minte că eram la masă la Mesele Vesele când mi-a trimis un SMS cu rezultatele analizelor. Abia am putut să îmi termin prânzul și tot speram să fie doar o glumă super nașpa.

Dar nu a fost o glumă și de atunci Alida a făcut nu știu câte ture de citostatice, a avut tot felul de probleme, dar în ciuda tuturor acestor lucruri, a reușit să păstreze o atitudine remarcabil de pozitivă.

De vreo 2 luni este în Franța la tratament și în mai i se va face transplant de măduvă, după care va trebui să stea în izolare câtva timp, deoarece sistemul ei imunitar va fi cam inexistent. Și pentru o persoană sociabilă ca Alida, asta o să fie destul de greu :-S.

Recent Alida s-a alăturat mulțimii bloggerilor, și scrie pe Alida Live, împărtășindu-și experiențele și încercând să ajute pe alții care se vor mai trezi în aceași situație. Check out her blog :D

Mă rog pentru tine în continuare Alida și sper ca să te poți încrede în Domnul în toate care vor urma! >:D<

Walter the Waiter

Azi a fost UBBots 2014. Și în final am terminat cu Walter. A fost super fain și interesant, dar în ultima lună am tras destul de tare, lucram până seara târziu, și astea pe lângă facultate și serviciu (și prezentări și articole și interviuri) și s-au cam adunat toate.

Aseară pe la vreo 7-8 am decis să ne retragem, pentru că nici rotițele noastre, nici ale lui Walter nu mai mergeau (lui i s-au descărcat bateriile, noi pur și simplu nu dormisem destul :)))), și urma să venim azi cu 2 ore mai repede și să terminăm ultimul bug care o mai rămas (de care știam :-”)

Fiecare membrul al echipei noastre a făcut asta într-o măsură mai mare sau mai mică și dimineață pe la 8-ish am fost la FSEGA, gata să rupem totul. Doar că ne-am dat seama că mai avem câteva chestii de făcut în afară de acel bug: să punem laptopul meu pe robot, să controlăm cumva laptopul meu de pe laptopul lui Dan și să facem un pic de cable management (că firele zburau în toate direcțiile).

Continue reading

Examen LFTC grupa 235

1. Dați câte o reprezentare în cod intermediar cu trei adrese, reprezentare cvadruple și reprezentare triplete, pentru următoarea expresie:

A:=(B+C)*D

2. Fie limbajul:

L = \{ a^n | n \in \mathbb{N}\text{, n - patrat perfect} \}

Este regular? Demonstrați.

3. Dați un APD care acceptă limbajul:

L = \{w w^{\sim}| w \in(\{a,b\}*)\}
(Puteți da o g.i.c și apoi să construiți APD echivalent aplicând algoritmul de trecere.)

4. Fie gramatica cu regulile de producție:

S \rightarrow a S_1 b S | a S | i

S_1 \rightarrow a S_1 b S_1 | i

Este de tip LR(1)?

Rezolvare examen LFTC

Pentru subiectul postat săptămâna trecută:

1.  


<instr_if> -> if <cond> then <expr> else </expr><expr>
<cond> -> id > id
<expr> -> id := id
</expr></cond></expr></cond></instr_if>

a)


  <cond> -> id1 > id2
    </cond><cond>.varn < - NewVarn
    <cond>.cod < - | > | id1.varn | id2.varn | </cond><cond>.varn |
  <expr> -> id1 := id2
    </expr><expr>.cod < - | := | id2.varn |    | id1.varn |
  <instr_if> -> if <cond> then <expr> else </expr><expr>
    <instr_if>.et_else < - newLabel()
    <instr_if>.et_after < - newLabel()
    <instr_if>.cod < - <cond>.cod() ||  | g= | <cond>.varn | false | <expr>.et_else |
                     || <instr_atrib>1.cod || | goto |   |   | <instr_if>.et_after |
                     || </instr_if><instr_if>.et_else || <expr>2.cod || <instr_if>.et_after
</instr_if></expr></instr_if></instr_atrib></expr></cond></instr_if></expr></cond></expr></cond>

b) Îi un arbore, doar că sub fiecare nod intern îi o căsuță cu atributele lui.
Continue reading

Examen programare web grupa 235

Mi-o luat proful subiectul meu inainte sa ii fac poza :( Am avut sa fac in Java un joc de “potriveste descrierea la imagine”. Imaginile impreuna cu descrierile se luat din DB, se afisau aleator si userul trebuia sa selecteze perechile corecte. Toate verificarile se faceau prin AJAX. Daca reusea sa potriveasca corect si era in top 3 dupa timp, i se cerea numele si se punea in Hall of Fame (alta tabela din BD). Cei care au reusit sa bata recordul de timp, puteau sa adauge si ei alte poze (doar link, fara upload).

Subiect PHP:
Pentru implementarea următoarei probleme se va folosi PHP ca și tehnologie server side. În cadrul unei baze de date menținute server side se memorează date despre produse (cel puțin patru atribute: nume, descriere, preț, imagine + id). Aplicația nu trebuie să permită introducerea produselor, acestea se pot insera direct în baza de date. Un utilizator, (care se poate autentifica sau nu, la libera voastră alegere) i se prezintă o pagină de index ce conține doar numele produselor, utilizatorul putând vizualiza toate detaliile despre un produs mergând cu mouse-ul deasupra numelui produsului. În acest moment i se va afișa un div în dreptul cursorului de mouse și al produsului ce va conține conține informațiile detaliate despre produsȘ descriere, preți, fotografie. Dacă utilizatorul părăsește cu mouse-ul zona produsului acest div cu informații va fi ascuns. Informațiile detaliate despre un produs se obțin cu ajutorul unui call AJAX ce returnează o expresie JSON. Dacă se merge cu mouse-ul deasupra numelui unui produs despre care s-au cerut informații detaliate anterior, aceste informații vor fi afișate fără a se mai face call-ul AJAX (vor fi luate dintr-un cache local). După închiderea ferestrei browserului și revenirea la pagină, aplicația va permite:

  • afișarea pe pagina de index, sub lista tuturor produselor, a informațiilor detaliate despre ultimele trei produse vizualizate de utilizator anterior;
  • afișarea pe pagina de index, deasupra listei tuturor produselor, a informațiilor detaliate despre primele trei cele mai vizualizate produse (de către toți utiliatorii).

Punctajul a fost similar cu ce a zis la exemplu.

Today Software Magazine

Pentru ediția a 19a a Today Software Magazine, am scris și eu un articol, despre Deep Learning, care se poate citi pe siteul TSM. Am de gând să mai scriu câteva articole, în care să intru în detalii despre fiecare din tehnicile menționate anterior.

La lansare au fost câteva teme interesante, cum ar fi despre Cluj IT Cluster. A fost o prezentare ținută de directorul executiv al clusterului, Andrei Kelemen, iar prezentarea de după el a pus sub semnul întrebării valoarea oferită de apartenența la această organizație. Au fost două prezentări despre HR și, în mod uimitor, nu m-am plictisit la ele. Au mai fost două prezentări despre start-upuri, una despre Startup Weekend și una despre Startup Nation, de Dhyan Or.

Am ținut și eu o prezentare despre articolul pe care l-am scris.

Exemplu examen LFTC

(3p) Dati o g.i.c (forma simplificata) care descrie sintaxa instr. if. a.i.

if a>b then max:=a else max:=b

este un cuvant al gramaticii.

a) atributati gramatica:

  • introduceti (cel putin) atributul cod
  • cod – cod intermediar cu 3 adrese, reprez cvadruple

b) dati arborele de derivare

c) descrieti evaluarea atributului cod pentru exemplul dat

(2p) 2. Se cere sa se scrie cate un AF care accepta:

L1 = \{b^{2n} | n \in N*\}

L2 = \{b^{3n} | n \in N* \}

Apoi un AF care accepta L1 \cup L2 .

Continue reading

Exemple examen Programare Web

Ca să încep anul cu bine, iată subiectele de la PW (mersi, domnule profesor)!

Subiect 1 2012

Următoarea problemă se va implementa folosind PHP ca tehnologie server side:

Într-o tabelă a unei baze de date există definiți utilizatori cu cel puțin următoarele proprietăți: nume de utilizator, parolă. Un utilizator după ce se autentifică:

  • Poate să=și programeze în anumite date calendaristice din viitor și la anumite ore diferite acțiuni caracterizate de: dată, oră început, durată, descriere.
  • Vizualizeze lista acțiunilor din anumite zile sau săptămâni.
  • Șteargă o anumită acțiune sau acțiunile mai vechi de o anumită dată.
  • Modifice (editeze) acțiunile.
  • Operațiile de mai sus vor fi implementat folosind apeluri AJAX. Aceste apeluri vor returna JSON (nu cod HTML).
  • O acțiune nu va putea fi adăugata dacă se suprapune în timp cu alta.
  • Utilizatorii nu trebuie să se înregistreze. Aceștia vor fi predefiniți în baza de date.

Continue reading