De la Windows la Ubuntu si inapoi

De când mă știu a sta în fața unui computer am folosit Windows. Când am decis că vreau să devin programator am făcut trecerea către sisteme Linux. Mi-aș fi dorit un Mac pe vremea aceea dar cum nu îmi permiteam așa ceva am ales soluția cea mai apropriată. Se auzeau zvonuri despre Windows 9 când am început să folosesc ElementaryOs.

Mă așteptam să trec printr-o perioadă mai lungă de acomodare. Aveam impresia că voi fi nevoit să folosesc terminalul și că îmi va fi greu, că îmi va lipsi interfața grafică a Windows-ului. Dar am descoperit repede că terminanul nu înlocuiește componenta grafică a sistemului de operare ci o completează.

Pe atunci foloseam dual boot, lucram des cu Adobe Illustrator și After Effects și nu mă descurcam cu alternativele oferite pe Linux. Programele oferite de Adobe erau singurele care mă țineau captiv în lumea Windows.

Dar am început să lucrez cu RaspberryPi așa că am făcut alegerea logică de a folosi mai des Ubuntu și nu am fost dezamăgit deloc de alegere:

  • arată și se mișcă bine, consumă puține resurse;
  • ușor de costumizat și multe skin-uri disponibile;
  • terminal-ul este foarte util, competent și oferă un workflow mult mai bun pentru dezvoltare;
  • Inkscape ca alternativă bună pentru Illustrator;
  • Blender ca alternativă bună pentru After Effects;
  • flexibilitatea sistemului de operare mi-a permis dezvoltarea unor periferice proprii;
  • este gratuit!;

Nu îmi lipsea nimic din mediul Windows. Am înlocuit și suita Adobe cu programe open-source iar de gaming nu se pune problema (nu sunt gamer, dar la nevoie aveam Minecraft și Steam).

Toate beneficiile și costuri 0. Așa am renunțat la Windows și pentru calculatorul de acasă și pentru cel de la muncă.

Doar că mi-am schimbat jobul, și am primit un laptop cu Windows 10. Ce să zic? „Bine te-am găsit, ce știi să faci?”. Observ că îmi lipsește UX-ul din Ubuntu, Windows face niște chestii ciudate:

  • alege să iși facă update în cele mai proaste momente;
  • nimic nu se aproprie de terminal-ul linux (cmd este doar o fosilă, power shell e ciudat). Alternativele sunt mai bune ,Git Bash de exemplu, dar nici ele nu vin cu o experiență bună out of the box, tot trebuiesc configurate;
  • uneori ferestre noi apar cu bara de titlu (partea cu – [] x) în afara suprafeței de lucru. Nu am cum să mut fereastra așa că trag de unul din colțurile de jos ca ele să pice bine în desktop;
  • dacă m-am deconectat de la un monitor extern multe ferestre se deschid în acel spațiu ce acum îmi este inaccesibil. Chiar dacă resetez modul de proiectie (win+p) sau dau restart, ele tot acolo se deschid;
  • pentru Netflix folosesc un monitor extern cu niste boxe atașate de acesta. Cu Windows se întampla de multe ori să nu am sunet prin hdmi, trebuie sa urmez un ritual anume cu scos-bagat mufa de hdmi și schimbat sursa audio-out până funcționează;
  • nu am explorat prea mult, dar pare că windows nu este atât de personalizabil;
  • au revenit probleme precum: viruși și instalarea unui antivirus, vulnerabilități , privacy, BSOD, „google chrome has stopped working”;
  • pentru unele aplicații textul este randat ciudat din cauza problemor cu dpi;
  • sunt obișnuit să pornesc IDE direct în folder din linia de comandă. Pe Windows comanda pentru subline subl . deschide mai multe sesiuni de sublime … (later edit: am aflat din comentarii că acesta defapt este un feature);

Singurele motive pentru care Windows merită folosit: suita Office și programele VPN. Noroc că există VirtualBox cu guest additions!

Cum configurezi eficient Windows pentru PHP Dev?

Mi se întâmplă deseori să constat lipsa –  pe sistemele unor programatori – a unor  utilitarele mici, inspirate sau portate din lumea Linux. Prin urmare, m-am gândit să încerc să fac un mic ghid despre ce și cum ar trebui instalat.

Plec de la premisa că este și NodeJS instalat iar XAMPP este Stack-ul folosit, dar se poate aplica în orice alt context; scopul este acela de a avea toate utilitarele disponibile în cmd (hint: încearcă cmder)

1. Rapid Environment Editor

Complet opțional, dar foarte la îndemână, util în editarea/adăugarea variabilelor. Sigur, te poți descurca și prin alte metode, dar REE este atât de eficient încât nici nu merită să iau în considerare alte explicații 😀

2. Gow

Este o colecție de utilitare, de genul whereis, wget, curl, grep, tar șamd. În total sunt peste o sută de astfel de programe.

3. GnuWin

Similar cu Gow, dar ultima actualizare a fost în 2009. Eu le am pe amândouă doar pentru că pe ăsta l-am găsit primul și mi-a fost prea lene să le compar 😀

4. Git

Instalat astfel încât Git va fi disponibil direct din cmd. Adică la instalare alegi ultima opțiune:


După ce instalăm tot ce am listat mai sus, deschidem REE și avem grijă ca în PATH să existe directoarele unde au fost instalate utilitarele astea:

Săgețile albastre sunt legate de contul curent din Windows și poate fi aflat prin apăsarea Win+R -> %appData%\npm respectiv %appData\Composer.

Pe lângă utilitarele înșirate mai sus, recomand să adaugi și directoarele bin  de la Apache sau Mysql, respectiv directorul în care se află executabilul php.exe (e.g. c:\xampp\php)

După ce ai adăugat toate variabilele astea în editor, salvezi și dai un restart (unii zic că logout ar fi suficient). Imediat după, dacă deschizi cmd vei avea la dispoziție o mulțime de utilitare, care mai de care mai… utile.