Archivos Mensuales: junio 2010

Compañeros del trabajo

Normalmente uno cuando tiene una actividad se relaciona con gente, de todas las edades, formas y especies. Por lo general uno va “pegando onda” con los que son de su estilo, tiene algo en común o les interesan cosas relacionadas: es de esta forma que comienzan las conversaciones.

Una actividad importante en toda persona es el trabajo. Ya que uno pasa la mayor parte del día en éste: esto es porque si nos ponemos a pensar en un trabajo tipo de 8hs por día, sería más o menos así el cálculo: 8hs para dormir + 8hs de trabajo + 2hs de almuerzo y cena (supongamos que sólo nos tomamos una hora para cada cosa, lo cual es poco). Esto suma 18hs, por lo tanto nos quedan 6hs para desarrollar nuestras actividades de todos los días.

Pensemos además, que tenemos una actividad extra, pudiendo ser: hacer un deporte, estudiar algún idioma, ir a la facultad, y a ésto además hay que sumarle la familia, la novia, los amigos, y todas las personas con las que nos gusta pasar un buen rato. ¿¡Cómo hacemos para manejar todos estos tiempos!?

Un punto importante en esto que estoy diciendo es que la mayor parte de nuestro tiempo la pasamos trabajando, o en el trabajo al menos y relacionándonos con la gente del laburo. Es por esto que hace un tiempo me puse a pensar en cómo es la relación que tengo con esta gente, ¿porqué los quiero? ¿porqué me quieren? ¿cuánto tiempo físico realmente paso con ellos?

Personalmente, tengo un trabajo que desempeño por internet (vió?) desde mi casa y sólo. Conozco personalmente a la gente con la que trabajo, hemos compartido algún que otro PyCamp y demás eventos de Python y todos me caen bien, me parecen buenas personas y son buena onda. Pero, realmente ninguno era mi amigo antes de comenzar a trabajar en esta empresa, sino que la relación personal se desarrolló fuertemente una vez que comencé a trabajar con ellos.

¿Entonces? ¿Qué es lo que estoy pensando?… ¿Qué relación tenemos con ellos “en el trabajo”?. Entre otras cosas, esta pregunta es la que me inspiró a escribir este post ya que las conversaciones normalmente se resumen a esto (“dramatización de una conversación en el canal de la empresa”):

[9:14] humitos: buen día
[9:18] scoobygalletas: humitos: hola viejo
....
[9:50] perrito666: buenas
[9:52] humitos: perrito666: hola, ¿cómo andás?
....
[10:02] humitos: cómo puedo hacer cambiar el directorio dónde se guardan los archivo en Django?

Otro ejemplo, más específico es cuando hablamos directamente con nuestro Project Manager, osea, en vez de tirar una pregunta al canal lo hacemos de forma específica a alguien:

[11:13] humitos: hola che, ¿cómo andás?
[11:13] humitos: te quería preguntar cómo hacer para ocular el formulario de comentarios en el sitio, usamos jQuery?
[11:14] Darni: hola, bien
[11:14] Darni: sí, dale con eso

¿Se entiende lo que quiero mostrar? La principal de esto, es que saludamos “formalmente” y preguntamos cómo andamos para no quedar mal simplemente y no realmente porque nos interese chatear de eso, tampoco hablamos de qué hicimos ayer, o cómo nos fue en tal o cual evento que teníamos en estos días.

Lo que quiero decir es que tenemos poca comunicación “social” con la gente que más tiempo pasamos en el día, en la semana y en la vida (aunque el trabajo cambie… sigue siendo “la gente del laburo”).

He pensado que esto podía ser por el tipo de trabajo que tengo, que es por internet y quizás “da fiaca” chatear sobre cómo estamos y cosas por el estilo, pero no creo, nos dedicamos a esto, estamos todo el día en la PC así que estamos acostumbrados a chatear.

Además, hace dos años atrás trabaja en Santa Fe en un edificio al cuál iba mucha gente y en la oficina en la que trabajaba éramos 8 personas, y las conversaciones eran muy similares a lo que mostré arriba, con la diferencia de que esta era personal y debido a eso, quizás duraba un poquito más: en vez de 1 minuto entre “Hola, ¿cómo estás?” y un simplemente “Bien” había un poquito más de diálogo, pero no superaban los 15 minutos. No quiero decir que no hablaba con mis compañeros del trabajo, sí hablaba, pero no de algo “social” sino más bien que era siempre sobre lo que estábamos haciendo, lo nuevo que había salido, lo que había leído y cómo podíamos encarar el problema que estábamos teniendo.

Entonces, ¿qué es lo que nos limita a tener una conversación “natural” con los compañeros de laburo? ¿estamos tan hasta las manos con los tiempos como para descuidar la parte humana?

GREP_OPTIONS is the evil

Sí, cómo dice el título: no es nada bueno tener la variable de entorno GREP_OPTIONS configurada en el entorno en el que se está trabajando.

La semana pasada tuve varios problemas por esta misteriosa variable, pero vamos de a poco contando porqué la configuré y porqué me causó tantos problemas.

El motivo por el cuál configuré esta variable es porque me gustan un par de opciones de grep y no las quiero escribir cada vez que lo uso a este comando, es similar a un alias, pero funciona de otra forma.

Por ejemplo, si configuro un alias de esta forma:

alias grep='grep --color'

cuando ejecuto grep en la terminal, bash hace la sustición de “grep” por “grep –color” antes de ejecutar el comando “grep”.

Por el contrario, si seteamos la variable GREP_OPTIONS de esta forma:

export GREP_OPTIONS='--color'

cuando ejecutemos en una terminal “grep” bash ni se entera de que está esta variable configurada y es el comando grep quién lee esta variable para tomar las configuraciones del entorno.

Normalmente, esto no causa ningún problema, siempre y cuando configuremos opciones de grep que no modifiquen la salida. En cambio, si usamos opciones como –line-number que agrega el número de la línea en dónde matcheo la expresión que pusimos esto puede causa problemas.

Hay programas, scripts, y demás, que esperan una salida en particular de un comando y a esta se la entuba (mediante un pipe |) y posiblemente luego se la pase mediante un sed para tomar la parte relevante. Entonces, ¿qué pasa si agregamos un número de línea al principio de cada línea en la que la expresión regular matchea? es simple: el programa crashea.

Esto me paso utilizando virtualenvwrapper, ya que utiliza este comando para ubicar el PATH de virtualenv:

humitos@eulogia:~$ (\which virtualenv | grep -v "not found")
/usr/bin/virtualenv
humitos@eulogia:~$

Ahora, si activamos esta variable para que muestre el número de línea… Veamos que pasa y porqué falla:

humitos@eulogia:~$ export GREP_OPTIONS='--line-number'
humitos@eulogia:~$ (\which virtualenv | grep -v "not found")
1:/usr/bin/virtualenv
humitos@eulogia:~$

Lo mismo sucede si creamos un alias:

humitos@eulogia:~$ unset GREP_OPTIONS
humitos@eulogia:~$ alias grep='grep --line-number'
humitos@eulogia:~$ (\which virtualenv | grep -v "not found")
1:/usr/bin/virtualenv
humitos@eulogia:~$

Sinceramente, este problema es muy básico, pero en diferentes scripts de configuración del sistema operativo o en scripts que se utilizan para compilar programas y librerías, te aseguro que puede ser un gran dolor de cabeza debuggear porqué no está funcionando como uno espera.

Referencias y links:

Seguir

Get every new post delivered to your Inbox.

Únete a otros 420 seguidores