15 lucruri aplicabile zilnic pe care le-am învățat programând

Truisme, știu…

1. Am învățat să gândesc totul modular. Chiar dacă nu știu exact cum se rezolvă o problemă, e bine să gândesc rezolvarea acelei probleme ca un lucru ce poate fi integrat într-un mecanism mai mare și să mă concentrez mai târziu pe ea.

2. Am învățat că e bine să folosești cât mai puține resurse. Dacă nu faci asta, fie ai nevoie de un garbage collector, fie o să ai mult de curățat. Continue reading

Ce face “zipped for” în GMail

Da, știe cineva 😛

Fișierele .zip sunt, de cele mai multe ori și în funcție de softul folosit, comprimate folosind un algoritm Lempel-Ziv-Markov sau Huffman, ambii algoritmi folosind un dicționar pentru decomprimarea datelor rezultate. Acest dicționar atribuie celor mai frecvente și mai lungi succesiuni de biți câte o etichetă cât mai scurtă.

Hiper-simplificând procesul, dacă vrem să comprimăm propoziția

Temistocle are mere care transcend barierele cosmice. Temistocle are și tractor cu care ară cerealele.

atunci aplicarea algoritmului de compresie ar genera (probabil) următorul dicționar: Continue reading

Cum schimbi numărul centrului de mesaje (SMSC) pe Android 4

Nu că v-ar folosi vreodata informația asta, însă îmi dau seama de ce după 6 apeluri la serviciul clienți Vodafone nu m-a putut ajuta nimeni 🙂

Deci… să presupunem că v-ați mutat cartela prepay* de la Vodafone pe abonament, păstrând numărul și cartela SIM. Numărul centrului de mesaje este diferit pentru prepay, respectiv pentru abonamente, iar urmarea acestui fapt, în primă fază, este că nu mai poți trimite SMS-uri. Continue reading

Noua structură în programare web

Web 2.0 era/este despre interacțiune. Urmatorul pas este WWW-ul semantic. Google începe să ignore fermele de conținut și să aprecieze ordonarea cât mai logică a acestuia. În plus, promovează timid Rich Snippets, un serviciu care este foarte orientat către înțelegerea conținutului. Toate pentru ca browserele să înțeleagă și să redea într-o formă cât mai personalizată și adecvată bucățelele de informație pe care utilizatorii le doresc.

HTML5 este convenția care va oferi lumii conținutul într-o formă inteligentă, inteligibilă și ușor de prelucrat, împărțind paginile în zone cu un foarte important rol structural, precum <header></header>, <section></section>, <aside></aside>, <footer></footer> și așa mai departe, în locul clasicelor și mai mult decât vagilor <div>-uri. Încet-încet, nu mai este necesar să știm să rezolvăm probleme de CSS în browsere făcute parcă în ciuda dezvoltatorilor, ci devine util să știm să punem un <nav> sau un <figure> acolo unde trebuie.

Este destul de greu să ții pasul cu toate bunele practici pe diverse bucățele de cod HTML(5), CSS(3), JS/jQuery ș.a.m.d. Majoritatea sunt documentate pe site-uri de specialitate, doar că efortul de a le căuta și pune laolaltă este unul destul de mare.

Aici intră în scena HTML5 Boilerplate, un schelet perfect pe care puteți începe să construiți pagini web, pe care eu personal îl folosesc de ceva vreme și care mă încântă de fiecare dată, fiind și destul de bine documentat. Pe lângă faptul că în browserele noi vă face viața pagina mai frumoasă și mai rapidă, asigura și compatibilitate inversă cu browserele mai vechi (a se citi IE6). Ați văzut cum arată www.sustineunicef.ro în Internet Explorer 6, de exemplu? 😀 Mai-sus menționatul schelet este ”de vină” pentru asta.

Pentru dezvoltarea de teme WordPress plecând de la acest schelet, există și câteva template-uri de teme pe care nu trebuie decât să le stilizați. Mie îmi place asta.

Ce este important este că de fiecare dată când folosesc acest template aflu lucruri noi. Iar astăzi am aflat un milion de lucruri noi de la însuși creatorul template-ului, un tip mega-genial pe nume Paul Irish. Dacă nu folosiți încă Boilerplate-ul, vă recomand călduros s-o faceți. Iar dacă v-ați decis să ma ascultați, filmulețul de mai jos vă poate fi de mare ajutor 😉

(via css-tricks)

Cum să instalezi Windows Vista / 7 de pe un stick USB bootabil

Windows

Laptopul meu are o mica problemă cu unitatea optică, săracul… Citeşte doar ce vrea el şi doar ocazional. Am avut noroc cu un DVD cu Windows 7 la ultima încercare, dar faptul că era o versiune pre-release îl făcea instabil şi trebuia să fac mai multe compromisuri decât eram dispus. Drept urmare, instalarea unei versiuni stabile de Vista (cu SP2) era imperios necesară.

Lucru simplu, aparent, dar când nu ai unitate optică devine un pic mai complicat. Ce e de făcut? Google is my friend, aşa că m-am apucat silitor să sap. Combinând ce am găsit cu ce mai ştiam şi despre calculatoarele astea, am ajuns la următorul set de paşi de urmat pentru oricine doreşte să instaleze una dintre versiunile noi de Windows fără să se folosească de o unitate CD/DVD.

Ce vă trebuie

  • un stick USB de capacitate cel puţin egală cu dimensiunea kitului de instalare a versiunii de Windows pe care doriţi să o instalaţi (probabil va fi unul de cel puţin 4GB). Stick-ul trebuie să suporte sistemul de fişiere NTFS
  • un kit de instalare de Windows Vista sau Windows 7, pe 32 sau 64 de biţi, pe un DVD sau într-un fişier imagine (.iso, .nrg etc.)
  • un PC pe care e instalat Windows Vista sau 7. Dacă vreţi să creaţi un stick cu versiunea x64 (pe 64 de biţi), atunci trebuie neapărat ca versiunea deja instalată pe acest PC să fie tot pe 64 de biţi

Pasul 1 – Formatarea stick-ului

Formatarea trebuie să aibă ca scop final un stick cu o singură partiţie NTFS, de dimensiune mai mare decât kitul de instalare al sistemului de operare.

Varianta cea mai bună, în care ştiţi sigur că pe stick nu rămâne nimic din ce nu vă trebuie în continuare, implică următorii paşi:

  1. Mai întâi deschideţi un terminal ca administrator (Start > All Programs > Accessories > click dreapta pe Command Prompt > Run as administrator)
  2. Rulaţi utilitarul de partiţionare scriind diskpart şi apoi apasând enter
  3. La prompt-ul care apare tastaţi comanda
    DISKPART> list disk
     Disk ###  Status      Size     Free     Dyn  Gpt
     --------  ----------  -------  -------  ---  ---
     Disk 0    Online       298 GB      0 B
     Disk 1    Online       596 GB      0 B
     Disk 2    Online       298 GB    22 GB
     Disk 3    Online      3856 MB      0 B

    Listingul ar trebui sa arate similar cu cel de mai sus. Identificaţi care disc reprezintă stick-ul (după dimensiune). În cazul de mai sus, acesta este Disk 3.

  4. Tastaţi comanda
    select disk 3

    dar înlocuiţi numărul 3 cu numărul corespunzător discului care reprezintă stick-ul pe calculatorul vostru. ATENŢIE!!! Dacă greşiţi acest număr, vă veţi şterge toate partiţiile şi fişierele de pe hard-disc-ul pe care l-aţi selectat aiurea!

  5. Tastaţi următoarele comenzi:
    clean
    create partition primary
    select partition 1
    active
    format fs=NTFS
    exit

În momentul acesta ar trebui să aveţi un stick USB gată să fie făcut bootabil.

Pasul 2 – Partea de boot

  1. În acelaşi terminal ca mai sus, selectaţi drive-ul cu kitul de instalare de Windows (DVD-ul sau imaginea montată). Voi presupune că litera asociată acestuia este F: iar litera asociată stick-ului este G:.
    f:
    cd boot
  2. Folosiţi utilitarul bootsect pentru a face stick-ul bootabil
    bootsect /nt60 g:

Acest pas nu va putea fi completat dacă încercaţi să faceţi un stick bootabil cu un kit de Windows x64 de pe un PC cu Windows x86 (32bit).

Pasul 3 – Copierea kitului de instalare pe stick

Stick-ul este bootabil, puteţi copia acum în rădăcina stick-ului toate fişierele existente pe DVD-ul de instalare. Aveţi grijă să copiaţi şi fişierele ascunse, dacă e cazul!

Gata!

Acum tot ce mai trebuie să faceţi este să introduceţi stick-ul în unul dintre porturile USB ale PC-ului pe care doriţi să instalaţi Windows şi să-l configuraţi să booteze de pe stick. Nu toate PC-urile sunt capabile să booteze de pe un dispozitiv USB, dar, în general, cele cu placi de bază mai noi nu au nicio problemă.