Archive for Java

07.12.10

Sudoku si alte jocuri – mi-a venit mintea la cap

Posted in Java at 8:58 pm by rast

Ca programator este greu sa lucreyi singur la un program. Trebuie sa mai fie inca, cel putin, o persoana: analist-programatorul, persoana care trebuie sa-ti spuna “ce sa faci“… ceea ce trebuie să rezolve programul.

Nu sunt la prima tinereţe :) , la cei peste 10 ani de job ca programator, am lucrat cu mai mulţi analişti. Unii aveau o putere de sinteză foarte bună, îmi explicau foarte concis ceea ce trebuie făcut/rezolvat. Alţii se exprimau greu… uneori chiar bâlbâit… abia înţelegeam ce vor să spună.

În linii mari, prin job-urile avute, m-am cam plâns că nu am cine să-mi spună ce să fac. Stăteam ca fraieru’ şi aşteptam să se găsească vreun om care să fie interesat în bunul mers al treburilor din instituţie. Pauză! Mulţi apreciau puţinul făcut de mine, dar nu-mi spuneau ce să fac mai departe. Dacă şefu’ nu le dăduse atribuţii… îi dureau în cot!

Treaba asta, cu programarea jocurilor, este altfel din acest punct de vedere: al unei a doua persoane participante la program/aplicaţie! Jocurile le pot programa singur, nu am nevoie de altă persoană care să-mi spună ce să fac. Documentaţie free, pe Internet, există foarte multă.

Numai la jocul de Sudoku am găsit un maldăr de site-uri cu explicaţii amănunţite despre joc, din care mă pot inspira foarte uşor, astfel încât să-mi dau seama ceea ce trebuie făcut.

http://www.sudokusolver.co.uk/ro_solvemethods.html

http://ro.wikipedia.org/wiki/Sudoku

http://en.wikipedia.org/wiki/Mathematics_of_Sudoku#Counting_the_top_band_permutations

http://www.colloquial.com/games/sudoku/java_sudoku.html

http://ro.wikipedia.org/wiki/Matematic%C4%83_recreativ%C4%83

Works for me!

05.30.10

Software Open Source

Posted in Java at 5:25 am by rast

Se pare că această criză (neştiut de lungă… nu se ştie când se va sfârşi… unii spun/prezic un “sfârşit” cu transformări/schimbări foarte foarte mari, îndreptate spre naturalul fiinţei umane) ne va îndrepta paşii spre adoptarea unor soluţii extreme.

Din acest articol, chiar şi industria software va adopta o strategie ce predispune anumite oportunităţi pentru unele firme de programare sau poate chiar pentru unii programatori solitari (programatori, aşa ca mine :) , care nu au reuşit să se integreze angajeze într-o echipă de programatori… şi lucrează singuri).

Pentru o firmă, este destul de greu să fie mulţumită de un soft Open Source. Va cere (va avea nevoie) de mici modificări/adaptări. Aceste mici adaptări vor fi pe bani. Firma îi va da, iar cel ce va face adaptările, îi va incasa.

Deci, în zilele anii ce vor urma, se vor căuta persoane care să-şi bage nasul :) în programe/software Open Source. Nu este chiar aşa uşor… chiar dacă ai programul scris (scris de un alt programator), este destul de greu să-ţi adaptezi logica (propria gândire/structurare), logicii programului.

Am o oarecare experienţă cu adaptarea diverselor programe Open Source, cu adaptarea logicii personale la logica programului. Perspectiva “utilizării la greu” a aplicaţiilor Open Source, mă bucură.

Dacă are cineva nevoie de oarece modificări/adaptări ale unui program Open Source.. ştie unde mă poate găsi :) un commentariu la acest post şi treaba se rezolvă!

05.09.10

Comentarii, sugestii, propuneri la jocul dtris

Posted in Java at 5:39 am by rast

Jocul 2Dtris (fisierele jar si jad) pot fi download-ate de aici, o pagina care încearcă să explice acest joc.

În acest post se pot face comentarii, sugestii, propuneri.

05.01.10

Tetris transformat – Dtris

Posted in Java at 3:40 am by rast

Nu! Acest post nu este spre a mă lăuda :) ! Este primul post care încearcă să descrie jocul pe telefoane mobile la care am început să lucrez. Prezint mai jos o poză:

tetris

Am început de la acel joc de Tetris, Open Source, găsit pe Internet. M-am gândit să refolosesc acele piese deja desenate. Neuronii mei obosiţi mi-au dat soluţia, dându-mi ideea de a face un joc… în care să se completeze un pătrat, nu o linie, ca la Tetris.

La Tetris, piesele “cad de sus”, cu o viteză prestabilită. La jocul Dtris ( :) Domnului să ne rugăm… să facă din Dtris un brand ca Tetris :) ), piesele apar prin mijlocul tablei (pătratului) şi pot fi mutate LEFT, RIGHT, UP, DOWN şi apoi aşezate (cu tasta OK/FIRE). A apărut şi o problemă: cum fac rotaţia piesei. La Tetris rotaţia se face cu tasta UP, la Dtris UP-ul este folosit pentru a muta piesa mai sus. A trebuit să aloc altă tastă pentru rotaţie. Am ales tasta numerică “1″ a telefonului. Deci press “1″ to rotate :) .

Am început… mi-au venit şi alte idei: voi face jocul în mai multe variante. Deocamdată lucrez la varianta simple, în care se cer completate tot linii (nu întregul pătrat) sau coloane. În desenul de mai sus am completat coloana 1, din stânga. Chiar ieri am lucrat la procedura de alocare a unui punctaj/scor pentru liniile sau coloanele complete. Am realizat procedura de alocare a punctajului, dar nu am făcut/programat procedura ce “şterge” linia/coloana completată.

Teoretic, aş putea spune că această variantă de Dtris simple, este un fel de Tetris pe 4 poziţii DOWN (Tetris clasic), UP, LEFT, RIGHT.

Probabil chiar şi această variantă de Dtris simple, va avea 2 variante:

  • piesa nouă apare pe suprafaţa pătratului şi se poate muta doar prin spaţiile libere rămase de la celelalte piese
  • piesa nouă apare undeva, înafara pătratului şi se poate muta oriunde, “pe deasupra” pieselor deja puse.

Deja am un dubiu: ce impact poate avea un joc cu aşa multe variante?

04.29.10

Tetris vs. TicTacToe

Posted in Java at 9:24 am by rast

Cele două jocuri din titlu sunt simple, pentru cei ce doar joacă aceste jocuri. Pentru programatori, care-şi obosesc neuronii cu programarea/dezvoltarea unor astfel de jocuri, lucrurile nu stau la fel de simple.

Suficient de novice fiind :) , m-am “luat la luptă” cu Tetris-ul, el fiind mai jucat/căutat joc pe telefoanele mobile (cel puţin aşa spun statisticile). Abia acum aş putea afirma că încep să înţeleg codul sursă – Open Source – pe care l-am găsit pe Internet şi pe care încerc să-l adaptez.

M-am oprit la jumătatea drumului… căutând documentaţii pe Internet (Google să trăiască)

04.22.10

Studiind jocurile

Posted in Java at 12:36 am by rast

Iată-mă schimbându-mă şi eu. Nu pot spune dacă este o schimbare în bine sau rău dar are o componentă de învăţare asupra interfeţelor utilizator o jocurilor/programelor pe telefoane/dispozitive mobile.

Nu joc jocuri pe calculator! Prin 1992 un amic mi-a împrumutat un calculator românesc – TimS parcă se numea – care se conecta cu un televizor, încărcând diferite programe/jocuri de pe un casetofon. Dăduse boala în mine pentru un joc. Eram curios, nevoie mare, să văd ce se află pe un nivel la care nu prea puteam ajunge… că mă omorau bandiţii. Aşa de tare mă prinsese jocul ăla că-l jucam noaptea… pe la 6 dimineaţa mama se trezea să mergă la servici eu, cu ochii umflaţi de pixeli, mă duceam, obosit, la culcare.

Această stare de lucruri a durat vreo 5-6 zile… slăbisem, dormeam yiua, mă dureau ochii… atunci mi-am dat seama cât de nocive pot deveni jocurile pe calculator. Am jurat să nu mai joc jocuri pe calculator.

Roata se învârte! Acum, după aproape 20 de ani, am început să umplu un director cu jocuri Java pentru telefoanele mobile, pe care le pot juca prin intermediul simulatorului mpowerplayer instalat.

Deocamdată, în prima fază, doar încep să joc jocul, mă interesează interfaţa cu utilizatorul. Practic studiez modul de realizare a jocului: telefoanele mobile au o altă modalitate de a interacţiona cu utilizatorul, decât calculatoarele. Ecranul lor, mult mai mic, nu dispune de suficient spaţiu pentru adăugarea unei bare cu meniuri.

M-aţi putea juta, scriind în comentarii, părerile dvs. despre diferitele interfeţe ale diferitelor aplicaţii (nu numai jocuri) pe care le utilizaţi pe telefonul mobil. M-ar interesa şi ce telefon utilizaţi, să aflu ce telefoane sunt mai utilizate în România, aflând astfel rezoluţia ecranului… putând face programele/jocurile la rezoluţii acceptate.

04.18.10

Soluţie de criză – telefoanele mobile

Posted in Java at 2:04 am by rast

În acest început de an, 2010, criza nu are de gând să plece de pe capul nostru şi să ne lase în pace. Se anunţă mari schimbări. În pas cu moda tendinţele mă schimb şi eu: încep să programez telefoane mobile.

Probabil, sunt unul dintre puţinii români care nu au telefon mobil. Nu am şi nici nu am avut telefon mobil… :) dar, m-am apucat de programat telefonele mobile. Cu vreo 10 zile în urmă, când mi-a venit această idee (încurajată fiind de vocea interioară… simt foarte, foarte pregnant să continui cu programarea telefoanelor/dispozitivelor mobile), eram TOTAL afon despre telefoane, auzisem doar despre câteva firme ce construiau telefoane.

Acum am aflat că au apărut şi aşa-zisele telefoane inteligente (smartphone). Aşa am aflat şi de vâlva creată de recent lansatul la urechi apă: iPad.

Deocamdată voi face programe Java/J2me pentru telefoanele mobile.

În săptămâna care a trecut era cât pe ce să-mi cumpăr un telefon mobil la second-hand, pentru a avea cu ce să probez programele ce le fac. Utilizând la greu, funcţiile de căutare ale prietenului Google, am găsit un emulator de telefon mobil pe PC, creat incă din anul 2002. L-am instalat/download-at şi-l folosesc mult. Este o aplicaţie în Java… folosesc o aplicaţie Java pentru a testa aplicaţii Java…

Săptămâna care vine, am deja planificat, să Google-esc după emulatoare de telefoane inteligente.

Simt ca preocuparea pentru dezvoltarea unor aplicaţii pentru telefoanele/dispozitivele mobile să devină preocuparea prioritară cotidiană.

Eu, ca programator, pentru a face/dezvolta aplicaţii (orice fel de aplicaţii, nu numai pentru telefoanele mobile), trebuie să fac parte dintr-o echipă care are astfel de preocupări. Să programez ceea ce au alţii nevoie, nu-mi pot imagina nevoi…

Din acest motiv am început prin a programa jocuri, jacuri pentru telefoanele mobile. Internet-ul este plin cu astfel de aplicaţii, am de unde lua exemple, fără a fi nevoie să fac parte dintr-o echipă…

Later edit:

Au trecut doar 3 ore de la publicarea post-ului, şi am citit pe site-ul revistei Capital următorul articol: “Explozie de internauţi mobili“… Nu numai că acest articol îmi dă apă la moară să continui cu programarea telefoanelor mobile dar şi apropo de titlul acestui blog “programare web“, dacă încep a programa telefoane mobile nu mă rup total de Internet. Deja îmi pun problema în a mă documenta în alt sector/domeniu încare sunt afon: reţelele sociale.

04.27.09

Profesionalism

Posted in Java at 4:37 am by rast

Acum vreo 7-8 ani în urmă, eram coleg de birou cu un tip cu care am devenit un bun amic. Ieşeam foarte des la o cafea (după orele de servici), undeva prin oraş. Nu ne ajungeau cele 8 ore zilnice de sporovăială, la birou, continuam într-un cadru mai relaxat, la o cafea.

Am început să mă distanţez faţă de el în momentul în care am observat că “apela” la tot felul de furtişaguri (mici găinării, implicit cîştiguri mici) pentru a-şi suplimenta veniturile cotidiene/lunare. În momentul în care a observat şi el că relaţia noastră de amiciţie a început să scârţâie m-a întrebat ce s-a întâmplat.

Am fost sincer şi am recunoscut:

“- Tu te bazezi pe mici furtişaguri, eu pe profesionalism. E o mare diferenţă între noi. Putem fi buni colegi de birou, implicit buni amici, dar nu prieteni “la cataramă”"

“- Mulţi oameni au această practică… de a face mici furtişaguri, şi văd că le merge. O duc bine!”

Nu a renunţat la practica lui. Nu ştiu cât a reuşit să câştige prin această practică. Mă gândesc mai mult la mine :) ! Mi-am pus şi eu deseori problema de a mă baza pe un profesionalism extrem. Nu! Nu m-am gândit să apelez la furtişaguri :) , ci la ideea de “a mă bate cu pumnii în piept” că sunt mare şi tare. Văd practicile zilelor cuente, mă gândesc dacă să apelez la astfel de strategii…

Simt să mă bazez în continuare pe profesionalism şi pe calitatea soft-ului făcut de mine. Noua provocare, de a face un site web, mă pune în faţa unei certificări profesionale: a celor două validatoare (HTML şi CSS) de la w3c, care atestează faptul că sunt în temă cu standardele w3c, de creare site-uri web, în vigoare.

Merg, în continuare, pe ceea ce simt şi nu adopt obiceiurile actuale de a reuşi în viaţă!

04.04.09

NetBeans

Posted in Java at 12:53 am by rast

Mulţi ani am programat Java, folosind ca editor Notepad :) . Chiar daca este greu de scris cod, “ofera” o modalitate de a-ţi antrena mintea, forţând-o să ţină minte anumite tehnici. Am inceput sa programez in NetBeans mai mult din coriozitate. După mai multe programe realizate şi cunoaşterea unor facilităţi specifice, mi-am dat seama că lucrul cu un IDE (nu musai NetBeans), oferă multe alte avantaje decât dezvoltarea rapidă a unei aplicaţii.

Deja sunt convins să părăsesc definitiv programarea în Notepad, fiind (deocamdată) adeptul NetBeans. Voi continua să mă ocup de cunoaşterea celorlalte facilităţi aferite de acest IDE, dar nu mă voi opri la el. Pe măsură ce timpul îmi va permite o să încep si cu Eclipse.

De fapt, prima dată, am încercat să folosesc Eclipse, dar “m-am împiedicat” de la primii paşi. Deschideam un proiect nou şi nu mai reuşeam să… scap de el. Degeaba alegeam din bara de meniuri: File -> close, rămânea, în fereastra de proiecte, un item cu denumirea proiectului. Chiar la un nou restart, al Eclipse sau al calculatorului :) , tot acolo rămâne! Am tras concluzia că nu ştiu eu prea multe despre conceptul de proiect, aşa cum îl înţelege Eclipse. M-am decis să văd ce părere are NetBeans despre noţiunea de proiect. Aşa că am abandonat Eclipse şi am început cu NetBeans: are o părerea care seamănă cu a mea :) , motiv pentru care am continuat cu el.

Pe măsură ce dezvoltam fel de fel de proiecte, aflam alte şi alte facilităţi oferite de acest IDE. Decizia de a părăsi definitiv Notepad-ul şi a programa în NetBeans, am luat-o după ce am văzut uşurinţa cu care se poate seta şi configura un GridBagLazout, pentru un JPanel. NetBeans pune la dispoziţie un tool vizual de configurare.

03.18.09

Open Source – NetBeans

Posted in Java at 2:46 am by rast

Nu numai preocupările recente asupra GSM-ului, ci şi cele mai vechi, despre Java :) , m-au îndreptat spre a folosi programul NetBeans (tot de la firma SUN). Mi se pare foarte OK. Nu vreau să mă rezum doar la editorul de text, care este un ajutor destul de mare pentru un programator. Limbajul Java fiind extraordinar de “stufos”, este foarte greu să ţii minte toate metodele unei clase şi parametrii cu care este apelată. Editorul de text vine în ajutorul… memoriei programatorului, indicându-i ce posibilităţi are.

« Previous entries