sábado, enero 31, 2015

Hacer copias de seguridad en Dropbox

Aprovechando la entrada anterior, Guardar cualquier carpeta en Dropbox, me gustaría comentar lo fácil que es hacer copias de seguridad de nuestros archivos en Dropbox.

Me refiero a hacer copias de seguridad de carpetas de documentos y programas que no están dentro de la carpeta Dropbox.

Como ya sabéis Dropbox es una herramienta excelente para tener copias de archivos en la nube, pero tiene la restricción de que sólo se sincronizan aquellas carpetas y archivos que copiamos dentro de la carpeta Dropbox.

Para hacer la copia de seguridad de carpetas que están fuera de la carpeta Dropbox, basta con crear un enlace simbólico desde la carpeta Dropbox a las carpetas deseadas.

De esta forma, selectivamente elegimos qué carpetas queremos tener sincronizadas en la nube como copia de seguridad y con la ventaja adicional de no duplicar archivos, con el consecuente ahorro de espacio en el disco duro.

Para ver cómo crear los enlaces simbólicos podéis consultar las siguientes entradas:

viernes, enero 30, 2015

Guardar cualquier carpeta en Dropbox


Pienso que a estas alturas todo el mundo conoce el servicio de almacenamiento en la nube Dropbox. Si sois usuarios de este servicio, sabréis que tiene una restricción importante: sólo se sincronizan las carpetas que estén contenidas dentro de la carpeta Dropbox.

Esto en un principio esto puede ser más que suficiente para la mayoría de los usuarios, pero para muchos puede suponer una importante restricción. Por ejemplo:

  • Imaginemos que queremos sincronizar en la nube algunas carpetas de imágenes, por ejemplo si estamos en Windows, que se encuentran dentro de "Mis Imágenes" o "Mis Documentos". Ahora mismo tendríamos que copiar las carpetas a la carpeta de Dropbox, con lo cual estamos ocupando el doble de espacio, o cortarlas de "Mis Imágenes" o "Mis Documentos" y moverlo a la carpeta Dropbox, con lo cual se nos empieza a desestructurar nuestro orden de ficheros.
  • Pensad que os gustaría hacer una copia de seguridad de algunas carpetas que están en alguna carpeta de trabajo, de algún programa o de cualquier información que no podéis mover a Dropbox o no queréis. Por ejemplo, suponed que queréis hacer una copia de seguridad de C:\Windows, por poner un ejemplo. No tendría sentido mover esta carpeta a Dropbox, ya que el sistema operativo necesita que todo esté en esa ruta para funcionar y además sería un desperdicio de espacio de disco duro.
Pues bien, hay una forma de lidiar con esas restricciones y poder sincronizar en la nube cualquier carpeta en Dropbox sin tener que copiar su contenido a la carpeta Dropbox: mediante el uso de enlaces simbólicos.

Si sois usuarios de linux, estaréis en general acostumbrados a usar el comando ln -s . Para los usuarios de Windows que no sepan crear enlaces simbólicos, podéis consultar la entrada Enlaces simbólicos en Windows donde describo cómo se pueden usar en este sistema operativo.

Una vez aclarado el uso de los enlaces simbólicos, os explicaré cómo podemos usarlos para que Dropbox sincronice las carpetas que queramos sin tener que copiarlas o moverlas a su carpeta.

El truco consiste sencillamente en crear enlaces simbólicos desde dentro de la carpeta Dropbox hacia las carpetas que queremos sincronizar. Haciendo referencia al ejemplo anterior de que imaginemos que queremos copiar la carpeta C:\Windows (no lo hagáis una copia de esta carpeta, a no ser que tengáis un buen motivo, es solo un ejemplo). Para ello sencillamente nos situaríamos en nuestra carpeta de Dropbox, y crearíamos desde ahí un enlace simbólico llamado por ejemplo Windows que apunte a C:\Windows.

¿Cómo lo hacemos?

  • Linux:
    • Abrimos un terminal
    • Accedemos a la carpeta de Dropbox (mediante cd a la ruta)
    • Creamos el enlace simbólico a la carpeta deseada
      • ln -s nombre_enlace ruta_a_la_carpeta
  • Windows
    • Accedemos a la carpeta de Dropbox desde el explorador
    • Copiamos al portapapeles la ruta a la carpeta (algo parecido a C:\Document abd settings\.... o C:\Users\....)
    • Pinchamos en el menú de inicio
    • Ejecutar: CMD (y presionamos ENTER) (Se abre una ventana de la consola con fondo negro)
    • Tecleamos: cd (seguido de un espacio, no presionéis ENTER)
    • Pinchamos con el botón derecho dentro de la ventana negra y le damos a Pegar en el menú emergente
    • Presionamos ENTER. Con esto hemos abierto una consola y accedido a la carpeta Dropbox.
    • Ahora desde el explorador de windows accedemos a la carpeta que queremos sincronizar en Dropbox (sin cerrar la consola que tenemos abierta).
    • Copiamos la ruta al portapapeles como hicimos antes
    • Volvemos a la consola
    • Ahora tecleamos:
      • Windows XP y Windows Server 2003:
        • linkd nombre_enlace (seguido de un espacio y pinchamos con el botón derecho en la consola y le damos a pegar).
        • Presionamos ENTER
      • Windows Vista y superiores
        • mklink /D nombre_enlace (seguido de un espacio y pinchamos con el botón derecho en la consola y le damos a pegar).
        • Presionamos ENTER
Siguiendo estos pasos conseguimos que Dropbox comience a sincronizar en la nube carpetas que están fuera de la carpeta Dropbox.

Ejemplos (partiendo que tenemos la consola abierta y habiendo accedido en ella a la carpeta Dropbox, como se ha explicado antes)
  • Linux: ln -s micarpeta /usr/micarpeta
  • Windows XP: linkd micarpeta C:\micarpeta
  • Windows 7: mklink /D micarpeta C:\micarpeta
Nota, para hacer esto en Windows XP y Windows Server hay que instalar un paquete extra de Microsoft, leed la entrada Enlaces simbólicos en Windows para ver cómo hacerlo y para más información.

Si Windows os diera algún problema, sencillamente abrid la consola en modo administrador.

Espero os sea de ayuda.

Enlaces simbólicos en Windows

Para los que hemos vivido en el mundo de linux durante muchos años, en el momento en que nos movemos a trabajar en Windows echamos de menos muchas utilidades y características. En particular una características que he usado mucho para la administración de carpetas y unidades es la capacidad de usar enlaces simbólicos.

Afortunadamente, en Windows, existe la capacidad de hacer este tipo de enlaces, con más limitaciones, pero que al fin y al cabo hacen su función.

Para los que no sepáis qué es un enlace simbólico os daré una pequeña explicación. Un enlace simbólico, en la jerga de un usuario de Windows no avanzado, se podría decir que es algo así como un acceso directo a una carpeta, una unidad de disco, etc.

Por poner un ejemplo, imaginad que en la ruta C:\MISCOSAS guardáis ficheros que os son útiles. Y queréis acceder a esa carpeta desde vuestro escritorio por comodidad. La mayoría de usuarios Windows crearía un acceso directo a C:\MISCOSAS y lo pegaría en el escritorio. Haciendo doble click accedería a la carpeta deseada.

Pues bien, los accesos directos en realidad son unos ficheros de extensión .LNK que le dice al sistema donde tiene que ir cuando uno hace doble click sobre ellos.

En cambio, los enlaces simbólicos digamos que es algo más sofisticado y se realiza a nivel de la capa de la estructura del disco duro, permitiendo hacer muchas más cosas que con los accesos directos y de manera muy limpia, como por ejemplo conseguir que Dropbox guarde cualquier carpeta del ordenador, no sólo lo que esté dentro de la famosa carpeta Dropbox, pero esto lo explicaré en otra entrada.
Lo primero es saber que en Windows una de las limitaciones es que solo funcionará con particiones NTFS, ya que es una característica de este tipo de particiones.

En versiones de Windows a partir de Windows Vista (Vista, Windows 7, Windows 8 o 8.1) el sistema operativo ya trae un comando para realizar este tipo de enlaces, llamado mklink.

Si estamos en versiones anteriores, como Windows XP, o Windows Server 2003 tendremos que instalar un paquete de recursos que ofrece Microsoft (que se puede descargar desde aquí). Si entráis en el enlace, veréis que muestra "Windows Server 2003 Resource Kit Tools", pero aunque diga Windows Server 2003, lo que uséis Windows XP también lo podéis usar. Una vez instalado, podréis usar el comando linkd como sustitutivo de mklink para estos sistemas operativos más antiguos.

Pues bien, sabiendo esto vamos a ver cómo creamos y borramos enlaces simbólicos. Lo primero es saber que para trabajar con enlaces simbólicos hay que hacerlo desde la consola; en windows la podéis abrir pinchando en el botón de inicio y tecleando CMD y dándole a ENTER (o RETURN) si estamos en versiones modernas de Windows o menu de Inicio -> Ejecutar -> Tecleamos CMD y presionamos ENTER. Se abrirá una ventana de consola (mucha gente la llama vulgarmente ventana de MS-DOS, por sus recuerdos pasados...)

  • Crear enlace simbólico:
    • Windows XP y Windows Server 2003:
      • Desde la consola (CMD), tecleamos linkd seguido del nombre del enlace que queremos crear y la ruta al que debe apuntar, es decir: linkd
    • Windows Vista y superior:
      • Desde la consola (CMD), tecleamos mklink /D seguido del nombre del enlace que queremos crear y la ruta al que debe apuntar, es decir: mklink /D
  • Borrar enlace simbólico:
    • Windows XP y Windows Server 2003:
      • Desde la consola (CMD), tecleamos linkd /D.
    • Windows Vista y superior:
      • Basta con eliminar el vínculo creado desde la consola o desde cualquier explorardor de archivos.

Veamos algunos ejemplos. Imaginad que tenemos una carpeta en C:\Usuarios\yomismo\micarpeta y queremos crear un acceso desde C:\ a esa carpeta por comodidad o por alguna otra razón. Imaginad que el enlace lo queremos llamar MIENLACE, es decir que si entrásemos a C:\MIENLACE veríamos el contenido de C:\Usuarios\yomismo\micarpeta.

Para crear el enlace, lo primero es entrar en la consola que expliqué más arriba (CMD) y ahora tecleamos lo siguiente:
  • Windows XP y Windows Server 2003: linkd C:\MIENLACE C:\Usuarios\yomismo\micarpeta
  • Windows Vista y superior: mklink /D C:\MIENLACE C:\Usuarios\yomismo\micarpeta
Si quisiéramos borrar el enlace lo podríamos hacer directamente desde el navegador de ficheros, es decir accediendo a C:\ y borrando la "carpeta" (enlace simbólico) MIENLACE. Al borrar esta carpeta no se borran los datos de C:\Usuarios\yomismo\micarpeta, ya que sólo es un enlace.

Alternativamente, en Windows XP y Windows Server 2003, desde la consola lo podríamos también hacer tecleando lo siguiente: linkd C:\MIENLACE /D

Los enlaces simbólicos tienen muchas utilidades. Espero que os sirva de ayuda.

sábado, julio 20, 2013

Fotos de la Alhambra de Granada

He subido algunas fotos recientes de la Alhambra de Granada y de Sevilla a RedBubble. Las muestro a continuación.

jueves, abril 19, 2012

Instalar y usar Subversion (SVN) en modo local en Windows e integración en Eclipse

Trabajando en casa en mis últimos proyectos de programación, echaba en falta un sistema de control de versiones para mi código fuente y usarlo de forma local en mi ordenador, es decir, sin disponer de un servidor externo que haga las veces de repositorio.

Como sabéis hay varios sistemas: CVS, Subversion, etc...

Me he decidido por Subversion (SVN). Como lo quiero instalar en una máquina Windows, he usado la versión binaria publicada aquí, desde donde se puede descargar.

Una vez descargada, la ejecutamos e instalamos. Ahora hay que crear los repositorios, para ello:

  • Abrimos una consola (Menú inicio -> Ejecutar -> CMD).
  • Creamos una carpeta de repositorio, yo por ejemplo la he creado en la raíz de la unidad C:
    • cd \
    • mkdir svnrepo
    • cd svnrepo
  • Ahora crearemos una carpeta en el repositorio para los proyectos. En mi caso como voy a guardar proyectos java, creo una con ese nombre:
    • svnadmin create java
Ya hemos acabado la primera fase. Ahora procedemos a realizar la integración con Eclipse. Yo utilizo la versión en desarrollo (4.2 M6), aunque esto también funciona para la última rama estable actual (3.7.x).

Necesitamos instalar el plugin Subclipse. Desde la web, en la sección Download and Install obtenemos las url necesarias para su instalación en Eclipse, vienen denominadas como "Eclipse update site URL". Pues bien, en mi caso, voy a instalar la última disponible, que corresponde a la versión 1.8.x, y su url es: http://subclipse.tigris.org/update_1.8.x

Con esa url, abro eclipse y hago lo siguiente:
  • Pincho en Help -> Install New Software.
  • Presiono el botón ADD
  • Pongo lo siguiente en los campos:
    • Name: Subclipse
    • Location: http://subclipse.tigris.org/update_1.8.x
  • Presiono OK
  • Marco los paquetes que se recuperan del servidor y procedemos a su instalación.
  • Eclipse se reiniciará.
Ahora ya podemos poner los proyectos que queramos en el repositorio. Para ello, pinchamos con el botón derecho en el título del proyecto que queramos dentro del navegador de paquetes de eclipse (en mi caso columna de la izquierda - Package Explorer) y seleccionamos: Team -> Share Project

Saldrá una ventana que nos ofrece la posibilidad entre usar CVS y SVN. Seleccionamos SVN y le damos a continuar (Next).

Ahora la aplicación nos ofrece la posibilidad entre usar un repositorio existente (si es que tenemos) o crear uno nuevo. En nuestro caso dado que estamos creando uno nuevo, optaremos por la crear uno nuevo (Create a new repository location). Le damos a Next.

Ahora nos pide la URL del repositorio. Como estamos usando un repositorio local, utilizaremos el protocolo file:// e introduciremos el path completo hasta el repositorio. En mi caso tengo que introducir: file:///C:/svnrepo/java

El proyecto se creará en el repositorio, puede que eclipse quiera cambiar el modo de vista a colaborativo; yo prefiero no cambiarlo.

Ahora hay que decidir qué carpetas introducimos. Por ejemplo la de las fuentes de las aplicaciones, en mi caso src. Para ello pincho con el botón derecho en la carpeta y le damos a Team -> Commit.

Ponemos un comentario y aceptamos el commit. Ya disponemos de esas carpetas en el repositorio y podemos agregar versiones nuevas, comparar con antiguas y todas las ventajas que ofrece un sistema de control de versiones como SVN. A partir de aquí recomiendo leer un poco la documentación de SVN para los que no hayáis trabajado con él previamente.



miércoles, septiembre 28, 2011

Capturas de pantalla en Android

Recientemente he averiguado cómo hacer capturas de pantalla en mi Samsung Galaxy S. Tengo Gingerbread, pero supongo que funciona también en Froyo. El sistema es simple: mantener pulsada la tecla de retroceso y presionar el botón home (el central).
Esto no es nuevo, pero lo pongo por aquí para tenerlo localizado.

domingo, septiembre 25, 2011

Facebook y los permisos para Android

No soy un usuario especialmente intenso de la red social Facebook, pero bueno, la uso algo como bastantes millones de persona para mantener cierto contactos.

Desde que tengo un teléfono móvil con el sistema Android me instalé la aplicación oficial de Facebook desde el Android Market. Eso lo hice cuando la versión publicada era anterior a la 1.6. De hecho, estuve actualizando hasta la 1.5.4.

La aplicación ha funcionado siempre bien, algunos usuarios han reportado ciertos problemas, pero no ha sido mi caso.

La versión 1.5.4 requería una serie de permisos que hasta cierto punto tenían cierta lógica, por lo cual me la instalé sin problemas.

Esto cambio con la llegada de la versión 1.6 hasta la actual publicada 1.7.1. Estas versiones solicitan permisos muy intrusivos, como son los siguientes:
SERVICIOS POR LOS QUE TIENES QUE PAGAR
ENVIAR MENSAJES SMS
Permite que la aplicación envíe mensajes SMS. Es posible que tengas que pagar por los mensajes que las aplicaciones malintencionadas envíen sin tu confirmación.
TUS MENSAJES
EDITAR SMS O MMS
Permite que la aplicación escriba en mensajes SMS almacenados en el dispositivo o en la tarjeta SIM. Las aplicaciones malintencionadas pueden borrar los mensajes.
RECIBIR SMS
Permite que una aplicación reciba y procese mensajes SMS. Las aplicaciones malintencionadas pueden controlar los mensajes o eliminarlos sin mostrarlos al usuario.
LEER SMS O MMS
Permite que la aplicación lea mensajes SMS almacenados en el dispositivo o en la tarjeta SIM. Las aplicaciones malintencionadas pueden leer los mensajes confidenciales.


Es decir, la aplicación solicita permisos para enviar mensajes sms o mms (que podrían tener coste) así como para recibir nuestros sms y leerlos.

¿Razones?: No se sabe. No han publicado para qué requieren esos permisos. Puede ser para nada o para recabar aún más información de los usuarios. Es decir, al tener conexión a internet, la aplicación podría estar enviando a las bases de datos de Facebook el contenido de nuestros mensajes, que dependiendo ya de cada uno le importará más o menos, pero afecta a la privacidad.

No estoy diciendo que la aplicación lo haga, pero tampoco que no, puesto que no lo aclara. Yo desde luego soy muy reticente a instalar aplicaciones que soliciten esos permisos, sean o no publicadas por fuentes oficiales como puede ser Facebook. Me parece una invasión a la privacidad y una falta de decoro con sus usuarios solicitar ese tipo de permisos, máxime sin explicar al menos para qué los requiere, puesto que no veo ninguna razón para ello más allá que extraer información adicional de sus usuarios.

Por tanto, llevo sin actualizar desde la versión 1.5.4, la última sin estos permisos que he comentado y que, por cierto, sigue funcionando correctamente.

Muchas personas que conozco le da poca importancia a los permisos. Yo en cambio se la doy, y me gustaría concienciar al resto de personas para que se la de y no instalen aplicaciones como ésta hasta que eliminen este tipo de permisos y prácticas. Así como exigir a los desarrolladores que se abstengan de realizar aplicaciones donde se abusen de los permisos y cuiden a sus usuarios.

Y lanzo una pregunta, ¿no le dais importancia a la gestión que puedan hacer de vuestros datos las aplicaciones? ¿Os parece bien que Facebook requiera estos permisos sin dar explicación?