Archive for May, 2008

Boicot la Download Day!?

Posted on May 29th, 2008 in De pe web, Events | 4 Comments »

Download Day este zi de sărbătoare: Mozilla lansează Firefox 3! O campanie a fost lansată pe www.spreadfirefox.com/worldrecord cu scopul de a înscrie acest moment în Cartea Recordurilor ca ziua cu cele mai multe download-uri ale unui software. Recunosc că este o iniţiativă de marketing foarte interesantă, şi asta când Firefox are cota de piaţă mai bună ca oricând.

Astăzi am stat 10 minute să îmi setez statusul la Yahoo! Messenger cu URL-ul mai sus menţionat ca să ajut la răspândit vorba, dar nu a mers (menţionez ca oricare alt URL sau string obişnuit este setat fără probleme). Iniţial am crezut că este un lag, până m-am prins că nu. Am rugat colegi cu sisteme de operare diferite (respectiv, OS X şi Ubuntu), deci clienţi de messenger diferiţi, fără niciun succes! Nu pot să cred decât într-un complot; vedeţi şi voi, înainte de a mă acuza de teoria conspiraţiei! .

Soluţia este să daţi click pe imaginea de mai jos şi să vă înscrieţi e-mail-ul (Pledge Now!), pentru a fi anunţaţi când vine the day of downloads!

Download Day 2008

1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 38%

Îmi iau bicicletă!

Posted on May 26th, 2008 in Personal | No Comments »

Dar înca nu m-am hotărât:

Black Label's Bike Kill on Flickr

sau

Tall Bike on Flickr

Acum zău, chiar îmi caut . E genul de alegere cu care mă confrunt, în general, când îmi cumpăr o componentă sau un sistem nou.

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4 out of 5)
Loading ... Loading …

Popularity: 29%

De ce ţi-e frică nu scapi

Posted on May 20th, 2008 in Personal | No Comments »

… ca de exemplu, să-mi uit charger-ul de la laptop acasă. A fost suficient să mă gândesc ieri la asta (deja îmi pun vreo 3-4 memento-uri pentru dimineaţă ca să mă trezesc, alarma nefiind îndeajuns — când mă gândeam aseară de ce nu mi-aş pune şi pentru charger, surprins fiind că nu l-am uitat niciodată până acum), iar azi în metrou, în drum spre serviciu, mi-am adus aminte că nu l-am luat… .

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4 out of 5)
Loading ... Loading …

Popularity: 25%

Cum ştergi exact ultima revizie dintr-un repository Subversion

Posted on May 18th, 2008 in Linux, Developer | No Comments »

Dacă ai făcut commit la ceva ce nu trebuia, sau nu la tot ce trebuia, sau pur şi simplu ai nevoie de asta din alt motiv, soluţia constă în câteva mişcări rapide. Cu magenta, am evidenţiat variabilele din comenzile de mai jos, adică ce trebuie înlocuit în funcţie de situaţia ta.

$ cp /path/to/repo /path/to/repo_backup -R

  • Am creat mai întâi un backup la structura de fişiere a repository-ului;
  • /path/to/ este calea către repository (atenţie, nu a lui working copy), iar repo este numele repository-ului; de exemplu, la mine ar putea fi /var/svn/repositories/test.

$ svnadmin dump /path/to/repo - - revision 0:n > dumpfile

  • Am făcut dump într-un fişier la toate reviziile între 0 şi n, inclusiv;
  • n este numărul reviziei dinaintea ultimei, n+1 fiind revizia curentă, la care renunţăm;
  • dumpfile este fişierul în care redirecţionăm output-ul comenzii, care altfel iese în stdout;
  • Metoda asta poate fi folosită şi pe post de backup la repository.

$ rm -rf repo

  • Am şters repository-ul, nu mai avem nevoie de el (încă avem repo_backup, dacă ceva nu merge bine de-acum înainte).

$ svnadmin create repo - - fs-type=tip

  • Am creat un repository gol, cu numele cel vechi;
  • Nu e suficient să creez doar directorul - când importăm mai târziu din dumpfile, vom primi erori dacă nu avem un repository gol;
  • Tipul repository-ului nou (bdb - sau - fsfs) trebuie să fie identic celui vechi. Înlocuieşte tip cu valoarea potrivită. Dacă nu eşti sigur care din ele este, poţi să-l afli din backup, cu comanda:

$ cat /path/to/repo_backup/db/fs-type

Trecem mai departe.

$ svnadmin load repo < dumpfile

  • Am importat conţinutul lui dumpfile, în repository-ul gol, nou creat.

În unele cazuri, mai trebuie ca owner-ul structurii de fişiere a repository-ului nou creat să fie identic cu cel al vechiului repository:

$ cd /path/to
$ ls -al | grep repo_backup
drwxr-xr-x 7 A B 4096 2008-05-18 01:28 repo_backup
$ sudo chown A:B -R repo

  • Privind iarăşi către backup-ul făcut înainte, am setat owner-ul recursiv pentru întreaga structură de fişiere a noului repository (deseori A coincide cu B);
  • În cazul meu, fluxurile SVN sunt servite de Apache (prin WebDAV), iar serverul Apache trebuie să aiba drepturi depline asupra directorului unde se află repository-ul; în cazul meu A = B = www-data (userul sub care rulează Apache sub Debian/Ubuntu). Creând acel repository la un pas anterior, owner-ul lui era utilizatorul de linux care a emis comanda .

Gata, asta e!

Un pas suplimentar, pentru cei ce folosesc un mediu Trac pentru urmărirea repository-ului SVN:

$ trac-admin /path/to/trac-environment resync

  • Am resincronizat mediul Trac (cache-ul lui intern, etc.), cu noul repository, care are mai puţin cu o revizie decât ştia Trac;
  • /path/to/trac-environment este calea către mediul Trac asociat repo-ului urmărit, de exemplu la mine ar putea fi /var/trac/test.

Note de final

Dacă doar vrei să schimbi comentariul de commit, autorul reviziei sau alte lucruri de genul ăsta, soluţia este alta - svn propset.

Working copy a rămas la revizia n+1 (dând acel commit total nefast) şi lucrurile o să-ţi cam crape în acest moment (am încercat svn cleanup şi alte variante => no use!). Soluţia este să faci un checkout nou într-un alt director şi apoi să mergi cu o unealtă specializată de tip diff (de exemplu, Araxis Merge sau WinMerge sub Windows) şi să faci un merge manual între cele două directoare. Dacă dai peste o soluţie mai buna, feel free to share it!

Ce am scris mai sus, merge de minune în linux (testat în Debian 4.0r3 cu svnadmin 1.4.2 şi trac-admin 0.10.3), în Windows nu am încercat / nu ştiu cum e. De asemenea, trebuie să ai şi drepturile potrivite pentru toate mişcările astea. Ce faci este pe riscul tău, dar dacă ai backup aşa cum am recomandat înca de la început, you should be fine.

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 33%

Ochelarii… Inspect

Posted on May 2nd, 2008 in Developer | No Comments »

Pentru că deja s-au adunat câţiva oameni care m-au întrebat la ce îmi folosesc “ochelarii”…

Great shortcut for Firebug's Inspect tool

Este un shortcut, nu foarte cunoscut, pentru Inspect din Firebug. Poate fi adăugat din Customise [Toolbar] la right click pe orice bară de instrumente, dacă ai Firebug instalat.

Îl găsesc foarte util, aproape şi uşor de atins.

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 28%