Thursday, July 29, 2010

Com contolar processos que funcionen en mode text - Screen

Screen és un programa que permet (entre altres coses) controlar processos que funcionen en terminals remotament.

Funciona de la següent manera:

- Obrim una finestra, (que controlarem remotament). Per a fer-ho, des d'un terminal executem:
screen

- Obrim altres finestres des d'aquesta, des d'on podem cridar nous processos
Ctrl A + c (de create)

- Per a desacoblar les finesters
Ctrl A + d (de dettach)

Ara el terminal no conté els processos, i obrint-ne un altre els podem recuperar:
screen -r (de recover)

Per a més info: http://www.kuro5hin.org/story/2004/3/9/16838/14935

Thursday, July 22, 2010

Codificació de caràcters UTF-8 / ISO-8859-1

La codificació de caràcters pot portar molts problemes.
Aquí explica com s'ha de fer per convertir tot el sistema a UTF-8

http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html

Python - Profiling

Per a fer profiling amb python:

python -m cProfile -o cProfile_stats prog_python.py

El resum s'escriu al fitxer cProfile_stats. Per a llegir-lo:

python
>>> import pstats
>>> p = pstats.Stats('cProfile_stats')
>>> p.sort_stats('time').print_stats()

Més informació aquí: http://docs.python.org/library/profile.html

Wednesday, July 21, 2010

R - Problema al carregar una llibreria

M'he trobat amb el següent problema
  • Amb un usuari vaig instal·lar una llibreria.
  • Des d'un altre usuari (l'usuari apache www-data) volia carregar la llibreria però no podia.
  • Accedint com a super usuari em carregava la llibreria correctament.
Explicació:
  • Hi ha dos tipus de repositoris on s'instal·len les llibreries: als directoris locals dels usuaris i en global per a tots
  • Per defecte s'instal·len les llibraries als directoris locals dels usuaris
  • Només quan l'usuari no té /home és quan les llibreries s'instal·len en global.
  • Per a canviar d'usuari, si no en sabem el password, podem accedir primer al super usuari i després canviar a l'usuari en que volem: sudo su / su usuari2