Subir fotos desde android a Google +

Si habéis intentado subir alguna foto desde la aplicación de Google + de android a la página, la única opción que tenemos es la de Instant Upload, que lo que viene a significar es que en cuanto se hace una foto con el móvil, se sube a un albúm privado de Google+ y luego tú ya la compartes como quieras. El problema viene, que la aplicación únicamente mira en el directorio de la cámara del móvil, si estás haciendo fotos con otra aplicación o es una captura de pantalla, esas fotos no se podrán subir a Google+. La solución viene en usar Picasa, que es el servido de Fotos de Google que está sincronizado a su vez con Google+ y por suerte la aplicación de Picasa sí permite subir cualquier foto.

Una vez que lo tengamos instalado, primero nos vamos a Ajustes> Cuentas y sincronización>NUESTRA CUENTA DE GOOGLE>y deseleccionamos Sincronizar Picasa Web. Con esto evitamos que en la aplicación Galeria nos aparezcan todas las fotos de picasa lo cual lo hace molesto.

Lo siguiente, es mediante la aplicación galería ir a la foto que queramos subir y pulsar en el botón de opciones del móvil para que nos aparezca el menú compartir:
SC20110813 201736

Y seleccionamos picasa
SC20110813 201746

Al ser la primera foto que vamos a subir, tenemos que crearnos un albúm que llamaremos por ejemplo: Fotos Movil. En este nuevo albúm iremos subiendo todas las fotos que queramos ir metiendo en google+

Y con eso ya nos aparecerá en google+ para hacer lo que queramos con ella. Realmente la aplicación de Google+ funciona bien, no le hace falta el subir fotos a un album, por que google para eso ya tenemos picasa. Pero por ejemplo si yo quiero poner en un comentario una foto, me hace falta seguir este método, por que google no implementa el compartir una foto en un comentario nuevo.

Espero que haya servido de ayuda si tenéis cualquier duda dejar un comentario.

Generando nombres aleatorios desde terminal

Hace años, cuando usaba linux, me hice un script para generar nombres-palabras, hoy lo he estado buscando para ponerle nombre al movil, y como es lógico ese script se perdió. Así que he decidido volver a hacerlo por que nunca está de más tenerlo, y lo publico aquí para quien lo quiera.

#!/usr/bin/env bash
###########################
#Modo de ejecutar el script:
# ./names.sh 'TIPO' 'LETRAS'
# TIPO= nombres, palabras
# LETRAS:
# Palabras que empiecen por s : ^s
# Palabras que contengan s, w, b : s.w.b
# Ejemplo:
# Nombres que empiecen por 's' y contenga 't' y 'u'
# $./names.sh nombres ^s.t.u
# Palabras que empiecen por 'w' y contenga 'b' y 'l'
# sh names.sh palabras ^w.b.l
#––––––––––––––––––––––––––––
#############################
#Diccionarios
# Diccionarios por defecto en el directorio /usr/share/dict
# se encuentra en los sistemas unix.
# puedes poner la ruta de tus propios diccionarios
# Nombres propios
NOMBRES="/usr/share/dict/propernames"
# Palabras
PALABRAS="/usr/share/dict/words"
#––––––––––––––––––––––––––––
if [[ $1 == nombres ]]; then
echo "Diccionario Nombres propios: " $NOMBRES
cat $NOMBRES | tr '[A-Z]' '[a-z]'|grep -i $2
elif [[ $1 == palabras ]]; then
echo "Diccionario Palabras: " $PALABRAS
cat $PALABRAS | tr '[A-Z]' '[a-z]'|grep -i $2
fi

Considero que el script está bien comentado, si alguien tiene alguna duda que me escriba un comentario!

Moviendo ficheros con automator

Una de las herramientas que tiene Os X y está algo escondida,son las acciones de carpeta. Con las acciones de carpeta podemos asignar scripts y tareas automatizadas cada vez que en una carpeta se añada un fichero nuevo.
Yo tengo una acción de carpeta, para que todos los ficheros .torrent que descargo en la carpeta Descargas se me muevan a la carpeta en la que transmission añade automáticamente los torrent que se añadan a ella.
Para hacer la acción de carpeta, ejecutamos Automator y creamos una nueva Acción de carpeta.
Añadimos las acciones Buscar Items del finder y Trasladar items del finder. Nuestra acción debe tener el siguiente aspecto:

Captura de pantalla 2011 07 23 a las 16 11 52

en Buscar items del finder, pondremos la carpeta Descargas que es la que queremos observar para copiar los ficheros,y en trasladas items del finder pondremos la carpeta destino.

Una vez que lo tenemos, guardamos la acción de carpeta, y cada vez que haya un fichero torrent en la carpeta descargas la moverá a la que le hayamos indicado.

Programar Arduino desde consola

Siguiendo con los post de programación sobre arduino, hoy voy a explicar como programar arduino desde la linea de comandos.
El IDE de arduino es bastante básico y en algunos casos los editores de texto que usamos, ya puede ser VIM, Textmate o similares, son mejores a la hora de programar.

Para escribir este artículo, me he basado en el que escribió Syvic que explicaba cómo usar arduino desde un sistema linux. Prácticamente es lo mismo, lo único que cambia es la manera de instalar los programas que necesitamos.

Requisitos

1. pyserial
Módulo que añade comunicaciones con el puerto serie para python. Para instalarlo, lo descargamos nos vamos al directorio donde lo hayamos descomprimido y desde consola ejecutamos

sudo python setup.py install

2. scons
Son unas herramientas para compilar programas. Para instalarlo actuamos igual que con pyserial. Descargamos, descomprimimos y desde el directorio en el terminal ejecutamos

sudo python setup.py install

3. arcsons
Para terminar nos tendremos que descargar el fichero SConstruct. Este fichero lo tendremos que tener siempre a mano. Es necesario que lo pongamos siempre en el directorio donde tengamos el fichero .pde del programa.
Este fichero necesitamos editarlo para indicarle qué arduino tenemos. Para ello lo abrimos y en la linea 62

ARDUINO_BOARD = ARGUMENTS.get(‘ARDUINO_BOARD’, ‘atmega328’)

le indicaremos que placa tenemos, escribiendo alguno de los siguientes modelos: pro328 mini pro5v328 mega atmega328 bt328 atmega8 atmega168 pro diecimila lilypad pro5v lilypad328 uno bt fio y mega2560

Creando el proyecto
Una vez que tengamos los programas instalados, es hora de crear el primer proyecto. Para ello creamos el directorio donde guardaremos el fichero .pde y el SConstruct.

$mkdir Blink

y creamos el fichero PDE dentro de ese directorio. Es necesario que la carpeta y el fichero pde se llamen de igual forma.

$mate Blink/blink.pde

NOTA: yo uso textmate si usas otro editor como por ejemplo vim, en el comando anterior se sustituye ‘mate’ por ‘vim’ o el comando que uses habitualmente.

Escribimos en el fichero el programa que queramos cargar al arduino y guardamos los cambios.
Una vez que ya tenemos el fichero preparado copiamos el fichero SConstruct en el directorio actual, y ejecutamos scons

$scons

En este momento scons, compila el fichero .pde en un fichero .hex listo para ser cargado en arduino.Al terminar nos devolverá el siguiente mensaje:

scons: done building targets.

El paso siguiente será cargar el fichero .hex en el arduino.

$scons upload

Cuando termine, scons devolverá el mismo mensaje que antes.
Si en nuestro programa estamos trabajando, mandando información al puerto serie, para leelar en el ordenador, podemos verla en consola con el comando:

$screen /dev/tty.usbserial*

Conectar altavoces 5.1 a un Macbook Pro

Cuando me compré el macbook Pro, una de las cosas que deje de usar fueron los altavoces 5.1 que tenía para el ordenador de sobremesa. A pesar de que el macbook cuenta con salida óptica de audio los altavoces no disponen de esa entrada. Estuve buscando tarjetas de sonido externas, pero las que encontraba eran caras y necesitaban de un puerto USB para que funcionaran(Drivers y demás) yo lo que quería era un aparato independiente que le enchufara el cable óptico y me sacara la señal al 5.1.

Un día navegando por Dealextreme encontré un decodificador a 5.1

Window

que era lo que estaba buscando, este decodificador junto con el cable de salida TOSLINK a mini-TOSLINK

Window 1

A parte es necesario un conversor de enchufe, ya que el que trae el decodificador es de los planos de USA, pero sin mayor problema baje con el enchufe a los chinos de al lado de mi casa y me dieron un adaptador universal, por el módico precio de 90 cts.

Intercambiando información con Arduino

Después de mucho tiempo, retomo el tema de programación de arduino en mac. Os voy a explicar como intercambiar información entre arduino y un ordenador.
Las posibilidades de arduino por si solo son inumerables, pero si le añadimos la capacidad de interaccionar con un ordenador, abrimos la puerta a muchos más proyectos, o funcionalidades nuevas para nuestros proyectos.

Mandar información desde arduino

Lo primero que vamos a ver es cómo mandar información por el puerto serie por arduino, voy a basarme en el ejemplo ‘Blink’ para mostrarlo:

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output:
Serial.begin(9600);
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // set the LED on
Serial.println(“Encendido”);
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
Serial.println(“Apagado”);
delay(1000); // wait for a second
}

Lo primero de todo es añadir en el Void Setup, la instrucción Serial.begin(9600) de este modo inicializamos la utilización del puerto serie. Lo siguiente será, a lo largo de nuestro código, mandar la información que nosotros queramos mediante Serial.println(“Encendido”) en este caso estamos mandando la palabra on. Aquí podríamos poner lo que quisieramos, incluso una variable para que mandara su valor.

El siguiente paso será recibir esa información en el ordenador, al estar en el puerto USB, tendremos muchas formas de leerlo.

Serial Monitor Arduino

Lo más sencillo es usar el Serial Monitor del propio IDE de arduino. Este sistema es únicamente de revisión del código, es decir, seguir por dónde va el programa. En caso de que estemos probando una función y no queramos activar una salida podemos mandar información por el puerto serie y ver que funciona correctamente.

Captura de pantalla 2011 03 19 a las 18 41 31
Captura de pantalla 2011 03 19 a las 18 42 59

Python

Lo siguiente y un poco más potente es a través de un lenguaje de programación como pueda ser Python. Gracias a esto podemos tomar decisiones en nuestro programa con lo que pase en la placa arduino. El código es el siguiente:

import serial
ser = serial.Serial(‘/dev/tty.usbserial-A8008qpV’, 9600)
dato = ser.readline()
if dato == ‘on\r\n’ :
print(“encendido”)
if dato == ‘off\r\n’ :
print(“apagado”)

Lo primero es importar la librería serial para trabajar con la lectura del puerto serie, en el siguiente comando configuramos el puerto. Con el comando ser.readline() lo que hacemos es leer la información del puerto serie, y posteriormente trabajar con ese valor en nuestro programa.

En este ejemplo, en el programa de arduino mandamos las palabras ‘Encendido’ y ‘Apagado’ pero con el comando Serial.println, que añade un retorno de línea a la cadena, es por ello que debemos hacer la comparación en python con ‘Encendido\r\n’ y ‘Apagado\r\n’ que es realmente lo que está mandando por el puerto arduino

En el siguiente post, explicaré, cómo mandar información del ordenador a arduino para por ejemplo, encender un led. Pero la estructura del programa es bastante similar.

Vía:
Página arduino
Página Python

Falso Imap en Gmail

Cuando configuramos nuestro correo electrónico para leer a través de un programa, ya sea Mail, Thunderbird, nuestro propio movil, etc… Tenemos dos maneras POP3 e IMAP, las diferencias las explican en este blog claramente

  • POP: Comunicación en 1 sentido. Se establece comunicación con los servidores de Google y se descargan los datos; pero eso es todo. Las cosas que hagas en tu dispositivo no quedaran reflejadas en el servidor. Es decir, si lees un mensaje en tu móvil y luego accedes a tu cuenta Gmail, verás el mismo mensaje marcado como no leído.
  • IMAP: Comunicación en ambos sentidos. A diferencia de POP, se establece comunicación con el servidor y se sincronizan los cambios automáticamente. Cuando accedes a Gmail desde un navegador web, las acciones que has llevado a cabo anteriormente desde un móvil o navegador web, aparecerán en Gmail automáticamente. De esta manera no tendrás que releer o reorganizar los mensajes 2 veces. Por tanto, es realmente útil cuando accedes a Gmail desde múltiples dispositivos.

A grandes rasgos la diferencia es esa, cuando miramos el correo a través de una aplicación un correo electrónico, se lo decimos al servidor y la siguiente vez que veamos ese correo desde otro sitio, ya nos aparecerá como leido.

Gmail añade una opción a la hora de configurar su correo por POP y es marcar como leído el correo que se lea por este sistema.
Para activarlo nos vamos a la configuración de gmail y en la opción de POP/IMAP en las segundas opciones marcarmos la opción: “Marcar copia de Gmail como leida”

Captura de pantalla 2011-01-02 a las 13.52.46.png

De esta manera, por ejemplo, cuando leamos un correo desde nuestro teléfono móvil configurado, mediante POP, se lo haremos saber al servidor y ya lo tendremos leido.

Crear Filtros en Gmail

Una de las características más potentes de gmail son los filtros. Podemos crearnos un filtro para cualquier tipo de correo que nos llegue a nuestro correo. Por poner un ejemplo: Todos los correos que nos lleguen de Facebook, les podemos aplicar una etiqueta ‘facebook’, marcar cómo leidos y archivar para que no nos aparezca en el Inbox. Ya que, aunque de esto no voy a hablar, debemos intentar que el inbox de nuestra cuenta esté siempre vacío.

Nos vamos a nuestra cuenta de gmail. Y pichamos en Create a Filter

Captura de pantalla 2010-12-27 a las 21.31.48.png

Y nos aparecerán las opciones de los filtros

Captura de pantalla 2010-12-27 a las 21.33.21.png

En el apartado From: pondremos de dónde viene el correo electrónico. Podemos poner la dirección completa tipo pepito@gmail.com. Este filtrado es útil cuando el correo siempre va a venir de la misma dirección. Pero cuando recibimos correos de distintos usuarios pero de un mismo servidor, por ejemplo de Facebook, lo que podemos hacer es un filtrado por servidor. En el mismo apartado de From: podemos poner @facebook.com y todos los correos que nos lleguen de Facebook, sin importar lo que haya delante de @, serán filtrados. Si queremos poner varías cuentas de correo tendremos que usar el operador booleano OR. Si queremos filtrar todos los correos que nos manden nuestros amigos usaremos una cadena parecida a esta: pepito@gmail.com OR juanito@yahoo.com OR carlos@hotmail.com.

La siguiente casilla es To: Otra de las características algo ocultas de gmail es la
creación de cuentas de correo dinámicas. Si nuestra cuenta de correo es pepito@gmail.com
podemos dar una dirección del estilo pepito+palabra@gmail.com para que nos manden correos.
Un caso práctico.
Yo tengo re-direccionado el correo de la universidad a mi cuenta gmail para poder leerlo asiduamente. Como los correos que voy a recibir van a ser muy variados y nunca sabré que formato siguen, lo que hice en la página de la universidad fue, que dirigieran todos los emails recibidos a la cuenta santiago.lopez.pina+universidad@gmail.com Y en gmail puse esa misma dirección en la casilla To: del filtro. De ese modo todos los correos que vayan a esta cuenta dinámica serán filtrados.

El resto de apartados Subjetc:, Has the words: y Doesn’t have: no tienen mucha mayor complicación.

Una vez que hemos puesto las direcciones que queremos filtrar pinchamos en Next Step

Captura de pantalla 2010-12-27 a las 22.10.21.png

Aquí configuraremos lo que queremos hacer con el email que nos llegue.

  • Skip the inbox Lo seleccionaremos cuando queramos que los correos no aparezcan en nuestra carpeta de inicio.
  • Mark as read Cuando queramos marcar como leidos los correos entrantes. (muy útil cuando queremos filtrar correos de alguna página de publicidad. En plan vodafone, telepizza, etc.)
  • Start it Para aplicar una estrella al correo y marcarlo como importante.
  • Apply the label: Esta es sin duda la más útil, aplica al correo la etiqueta que le indiquemos. las etiquetas son como carpetas dentro de nuestro correo.
  • Forward it: Para reenviar el correo a otra cuenta.
  • Delete it: Borrar directamente el correo que nos llegue.
  • Never send it to Spam Si alguna vez hemos recibido un correo importante y gmail lo ha puesto en Spam podemos decir que nunca más lo meta en esa carpeta seleccionando esta opción.

Para finalizar pulsamos en Create Filtery ya tendremos creado el filtro.

Instapaper y Kindle

Este es un artículo para enlazar los documentos que tengamos guardados en instapaper con el kindle.
Para el que no lo conozca, instapaper es una página en la que vas guardando artículos para su posterior lectura. Lo bueno del servicio es que ha incorporado recientemente la posibilidad de mandar los artículos diariamente a nuestra cuenta del kindle. Y vía WIFI descargarlos automáticamente en el ebook de amazón.
Lo primero que debemos hacer es hacernos una cuenta en instapaper y añadir los artículos a ella. La manera más cómoda es usando un bookmarklet que está disponible en la web
extras-bookmarklet.png

Lo siguiente es irnos al apartado Account en instapaper y pinchar en Manage My kindle Settings
Captura de pantalla 2010-12-26 a las 20.05.25.png
Configuramos cada cuanto queremos que nos manden los artículos e indicamos nuestra dirección de kindle
un poco más abajo de esto nos aparece una dirección de correo (del tipo kindle.xxxxx@instapaper.com), que es desde la que nos mandaran los artículos y tenemos que copiarla.

El siguiente paso es permitir que instapaper nos mande correo al kindle. Amazon, por seguridad, tiene una lista blanca para indicar qué direcciones de correo pueden enviarnos documentos.
Nos vamos a la página de configuración de nuestro kindle y en el apartado Your Kindle Approved E-mail List, agregamos la dirección que acabamos de copiar

Captura de pantalla 2010-12-26 a las 20.12.49.png

Y con esto ya estaría todo configurado, ahora sólo tendríamos que irnos al kindle y esperar a que instapaper nos mande los documentos todos los días, aparecerá en nuestro kindle de la siguiente manera:

screen_shot-15064.gif
al abrir el documento nos apareceran todos los artículos que hayamos guardado y podremos elegir el que queramos.
screen_shot-15065.gif
Una de las ventajas de Instapaper es que mantiene los links del artículos original, de manera que con el kindle y su wifi podríamos acceder a ellos en cualquier caso.
screen_shot-15066.gif

Esta es la manera de la que leo ahora mismo los artículos con el kindle, se puede acceder desde el kindle via wifi a Greader, pero la verdad no la recomiendo mucho, el navegador para visitar una página puntual está bien, pero para usarlo de manera continua deja mucho que desear.

Arduino en mac

Os voy a explicar como trabajar con la placa de Arduino en nuestro mac.
Yo compré arduino por internet en una tienda de electrónica americana, al cambio me salió el cacharro por 24€ con gastos de envío cuando en la mayoría de las tiendas electrónicas lo venden por 20€ más gasto de envío que suelen rondar los 10€ y tardaron 15 días.
Una vez que tenemos el Arduino lo primero que debemos hacer antes que nada es instalar los Drivers FTDIUSB para Snow Leopard, la versión que yo tengo instalada es la v2_2_14 hay una versión que en Snow Leopard no me los reconocía, con esto podremos comunicarnos con arduino, tanto a la hora de subir el programa como por comunicación serie.
Una vez instalado los drivers y reiniciado el sistema, instalamos y ejecutamos el entorno de desarrollo de arduino(ahora en adelante IDE), a día de hoy van por la versión 017, comentar que el IDE por defecto nos creará una carpeta en Documentos, donde se guardaran todos los programas que vayamos haciendo.

El entorno es muy sencillo, a simple vista un editor de texto más con resaltado de sintaxis. Lo primero que debemos hacer es decirle qué placa de Arduino tenemos.

Captura de pantalla 2009-10-27 a las 20.45.08

Ahora conectamos la placa al mac y le indicamos el puerto por el que debemos de comunicarnos.

Captura de pantalla 2009-10-27 a las 20.45.23

Tenemos que elegir la opción que sea parecida a /dev/tty.usbserl-XXXXXXX, si no aparece ninguna opción, es o bien no hemos conectado la placa al mac, o los drivers no están bien instalados.

Y ya lo siguiente es hacer nuestro primer programa, comentar que dentro del propio IDE tenemos muchos ejemplos de código, en el menú (File>Examples)
Una vez que tenemos el programa

Captura de pantalla 2009-10-27 a las 20.47.56

Compilamos el programa (Sketch>Verify/Compile) y luego transferimos al Arduino (File>Upload to I/O Board) o bien usar los botones de acceso directo que están en la ventana del entorno.

Captura de pantalla 2009-10-27 a las 20.48.08

Y con esto ya tenemos nuestro Arduino preparado para funcionar con nuestro mac. En el siguiente post, veremos cómo intercambiar información entre el mac y el Arduino, para por ejemplo, conectar un led conectado al arduino desde el mac.

Hay mucha información de arduino en internet, pero voy a intentar recopilar aquí algunos ejemplos para trabajar con el mac.

Vías: