Quotes for the week 25-31 of January

Hehe, another week has passed, it is time for some more quotes to keep you inspired untill next week.
It is hard enough to remember my opinions, without also remembering my reasons for them!
Reading made Don Quixote a gentleman. Believing what he read made him mad.
I've stopped drinking, but only while I'm asleep.
Writing is the only profession where no one considers you ridiculous if you earn no money.
Language is the source of misunderstandings.
Hehe, a mai trecut o săptămână, este timpul pentru încă o porție de citate să vă țină inspirați până săptămâna viitoare.
Este destul de greu să țin minte propriile opinii fără să mai țin minte și motivele mele pentru respectivele opinii.
Cititul l-a făcut pe Don Quixote un gentleman. Credința în ceea ce a citit l-a transformat în nebun.
M-am lăsat de băut, dar doar atunci când dorm.
Scrisul este singura profesie în care nimeni nu te consideră ridicol dacă mai și câștigi bani.
Limba este sursa neînțelegerilor.
Hangar no. 5 (2008)
I've just finished watching Hangar No. 5 and I can say that I am really really proud that the special effects in this movie were done with the open source tool Blender. Of course, there are a few very small things I did not like (some of the barrels lacked enough texture and the hangar's position in the middle of nowhere). Everything else was great, the robot designs were super realistic and the movie has a very good feel, you care barely notice it's a small budget production. Enough talking, here's the movie on Vimeo:
Hangar No. 5 from Nathan Matsuda on Vimeo.Tocmai am terminat de văzut Hangarul numărul 5 și pot spune că sunt cu adevărat mândru că efectele speciale din acest film au fost făcute cu unealta open source Blender. Desigur, sunt și unele lucruri foarte mici care nu mi-au plăcut (unele dintre butoaie nu aveau destulă textură și poziționarea hangarului în mijlocul pustietății). În rest totul a fost perfect, designul roboților a fost super realistic și filmul dă un sentiment foarte bun, de abia se poate observa că este o producție cu buget mic. Destulă vorbă, aici este filmul de pe Vimeo:
Hangar No. 5 from Nathan Matsuda on Vimeo.
Quotes for the week 18-24 of Jan 2009
I spoke to Manea at school the other day and he told me that the quotes were the part of this blog that he liked the most so, Manea, here's another portion of quotes!
The artist doesn't have time to listen to the critics. The ones who want to be writers read the reviews, the ones who want to write don't have the time to read reviews.
If nobody spoke unless he had something to say, the human race would very soon lose the use of speech.
I don't have an English accent because this is what English sounds like when spoken properly.
James Carr
I passionately hate the idea of being with it, I think an artist has always to be out of step with his time.
Orson Welles
I once said cynically of a politician, 'He'll doublecross that bridge when he comes to it.'
Oscar Levant
Every journalist has a novel in him, which is an excellent place for it.
Russel Lynes
Never let your sense of morals get in the way of doing what's right.
Someday I want to be rich. Some people get so rich they lose all respect for humanity. That's how rich I want to be.
Rita Rudner
Truth is more of a stranger than fiction.
He who will not reason is a bigot; he who cannot is a fool; and he who dares not is a slave.
Sir William Drummond
Love is the triumph of imagination over intelligence.
H. L. Mencken
The wisdom of the wise, and the experience of ages, may be preserved by quotation.
Benjamin Disraeli
Vorbeam cu Manea la școală zilele trecute și mi-a spus că citatele sunt partea blogului care îi place cel mai mult, deci, Manea, uite încă o porție de citate!
Artistul nu are timp să asculte criticii. Cei care vor să fie scriitori citesc recenziile, cei care vor să scrie nu au timp să citească recenziile.
Dacă nimeni nu ar vorbi decât dacă ar avea ceva de spus, rasa umană și-ar pierde foarte repede capacitatea de a vorbi.
Nu am un accent englezesc pentru că așa sună limba engleză când este vorbită corect.
James Carr
I passionately hate the idea of being with it, I think an artist has always to be out of step with his time.
Orson Welles
I once said cynically of a politician, 'He'll doublecross that bridge when he comes to it.'
Oscar Levant
Every journalist has a novel in him, which is an excellent place for it.
Russel Lynes
Never let your sense of morals get in the way of doing what's right.
Vreau să fiu bogată într-o zi. Unii oameni devin așa de bogați încât își pierd respectul pentru umanitate. Așa de bogată vreau să fiu.
Rita Rudner
Adevărul este mai mult un străin decât o ficțiune.
He who will not reason is a bigot; he who cannot is a fool; and he who dares not is a slave.
Sir William Drummond
Iubirea este triumful imaginației asupra inteligenței.
H. L. Mencken
The wisdom of the wise, and the experience of ages, may be preserved by quotation.
Benjamin Disraeli
Cum să îți pui tastatură românească în Ubuntu
Acest tutorial este scris pentru versiunea 8.10 a Ubuntu Linux.
Suntem români și e normal să scriem cu caractere românești (ș, ț, ă, î, â). În tutorialul acesta o să-ți arăt cum să îți setezi corect tastatura în Ubuntu. Sistemul pe care l-am folosit ca să scriu tutorialul acesta este instalat cu interfața în limba engleză. O să precizez în paranteză denumirile în limba română ale butoanelor și ale opțiunilor.
1. Mergi la System->Preferences->Keyboard (Sistem->Preferințe->Tastatură)

2. După ce fereastra apare dă clic pe fila Layouts (Aspecte).

3. Odată ajuns pe fila Layouts (Aspecte) o să vezi toate aspectele de tastatură instalate configurate pe sistemul pe care ești. În cazul meu, nu este configurat decât aspectul pentru engleză - SUA. Clic pe butonul cu semnul plus ca să adaugi un aspect nou.

4. O să îți apară o fereastră cu două file corespunzătoare celor două moduri în care poți găsi aspectul pe care îl dorești: ori selectând țara, ori selectând limba. Cele două moduri nu diferă foarte mult. În cazul meu o să folosim selecția după țară. Selectează la Country (Țară) România și la Variants (Variante) valoarea Standard. Opțiunile tale ar trebui să fie ca și în imaginea de mai jos.
ATENȚIE: Aspectul standard pentru limba română este Standard și nu Standard (Cedilla). În Standard (Cedilla) literele ș și ț sunte făcute prin adăugarea unei sedile literei s, respectiv literei t. În limba română litera ș se formează prin adăugarea unei virgule sub litera s.

5. Clic pe butonul Add (Adaugă) și aspectul pentru limba română va fi adăugat listei de aspecte configurate pentru sistemul pe care lucrezi.
6. Acum că ai adăugat încă un aspect pentru tastatură hai să mai facem unele setări!
a . În partea din mijloc a ferestrei, acolo unde sunt afișate toate aspectele configurate, la capătul rândului poți defini care aspect să fie cel implicit (Default în limba engleză). Aspectul implicit este cel care va fi atribuit tastaturii la deschiderea calculatorului. Sau la deschiderea unei ferestre sau a unui program.
b. Sub secțiunea care afișează aspectele configurate poți vedea încă o opțiune folositoare. În Windows când setai un aspect de tastatură, setarea avea efect peste toate programele deschise sau care urmau să fie deschise. Ubuntu îți permite să ai aspecte diferite setate pentru programele pe care le ai deschise sau pe care le vei deschide. Dacă setarea Separate layout for each window (Aspecte separate pentru fiecare fereastră) este activată, atunci o să poți avea aspecte diferite activate pentru fiecare fereastră. Dacă noțiunea ți se pare prea confuză, dezactivează opțiunea.
ATENȚIE: Dacă dezactivezi opțiunea Separate layout for each window (Aspecte separate pentru fiecare fereastră) se dezactivează și opțiunea de selectare a limbii implicite, descrisă de punctul a. Cred că e vorba despre un bug care probabil se va rezolva în următoarea versiune de Ubuntu.
c. Poți alege și care combinație de taste să facă trecerea între aspectele (layouts) pe care le-ai selectat. Pentru a face această alegere dă clic pe butonul Other options (Alte opțiuni). Și din lista care apare selectează Layout Switching. Eu recomand combinația Alt-Shift care este aceeași ca și pe sistemele Windows, dar tu poți să îți alegi opțiunea care ți se pare ție cel mai convenabilă.
În partea de jos a ferestrei poți găsi un câmp în care să testezi aspectele (layouts) pe care le-ai configurat. Nu uita că spre deosebire de Windows, Ubuntu nu are o icoană care să-ți arate care aspect este activ la un moment dat sau pe o anumită fereastră.
VLC iPhone web interface update 06.01.2009
UPDATE: I've created a page for the project, you can check it out at http://manuelciosici.com/projects/vlciphone/.
I'm tired so this post won't be long. Here's a list of changes that reflect the work I've done lately on the VLC web interface for iPhone:
- it now has a icon to show as shortcut (se picture below);
- the interface can now interpret the answers from the AJAX requests. This is due to a modified version of some JavaScript functions the original web interface came with.
- it now has two horizontal scroll bars to indicate the level of volume and the file progress. Although these won't react to dragging (yet), they do update their status when levels are changed (they have some minor bugs).
- the interface launches fullscreen if the home screen icon is pressed;
- the interface makes us of the iPhone's cache to store most of it's files;
- the status updates once a second (i'll make this optional since it's eating quite a lot of power);
- I've modified the original web interface so that when the client uses an iPhone he is directed to the iPhone version.
If things continue to go this well, I'll launch a 0.1 version soon.

The interface's icon

The updated interface
I'm tired so this post won't be long. Here's a list of changes that reflect the work I've done lately on the VLC web interface for iPhone:
- it now has a icon to show as shortcut (se picture below);
- the interface can now interpret the answers from the AJAX requests. This is due to a modified version of some JavaScript functions the original web interface came with.
- it now has two horizontal scroll bars to indicate the level of volume and the file progress. Although these won't react to dragging (yet), they do update their status when levels are changed (they have some minor bugs).
- the interface launches fullscreen if the home screen icon is pressed;
- the interface makes us of the iPhone's cache to store most of it's files;
- the status updates once a second (i'll make this optional since it's eating quite a lot of power);
- I've modified the original web interface so that when the client uses an iPhone he is directed to the iPhone version.
If things continue to go this well, I'll launch a 0.1 version soon.

The interface's icon

The updated interface
15 semne ca să îți dai seama că a început școala
Am reușit să fac un sumar al observațiilor mele de azi, 5 ianuarie 2009, prima zi neagră din acest 2009.
1. Te trezește cineva cu 4 ore mai devreme decât te-ai trezi singur.
2. Imediat ce te ridici (robotic) din pat schimbi uniforma de vacanță (pijamaua) cu ceva haine normale.
3. Când te decizi ce să pui în geanta pe care o cari cu tine tot timpul, te trezești că fără un motiv aparent pui mai multe cărți ca de obicei.
4. Toată lumea din jurul tău îți urează la mulți ani, să ți se împlinească toate dorințele și pare fericită să te vadă, deși, jumătate din ei ți-ar dori mai probabil să cazi pe scări.
5. Deși ești treaz și vorbești, încă dormi.
6. Verifici ceasul de la telefon de 6 ori mai des decât de obicei.
7. Pentru tine ora fixă începe la fără zece.
8. Vezi adulți vorbind și gesticulând lângă o tablă neagră. Deși ești în viața reală totul se desfășoară pe mut.
9. Ai redescoperit fascinația desenelor rupestre. Tu le faci cu creionul/pixul pe banca din fața ta.
10. Pe la ora 10 ți se face foarte foarte somn.
11. Fără niciun motiv aparent schimbi sălile în care, în general, stai pentru intervale de o oră.
12. Ți-e frică când auzi clopoței. Te bucuri la fiecare al doilea clopoțel pe care îl auzi.
13. Ai vaga impresie că ar trebui să faci CEVA.
14. Pixul pare să aibă un gust foarte bun Începi să-l rozi.
15. Când se face seară ți-e frică să adormi pentru că dacă dormi urmează să te trezești și tot ciclul ăsta o ia de la început.
Daaaa..... pentru voi, cei care munciți pentru "ați crescut mari", de azi a început școala. S-a terminat vacanța de Crăciun, prăjitura, somnul și cam tot ceea ce e bun și frumos în viață. Acuma E ȘCOALĂ!
Ce este Linux? – partea a II-a
Aceasta este partea a II-a a postului Ce este Linux?.
O să îmi spui acum că tu nu îți schimbi singur farurile de la mașină și că dacă ai avea vreodată nevoie să îți schimbi ceva ai merge la un specialist și ai plăti cât trebuie și ai face toate formalitățile. Și poate că ai avea dreptate. Gândește-te că în lume există mulți oameni care nu se mulțumesc cu mașinile așa cum vin ele din fabrică și simt nevoia să le modifice după bunul lor plac. Așa e și cu programele.
Ai fost vreodată cu unul dintre trenulețele acelea rutiere care sunt puse la dispoziția turiștilor pentru a face tururi ale unor orașe? Trenulețele acelea sunt făcute din piese care la origine erau destinate unor mașini sau altor dispozitive. Dacă producătorul mașinii pe al cărei șasiu e construit trenulețul nu ar fi permis modificarea șasiului decât după semnarea unui acord scris și plata unor sume de bani, în mod sigur ai fi făcut un tur turistic pe jos. Ceea ce poate că nu ar fi fost așa ce rău cum pare.
Softul liber este distribuit întotdeauna împreună cu codul sursă. Distribuirea codului sursă permite oricui să modifice respectivul cod sursă și să îl compileze, rezultând un program "făcut la comandă". De câte ori nu ți-ai dorit ca programul tău preferat de ascultat muzică să aibă unele dintre facilitățile pe care le au unele dintre programele concurente? Dacă ambele programe ar fi libere, sau open source, s-ar putea foarte ușor include funcționalitatea pe care ți-o dorești în programul tău (nu zic că ai putea chiar tu, pentru asta e nevoie de cunoștințe de programare).
Posibilitatea asta de a lua un program și de a-l modifica conform propriilor dorințe a permis ca programele open source să fie foarte portabile (o să folosesc alternativ termenii open source și software liber ca să te obișnuiesc cu ambele variante). Să îți explic. Din cauza naturii sale deschise (open source) Linuxul a ajuns să fie instalat pe tot felul de dispozitive cum ar fi console de jocuri, routere, computere de bord din mașini, playere mp3 sau telefoane mobile. Portabilitatea aceasta aduce avantajul prețurilor mai mici. Până acum o companie producătoare de telefoane mobile trebuia să creeze un nou model de telefon mobil și apoi să țină și un departament întreg (și destul de consistent) de oameni care să scrie și să actualizeze soft-ul care funcționează pe respectivul telefon. Odată cu apariția unor soft-uri libere cum este Android (bazat pe linux), compania poate să mențină un departament mult mai mic care să se ocupe de softul respectivului telefon mobil. Departament mai mic = economii mai mari = preț mai mic al telefonului. Capisci?
Hai să mai studiem un caz. Hai să presupunem că fiecare dintre noi doi este conducătorul unei țări. Țările noastre sunt prietene și fac tot felul de schimburi comerciale între ele, inclusiv de programe. Sistemul de operare pe care țara ta îl folosește este dezvoltat de o firmă din țara mea și licențiat țării tale. Toate agențiile de stat din țara ta folosesc sistemul de operare dezvoltat de țara mea. Într-o zi noi doi ne certăm și de decidem să ne războim unul cu celălalt, așa că tu îți scoți marea ta armată la luptă. Dar toate computerele pe care se bazează armata ta rulează sistemul de operare dezvoltat de țara mea, iar eu am impus firmei care îl dezvoltă să includă în fiecare versiune a sistemului de operare un buton ascuns care odată acționat imobilizează calculatorul pe care rulează respectivul sistem de operare. Eu decid acționarea respectivului buton și dintr-o dată toată mașina ta de război se oprește în loc. De fapt toată țara ta se oprește în loc. Nu mai funcționează sistemul bancar, apărarea, sistemul medical sau educațional, telefoanele, internetul și tot ce ține de telecomunicații. Cu alte cuvinte, te-am trimis în evul mediu. Acum pot să vin liniștit și să ocup complet țara ta. De ce inginerii tăi nu și-au dat seama că există un buton ascuns în fiecare sistem de operare? Păi din cauză că nu au acces la codul sursă al sistemului de operare, acesta fiind un sistem de operare proprietar (sau closed source) și nu unul liber (sau open source).
Sunt sigur că nu ai dori o asemenea soartă țării tale, așa că ai încerca să dezvolți propriul tău sistem de operare closed source. Dar țara ta este mică și deci nu ai nici pe departe numărul de programatori pe care îi are țara mea, în consecință sistemul de operare pe care tu o să îl produci este mult mult mai slab decât al meu. Acum tu poți încerca să te aperi, dar cum eu am mai mulți programatori și sistemul tău de operare este mai slab decât al meu, nu va dura mult timp până când inginerii mei vor reuși să spargă sistemul tău de operare și ajungem din nou la cazul de mai sus.
Hai să încercăm să ne imaginăm situația asta cu un sistem de operare deschis, hai să alegem linuxul pentru exemplul acesta (există și alte sisteme de operare open source, principiul e același și pentru celelalte). Din cauză că tu ai acces la codul sursă al sistemului de operare poți să te asiguri (mai bine zis, țara ta poate să se asigure) că nu există niciun buton ascuns care îl imobilizează. Dar țara ta nu are foarte mulți programatori. Nicio problemă. Natura deschisă a Linuxului permite ca oameni din întreaga lume să poată să lucreze la dezvoltarea Linuxului. Și uite cum de la o puțini programatori care să lucreze pentru tine, ai ajuns la programatorii din întreaga lume. Sistemul tău de operare va fi la fel de bun, sau mai bun decât sistemul de operare al țării mele. Cu alte cuvinte, în cazul unui conflict ai avea aceleași șanse ca și mine de a-l câștiga.
Specializarea
Ușurința modificării unui sistem de operare liber ca și Linuxul permite oamenilor să creeze foarte multe variante ale Linuxului numite și distribuții. E foarte important să înțelegi ce termenul de distribuție ca să eviți să devii confuz în momentul în care te decizi să încerci să folosești Linux. Din cauza faptului că totul este liber, oamenii pot să aleagă cum vor ca Linuxul lor să arate, să funcționeze și ce filozofie să aibă. Ansamblul de programe, setări și idei se numește distribuție. Cu alte cuvinte dacă eu iau nucleul Linuxului, îi adaug o serie de programe alese după un criteriu pot să îmi creez propria distribuție de Linux. Deși există unele diferențe între distribuțiile de Linux, toate sunt bazate pe același nucleu de Linux și toate seamănă (destul de mult) între ele. Cu alte cuvinte, dacă înveți să folosești o distribuție de Linux nu o să ai nicio problemă să treci la o altă distribuție de Linux. Și totuși de ce să nu facem o singură distribuție bună pentru orice?
Într-o lume ideală, cu putere nelimitată a calculatorului și cu utilizatori atotștiutori o distribuție unică ar fi răspunsul potrivit. Dar noi nu trăim într-o lume ideală. Linuxul în general e construit pe ideea modularității, adică e format din module care pot fi folosite sau nu, demontate sau nu. Hai să încercăm un exemplu! Crezi că un telefon mobil ar avea nevoie de modulele care îi spun cum să folosească cea mai nouă placă video de la Nvidia? Evindet că nu, telefonul mobil nu are și nici nu o să aibă în curând respectiva placă video încorporată. Atunci de ce să conțină respectivele module? Adăugarea respectivelor module la distribuția de Linux de pe respectivul telefon mobil ar însemna consum mai mare de memorie, procesor și timp, pentru că sistemul de operare ar trebui să decidă dacă are nevoie de respectivul modul și să îl dezactivele de fiecare dată când folosești telefonul. ȘI operațiile acestea cer timp. Specializarea distribuțiilor ajută la îmbunătățirea vitezei calculatoarelor care rulează Linux. De asemenea micșorează necesitățile hardware ale respectivei distribuții.
Hai să mai încercăm un exemplu! Internetul e bazat pe servere care nu sunt altceva decât calculatoare specializate pe oferirea unui sau mai multor servicii. Prin servicii aici înțelegem găzduirea de siteuri, telefonie prin internet, email și multe altele. Numărul mare de utilizatori care folosesc respectivele servicii face ca, în medie, să fie foarte mare, aproape de 100%. Prezența interfeței grafice (partea unui sistem de operare care se ocupă cu crearea ferestrelor, crearea pointerului mouse-ului și a butoanelor) implică un efort de procesare din partea calculatorului. Să zicem că efortul este de aproximativ 10% din procesor (efortul real variază, dar pentru simplitatea exemplului am ales numărul acesta). Asta înseamnă că un server care găzduiește un site și teoretic poate susține 100 de vizitatori simultan (siteuri ca facebook.com au mii de vizitatori simultan), din cauza interfeței grafice, va susține doar 90 de vizitatori simultan. Astfel, ca să poți susține cei încă 10 vizitatori de care mai ai nevoie pentru a ajunge la 100, ar trebui ori să mai cumperi un server care să facă aceeași treabă, ori să îmbunătățești hardware serverul pe care îl ai acum. Oricare dintre variante necesită bani. În cazul unei firme cu multe servere și mulți utilizatori simultan, sumele de bani necesare devin foarte mari. Specializarea Linuxului permite ca un server care rulează Linux să nu aibă interfață grafică și deci să nu folosească cei 10% din procesor, în consecință susținând 100 de vizitori fără nicio investiție în plus. Nu te întreba cum arată Linuxul fără interfață grafică, o să ajungem și la aia mai încolo. Important pentru tine acum e să înțelegi conceptul de specializare al unei distribuții și de ce este atât de benefic.
VLC web interface for iPhone
UPDATE: I've created a page for the project, you can check it out at http://manuelciosici.com/projects/vlciphone/.
This is what I've been working on today. It's a web interface to control VLC media player from one's iPhone. It looks (and is) very rudimentary (lower buttons don't do anything yet), but it is far more usable than the default web interface VLC comes with. It is also more battery efficient since the AJAX requests are only made when the user pushes a button (it doesn't update any status so it doesn't need to make requests every second).
I will probably continue to work on it since I want to be able to provide more functions that the free VLC Remote App from AppStore. The webapp is based on webapp.net mini-framework. This interface also replaces the default one VLC comes with, but I'll deal with that tomorrow.
Time to test it now with a good movie.
This is what I'we been working on today. It's a web interface to control VLC media player from one's iPhone. It looks (and is) very rudimentary (lower buttons don't do anything yet), but it is far more usable than the default web interface VLC comes with. It is also more battery efficient since the AJAX requests are only made when the user pushes a button (it doesn't update any status so it doesn't need to make requests every second).
I will probably continue to work on it since I want to be able to provide more functions that the free VLC Remote App from AppStore. The webapp is based on webapp.net mini-framework. This interface also replaces the default one VLC comes with, but I'll deal with that tomorrow.
Time to test it now with a good movie.
What is Linux? – part I
I noticed that a lot of people come to this blog searching the answer to the question "What is Linux?". I was glancing over the romanian page of Wikipedia dedicated to this subject and the definition there doesn't seem appropriate, so I'm going to write this article and if it is going to be appreciated, I will move parts of it on Wikipedia, in the hope of making that article a little bit better. I am going to talk here about lots of concepts, tey are absolutely necessary for you to understand what Linux is, especially if you don't know anything about it. If you are already familiarised with some of the concepts you can safely skip the section that explains that certain concept.
What is Linux?
Linux is an operating system similar to UNIX, open source and which can run on a wide variety of machines. When I say machines, I mean computers, routers, embedded systems and others. We'll begin by seeing what is an operating system.
What is an operating system?
Any computer, no matter how advanced, isn't worth a frosty onion without software. There is a very good reason why a computer is called just that, a computer. The only thing a computer knows how to do is compute. But, in order to be really useful, a computer must have a something to tell him what to compute. That something is the software, or program, The operating system is a software that ensures the link between the programs that run on a computer and the computer itself. Why do we need an operating system?
For a program to function correctly, it must know the computer it runs on. Everything sounds nice up until now, to drive a car you must know how it works. Meaning that you must know that a car can go forward or reverse, that by modifying the position of the front wheels you can make the car steer left or right, that you can accelerate or brake, how much of these you can do and so on. But how could we drive a car if we didn't have a steering wheel, pedals or the stick used to change gears? Well, we'd learn how to drive our own car after a series of trials and errors. We could go to the supermarket by giving direct command to the front wheels, by separately giving command to all the brakes, by using the engine directly to accelerate and so on. But what would happen if we bought a new car?
Because of the differences between the old car and the new car we would have to learn everything from scratch. Obviously this is not what we want. In the cast of the car, the steering wheel, the three pedals and the gear shifter help in standardising the car driving process. To make the car go faster we press the acceleration pedal. We don't care if the engine has 6 or 8 cilinders, if it's electric or on gas, what company has built it or what model it is. In the computer world the equivalent of the steering wheel, pedals and gear shifter would is called abstractisation. A operating system is an abstraction layer between the programs and the rest of the computer. Ca și în cazul mașinilor, calculatorarele diferă la nivelul componentelor care le alcătuiesc (procesor, harddiscuri, plăci grafice, plăci de sunet,...). Sistemul de operare se ocupă de administrarea tuturor acestor componente, de administrarea memoriei și a conexiunilor calculatorului (în cazul conexiunilor la o rețea, cum e Internetul), de oferirea unor posibilități programelor (cum ar fi salvarea și citirea fișierelor sau crearea de ferestre) și multe altele.
Cu alte cuvinte sistemul de operare este foarte important pentru funcționarea unui calculator. De asemenea, din cauza diferențelor dintre sistemele de operare, existența unui sistem de operare pe un calculator poate determina existența unor programe pe respectivul calculator. Programele sunt dependente de sistemul de operare pentru care au fost concepute. De exemplu, nu poți pune pe un PlayStation jocurile create pentru Nintendo Wii.
Unde găsesc sisteme de operare și cum se numesc?
Cel mai simplu exemplu sunt calculatorul de acasă sau laptopul care folosesc sisteme de operare, deasupra căruia rulează programe. Probabil deja ești obișnuit cu Microsoft Windows (probabil XP sau Vista). Windows este un sistem de operare deținut de firma Microsoft. Deși majoritatea calculatoarelor personale în prezent folosesc Windows, în trecut treburile stăteau altfel și în mod sigur în viitor se vor schimba.
OS X este un sistem de operare disponibil pe calculatoarele produse de firma Apple. Deși firma Apple ține să denumească calculatoarele produse de ei Mac-uri, eu le-am inclus aici, la calculatoare personale, pentru a ușura explicațiile. OS X este un sistem de operare similar UNIX-ului (cu alte cuvinte într-o oarecare măsură similar Linuxului), deținut de firma Apple și care rulează exclusiv pe calculatoarele produse de Apple, deși au existat unele încercări de a le porta (înseamnă a utiliza, muta sau adapta) și pe alte calculatoare.
Alte sisteme de operare sunt SunOS și succesorul său Solaris produse de firma Sun Microsistems, ambele similare cu UNIX. Mai amintesc și BSD, inițial dezvoltat de Universitatea din California, Berkeley, și acesta similar cu UNIX.
Și Linux?
Am lăsat la sfârșit Linuxul pentru că despre el o să discut mai mult. Am spus că o mulțime dintre sistemele de operare pe care le-am menționat mai sus sunt similare cu UNIX, dar ce este UNIX?
Ce este UNIX?
UNIX este un sistem de operare creat în 1969 de un grup de angajați ai firmei americane de telefonie AT&T. Da, știu că te întrebi, chiar și pe vremea aceea existau calculatoare. De fapt, calculatoarele au fost inventate pe la sfârșitul celui de al doilea război mondial. UNIX-ul s-a dovedit un sistem de operare destul de bun. Din păcate în vremea respectivă industria calculatoarelor nu era standardizată, ceea ce însemna că oricine putea să facă un computer cum voia și să distribuie pe el un UNIX special modificat pentru calculatorul respectiv. Cu timpul dezordinea și-a spus cuvântul și a lăsat loc liber pentru dezvoltarea și răspândirea altor sisteme de operare, mai exact a Microsoft Windows. Înainte de Windows, Richard Stallman, supărat pe termenii de licențiere din ce în ce mai restrictivi ai sistemelor de operare UNIX, a creat proiectul GNU (asta se întâmpla în 1984). Scopul proiectului GNU era de a crea un sistem de operare compatibil UNIX-ului, dar care să fie complet liber. GNU vine de la Gnu is Not Unix, ceea ce în traducere înseamnă Gnu Nu este Unix.
Software liber
Să vedem ce înseamnă soft liber. Programele de calculator (inclusiv sistemele de operare) nu se nasc și nici nu apar peste noapte. Ele sunt scrise de oameni care se numesc programatori și care își petrec timpul scriind linii de cod (care nu sunt decât o serie de instrucțiuni). Toate liniile de cod formează codul sursă, care este stocat în fișiere text. Codul sursă este apoi interpretat de un program care se numește compilator care îl transformă în 1 și 0-urile care alcătuiesc un program. Procesul de interpretare se numește compilare. Codul sursă nu poate funcționa ca program dacă nu este compilat. Un program nu poate fi construit fără codul sursă și fără un compilator. Codul sursă nu poate fi scos dintr-un program. Principiul din spatele unui program închis, cum este Windows-ul, spune că utilizatorul care cumpără licența pentru respectivul program are dreptul de a utiliza respectivul program în forma lui compilată.
Asta e oarecum similar cu a avea dreptul de a folosi o mașină, dar nu a putea să ridici capota să vezi ce este sub ea, sau de a putea schimba după bunul plac componente ale mașinii, cum ar fi montarea de faruri roz. Nu știu cui i-ar folosi farurile roz, dar cred că înțelegi conceptul pe care încerc să îl definesc. E ca și cum ai avea o mașină și nu ai putea să îi pui cauciucuri de iarnă pentru că termenii contractului nu îți permit. Ar trebui să suni la Ford sau Opel sau oricare ar fi firma de la care ai cumpărat mașina și să le ceri permisiunea, să plătești niște taxe și să semnezi un nou contract. S-ar termina iarna până ai reuși să termini toate formalitățile.
Citește și partea a II-a a acestui post!
Am văzut că o mulțime de oameni ajung pe blogul acesta în căutarea răspunsului la întrebarea: "Ce este Linux?". M-am uitat pe pagina românească a Wikipedia dedicată subiectului și definiția de acolo nu mi se pare de loc corespunzătoare, așa că scriu articolul acesta urmând ca, dacă ajunge să fie apreciat, să mut părți din el pe Wikipedia românească în speranța îmbunătățirii articolului de acolo. O să vorbesc destul de mult despre tot felul de concepte, sunt absolut necesare pentru a putea înțelege ce este Linuxul, mai ales pentru un necunoscător. Dacă deja ești familiarizat cu unele dintre conceptele despre care vorbesc poți să sari peste secțiunea care tratează respectivul concept.
Ce este Linux?
Linux este un sistem de operare similar UNIX-ului, open source și care poate să ruleze pe o gamă foarte variată de mașini. Când spun mașini, mă refer la calculatoare, routere, sisteme embeded și altele. O să vedem întâi ce este un sistem de operare.
Ce este un sistem de operare?
Orice calculator, oricât de performant ar fi nu valorează nici cât o ceapă degerată fără software. Există un motiv pentru care calculatorului i se spune calculator (sau computer, cuvântul corespondent în limba engleză). Singurul lucru pe care un calculator știe să îl facă calculele. Dar, ca să poată să fie cu adevărat folositor, un calculator trebuie să aibă un ceva să îi spună ce să calculeze. Ceva-ul acela este software-ul, sau programul. Sistemul de operare este un program care asigură legătura între programele care rulează pe un calculator și calculatorul însuși. De ce e nevoie de un sistem de operare?
Pentru ca un program să poată funcționa corect trebuie să cunoască calculatorul pe care funcționează. Până aici totul sună frumos, ca să conduci o mașină trebuie să știi cum funcționează. Adică trebuie să știi că o mașină merge înainte sau înapoi, că modificând poziția roților din față poți face mașina să o ia la stânga sau la dreapta, că poți accelera sau frâna și în cât de mult și așa mai departe. Dar cum am putea să conducem o mașină dacă nu am avea volan, pedale sau maneta schimbătorului de viteze? Păi am putea învăța cum să conducem propria mașină după o serie de încercări și erori. Am putea merge la supermarket dând direct comenzi roților din față, acționând separat toate frânele, accelerând direct cu comenzi la motor și așa mai departe. Dar ce s-ar întâmpla când am cumpăra o mașină nouă?
Din cauza diferențelor dintre mașina veche și cea nouă tot ceea ce știm despre condus trebuie uitat și început cu învățatul de la zero. Evident că asta nu ar fi o situație pe care să o dorim. În cazul mașinii volanul, cele trei pedale și schimbătorul de viteze ajută la standardizarea condusului mașinii. Ca să faci mașina să meargă mai repede apeși pedala de accelerație. Nu te interesează dacă motorul are 6 sau 8 cilindri, dacă e electric, pe benzină sau motorină, sau ce companie l-a făcut și ce model este. În lumea calculatoarelor tot ansamblul de volan, pedale și schimbător de viteze s-ar numi strat de abstractizare. Un sistem de operare este un strat de abstractizare între programe și tot restul calculatorului. Ca și în cazul mașinilor, calculatorarele diferă la nivelul componentelor care le alcătuiesc (procesor, harddiscuri, plăci grafice, plăci de sunet,...). Sistemul de operare se ocupă de administrarea tuturor acestor componente, de administrarea memoriei și a conexiunilor calculatorului (în cazul conexiunilor la o rețea, cum e Internetul), de oferirea unor posibilități programelor (cum ar fi salvarea și citirea fișierelor sau crearea de ferestre) și multe altele.
Cu alte cuvinte sistemul de operare este foarte important pentru funcționarea unui calculator. De asemenea, din cauza diferențelor dintre sistemele de operare, existența unui sistem de operare pe un calculator poate determina existența unor programe pe respectivul calculator. Programele sunt dependente de sistemul de operare pentru care au fost concepute. De exemplu, nu poți pune pe un PlayStation jocurile create pentru Nintendo Wii.
Unde găsesc sisteme de operare și cum se numesc?
Cel mai simplu exemplu sunt calculatorul de acasă sau laptopul care folosesc sisteme de operare, deasupra căruia rulează programe. Probabil deja ești obișnuit cu Microsoft Windows (probabil XP sau Vista). Windows este un sistem de operare deținut de firma Microsoft. Deși majoritatea calculatoarelor personale în prezent folosesc Windows, în trecut treburile stăteau altfel și în mod sigur în viitor se vor schimba.
OS X este un sistem de operare disponibil pe calculatoarele produse de firma Apple. Deși firma Apple ține să denumească calculatoarele produse de ei Mac-uri, eu le-am inclus aici, la calculatoare personale, pentru a ușura explicațiile. OS X este un sistem de operare similar UNIX-ului (cu alte cuvinte într-o oarecare măsură similar Linuxului), deținut de firma Apple și care rulează exclusiv pe calculatoarele produse de Apple, deși au existat unele încercări de a le porta (înseamnă a utiliza, muta sau adapta) și pe alte calculatoare.
Alte sisteme de operare sunt SunOS și succesorul său Solaris produse de firma Sun Microsistems, ambele similare cu UNIX. Mai amintesc și BSD, inițial dezvoltat de Universitatea din California, Berkeley, și acesta similar cu UNIX.
Și Linux?
Am lăsat la sfârșit Linuxul pentru că despre el o să discut mai mult. Am spus că o mulțime dintre sistemele de operare pe care le-am menționat mai sus sunt similare cu UNIX, dar ce este UNIX?
Ce este UNIX?
UNIX este un sistem de operare creat în 1969 de un grup de angajați ai firmei americane de telefonie AT&T. Da, știu că te întrebi, chiar și pe vremea aceea existau calculatoare. De fapt, calculatoarele au fost inventate pe la sfârșitul celui de al doilea război mondial. UNIX-ul s-a dovedit un sistem de operare destul de bun. Din păcate în vremea respectivă industria calculatoarelor nu era standardizată, ceea ce însemna că oricine putea să facă un computer cum voia și să distribuie pe el un UNIX special modificat pentru calculatorul respectiv. Cu timpul dezordinea și-a spus cuvântul și a lăsat loc liber pentru dezvoltarea și răspândirea altor sisteme de operare, mai exact a Microsoft Windows. Înainte de Windows, Richard Stallman, supărat pe termenii de licențiere din ce în ce mai restrictivi ai sistemelor de operare UNIX, a creat proiectul GNU (asta se întâmpla în 1984). Scopul proiectului GNU era de a crea un sistem de operare compatibil UNIX-ului, dar care să fie complet liber. GNU vine de la Gnu is Not Unix, ceea ce în traducere înseamnă Gnu Nu este Unix.
Software liber
Să vedem ce înseamnă soft liber. Programele de calculator (inclusiv sistemele de operare) nu se nasc și nici nu apar peste noapte. Ele sunt scrise de oameni care se numesc programatori și care își petrec timpul scriind linii de cod (care nu sunt decât o serie de instrucțiuni). Toate liniile de cod formează codul sursă, care este stocat în fișiere text. Codul sursă este apoi interpretat de un program care se numește compilator care îl transformă în 1 și 0-urile care alcătuiesc un program. Procesul de interpretare se numește compilare. Codul sursă nu poate funcționa ca program dacă nu este compilat. Un program nu poate fi construit fără codul sursă și fără un compilator. Codul sursă nu poate fi scos dintr-un program. Principiul din spatele unui program închis, cum este Windows-ul, spune că utilizatorul care cumpără licența pentru respectivul program are dreptul de a utiliza respectivul program în forma lui compilată.
Asta e oarecum similar cu a avea dreptul de a folosi o mașină, dar nu a putea să ridici capota să vezi ce este sub ea, sau de a putea schimba după bunul plac componente ale mașinii, cum ar fi montarea de faruri roz. Nu știu cui i-ar folosi farurile roz, dar cred că înțelegi conceptul pe care încerc să îl definesc. E ca și cum ai avea o mașină și nu ai putea să îi pui cauciucuri de iarnă pentru că termenii contractului nu îți permit. Ar trebui să suni la Ford sau Opel sau oricare ar fi firma de la care ai cumpărat mașina și să le ceri permisiunea, să plătești niște taxe și să semnezi un nou contract. S-ar termina iarna până ai reuși să termini toate formalitățile.
Citește și partea a II-a a acestui post!
Câteva reclame mai… interesante
Mai jos sunt două exemple dintr-un mod nou de a face reclamă pe siteuri. Aici este al treilea exemplu (de data asta unul real și nu filmat), este vorba de reclamă la Nintendo Wii.
