Câștigătorii concursului

Dimineață m-am trezit cu chef de dat premii :)

Câștigătorii, în ordinea numerelor de pe tricou, sunt:

2013-01-01_12h00_10

  • George
  • Vlad
  • Alin Nicorici
  • TzaCaNeL
  • Iankulov Miodrag
  • Daniel
  • Cami
  • BeBe
  • Flavius
  • Călin

Codurile vor fi trimise după ce se confirmă adresa de email (este posibil să fi intrat în Spam). Data limită pentru confirmare este de 7 ianuarie. Dacă după această dată nu primesc nici un semn voi rula un nou query pentru codurile rămase (deși sper să nu fie cazul).

Dacă crezi că ai scris adresa de email greșit, lasă un comentariu aici cu adresa corectă.

Vă mulțumesc tuturor pentru participare.

De ce sunt freelancer?

Motivul principal pentru care eu sunt freelancer este că nu-mi plac oamenii! :D

Acum, ceva mai serios: am fost angajat într-un singur loc ca programator dar mulți dintre cunoscuții mei ce lucrează ca programatori au aceleași probleme la locul de muncă:

  • Ședințe inutile, incredibil de lungi;
  • Bugetul pentru documentație (cărți, cursuri etc) este foarte mic, de cele mai multe ori fiind zero;
  • Best tools money can buy? E doar un mit. Cei mai mulți lucrează cu un singur monitor între 19-22inch, 2Gb RAM, video on board și un Celeron (cei mai norocoși au un i3, doar pentru că Celeron-ul a crăpat).
  • Birouri comune, ceea ce înseamnă că șansele să intri în flow sunt la fel ca bugetul pentru cărți. Adică mici. Plus că tot timpul se găsește cineva să te întrebe ceva sau să îți arate ceva sau …

Pe lângă astea, se mai adaugă programul de lucru și deplasarea până la sediul firmei. În funcție de orașul în care lucrezi, pierzi una sau chiar două ore pe drum. Și ești obligat să fii prezent opt ore la firmă. Vreau să văd și eu un programator care este productiv mai mult de șase ore/zi pe o perioadă de timp mai mare de două-trei zile :)

Deploy automat cu Git

Urăsc să mut fișiere pe ftp. Este unul dintre cele mai enervante task-uri de care pot avea parte! Dacă ai acces SSH și CGI-BIN poți face următoarea chestie:

  1. Faci un fișier, să-i zicem cgi-bin/update_proiect.sh și îi dai un chmod 755;
  2. În acest fișier adaugi:
    #!/bin/sh
    printf "Content-Type: text/plain\n\n"
    echo "$(cd ../nume_proiect && git pull origin master)"
    
    
    # NOW=$(date +"%b-%d-%y@%T")
    # echo "$(cd ../nume_proiect && git archive --format zip --output publish/nume_proiect-$NOW.zip master)"
    

    Partea a doua este necesară dacă ai nevoie să creezi o arhivă cu fișierele (pentru clienți care sunt mai non-tech). Dacă nu vrei câte o arhivă pentru fiecare versiune, elimini particula -$NOW din ultima linie.

  3. Faci un cont pe bitbucket. Și un repo privat;
  4. În panoul de administrare al repository-ului te duci la services și alegi POST din dropdown;
  5. În căsuță apărută introduci URL-ul site-ului tău (de ex: https://iamntz.com/cgi-bin/update_proiect.sh)

Cam atât. De fiecare dată când faci push, serverul va fi actualizat. Există un delay de câteva secunde, dar este mai bine decât să lucrezi prin FTP, nu? :)

Poți adăuga mai multe servere pe bitbucket (test, producție) și să faci pull de pe branch-uri separate.

windows apple dropbox facebook twitter