Archive for the ‘Proiecte’ Category

Primii paşi în OpenSolaris

Ianuarie 22, 2009

Ştiu ştiu, n-am mai scris de ceva vreme. Nu ştiu de ce, poate din lipsă de timp, lipsă de inspiratie … cred că totuşi lispa de timp este principalul motiv.

Recent, lucrând la un proiect ce ar vrea să fie un sistem de fişiere distribuit şi fiind nevoit să fac nişte teste, am fost nevoit să folosesc mai multe sisteme de operare. Toate însă avea ceva în comun, erau diverse variaţiuni de Linux. Navingând de colo colo pe Internet, mi-a venit o idee interesantă.

Solaris … gratuit

Se pare ca Sun Microsystems[3], creatorii sistemului Solaris[2], au hotărât să îl împartă lumii pe gratis … în scopuri educaţionale desigur. Nu numai că au hotărât să distribuie fără bani, au mai şi făcut o distribuţie de Solaris numită OpenSolaris[1] ce seamănă izbitor de mult cu un sistem Linux Live[17]. Adică, la pronire arată ca un live cd, seamănă foarte bine cu Ubuntu[4] şi se instalează exact la fel … în fine, durează puţin mai mult.

OpenSolaris

Linux … sau nu chiar

Primul lucru pe care l-am observat este că pornirea (de pe hard disk, după instalare) durează excesiv de mult. Cred că a stat câteva minute (m-am prins după aceea de ce, trebuia modificat ceva în opţiunile de pronire). Odată pornit, am fost uimit să văd că foloseşte GNOME. Interesant, de când se bazează Sun pe programe GNU[5]? M-am prins însă foarte repede că este o versiune modificată bine de către Sun. Deşi comenzile par să fie cam aceleaşi (mă refer aici la meniuri), la o privire mai atentă lucrurile nu stau chiar aşa.

În ceea ce priveşte terminalul, treaba se schimbă complet. OpenSolaris nu are console (nici nu vă gândiţi că ar merge ALT+F1, ALT+2 etc.). Comenzile, deşi au numele la fel ca în Linux (că doar Linux e clonă de UNIX, nu?), nu merg la fel. O să aveţi surpriza să vedeţi că o grămadă de comenzi nu fac ce sunteţi obişnuiţi că ar trebui să facă. De exemplu, ifconfig dă eraore. Vrea neapărat parametrii.

Bineînţeles, după bunul obieci al noilor distribuţii de Linux, mc[9] nu era instalat. Dar, partea bună, se poate instala şi vine ăntr-un pachet al Sun Microsystems.

Când vine vorba de reţea, lucrurile se complică. Interfeţele de reţea sunt numite complet diferit. Nu există termenul de eth. Nici route nu merge la fel. Într-un cunânt, se vede că avem de a face cu UNIX.

Multimedia

La capitoul multimedia, OpenSolaris nu străluceşte deloc. Singurul program preinstalat este Totem, care ştim toţi că este cam inutil. Primul lucru pe care l-am încercat este să caut nişte pachete cu XMMS[7] şi MPlayer[6]. Partea bună este că exită un manager de pachete, deci ar trebui sp fie simplu. Simplu simplu … dacă ar exista pachetele. Am căutat pe Internet, am găsit că ar exista nişte pachete făcute de Blastwave[8]. Din păcate, acestea nu se instalează. Sinura soluţie a fost compilarea surselor de pe site-urile orginale.

Compilare … uşor de zis, greu de făcut. Mi-a luat o zi întreagă, este foarte ciudat ce face OpenSolaris. Programele de compilare de la Sun merg altfel, adică nu sunt compatibile cu cele ale GNU. A trebuit să iau pachetele GNU pentru OpenSolaris, să le instalez (noroc că le pune într-un director special, /usr/gnu), că altfel nu ştiu cum le instalam.

Dacă sunteţi interesaţi de cum am compilat, puteţi citi acest articol.

Ferestre în OpenSolaris

NTFS şi Windows

Se pare că OpenSolaris nu are incă suport pentru NTFS[14]. Cel puţin nu din fabrică. Am incercat să compilez FUSE pentru Solaris … şi într-un final (nici eu nu ştiu cum de) a mers. NU încercaţi să faceţi prostia mea, anume să încercaţi să compilaţi FUSE pentru Linux. Nu merge (evident, doar e alt kernel).

Există un proiect al Sun pentru portarea FUSE4BSD[12] pe Solaris. E încă la starea de proiect netestat prea bine …

ntfs-3g[13] însă se compilează destul de uşor. Nu este foarte util fără FUSE.

Detalii tehnice

Citind nişte documentaţie despre OpenSolaris am dedus că foloseşte nişte tehnologii interesante. Sitemul de fişiere folosit este noul ZFS[15], sistem nou creat de Sun folosind tehnologii şi concepte noi. De asmenea, OpenSolaris are un fel de maşini virtuale integrate. Poate simula zone de Solaris sau  zone de Linux. Este foarte interesant, trebuie însă să mă mai documentez.

Cursuri gratuite

Totuşi sistemul a fost destul de intrigant, aşa că m-am hotărât să citesc nişte documentaţie. Partea bună este că Sun oferă cursuri gratuite. Intrând pe pagina lor de Internet, am aflat că exită un proiect de cursuri online gratuite oferite de către Sun studenţilor, numit Sun Academic Initiative[16]. Înscrierea se face pe pagina lor de Internet, trebuie doar depusă o cerere şi aşteptată o confirmare.

Concluzie

Trebuie să recunosc că am fost plăcut impresionat. Este foarte interesant să rulezi un sistem UNIX real. Seamănă puţin cu Linux, la prima vedere pare mult mai complicat, însă pe măsură ce citiţi şi nîncercaţi puţin, o să realizaţi ce puternic este.

Să nu uit, NU încercaţi FUSE (şi respectiv ntfs-3g pe OpenSolaris), sistemul îngheaţă repede şi se resetează.

Legături Utile

  1. OpenSolaris, www.opensolaris.com
  2. Solaris, www.solaris.com
  3. Sun Microsystems, www.sun.com
  4. Ubuntu, www.ubuntu.com
  5. The GNU Operating System, www.gnu.org
  6. MPlayer, www.mplayerhq.hu
  7. XMMS, www.xmms.org
  8. Blastwave, www.blastwave.org
  9. Midnight Commander, www.midnight-commander.org
  10. FUSE, fuse.sourceforge.net
  11. FUSE on Solaris, http://opensolaris.org/os/project/fuse/
  12. FUSE4BSD, http://fuse4bsd.creo.hu/
  13. NTFS-3G, www.ntfs-3g.org
  14. New Technology File System, http://en.wikipedia.org/wiki/NTFS
  15. ZFS, http://en.wikipedia.org/wiki/ZFS
  16. Sun Academic Initiative, https://sailearningconnection.skillport.com/
  17. Linux Live for CD & USB, www.linux-live.org

Un personaj drăguţ

Martie 20, 2008

Dacă tot am ajuns la răscolit proiecte mai vechi, am dat astăzi peste un proiect foarte simpatic. Am încercat anul trecut să realizez o interfaţă diferită, mai animată, pentru Windows (pe vremea când Aero era doar o idee în reviste). Deoarece nu mă pricep prea mult la grafică, am apelat la un prieten pentru a o realiza. Ideea lui a fost de a face filmuleţe în Flash. Ştiam foarte bine că sunt programe care folosesc filme Flash în interiorul lor (Yahoo Messenger de exemplu, folosiţi Audibles?), dar n-am reuşit să găsesc nici cum o componentă pentru a importa filmuleţele într-un limbaj de programare. Singura soluţie pe care am găsit-o a fost un exemplu în C/C++, exemplu care folosea ActiveX-ul Macromedia pentru încărca într-o fereastră un film.

După câteva zile de studiat problema şi de încercări, am reuşit să modific sursa găsită pe Internet pentru a afişa filme Flash transparent şi pentru a interacţiona cu ele. Am compilat o bibliotecă partajată dinamic (dll) pentru a putea încărca filme în orice limbaj. Iată un exemplu în Delphi. Pentru a-l rula, aveţi nevoie de Macromedia Flash Player instalat sub forma de ActiveX.

Personajul

Fereastra din Delphi

Puteţi descărca de aici sursele în Delphi sau Visual C#.

Dacă vă place, doriţi sa-l folosiţi şi aveţi nevoie de mai multe informaţii, puteţi să-mi scrieţi un comentariu.

Radio în buzunar

Martie 19, 2008

După jucăria cu pixul care scrie singur am ajuns din la programarea dispozitivelor mobile. După o pauza destul de lungă (nu m-am mai atins de acest subiect de când am predat la şcoala de vară), am început să rescolesc proiectele mai vechi pentru a-mi aduce aminte. Răscolind prin arhive, am găsit un server radio ce implementează protocolul Shoutcast pentru Windows Mobile făcut anul trecut.

Proiectul a fost de fapt un test de performanţă a dispozitivelor mobile. Am scris doua servere, unul in C# (cel pe care îl puteţi descărca momentan) şi unul în C. Ideea a fost de a testa dacă este posibil aşa ceva (nu văd de ce n-ar fi fost) şi cât de bine se comportă C# pe dispozitive mobile.

Ei, ce părere avei, care credeţi că a fost rezultatul? Am testat serverele utilizând conexiuni Wi-fi (802.11b) eminţând pentru zece clienţi simultan. Surpinzător, deşi mergea mai lent, C# se comporta binişor (dacă era singurul program care rula). Serverul în C a fost mult mai rapid, utilizând mult mai puţină memorie. Totuşi, a fost mult mai uşor de scris o interfaţă grafică ăn C#, în C practic fiind aproape imposibil. Părerea mea, după acest experiment, este că un program de proces ar trebui programat în C, iar o interfaţă pentru acest program ar trebui creată în C#.

Puteţi descărca de aici server-ul sub formă de CAB pentru Windows Mobile 2003 sau mai nou.

PocketStream

Detalii

The pen writes …

Martie 17, 2008

Cum ar fi dacă aţi avea un pix care scrie singur? Ar fi interesant să putem scrie pe calculator, şi să avem un pix care să ne scrie cu scris de mână pe o foaie. Mai mult, elevii care învaţă literele de mână ar putea folosi un calculator pentru a vedea o demonstraţie autentică, nu doar un desen simulat.

De câteva zile mă joc cu un dispozitiv haptic în formă de pix. Acesta trimite unui calculator informaţii despre poziţia sa în spaţiu si poate genera force feedback. În general astfel de dispozitive sunt folosite pentru simulările atingerilor obiectelor dintr-o lume virtuală. Specialiştii de la IRIT (Institut de Recherche en Informatique de Toulouse) Toulouse, institultul la care fac practică momentan, s-au gândit să-l folosescă invers. Folosind un program pentru generat scris de mână, dezvoltat anterior de IRIT, am reuşit să programăm dispozitivul să facă ce doar oamenii puteau face până acum: să scrie.

Cum am făcut? Am lipit un pix normal de braţul dispozitivului, am pus o hârtie sub el … şi iată rezultatul.

PenMover (programul IRIT pentru simularea scrisului de mână)
PenMover

SimWrite (programul care mişcă pixul)
SimWrite

Ceva pentru Winamp …

Martie 14, 2008

Când cautaţi ceva, sigur nu veţi găsi ceea ce cautaţi, dar precis veţi găsi altceva.

Zicala acesta este foarte adevărată. Zilele trecute căutam nişte proiecte mai vechi de care aveam nevoie, răscolind astfel toate DVD-urile cu arhive. Evident n-am at de ce căutam, însă am dat de un progrămel pentru Winamp făcut demult … prin anul I, mi se pare chiar in prima sesiune (ce face studentul în prima sa sesiune când are de învăţat la matematică … programe!)

Fiecare dintre dvs. care foloseşte Winamp are sigur o listă lungă de melodii. Programul mai sus menţionat le aranjează puţin altfel ;). Dacă sunteţi curioşi, îl puteţi descărca de pe acestă pagină.

Songs Menu