Web 2.0 între gratuit şi business

februarie 12, 2009

Probabil că mulţi dintre dvs. aţi observat de ceva vreme incoace că nu mai puteţi viziona o bună parte din filmele de pe YouTUBE … pentru că nu vă aflaţi în ţara care trebuie. Nu vă faceţi griji, nu contează dacaă sunteţi în România sau în Statele Unite, regula se valabilă pentru toată lumea.

Nu pot să văd filmul pentru că nu sunt de unde trebuie?

Pentru cei care nu sunteţi în temă, celebrul portal de filme a introdus posibilitatea filtrării vizionării filemlor în funcţie de ţară. Astfel, unele filme pot fi văzute doar din anumite părţi ale globului. Explicaţia YouTUBE este că oricine ar trebui să aibă dreptul să cum şi cui să fie distribuit materialul său … teoretic. Practic se pare că doar utilizatorii importanţi pot face astfel de modificări. Mai mult, se pare că pot selecta astfel de opţiuni şi pentru filme care au fost identificate de YouTUBE ca fiind ale lor [utilizatorilor importanţi] (filme evident încărcate de utilizatori de rând, unul dintre aceştia fiind şi organizaţia din care fac parte, IP Workshop).

O parte din declaraţia oficială [1] a YouTUBE este următoarea:

The Video Identification tool is the latest way YouTube offers copyright holders to easily identify and manage their content on YouTube. The tool creates ID files which are then run against user uploads and, if a match occurs, the copyright holders policy preferences are then applied to that video. Rights owners can choose to block, track or monetize their content.

De sublinat este faptul că YouTUBE se referă la materialul lor, adică al deţinătorului dreptului de autor. Vă reamintesc, nu există nici o opţiune de acest gen pentru conturile normale.

Evident că marea majoritate a lumii nu este de accord cu aşa ceva, în primul şi în primul rând pentru că nu pot vedea video clipuri. De fapt YouTUBE şi declară că este pentru a proteja drepturile de autor ale producătorilor. Este foarte clar că se referă aici la majoritatea caselor de discuri şi distribuitorilor.

Dreptul la liberă exprimare

Impresia mea este că nu este vorba doar de nişte drepturi de autor. Nu am înţeles niciodată de ce Google a cumpărat YouTUBE. Costul achiziţiei a fost foarte ridicat şi au avut mult procese din cauza drepturilor de autor. Şi foarte ciudat, nu sunt reclame pe pagina YouTUBE. Nimic, poate doar una două lângă cîteva filme. Evident nu cred că suficiente pentru a merita investiţia.

Unii au fost foarte încântaţi de mişcarea Google, care astfel devine un adevărat susţinător al Web 2.0 (în sesul libertăţii accesului la informaţie şi libertăţii de exprimare). De altfel Google şi declară că [2]:

A Guide to Net Neutrality for Google Users

„Net neutrality” is an issue that will shape the future of the Internet. Google has created this guide to net neutrality, which includes a brief overview of the subject, an update on where things stand in the U.S. policy debate, a set of actions you can take to protect the Internet, and the text of an open letter from our CEO, Eric Schmidt.

What is Net Neutrality?

Network neutrality is the principle that Internet users should be in control of what content they view and what applications they use on the Internet. The Internet has operated according to this neutrality principle since its earliest days. Indeed, it is this neutrality that has allowed many companies, including Google, to launch, grow, and innovate. Fundamentally, net neutrality is about equal access to the Internet. In our view, the broadband carriers should not be permitted to use their market power to discriminate against competing applications or content. Just as telephone companies are not permitted to tell consumers who they can call or what they can say, broadband carriers should not be allowed to use their market power to control activity online. Today, the neutrality of the Internet is at stake as the broadband carriers want Congress’s permission to determine what content gets to you first and fastest. Put simply, this would fundamentally alter the openness of the Internet.

Practic Google declară că suţine dreptul la liberă informare şi exprimare.

Mediul de distribuţie YouTUBE

Eu cred, şi este o părere strict personală, că limitarea accesului la anumite filme pentru anumite ţări este doar începutul. Google a urmărit să devină, prin Intermediul YouTUBE, mediul de distribuire al informaţiei video pe Internet. Fac aici analogia cu calea undelor. Platforma de distribuţie pentru televiziunea clasică sunt undele TV sau satelitul. Pentru a crea o televiziune sunt necesare fie drepturi de emisie în frecvenţele TV, drepturi de emisie via satelit sau drepturi de distribuţie prin cablu TV. Din acest motiv, nu oricine îţi poate distribui materialul video.

Eu sunt de părere că nu în foarte mult timp, nu oricine va putea să mai pună filme pe YouTUBE. Vor găsi din ce în ce mai multe motive să le dea jos. Dacă ne gândim bine, este foarte greu sa faci un film care să nu conţină nici un material cu copyright (un poster in fundal, o melodie care se aude câteva secunde, un nume pronunţat etc.). După cum suţine YouTUBE, dacă există orice parte pentru care copyright-ul este deţinut de un terţ, acest terţ poate modifica drepturile de vizionare ale filmului.

O să vă dau un exemplu care mie mi s-a părut foarte sugestiv … sper să fie corecte datele.

Jocurile Olimpice din 2008 de la Beijing au un canal pe YouTUBE [3]. Datorită faptului că NBC [4] avea drepturi de difuzare exclusive pentru Statele Unite, acest canal nu putea fi vizionat de către locuitorii din SUA. Practic, NBC, care nu are nici un fel de drepturi de autor asupra Jocurilor Olimpice (doar nu le organizează ei), au avut dreptul (probabil contra cost) să limiteze accesul la filmele publicate pe canal. Mai mult, dacă oricare utilizator care a filmat (legal, plătind probabil o taxă) ceva la Jocurile Olimpice, pune un film pe YouTUBE, acesta poate fi blocat pentru Statele Unite de către NBC (care nu deţine nici un fel de drepturi de autor asupra respectivului film).

Extrapolând, este foarte posibil ca orice ştire (clip filmat de persoane oarecare) să fie dat jos pentru că … nu trebuie să fie difuzat în anumite zone (pentru că probabil unii ar avea de pierdut).

Vă las pe dvs. să trageţi concluziile … totuşi nu pot să nu mă gândesc la ce spune Google despre libertatea Internet-ului şi a informaţiei.

Vizionare plăcută … sper să nu interzică vizionarea videoclipului în România (canalul nu se poate vedea, însă videoclipurile sunt disponibile pe pagina oficiala a câtăreţei), melodia este draguţă.

Amy MacDonald – Run

Legături

  1. Declaraţia YouTUBE, http://www.google.com/support/youtube/bin/answer.py?hl=en&answer=83766
  2. Google Network Neutrality, http://www.google.com/help/netneutrality.html
  3. Canalul YouTUBE al Jocurilor Olimpice din 2008 de la Beijing, http://www.youtube.com/user/beijing2008
  4. NBC, www.nbc.com
  5. Amy MacDonald, www.amymacdonald.co.uk

Ai media 5? Noi îţi dăm bilete de avion gratuite!

februarie 4, 2009

Cam aşa sună cea mai nouă reclama a firmei BlueAir. Nici nu ştiu de ce mă mai mir că avem studenţi cum avem? Se pare că în ziua de azi este mult mai profitabil să ai media 5 (ceea ce înseamnă că eşti un student eminent) decât să ai undeva peste 9 (şi să fi un tocilar). Cel puţin aşa stau lucrurile în viziunea manager-ilor (că dacă spun directori mi-e frică că mulţi n-ar înţelege la ce mă refer, doar facultatea se numeşte de management, nu de directori) companiei mai sus amintite. Să privim totuşi şi partea bună, pentru a beneficia de bilete pe acestă cale, studenţii trebuie să fie integralişti (5 pe line, nici mai mult, nici mai puţin).

Pentru a fi siguri că studenţii reuşesc să atingă performanţele necesare primirii unui zbor gratuit, compania aeriană publică pe pagina ei de Internet un ghid complet al studentului de nota 5.

Ghid pentru nota 5

Promotorii promoţiei sfătuiesc studenţii (citez):

10 pasi pentru a avea 5 pe linie.

1. Daca ai referate pe baza carora iti obtii nota ai grija, cand iti scrii lucrarea sa nu o faci perfecta: omite cateva note de subsol lucrarilor sau niste diacritice – asta iti asigura o scadere de 3 puncte. Alte cateva greseli mici, dar nu esentiale, sunt binevenite.

2. Daca nota se calculeaza pe baza prezentei si a contributiei la seminarii atunci nu raspunde la toate intrebarile de la discutii si stai linistit in banca ta!

3. 3 saptamani inainte de examene: Iesi in oras si bucura-te de vacanta de pre-sesiune.

4. 2 saptamani inainte: Incepe sa te uiti la un serial bun, cu mai mult de 2 sezoane filmate deja, care sa te tina in fata computerului pana in ajunul primului examen. Incearca niste Prison Break, Californication, Grey’s Anatomy, Dexter sau Weeds.

5. 1 saptamana inainte: afla programul examenelor. Tine minte: 5 pe linie, insa trebuie sa fii integralist, asa ca nu chiuli!

6. Suna un coleg care are toate cursurile cu fix 36 de ore inaintea examenului.

7. Deschide cursurile respective cu 3 ore inaintea examenului.

8. Mai joaca-te o ora World of Warcraft – ai timp….

9. Cu 2 ore inainte frunzareste cursul si ai grija sa faci un dus lung inainte de a porni la examen.

10. Calculeaza cu atentie punctajul: daca stii mai mult de 5 ai grija cum si cat scrii. 5-ul e totusi o arta.

Nici nu ştiu de ce mă mir că studenţii nu frecventează orele de laborator, că doar iau 5 dacă vin la şcoala cu frecvenţă redusă.

Gluma e glumă, dar am impresia că o grămadă de studenşi chiar vor încerca să obşină 5 pe linie. Deşi probabil compania aeriană s-a gândit să stimuleze studenţii restanţieri, cred că efectul va fi invers. Mulţi studenţi vor trage concluzia că e mai bine să înveţi mai puţin. E păcat, pentru că şi aşa calitatea învăţământului este în scădere.

Mă gândesc că o reacţie din partea Ministerului ar fi o idee bună, ce părere aveţi?

Linux … în Windows

ianuarie 28, 2009

coLinuxUltima temă de laborator destinată studenţilor mei de anul I a fost realizarea unui simplu mp3 player în Linux. Scopul era acomodarea cu programarea sub acest sistem de operare, fapt destul de util studenţilor în anii viitori. Cum instalarea unui sistem Linux complet este relativ dificilă (pentru anul I, problema partiţionării hard disk-ului fără urmări prea grave se pare că nu e aşa simplă …, deşi ultima versiune de Ubuntu se pare că rezolvă problema) , m-am hotărât să le pun la dispoziţie o maşină virtuală gata configurată.

Uşor de zis, greu de făcut. Am tot testat diverse soluţii, de la celebrul VMWare [3] până la noul şi micuţul Virtual Box [4] (ce mai nou se pare că este propietatea Sun Microsystems). Toate merg foarte bine, însă folosirea lor are două dezavantaje:

  • nu sunt foarte uşor de instalat (şi mai ales de configurat dacă au nevoie şi de o modalitate de partajare de fişiere cu sistemul gazdă)
  • consumă o cantitate semnificativă de resurse (sub 1 GB de memorie nu discutăm)

Cum virtualizarea nu a fost un succes, am ajuns la Cygwin [2]. Acesta din urmă reprezintă setul de biblioteci pe care se bazează Linux, însă compilate pentru Windows. Astfel, prin recompilare şi linkeditare cu Cygwin, programe de genu gcc, make, mc, bash etc. funcţionează sub Windows. Singura problemă este la cât de bine rulează acestea. Merg lent şi sunt, de multe ori, relativ complicat de folosit. Mai mult, nu simulează prea bine un mediu Linux (nu sunt console, nu merg toate comenzile, nu există kernel etc.).

coLinux

Tot căutând pe Internet variante de virtualizare pentru Linux, am găsit o distribuţie de Linux care … merge sub Windows. Cooperative Linux [1], sau pe scurt coLinux, este un proiect care şi-a propus portarea kernel-ului de Linux astfel încât acesta să ruleze cot la cot cu Windows. Practic ei au obţinut un sistem Linux ce rulează în paralel cu Windows.

Kernel

Sună foarte ciudat … un sistem Linux ce rulează în paralel cu Windows. Deci practic … avem doua sisteme de operare ce rulează pe un singur calculator? Ei bine, cam aşa ceva. CoLinux aduce nişte schimbări majore în kernel, modificând modul în care sunt accesate perifericele, cum sunt tratate întreruperile etc. În loc să folosească direct hardware-ul calculatorului gazdă, coLinux instalează în sistem un driver numit linux.sys şi un program numit colinux-daemon.exe.

Linux.sys se ocupă de toată procesarea ce trebuie făcută de către kernel cu drepturi suplimentare faţă de modul utilizator (alocări de memorie, accesul la periferice, schimbări de context etc.). Pentru a nu avea probleme de acces concurent, acest driver foloseşte sistemele de intrare şi ieşire puse la dispoziţie de către Windows. Practic, toate intrările şi ieşirile programelor din Linux sunt retrimise către kernel-ul de Windows. Pe lângă driver, coLinux mai vine cu un program numit colinux-daemon.exe. Toate programele ce rulează sub Linux vor fi văzute de către Windows ca fiind procesul colinux-daemon.exe.

Astfel, din punctul de vedere al Windows, Linux-ul este văzut ca un driver suplimentar şi un proces în plus.

Hard Disk

Hard disk-ul folosit de către coLinux este în esenţă un fişier ce conţine o partiţie. Autorii coLinux ne pun la dispoziţie mai multe distribuţii ce au fost deja instalate. Astfel, tot ceea ce a trebuie utilizatorul să facă este să descarce de pe pagina lor de Internet fişierul cu Debian (sau altă distribuţie), şi au deja un coLinux perfect funcţional.

Fişierele din Windows

Folosirea fişierelor din Windows în coLinux este mult mai uşoară decât m-am aşteptat. CoLinux suportă un sistem de fişiere numit CoFS. Acesta face legătura dintre un director din Windows şi un dispozitiv virtual din coLinux. Scrierea şi citirea acestui sistem de fişiere se face prin utilizarea funcţiilor Windows de bibliotecă (adică CreateFile, WriteFile, ReadFile etc.). Astfel nu se pune problema scrierii concurente pe aceeaşi partiţie. Windows se ocupă de scrierea şi citirea lor, din punctul lui de vedere fiind cereri trimise de către programul colinux-daemon.exe.

Ideea mi se pare foarte bună, deoarece nu există riscul pierderii de date de pe partiţie. Nu se pune problema unor greşeli (bug-uri) în sistemul CoFS astfel încât structure sistemului de fişiere să fie afectată (cum se întâmpla în cazul driver-ului experimental de NTFS … cei care au folosit Linux acum câţiva ani ştiu foarte bine).

Reţea

Cum conectarea la Internet este esenţială, coLinux nu putea să nu suporte aşa ceva. Există mai multe variante prin care coLinux poate fi conectat la reţea.

Prima variantă este cea mai simplă. CoLinux are integrat un sistem de conectare în reţea cu sistemul gazdă. Astfel, sistemul coLinux va avea adresa de IP 10.0.2.15 iar sistemul gazdă este văzut cu adresa 10.0.2.2. Legătura de reţea este mascaradată (DNAT), deci sistemul coLinux este conectat la Internet dacă şi Windows este conectat. Un dezavantaj al acestui tip de legătură este viteza mică de transfer.

A doua variantă de conectare la reţea este folosind druiver-ul TunTAP. Din ce scrie pe pagina coLinux se pare că acest driver merge foarte bine în Windows 2000 şi XP, însă sub Vista mai dă ecrane albastre. N-am încercat decât sub XP, unde mi-a mers foarte bine.

Configurarea este foarte uşoară, driver-ul TunTAP instalându-se odată cu coLinux.

Sunet

Partea de sunet a fost un pic mai complicată. Din moment ce coLinux nu are acces direct la dispozitivele hardware (ci prin driver-ele Windows), placa de sunet nu poate fi accesata direct de catre kernel. Soluţia vine însă prin folosirea unui server audio. Poate că ştiţi, sistemul de sunet din Linux permite folosirea unei plăci de sunet … pe reţea. În loc să fie trimise direct plăcii de sunet, datele audio sunt trimise prin intermediul reţelei unui server audio aflat la distanţa, acesta la rândul său trimiţându-le plăcii de sunet de pe calculatorul pe care rulează. Cele mai cunoscute exemple sunt ESD (care în general e folosit local) sau plugin-uri de ALSA.

CoLinux foloseşte acestă posibilitate şi trimite prin intermediul legăturii de reţea sistemului Windows datele audio. Singura condiţie este ca în Windows utilizatorul să ruleze un server audio. Cele propuse de coLinux sunt ESD pentru Cygwin sau PulseAudio [5] (nici măcar nu trebuie instalat, se copiază pur şi simplu câteva executabile şi nişte biblioteci).

Interfaţa Grafică

X Window System (fie XFree86 sau Xorg) este efectiv conceput sub forma unui server (nu degeaba se numesc XFree86 sau Xorg servers). Astfel, fie că funcţionează pe calculatorul local sau la distanţă, ele primesc comenzi de la programele ce au nevoie de desenare (Window Manager, biblioteciile de interfaţă – GTK, Qt etc.) prin intermediul interfeţei de reţea.

Din fericire, există câteva implementări ale X Windows System pentru Windows (de exemplu Xming [6]). CoLinux foloseşte un server X instalat pe sistemul Windows gazdă şi trimite acestuia comenzile de desenare. Practic programele ce rulează sub coLinux procesează toate informaţiile (ce ferestre trebuie, unde trebuie etc.) şi trimit rezultatul (sub formă de comenzi de desenare) prin reţea sistemului Windows care îl afişează.

Să vedem ce ştie

După ce am descărcat coLinux, m-am pus imediat pe treabă. A trebuit să fac câteva configurări, am instalat serverul de sunet şi serverul grafic şi am pronit kernel-ul. Pentru teste, am folosit imaginea de hard disk pentru Debian.

În primul rând am testat consola. Într-un terminal de Windows am avut un Linux perfect funcţional. Puteam da ALT+F1 … ALT+F6 şi schimbam terminalele virtuale. După ce m-am jucat puţin cu el, m-am apucat de instalat şi rulat programe.

Consola CoLinux

În primul rând mi-am instalat Midnight Commander [9]. Merge perfect. După montarea unui director din Windows, practic îmi vedem fişiere din Windows în Linux … în timp ce le puteam vedea perfect şi în Windows Explorer.

mc sub coLinux

Următorul pas a fost testarea server-ului de sunet. Am instalat MPlayer [11] şi am rulat un fişier mp3. Am mers fără probleme. Ok … era timpul să vedem dacă merg şi filmele. Ei bine, pe conexiunea de reţea implicită nu prea merge, se pare că e prea lentă. Soluţia … configurarea driver-ului TunTAP. Interfaţa de reţea simulată de către acesta este mai rapidă, deci am putut vedea foarte bine filme (evident, prin folosirea ieşirii video x11 sau sdl, xvideo foloseşte memorie partajată între MPlayer şi Xorg, ceea ce folosind un server la distanţă evident nu merge).

MPlayer folosind coLinux

XMMS [10] merge foarte bine, însă mai sunt probleme la interfaţa grafică, se pare că Xming (serverul Xorg pentru Windows folosit de mine) mai are nişte probleme.

XMMS folosind coLinux

VLC [7] merge şi el binişor, însă mai sacadează din când în când.

VLC folosind coLinux

Ultimul program pe care l-am testat a fost GIMP [8].

GIMP folosind coLinux

Probleme

După cum precizează şi autorii coLinux, mai există încă probleme legate de funcţionarea corectă a coLinux. Sunt programe care nu merg perfect sub acest sistem (incă). Recomandarea lor este ca deocamdată să nu se folosească în producţie.

Deoarece rulează efectiv în paralel, orice problemă de kernel din Linux poate afecta serios şi Windows (şi invers).

Windows şi Linux

Recunosc că am fost uimit de ce am testat. Mi se pare foarte util să ai două sisteme de operare ce rulează în paralel. Cu un pic de îmbunătăţiri, mai ales la partea server-ului Xorg pentru Windows şi cu adăugarea facilităţii partajării memoriei între programele din Windows şi cele din coLinux, se pare că Windows şi Linux vor convieţui foarte bine. Nu va mai conta pentru ce sistem este scris un anumit program.

Folosind coLinux, utilizatorii vor putea beneficia de toate avantajele programelor indiferent dacă sunt scrise pentru Windows sau Linux.

Legături utile

  1. coLinux, www.colinux.org
  2. Gygwin, www.cygwin.com
  3. VMWare, www.vmware.com
  4. Virtual Box, www.virtualbox.org
  5. PulseAudio, www.pulseaudio.org
  6. Xming, http://sourceforge.net/projects/xming
  7. VLC media player, http://www.videolan.org/vlc/
  8. GIMP, www.gimp.org
  9. Midnight Commander, www.midnight-commander.org
  10. XMMS, www.xmms.org
  11. MPlayer, www.mplayerhq.hu

Nu am cu cine ;)

ianuarie 27, 2009

Se apropie preselecţia melodiei ce va reprezenta România la Eurovision 2009. Butonând televizorul am auzit una din melodiile candidate. Versurile sunt foarte simpatice … si, într-o oarecare măsură, adevărate.

Urmăriti cu atenţie mişcarea şcenică… am râs foarte bine cand am vazut videoclipul.

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

Copii talentaţi

mai 4, 2008

Zilele trecute mi-a trimis cineva acest film de pe YouTube. Uneori copii sunt mult mai buni decât adulţii.

Şcoala de vară IP Workshop

aprilie 30, 2008

LASFA în colaborare cu Grupul Şcolar Electromureş organizeză in perioada 20 august – 2 septembrie 2008 a doua ediţie a şcolii de vară IP Workshop. Evenimentul va fi găzduit de către Grupul Şcolar Eletromureş din Tîrgu Mures, Acţiunea se desfăsoară în cadrul Grupului Şcolar „Electromureş”.

Scoala de vara IP Workshop presupune două săptămâni cu program educativ şi interactiv, o ocazie de a combina plăcut învăţatul cu distracţia.

Printre cursurile pe care vi le-am pregatit anul acesta sunt:

  • Programare Web
  • Web Design
  • Proiectare de programe
  • Introducere in Flex 3
  • Retele de calculatoare
  • Matematică aplicată

Aceste cursuri vor fi ţinute de sţudenti ai Universităţii „Politehnica” din Bucureşti şi de către reprezentanţi ai firmelor participante.

Pe langa cursuri va mai asteapta si diverse activitati recreeative (jocuri de echipa si excursii).
Înscrierile se fac incepand cu data de 10 mai pâna in data de 10 iulie 2008.

Pot participa elevi ai claselor IX-XII, studenţi şi profesori.

Soluţii Enterprise

aprilie 9, 2008

Cu câteva zile în urmă am citit un comentariu la adresa articolului despre Web 2.0. După ce i-am răspuns autorului, m-am gândit că ar fi bine să public acest comentariu împreună cu răspunul meu, pentru că este mai aparte. Iată ce scrie Lucian:

Dragul meu, ar fi cazul sa te informezi mai mult in ceea ce priveste Web 2.0. Daca cu atat ai ramas in cap de la simpozionul domnului Buraga (daca nu ma insel el a fost cel care sa ocupat cu asta) inseamna ca ai mici probleme de atentiea.
Ca mici directii pe care sa le urmezi ca sa dai jos praful de pe Web 2.0 ar fi:
-Social Networking
-Social Bookmarking
-Social software
-Semantic web
-clustering (user, preferinte, )
-Servicii web
– SEO
Si multe alte lucruri care sunt necesare pentru a incepe sa intelegi despre ce este vorba cand spui de Web 2.0
A si referitor la saracul php…. este printre cele mai comode,fiabile si sigure metode de scriptare. Asta daca nu cumva vrei sa iti expui talentul lucrand cu chestii scarboase precum Python sau XSLT care sunt axate pe programare functionala, Sau tu ai dori sa incerci sa creezi aplicatii frumoase .Net ASP sau JSP, care au bug-uri din nastere
Parerea mea este ca inca esti incepator in ceea ce priveste programarea , si habar nu ai sa faci distinctia intre evolutia paradigmelor de programare si evolutia limbajelor de programare.
O zi buna.

Iată şi răspunsul meu:

Eu vreau să sper că am fost destul de atent la November Web 2005, mai mult, am ridicat acestă problemă şi acolo.

După cum am spus şi in comentariu anterior, sunt de accord ca find o evoluţie a Web-ului crearea de conţinut de către utilizatori. Aici cred că intră foarte bine „Social Networking”, „Social Bookmarking” etc. Dacă prin „Social Software” te referi la comunicaţiile electronice, atunci da, intră şi ele în acestă categorie.

Dupa cum s-a precizat chiar în deschiderea November Web 2005 de către şeful catedrei de informatică de la Universitatea Al. Ioan Cuza [îmi cer scuze, nu îmi aduc aminte numele dânsului], Web-ul Semantic ar fi următorul pas (următoarea versiune) dupa Web 2.0. Sincer, sunt şceptic de reuşita lui, eu nu consider că un calculator este capabil să „gândească”. Timpul ne va spune dacă am dreptate sau nu.

În ceea ce priveste „clustering”, din câte ştiu eu asta este legat de sisteme distribuite, sisteme care se folosesc de vreo … 20 de ani. Nu vad legătura cu Web-ul 2.0.

SEO, adică Search Engine Optimization, este şmecheria managerilor (nu pot s-o numesc altfel) de a „păcăli” motoarele de căutareîin a arăta pagina lor cât mai sus. După cum ziceam, directorii de marketing s-au prins că pot face bani de pe urma Web-ului.

Nu te pot contrazice, PHP este destul de comod (asta daca te limitezi la proiecte mici, altfel … incepe sa fie mai greu). Din păcate, nu este nici fiabil si nici sigur. Vei găsi liniştit un „PHP injector” foarte uşor pe Internet. Mai mult, multe dintre firmele care oferă găzduire bazată pe PHP au o versiune de PHP compilată prin 2004. Nu prea e bine. Dupa părerea mea, PHP-ul ar trebui să rămână la scopul său iniţial, adică Personal Home Page [script].

XSLT din câte ştiu eu este o metoda de translatare de cod, fie el de program sau informaţii utile (fişiere xml in general), nu un limbaj de programare. Mai mult, metoda XSLT se poate folosi din aproape orice limbaj de programare.

Python este un limbaj imperativ, exact ca şi Pascal, C, Java sau PHP. Limbajele funcţionale sunt Scheme, CaML, Huskell, JavaScript (nu Java) etc. Bănuiesc insă că tu te referi la limbaje procedurale, adică limbajele imperative. Limbajele functionale lucreaza cu funcţionali, adică in general primesc şi mai ales întorc parametrii care sunt funcţii. Poti să consideri că este oarecum similar cu „delegaţii” din C#.

În ceea ce priveşte ASP.NET (adică C# sau VB.NET) şi JSP (cred eu că te referi şi la Servet-uri), acestea sunt metode mult mai bune. În primul rând sunt mult mai sigure, fiind limbaje compilate (ceea ce înseamnă verificarea completă sintactică – erori de sintaxata -, şi mai ales semantică – erori de sens, adică de exemplu variabile care sunt folosite fără a fi declarate – şi, spre deosebire de mai vechile compilatoare, protecţie împotriva „buffer overflow”-urilor). E destul de greu să dai jos masina virtuală java sau sa „strici” clasele .NET. Din punctul meu de vedere insă, şi limbajul Pascal este mai bun decat PHP, insă trebuie scrise câteva biblioteci în plus. Am încercat şi merge foarte bine.

Este adevarat că paradigmele de programare au evoluat, dar din păcate au evoluat în mare parte către ideea „este mai ieftin să cumpărăm hardware bun, decât să angajăm programatori pricepuţi”. Andrew Tannenbaum afirmă in cartea „Sisteme de operare moderne” că „Mai demult [anii ’80, ’90] lumea ştia să realizeze programe mici şi eficiente, insă odată cu evoluţia hardware-ului, acest obicei s-a pierdut”. Nu pot să nu-i dau dreptate, o să te rog să te uiţi la Windows Vista, este de câteva ori mai mare decât predecesorul său, merge mult mai încet, însa realizează aceelaşi lucruri ca şi Windows XP. Este un exemplu foarte bun.

Nu pot să spun că sunt prea fericit cu direcţia în care se pare că se îndreaptă lumea software. Ceea ce afirmă Andrew Tannenbaum este foarte adevărat, nu mai ştim să facem programe mici şi eficiente. Toată lumea realizează soluţii enterprise, programe integrate, imense care fac tot ce se poate. Aceste programe sunt promovate cu slogane de genul foloseşte tehnologia Java de ultimă oră sau tehnologia AJAX integrată etc.

Să luăm ca exemplu programele pentru telefoane mobile. Eu am un Nokia E70 (am ataşat o poză, pentru a fi mai sugestiv despre ce e vorba). Acesta rulează Symbian 9,1, sistem de operare modern pentru telefoane mobile. La cei 200 de Mhz pe care îi are procesorul meu împreună cu cei 64 de MB de RAM (adică dublu faţă de calculatorul Pentium pe care l-am avut eu, care insă avea doar 16 MB de RAM), nu este în stare să redea un fişier mp3 în timp ce navighez pe Internet. Îmi aduc aminte însă că sub Windows 95, pe calculatorul meu Pentium, mă jucam liniştit în timp ce ascultam muzică şi aveam câteva pagini de Internet afişate.

nokia e70

Vă puteţi imagina cât de bună este acesta soluţie integrată de telefon, cât de eficient au fost scrise programele.

De ce e aşa? Foarte simplu, programatorii buni sunt puţini şi scumpi. S-a ajuns la dezvoltarea unor limbaje de programare (în general numite limbaje de scripting) care sunt foarte simple, adică oricine poate face un program. Dezavantajul este însă eficienţa. Puteţi fi siguri însă că la baza sistemelor de operare (nucleu şi driver-e) sau a limbajelor de nivel foarte înalt (cele cu paradigme de programare moderne) stau tot limbajele clasice şi metodele conveţionale de programare. Dar aşa … sunt puţini programatori care trebuie plătiţi bine.

Este păcat că nu se mai găsesc programe mici şi eficiente. Căutând nişte documentaţie pentru MySQL, sistem de gestiune a bazelor de date simplu şi mic, am citit că a fost preluat de către Sun Microsystems. Cred că este doar o chestiune de timp până cei 25 de MB vor deveni cei 250 de MB de soluţie integrată MySQL. Va avea aceelaşi funcţii de bază, însă va fi de câteva ori mai mare. Ne mai rămân (până vor fi şi acestea achiziţionate) PostGreSQL şi SQLite.

Îmi aduc aminte de un moment din anul I de facultate. Eram la primele cursuri de programare, şi eram foarte supărat că învăţăm Java. Nu este un limbaj prea eficient din punct de vedere al vitezei şi nici nu poate fi folosit prea bine în programare de bază. Profesoara de la curs, doamna Adela BUZULOIU, o persoană deosebită, mi-a răspuns foarte calm: „Uită-te în sală [erau peste 100 de oameni], câţi de aici crezi tu că vor ajunge să facă compilatoare sau driver-e? Majoritatea vor ajunge să programeze în companii mari după nişte tipare bine stabilite.” A avut dreptate.

Programarea ajunge să fie tehnoredactare … de cod.

Dedicaţie pentru NATO

martie 30, 2008

NATOSăptămâna acesta se va desfăşura la Bucureşti summit-ul NATO. Următorul film este dedicat tuturor participanţilorla aceasta reuniune. M-aş bucura dacă conducerea NATO ar încerca realizeze măcar o parte din ce sugerează acest videoclip.

Până la urmă NATO este (cel puţin în acte) o organizaţie care are ca scop menţinerea păcii.

Web 2.0 … sau nu?

martie 27, 2008

Citeam săptămâna trecută un blog al unei perosane din domeniul IT şi am rămas şocat când am dat peste o frază de genul  Ca „profesie de bază” sunt programator PHP… Nu o să pot niciodată înţelege cum o persoană care are studii superioare în domeniul informaticii şi al calculatoarelor poate afirma aşa ceva. Dacă acesta este rezultatul după patru sau cinci ani de facultate, e foarte trist, deoarece facultatea nu scoate programatori. Nu ştiu dacă este cazul persoanei citate anterior (pentru că nu o cunosc), dar din păcate din ce în ce mai multe persoane consideră că facultatea nu este bună de nimic, şi în consecinţă, ajung să rămână la stadiul de progarmator PHP.

Se pare că sunt împotriva PHP-ului. Nu, dimpotrivă. Ceea ce însă mă deranjează pe mine este că toată lumea ştie să meşterească un site (programatori PHP „adevăraţi”), dar prea puţină lume ştie ce se ascunde în spatele simplului limbaj de programare şi a Web-ului în general. De aici ajungem la subiectul la Web 2.0. Uau! Marea descoperire a ultimilor ani. Aplicaţii Web, Servicii Web, Ajax, CSS, XML sunt numai câteva din noile tehnologii descoperite de draguţii noştrii programatori web. Ei bine, toate acestea existau de cel puţin 10 ani. Nu e nici un fel de tehnologie noua, nici un fel de descoperire fantastică.

Web 2.0… Am participat în 2005 la Iaşi la un seminar despre tehnologii web, September Web 2005. Scopul mai mult sau mai puţin declarat al seminarului a fost descrierea Web 2.0. Definiţia pe care am dedus-o în urma simpozionului suna cam aşa: Web 2.0 este folosirea Internetului pentru comunicare, informare şi prelucare de date. Adică, mai nou Internet-ul este folosit pentru chat, mesaje instant, email, prelucrare de documente pe Internet şi alte servicii, şi nu numai pentru vizualizarea paginilor HTML. Nu-mi venea sa cred ce aud.

Chat – Internet Relay Chat, protocol pus la punct în 1988 în Finlanda, menit să înlocuiască un protocol mai vechi. Eu foloseam mIRC, un program client IRC, în 1998.

Email – Poşta electronică, a fost unul din cele mai vechi servicii oferite de prima reţea între facultăţi, Internetworking (de unde astăzi termenul de Internet) , pus la punct în anii 70. A ajuns să poată fi accesat prin intermediul paginilor Web în 1998 când Yahoo! a lansat serviciul său public de poştă electronică.

Mesaje InstantTalk este un serviciu UNIX care din anii 80 oferea deja posibilitatea transmiterii mesajelor scurte între utilizatorii unuia sau mai multor sisteme. AOL Messenger, lansat de către America On-Line în 1998, era menit să uşureze comunicarea directă între doua persoane (talk fiind doar pentru sisteme similare UNIX, în principiu). Variante similare de servicii au fost implementate ulterior de Microsoft prin MSN Messenger în 1999 şi Yahoo!.

Procesarea documentelor pe Internet – ideea aparţine Microsoft care în 1998 afirma că are de gând să pună la dispoziţia utilizatorilor diferite funcţii de prelucrare a documentelor Office prin intermediul Internet-ului. Se pare că atunci, infrastructura Internet-ului nu era suficient de bine dezvoltată, în alte cuvinte, accesul la Internet era încă limitat. După cum se poate vedea, Google nu au fost primii cu acestă idee.

Partajarea fişierelor – File Transfer Protocol, sau FTP, a fost proiectat în anii 70 pentru transferarea de fişiere între calculatoare. O extindere cunoscută a fost Napster, primul program considerat peer to peer, care în 1999 permitea partajarea fişierelor şi, spre deosebire de FTP, căutarea lor între utilizatorii programului. Ulterior au apărut diverse clone, unele legale altele nu, cum ar fi Morpheus, LimeWire, Kazaa, NMDC (DC++, ADC mai nou), BitTorrent  etc.

Servicii Web – adică funcţii puse la dispoziţie de diverse servere programatorilor. În esenţă, sunt nişte pagini de Internet normale, care se bazează pe acelaşi protocol (HTTP), doar că rezultatul este în format XML şi este interpretat de o funcţie, şi nu de un program de navigare. Nimic nou. Mult mult, acestă variantă de Remote Procedure Call (RPC) nu este prea eficientă, fiind interschimbate foarte multe date redundante între server şi client (din cauza modului de funcţionare al protocolui HTTP).

Mai sunt şi alte exemple de acest gen, dar cred că acestea sunt suficiente. Aşadar, toate serviciile noi ale Web 2.0 sunt de fapt doar nişte interfeţe utilizator, menite să uşureze accesul utilizatorilor. Nu sunt tehnologii noi. Singurul serviciu care iese puţin din acest tipar este BitTorrent. Spre deosebire de implementarile clasice ale partajării de fişiere, acesta este implementat distribuit. Toate serviciile noi sunt însă din anii 90, deci nu sunt prea noi.

În ceea ce priveşte tehnologiile noi, este incredibil cât a stagnat lumea soft-ului. Avem tehnologii ca AJAX, CSS, XHTML, XML, MySQL. Tehnologii noi nouţe… Da? Nu chiar…

AJAXAsynchronous Javascript And XML, este o facilitate JavaScript prin care este posibilă comunicarea cu serverul, fără a fi necesară reîmprospătarea paginii (refresh). Facilitatea a fost implementată pentru prima dată în Internet Explorer 4 şi Netscape Navigator 4. Ce-i drept, sub alt nume, mai puţin comercial. Nimeni nu ştia la ce s-o folosească. Vorbim aici de anii 1997, 1998.

XHTML – Extended HTML, pur şi simplu o extensie relativ inutilă a limbajului HTML 4.1. De ce să fie standard HTML, când poate fi XML. Extrem de multe probleme provin de aici. Au fost introduse multe idei din formatul XML, idei de genu orice marcaj deschis trebuie şi închis (<br> devine <br/>, deoarece <br> … </br> nu avea sens). Oricum, HTML există din 1990, iar XHTML nu aduce aproape nici un marcaj nou.

CSS – Modele de stiluri. Erau definite deja în HTML 4, adică în 1996. În bună parte, singurele marcaje (instrucţiuni) portabile sunt cele care există de mai bine de zece ani.

XML – Limbajul de marcaje extensibil propus pentru a fi folosit în scopul interschimbării de date de către Microsoft (ei au fost primii care au realizat că poate fi folosit foarte bine pentru interconectarea diverselor programe) la mijlocul anilor 90, atunci criticat de mulţi.

MySQL – sistem de gestiune a bazelor de date, existent de peste zece ani. MySQL este relativ nou, comparat cu Oracle (peste 20 de ani), FoxPro (peste 20 de ani) sau IBM DB 2 (cel mai vechi sistem, peste 30 de ani). Limbajul Sequel (SQL) este mai vechi decât DB 2.

După cum vedeţi, toate sunt tehnologii noi. Toate exista de cel puţin zece ani, şi se bazează pe tehnologii existente anterior. Nimic nou …

Este incredibil cât de puţine ştiu despre uneltele cu care lucrează programatorii PHP. Am auzit nu demult pe cineva zicând eu lucrez doar Web 2.o, adică XHTML, CSS, AJAX … nu mai fac site-uri simple. E trist …

Tot în acest sens, am fost la un curs de programare Web. Am auzit o afirmaţie şocantă: până la XML, sistemele de baze de date nu stocau bine datele, deoarece, în cazul schimbării sistemului de gestiune a bazei de date, datele nu puteau fi recuperate (fiind stocate binar). Confuzie mare! XML este un format foarte bun pentru interschimbare de date (import / export de date) , dar nu este deloc potrivit pentru stocare. Nici un sistem de baze de date NU va stoca informaţiile în XML. Va şti însă să le exporte sau să le importe în acest format.

Din păcate, se pare că industria programării este în regres. Deşi în domeniul dispozitivelor electronice se inovează în fiecare zi, programele se pare ca iau doar altă formă, dar râmân bazate pe aceleaşi idei vechi.

După cum afirma un prieten, Web 2.0 este momentul în care managerii şi-au dat seama că pot câştiga bani de pe urma Internet-ului.