tutorial: construirea unui mediu minimal bazat pe gnu/linux

sâmbătă, 18 aug. 2012, 00:47

Acest text pe care eu l-am numit „tutorial”, nu este – v-am mințit – de fapt un tutorial propriu-zis, ci mult mai puțin de atât. Problema cu tutorialul stă în faptul că nu m-am trezit eu atât de muncitor încât să stau să explic omului pas cu pas, amănunțit, cum să își construiască un mediu de programe, Interneții oricum dând pe dinafară de așa ceva. Și nu numai asta, dar trăiesc cu nădejdea că nu s-au trezit cititorii mei atât de proști încât să nu poată improviza cu Google în față, primind de la subsemnatul doar un set de idei generale care să îi ghideze spre soluție.

Să descriem întâi pe scurt lumea desktop-ului Linux așa cum se prezintă dânsa la ora actuală: un haos de nedescris. Anticipam într-un articol trecut că probabil nici 2011 nu va fi anul desktop-ului și pot spune cu aceeași tărie că lucrul e valabil și în cazul lui 2012 și poate și în ceea ce privește 2013 și 2014. În același paragraf susțineam sus și tare că dacă lucrurile se împut îmi bag picioarele în toate distribuțiile lor fancy și revin la ceva mai „basic” și sănătos și m-am ținut de cuvânt, ocazie pe care o voi folosi pentru a vă povesti cum am făcut asta și în ce stadiu am ajuns. (mai mult…)

evoluția interacțiunii om-calculator (iv)

sâmbătă, 11 aug. 2012, 14:46

Seria „evoluția interacțiunii om-calculator” a avut un parcurs interesant, căruia îmi voi permite să îi fac un rezumat. Prima parte tratează câteva generalități legate de domeniul interacțiunii om-mașină. Cea de-a doua discută pe marginea interacțiunii dintre oameni și dispozitive digitale oarecare – care însă nu-s mai puțin „mașini” decât calculatoarele personale -, iar în partea cu numărul trei se remarcă existența unei nișe unde interfețele om-calculator au progresat enorm, și anume jocurile pe calculator.

Revenind la problema de fond, s-ar părea că interacțiunea om-calculator se poate reduce – cel puțin parțial – la ceea ce omul numește în general comunicare. Nu ne e clar ce implică asta, însă foarte probabil că într-o lume ideală ar fi de ajuns să îi zicem „calculatorului” [i] să rezolve nu știu ce problemă X („spală-mi șosetele”), iar acesta să se apuce imediat de muncă, ca un adevărat „rabochiĭ” care este dânsul. Observăm definiția vagă a conceptului „calculator”, care-i mai mult o mașină în sensul abstract al cuvântului. În spatele procesului de spălare a șosetelor pot sta unul, două, zece sau o mie de calculatoare fizice, care pentru utilizator vor apărea însă ca o singură entitate, „calculatorul”.

Nu știu dacă vă amintiți, dar în caz că nu, ar fi o idee bună să reluăm: ansamblul de programe sau mașini care apar utilizatorului drept o singură entitate se numește „sistem distribuit”. Ori sistemul distribuit, adică Internet-ul, adică arhiva™ e un pas evolutiv firesc față de telegraf, telefon, televiziune și așa mai departe, ceea ce face problema „interacțiunii”, adică a „comunicării” cu atât mai importantă. Un rol important în rezolvarea acestei probleme îl joacă web-ul, despre care spuneam mai demult că e o platformă socială în virtutea faptului că satisface nevoia de comunicare între oameni; însă comunicarea între oameni nu poate fi în acest caz eficientă dacă intermediarul („calculatorul”) nu satisface aceleași condiții. (mai mult…)

  1. Care „calculator” e ceva abstract, ca din ceruri, și suficient de inteligent încât să înțeleagă actele de vorbire, posibil mai bine decât ființa umană medie. []

o introducere ușor neobișnuită în domeniul arhitecturii software

duminică, 29 iul. 2012, 16:24

Arhitectura, sau mai general proiectarea chestiilor este un subdomeniu al ingineriei ca oricare altul, care se ocupă, am putea spune lipsiți de rigoare, cu descrierea chestiilor în cauză. Bunăoară, dacă doresc, inginer fiind, să proiectez un ciocan spre a rezolva o problemă dată (de obicei bătutul cuielor), va trebui – dat fiind că-s om, iară nu orice om, ci inginer – să îmi formulez un set de cerințe și întrebări adiacente acesteia, legate printre altele de: părțile componente ale ciocanului, felul în care arată acestea, din ce sunt formate și cum se îmbină ele spre a forma mai mult decât suma părților lor.

Fundamentele acestei paradigme sunt aceleași în cazul sistemelor software, motiv pentru care și există în prezent acest domeniu oarecum bizar al ingineriei programelor pe calculator [i]. Diavolul se regăsește bineînțeles în detalii, acolo unde teoreticienii încearcă să prezică evoluția software-ului în timp. Dacă în cazul unui ciocan lucrurile stau destul de simplu – dai cu el până se strică -, software-ul evoluează destul de haotic în timp, degradându-se și pierzându-și din fiabilitate în moduri greu de prevăzut. Colac peste pupăză, inginerii noștri plini de creativitate gândesc modele și implementări care de care mai complexe, când rolul abstractizării e tocmai opusul, anume acela de a simplifica lucrurile. Deci aici zic că ar ajuta un pic să luăm lucrurile de la zero, deci să regândim problema. (mai mult…)

  1. Da, dragi cititori, ingineria software e un ceva anume extrem de bizar prin felul ei de a fi. Aceasta ba apare în, ba dispare din mintea inginerului programator, existând și în același timp încetând să existe pentru acesta la un moment dat. Fenomenul se datorează nu numai faptului că lumea ideilor e volatilă în cadrul unui singur individ, ci și aceluia că oameni diferiți pot privi o singură problemă în moduri complet disjuncte, ajungând astfel să petreacă o perioadă considerabilă de timp stabilindu-și un limbaj comun. Astfel au apărut hack-uri imense dezvoltate de oameni cu interese profund diferite, cum e nucleul Linux, și astfel au luat viață inclusiv unele produse ale consumului de LSD, cum e Unix. []

moartea lui windows

luni, 23 iul. 2012, 19:24

Windows este un sistem de operare de uz general dezvoltat de o companie din Redmond, Washington, pe nume Microsoft. Sunt sigur că știți deja aceste lucruri, însă este utilă, chit că redundantă, reamintirea lor spre înregistrare în analele istoriei. Prima versiune majoră de Windows a apărut prin 1985, urmând ca cu vreo trei-patru iterații mai târziu sistemul de operare să acapareze piața – în mare parte din lipsă de concurență și datorită unor parteneriate cu IBM – și să devină unicul sistem de operare folosit pe PC-uri.

Între timp situația s-a mai schimbat: Apple au lansat Mac OS X, Linux a apărut din neant ca un competitor serios pentru Windows NT, plus multe altele la care se adaugă și apariția telefoanelor mobile. De atunci și până acum Microsoft a trecut printr-o serie de eșecuri – a se citi: Windows Me – și succese – a se citi: Windows XP -, reînnoindu-se la fiecare pas, rămânând însă în mare parte la fel în părțile esențiale. Prezentul este marcat de Windows 7, un sistem de operare relativ decent din câte am auzit, iar în viitorul imediat apropiat va fi lansat pe piață Windows 8, versiune care va marca definitiv moartea Windows-ului așa cum îl știm noi. (mai mult…)

breviar istoric arm

duminică, 8 iul. 2012, 16:26

În cadrul unui articol trecut spre sfârșit povesteam despre cum ARM pot fi deja considerați un adversar serios al Intel și un candidat pe piața calculatoarelor de performanță medie [i]. Din acest motiv și în virtutea faptului că tot m-am apucat să întorc pe toate părțile diverse microarhitecturi, n-ar fi o idee rea să pun pe foaie un scurt istoric ARM. Problema stă în faptul că nu sunt foarte familiar cu istoria companiei – deși de vreo douăsprezece luni încoace programez mai des pe ARM decât pe x86 -, motiv pentru care vă invit să ne documentăm împreună.

În primul rând trebuie menționat că ARM și Intel vând două lucruri fundamental diferite. În timp ce Intel este o companie producătoare de hardware, la fel ca IBM, AMD, Texas Instruments sau Samsung Semiconductor, ARM produc doar proprietate intelectuală, cu toate implicațiile acestui fapt. Asta înseamnă de exemplu că în timp ce Intel fac și cercetări legate de micșorarea tranzistoarelor (încă de la începuturi), ARM se axează pe eficiența design-ului, lăsând aspectele pur tehnologice la latitudinea producătorilor.

Istoria ARM își are rădăcinile în cadrul unei companii pe nume Acorn Computers, al cărei procesor Acorn RISC Machine (ARM1) a fost lansat cândva în prima jumătate a anilor 1980. Procesoarele ARM au fost gândite astfel încât să aibă un design „hardwired”, adică fără microinstrucțiuni, și în plus cei care au conceput arhitectura au mers din start pe ideea că o să aibă lungimea cuvântului de 32 de biți. Cu toate astea primul procesor care a ieșit efectiv pe piață a fost ARM2, care era format din doar în jur de treizeci de mii de tranzistoare. Și se pare că zisul procesor avea performanțe comparabile cu ale unui 80286 la un consum mai mic de putere. (mai mult…)

  1. Apple au anunțat deja că vor vinde Macbook-uri bazate pe ARM. []