Report inadequate content

Trucos in Harecoded

Mails perdidos en Gmail por redireccionamiento [Solucionado]

El problema

Seguro que no soy el único que tiene más de una dirección de correo electrónico. En muchas ocasiones, por orden o por practicidad, configuramos nuestras múltiples direcciones de correo electrónico para que podamos recibirlo en un mismo buzón.

Cuando alguna de esas direcciones está configurada en Gmail, en ocasiones, podemos experimenter pérdida de mensajes.

El motivo

Gmail pasa todo el correo entrante por un motor de detección de correo sospechoso de ser no deseado. Esta carpeta siempre la tenemos accesible para, (recomendable), poderle echar un ojo de vez en cuando y corregir el filtrado de Google. De esta forma vamos haciendo el filtro más efectivo.

El problema viene cuando, por tener el correo redirigido desde una cuenta a otra, el filtro de la primera es el que descrimina el mensaje. En ese caso ni nos enteramos del mensaje y solamente podemos actuar en consecuencia entrando a la primera cuenta. Cosa que... no solemos hacer.

La solución

Debemos entrar al buzón de la cuenta de correo donde se envían los mensajes, es decir, la que está configurada para reenviarlos a nuestro buzón final. 

Accedemos al menú de configuración de opciones y filtros.

Una vez ahí creamos un filtro y, en el campo "Tiene las palabras", escribiremos "is:spam" (sin comillas).

 TAGS:

Pulsamos en "Crear filtro con esta búsqueda".

Y, en la pantalla dónde nos preguntan cómo actuar marcamos la casillas "Nunca enviar a Correo no deseado".

 TAGS:

Con este pequeño truco, todo el correo se nos enviará a la dirección final donde esperamos recibirlo y podremos filtrarlo, de forma automática, según nuestras preferencias.


Fotos de stackexchange.com

Convertir de ISO a UTF-8 por línea de comandos

 TAGS:Esta mañana he tenido que utilizar un .CSV generado desde Excel.

Al acceder a él desde la línea de comandos me he encontrado que se perdían todos los acentos. Un problema ya clásico este de "los carácteres especiales".

Gracias al comando 'file' he podido descubrir la codificación que Excel le da a nuestro fichero en el momento de hacer la exportación.

>file nombre_fichero.csv
nombre_fichero.csv: ISO-8859 text, with CRLF line terminators

Lo único que he tenido que hacer es convertirlo en la misma terminal a UTF-8. Conviene fijarse en que, iconv utiliza ISO-8859-15 en lugar del ISO-8859 que me ha devuelto file:

> iconv -f ISO-8859-15 -t UTF-8 fichero_origen.csv > fichero_convertido.csv

Con esto ya tengo en fichero_convertido.csv los datos con el formato esperado.
Suerte.

Evitar que Chrome lance a Google tu url como búsqueda

El problema

Como desarrollador cada vez me siento más cómodo trabajando con Google Chrome pero hay una cosa que muchas veces me hace perder algo de tiempo:

En ocasiones, al intentar buscar una url poco "normal", como puede ser en un dominio típico en un entorno de desarrollo, Chrome detecta que no es una url válida y la lanza contra Google en forma de búsqueda.

Un ejemplo

Queremos acceder a nuestra working copy con una url como ésta: development_area/test_script.php

 TAGS:

 

 

Cuando pulsamos Enter, Chrome nos lleva a esta pantalla por tratarse de un dominio que, bajo su opinión, es inválido:

 TAGS:

 

 

 

 

 

La solución

La solución pasa por cambiar el buscador por defecto de Chrome.

Vayamos a chrome://chrome/settings/ y pulsemos en "Administrar motores de búsqueda..."

 TAGS:

 

 

 

 

 

 

 Ahora, elige cualquiera de los que hay y lo modificamos escribiendo 'null' en el campo del medio y http://%s en el de la derecha. Para poder editarlo sólo hay que pulsar sobre lo que ya hay escrito.

Ahora pulsa en "Establecer como predeterminado". 

 TAGS:

 

Lo sé!, es una de esas pequeñas cosas que mejorán tu vida ;).

 

Fuente: http://superuser.com/questions/354338/force-chrome-to-open-urls-as-urls-instead-of-searching

Mysql: Llenar tabla con datos aleatorios (de una lista)

En alguna ocasión nos hemos encontrado con la necesidad de actualizar / insertar registors de una tabla con elementos aleatoris a partir de una lista.

Esta operación es especialmente útil cuando queremos crear datos "dummy" para entornos de desarrollo.

El ejemplo de este post es para MySql:

UPDATE files f SET license_type = (SELECT ELT(0.5 + RAND() * 2, 'Free', 'Try' ) )

Saltar a página siguiente en direcciones secuenciales

En muchas ocasiones, en un sitio web nos encontramos una url del tipo:

http://url.ltd/path?id=XXXX

Donde XXXX es un identificador. En ocasiones este identificador es la página que estamos viendo y, en otras, el id del propio elemento.

Imagina, por ejemplo, una lista de perfiles de usuarios, donde el id fuera secuencial. Si quisieras verlos todos tendrías que ir cambiando este número o volviendo a la lista de usuarios y haciendo click en el siguiente.

He hecho un pequeño bookmarklet que permite ir saltando al siguiente elemento de forma automática.

Símplemente, arrastra este link a tu barra de bookmarks y ya tendrás la opción:

Siguiente

Por ejemplo, lo puedes probar con esta página web:

http://www.harecoded.com/page/1
http://blog.reformapisos.es/page/1

 

Autocompletar hosts al escribir ssh en la terminal

Esta mañana mi compañero Borja me ha enseñado un pequeño truquito para olvidarse de los bookmarks en la terminal. Se trata de autocompletar el comando ssh con los hosts conocidos.

De este modo, cuando escribes ssh en la terminal puedes darle al tabulador para que sugiera o escriba el resto de host por ti. Ejemplo:

 -

Existen múltiples maneras de hacer esto, leyendo configs con puertos y otras barbaridades, pero esta es realmente simple y efectiva y sin duda la que más me gusta. Lo que hace es leer el fichero de hosts conocidos (~/.ssh/known_hosts) y sugerirlos en el autocomplete. Por si no recuerdas qué guarda ese fichero son todos aquellos servidores que verificaste a la pregunta tipo:

The authenticity of host 'manolete (172.22.195.142)' can't be established.
RSA key fingerprint is 7d:00:92:5f:c9:2b:c7:f2:37:fc:5e:40:ce:0e:4d:d1.
Are you sure you want to continue connecting (yes/no)?

El comando, que deberías copiar y pegar en tu ~/.bash_profile es este:

complete -W "$(while read line; do echo ${line%%[, ]*}; done \
< ~/.ssh/known_hosts)" ssh

Ojo, esta es la versión de Mac.

A ahorrar tiempo!

Contar veces que se pide una URL (y las que no es esa URL)

Hay veces que queremos saber cuántas veces se ha pedido una URL en nuestro servidor y Google Analytics o otro servicio de monitorización basado en Javascript no está disponible. Entonces siempre podemos recurrir a la fuente original de datos, los logs de acceso (esos gran incomprendidos y frecuentemente abandonados) de Apache, Nginx o donde sea.

Si por ejemplo queremos saber cuántas veces se ha pedido la página /abc.html en el mes de febrero (2012_02) y tenemos los logs segmentados por día, será tan sencillo como lanzar un:

grep -c  "GET /abc.html" /var/log/apache/access_2012_02_*

Similarmente, podemos obtener el número de peticiones que NO contienen esa petición añadiendo el parámetro -v:

grep -vc  "GET /abc.html" /var/log/apache/access_2012_02_*

La ubicación exacta de los blogs está declarada en vuestra configuración de Apache o Virtualhosts bajo la directiva AccessLog.

Activar y cambiar los colores de la terminal + Prompt

Ya uses iTerm, Terminal o cualquier otra herramienta en Mac, para ver y tunear los colores de tu terminal basta con editar el fichero ~/.bash_profile e incluir lo siguiente:

export CLICOLOR='true'
export LSCOLORS="gxfxcxdxbxegedabagacad"

Y conseguirás algo parecido a esto: TAGS:

La primera línea activa los colores, la segunda dice qué colores usar. Cuando guardes el fichero y abras de nuevo la terminal ya verás los colores. Si no te gustan siempre puedes poner los tuyos usando esta referencia:

a  black
b  red
c  green
d  brown
e  blue
f  magenta
g  cyan
h  light grey
A  block black (gris oscuro)
B  bold red
C  bold green
D  bold brown (amarillo oiga)
E  bold blue
F  bold magenta
G  bold cyan
H  bold light grey
x  color por defecto

Además, puedes cambiar la apariencia y modificar tu prompt añadiendo a continuación en tu .bash_profile alguna de estas líneas de ejemplo:

# Referencia de variables Prompt:
# \u Username, \h Host, \w Path, tput color definition

# Ejemplo 1:
# export PS1='\[$(tput setaf 3)\]\u@\h:\[$(tput sgr0)$(tput setaf 5)\]\w\[$(tput sgr0)$(tput setaf 2)\] \[$(tput sgr0)\]$ '

#Ejemplo 2:
# export PS1='\[$(tput setaf 7)\]\u@\[$(tput setaf 2)\]\h:\[$(tput sgr0)$(tput setaf 4)\]\w\[$(tput sgr0)\]$ '

#Ejemplo 3, Minimalista (solo path en color):
# export PS1='\[$(tput sgr0)$(tput setaf 4)\]\w\[$(tput sgr0)\]$ '

Descomenta la línea con el export (quitar la almohadilla #) que quieras probar y comenta el resto para ver los distintos ejemplos de prompt. Recuerda que debes volver a abrir la terminal o abrir una pestaña nueva para ver los cambios aplicados si es que los has puesto en bash_profile. Para más comodidad siempre puedes ejecutar los comandos en la terminal y luego al encontrar el perfecto guardarlo en el fichero.

Conectar por SSH sin password (autenticación de clave pública)

 TAGS:

Esta es una de aquellas cosas que uno hace una y otra vez y al final pierde 10 minutos intentando recordar los comandos o buscando la información.

Para conectar a un servidor remoto por SSH sin usuario ni contraseña todo lo que hace falta es compartir una clave entre cliente y servidor. Los pasos son "mu" sencillos:

  1. Asegurarse que la carpeta .ssh existe en el servidor al que nos queremos conectar
  2. Crear una clave RSA pública en la máquina cliente (la que se conecta):
    ssh-keygen -t rsa
    Cuando se te pida por un password, dale al enter sin poner ninguno (este es el propósito del artículo, sin passwords)
  3. Copiar la clave pública en el servidor:
    scp ~/.ssh/id_rsa.pub usuario@servidor.com:.ssh/authorized_keys2

    Puedes omitir la parte usuario@ si te conectas con el mismo usuario.

Y esto es todo amigos. En la siguiente conexión por SSH ya no se pedirá de nuevo el password.

Importante:

A partir de este momento, si alguien robara la clave pública que has guardado en ~/.ssh/id_rsa tendría acceso completo a tu servidor. Más vale que la protejas bien :)

Si dejas un password en la autenticación RSA puede ser una buena idea desactivar en el servidor el acceso SSH vía login/password y dejar sólo autenticación por clave.