jueves, 29 de abril de 2010

Imagemagick: editor de imágenes desde la consola

Imagemagick es un paquete con herramientas para la edición de imágenes directamente desde la consola y como bien sabemos todo lo que se pueda hacer por consola sirve mucho más cuando lo hacemos de forma remota :D.
Como bien dice su lema, imagemagick sirve para "convertir, editar y componer imágenes". Se puede revisar la lista de herramientas con una breve descripción del uso de cada una en este enlace "Imagemagick - command line tools".


Por lo general las que más utilizo son: display, identify y convert (o mogrify). Otra herramienta útil es "montage", pero nunca he trabajado con ella :P.
Este paquete de utilidades para trabajar con imágenes es más práctico y útil de lo que puede parecer a primera vista,  por ejemplo: se puede crear un script para trabajar un conjunto de imágenes de forma automática y no tener que hacerlas una por una, también crear alguna página en php para trabajar con imágenes, etc. De hecho, por lo general las cosas que he visto en web casi siempre trabajan utilizando imagemagick o lo tienen como opción :)
Ahora a lo que iba... una descripción rápida de las que utilizo:

  • display
Ésta realmente no es para usar con la consola ya que sirve para visualizar una imagen :P, más bien es cuando se tiene acceso a las X en vivo y en directo o por ssh con la opción de replicación de X como lo vimos en la publicación anterior ;).
Más info y opciones: Documentación display
  • identify
Con esto podemos tener información sobre alguna imagen, tal como el formato (algunas veces las extensiones están mal puestas), las dimensiones y el peso. También es posible obtener mucha más información agregando la opción "-verbose".
Más info y opciones: Documentación Identify
  • convert o mogrify
La única diferencia entre ellas es que con mogrify se trabaja directamente sobre la imagen, en cambio con convert se crea una copia. Dependiendo del caso es la que se usa, por ahora me centraré en "convert" :P. Estas herramientas son las que más sirven en la parte de edición de imágenes en sí.
Una lista con ejemplos rápidos de uso:

(*) Redimensionar una imagen, achicándola a un 80% del original
convert imagen.jpg -resize 80% imagen2.jpg 
Para redimensionar sin crear otro archivo sería: mogrify -resize 80% imagen.jpg
 

(*) Redimensionar muchas imágenes
mogrify -resize 80% *.jpg

(*) Redimensionar de forma no proporcional
convert -resize 650x480 imagen_original.jpg imagen_final.jpg

(*) Cambiar calidad de una imagen
convert -quality 85 imagen_original.jpg imagen_final.jpg

(*) Agregar texto a la imagen (esto sí que es práctico para marcar)
convert -font verdana -fill yellow -pointsize 16 -draw "text 10,15 'www.miweb.com'" imagen_original.jpg imagen_texto.jpg

Donde:
-font [nombre de la fuente] es la fuente (tipo de letra) que se usará.
-fill [color] es el color con el que se escribirá dicha fuente, por defecto creo que es el negro (no me acuerdo xD).
-pointsize [numero] es el tamaño de la letra
-draw "[text posicion,posicion] 'texto'". Acá hay que dejar claro que el parámetro va encerrado completo entre comillas dobles (") y el texto a escribir va dentro de esas comillas y encerrada entre comillas simples ('). Creo que hay otras formas de hacerlo, pero ahí sería cosa de probar los parámetros, si alguien ya lo probó de otra manera me avisan :P

(*) Rotar una imagen
convert -rotate 90 imagen.jpg imagen_rotada.jpg o convert -rotate -90 imagen.jpg imagen_rotada2.jpg

Más info y opciones: Documentación Convert

Y para finalizar acá dejo ejemplos --> Imagemagick - ejemplos

Referencia:
Imagemagick 

domingo, 25 de abril de 2010

Ejecutar programas de forma gráfica por SSH usando Xming

Más de alguna vez he querido ejecutar algún programa cuando estoy conectada por ssh desde windows y no puedo por falta de una interfaz gráfica (también conocida como "X"). Al ejecutar alguno de esos programas se recibe el error ": [...] cannot open display".
¿Es posible ejecutar algún programa que necesita de interfaz (o X), cuando estamos conectados por ssh? ¡Por supuesto!, es acá cuando entra en juego la opción "X11 forwarding" del ssh y el programa Xming :D



Para llevar esto a cabo necesitamos algún programa para conexión por SSH, por lo general con el que trabajo es con el famoso "Putty" así que será éste el que use como referencia.

Lo primero es descargar el "Xming" e instalarlo. Viene con un wizard bastante entendible así que no es mucho lo que se debe hacer más que elegir las opciones que más nos acomoden y "siguiente siguiente siguiente", con esto ya lo tenemos instalado (versión corta xD).
Lo siguiente es ejecutar el putty, es acá donde debemos poner ojo en las opciones a utilizar, no hay que olvidar activar la opción del "x11 forwarding". Dentro del menú que está en la izquierda, ir a "Connection" -> "SSH" -> "X11" -> X11 Forwarding, activar la casilla "Enable X11 forwarding".
De paso, de preferencia activar el protoco 2 del ssh ("Connection" -> "SSH" -> Preferred SSH protocol version: "2").
Si habitualmente tenemos algún perfil guardado, sólo hay que editarlo agregando la opción del forwarding indicada más arriba.
Ya con esto estamos listos. Ejecutar el Xming, que vendría a ser algo como el "intermediario", y luego el putty para conectarse al sitio en el que trabajarán.
Para probar ejecuten algún programa rápido como la calculadora o algún calendario.

Luego de tanta maravilla hay que hacer un recordatorio, al ejecutar de esta forma estamos aumentando el tráfico en la red por lo que algunas cosas pueden demorarse en cargar o verse un poco lentas, dependiendo de la velocidad de la red utilizada esto puede ser normal: a red con mayor velocidad, menor tiempo de respuesta de los programas (se ven casi en tiempo real).

Ya tenemos funcionando lo que queríamos... ahora a probar! :D

Referencias:
Putty - download
Xming - download

Recuperar archivos borrados

Más de alguna vez nos ha pasado que por error borramos archivos que no deberíamos. Ayer me pasó que sin querer borré del notebook un respaldo de todas las fotos que había tomado con la cámara en los últimos paseos (muchas fotos ^^U) , después del espanto inicial me puse en campaña de recuperarlas directamente desde la memoria de la cámara, desde donde ya las había borrado también... así que manos a la obra :P
Cuando de recuperación de archivos se trata, por lo general ocupo el programa "PC Inspector File Recovery" (ver enlace de referencia más abajo) el cual siempre me ha ayudado, especialmente con aquellos discos que ni el sistema operativo reconoce. Como en este caso estaba algo apurada y no quería instalar nada, encontré un programa que no necesita instalación, perfectamente se puede usar desde el computador o desde un pendrive, hablo del "DiskDigger". Es una versión reducida del programa que utilizo siempre, pero no se queda atrás en lo que a su función se trata "busca, encuentra y guarda" fácil y sencillo :D
Para utilizar este programa sólo se debe descargar, ejecutar y seguir los pasos:

1) Indicar qué disco debe analizar (en mi caso era la tarjeta de memoria de la cámara), 
2) Seleccionar el tipo de búsqueda. Si la búsqueda rápida (primera opción) no resulta, ir con la segunda, corresponde a una búsqueda profunda. El único detalle de la opción de búsqueda profunda es que los nombres de los archivos serán del tipo "sectorxxxx.xxx"... hay que tener en mente que "antes que perder el archivo es mejor que nada" xD.
3) Esperar que termine la búsqueda, seleccionar los archivos que se quieren guardar y presionar el botón para guardar.

Eso sería todo, archivos recuperados y contentos nuevamente :D

Algunas recomendaciones cuando se borran archivos y quieren recuperarlos:

- Si el archivo eliminado está en el disco duro del computador, conviene "NO" instalar nada y tratar de no ejecutar programas para no crear nuevos archivos, esto para evitar que se sobreescriba la parte del disco donde estaba guardado el archivo borrado. En caso de que suceda la desgracia de que el sistema operativo ocupe todo o parte del sector de memoria donde estaba el archivo que se borró, no es muy probable que se pueda recuperar el archivo :(. Por lo anterior, hay que escanear el disco desde otro computador para evitar perder algo ;)

- Si el archivo eliminado está en el disco duro del computador y no tenemos opción de escanearlo desde otro lado, tratar de instalar un programa de recuperación de archivos apenas ocurre el problema y escanear de forma inmediata. A menor tiempo de espera y uso del computador, mayor son las probabilidades de recuperar lo que queremos :).

NOTA:
Ahora que buscaba info de los programas que menciono, acabo de notar que el "PC Inspector File Recovery" sólo funciona hasta Windows XP, lo he instalado sólo en ese sistema operativo así que no puedo complementar mucho al respecto. El "Disk Digger" lo probé en Windows 7 y funcionó sin problemas ;)

Referencias:
PC Inspector File Recovery
DiskDigger

domingo, 28 de marzo de 2010

Visual Editor y Eclipse

Retomando la sana costumbre de programar por gusto (xD), me dio por querer programar algo en java, pero para hacer algo completo tenía que incluir una parte gráfica... obvio :P
Para hacer eso, se me ocurrió probar una herramienta que no había utilizado anteriormente, el "Visual Editor" que viene como plugin del Eclipse.
Para aquellos que no lo conocen, el programa Eclipse es un "entorno de desarrollo integrado" más conocido por su sigla en inglés "IDE" (integrated development environment) que brinda todo un escenario para programar tranquilamente. Originalmente lo conocí sólo para java, pero con los plugins se puede configurar para programar hasta PHP. La descripción de este programa en sus colores y sabores lo dejáre para alguna otra publicación, por ahora me centraré en la instalación del plugin "Visual Editor" -que harto dolor de cabeza me dio :P-
La versión resumida de instalación es:

Para evitar conflictos y tener el Visual Editor funcionando hay que usar:
- Eclipse 3.5 SDK (no JEE, no Java)
- Visual Editor 1.4 usando el asistente de instalación del Eclipse

Si quieres revisar la instalación completa sigue leyendo, de lo contrario puedes quedarte hasta acá y a programar se ha dicho :D

La instalación misma no es lo complicado, lo que hace perder tiempo son los problemas de compatibilidades.
Actualmente la versión 3.5 del Eclipse (conocida como "Galileo") presenta algunos problemas al instalar el plugin en algunas de sus versiones. Por ahora sólo he probado las versiones JEE y Java, donde aparece un mensaje de error y la instalación se detiene. El mensaje de error comienza con:

Cannot complete the install because of a conflicting dependency.

Y luego detalla una lista de supuestas incompatibilidades que impiden la instalación.
Para evistar eso hay que utilizar la versión SDK del Eclipse 3.5 y listo. Para instalar el plugin hay que seguir el camino habitual:

- Ejecutar Eclipse
- Menú "Help" -> Install new software...
- En "work with" poner: http://download.eclipse.org/tools/ve/updates/1.4/
- Se puede agregar la dirección de forma permanente, presionando el botón "Add" y escribiendo:
Name: VE 14 (o cualquier nombre que les guste)
Location: http://download.eclipse.org/tools/ve/updates/1.4/
- Marcar todas las casillas que aparecen en la parte baja de la ventana (la que dice "hide items that are already installed" es opcional).

Como comentario final, la versión SDK del Eclipse no presenta ningún problema de instalación, pero para evitar inconvenientes mejor instalar el VE apenas se instala el Eclipse y luego el resto de los plugins deseados.

Espero que esto ayude a alguien más a no tardar para probar el visual editor ;)

Referencias:
Proyecto Visual Editor - http://www.eclipse.org/vep/
Guía instalación VE 1.4 - http://wiki.eclipse.org/VE/Update
Bug 301766 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=301766

jueves, 25 de febrero de 2010

Controlador de dominio bloqueado o no disponible (Windows)

En alguna oportunidad podemos encontrarnos con un error al tratar de iniciar sesión en un computador que se encuentra conectado a un dominio X, apareciendo un mensaje que dice "Windows no puede conectarse al dominio porque el controlador de dominio está bloqueado o no disponible o porque no se encontró la cuenta de su equipo [...]", incluso utilizando una cuenta que ya se encuentra configurada para trabajar de forma local. Tras eso lo primero es poner cara de espanto :P, pero a respirar y tomarlo con calma, por lo menos no es tan difícil de solucionar como parece.
Una solución que he probado y resulta es sacar el computador del dominio y volver a agregarlo... sí, tan sencillo como eso :D.

Consideraciones al respecto:
- Para sacar del dominio un computador y para volver a agregarlo se deben tener permisos en el dominio que se trabajará (en caso de no saber como hacerlo, presionar el enlace "leer más").
- Se debe tener una cuenta local en el computador con permisos de administrador.

¿Por qué se produce el error?
- El computador que presenta la falla por algún motivo no fue reconocido por el servidor de dominio y no pudo autentificarse.
Cada computador posee un ID y al conectarlo a la red entrega dicha información al controlador para decir "hey, me estoy conectando y me llamo juanito", sin embargo, el controlador de dominio no lo reconoce como "juanito" así que no deja que el usuario inicie su sesión.

Eso sería todo ;)

Eliminar el dominio de un computador:

1) Clic derecho sobre el ícono de "Mi PC" -> Nombre del equipo -> presionar el botón "Cambiar" (en la descripción pone: Para cambiar el nombre de este equipo o unirse a un dominio, haga clic en Cambiar).
Ya en este punto estamos viendo los datos del computador y el nombre del dominio en el que se encuentra (o debiera encontrarse).
2) Activar la casilla "Grupo de trabajo" y poner algún nombre en el cuadro de texto, dar clic en aceptar. Aparecerá una ventana pidiendo los datos de un usuario con permisos para hacer el cambio de dominio. Luego de ingresar los datos solicitados y dar clic en aceptar, nos pedirá que reiniciemos el computador.
3) Luego de reiniciar el computador ya se encontrará fuera del dominio.

Activar computador en un dominio:

1) Idem que el anterior
2) Activar la casilla "Dominio" e ingresar el nombre del dominio al que se agregará el computador. Aparecerá una ventana pidiendo los datos de un usuario con permisos para hacer el ingreso al dominio. Luego de ingresar los datos solicitados y dar clic en aceptar, nos pedirá que reiniciemos el computador.
3) Luego de reiniciar el computador ya se encontrará dentro del dominio.

domingo, 21 de febrero de 2010

Error al instalar IE 7 u 8 en Windows XP

Para no perder la opción de cambiar entre versiones del Internet Explorer (en adelante IE), desde hace un tiempo opto por instalar la versión 7 de forma manual y luego de eso permitir la actualización por parte de Windows al IE 8. Esto porque según he leído por ahí, al tener instalada la versión 6 y luego pasar a la 8, no es posible bajar a la versión 7 en caso de llegar a quererlo. No he tenido que bajar del 8 al 7, pero no me gusta el que me limiten las opciones... sí, una de tantas manías :P.
En una de las instalaciones del IE 7 me encontré con un error que finaliza la instalación sólo indicando "La instalación de Internet Explorer no se completó" (ver imagen). Al parecer este error se presenta especialmente al tener el Service Pack 3 (SP3) ya instalado, pero eso no evita que podamos instalar de todas formas :).


Para ver cuál fue el problema preciso de instalación, se debe revisar la información que quedó registrada en el log de instalación "ie7.log" (C:\WINDOWS\ie7.log).
Habitualmente el error corresponde a que el instalador no puede escribir en la clave de registro de windows:

HKEY_CLASSES_ROOT\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}

(el error dirá algo como: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D})

Para solucionarlo hay que editar los permisos asociados a dicha clave en el registro de windows y dar control total al grupo de administradores
Los pasos son los siguientes:

- Ejecutar "regedit"
- Ir a la clave indicada más arriba (HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D})
- Clic derecho sobre la clave y seleccionar Permisos
- De la lista seleccionar "Administradores" y activar la casilla "Control total"


Con eso ya es posible ejecutar nuevamente el instalador sin problemas ;)

martes, 26 de enero de 2010

Fotografix, un editor de imágenes ligero

Hace bastante que no escribo así que comento un programa de edición de imágenes que me sorprendió por lo ligero que es, hablo de Fotografix.



Fotografix es un programa gratuito que permite trabajar con capas, aplicar filtros, trabajar los colores, etc., no necesita instalación (sólo descomprimir y ya)... con la gracia que pesa tan solo 720 KB tras descomprimir (370KB comprimido).

Tal como comentaba antes, permite trabajar con capas y máscaras, ya con eso tenemos para hacer bastantes cosas. También tiene algunos filtros por defecto, como el desenfoque por nombrar alguno. Es claramente más poderoso que el básico paint que tiene windows, por lo que no está demás tenerlo para casos rápidos.
Lo he probado hasta la versión de windows 7 y trabaja sin problemas (a 32 bits).
Una alternativa para aquellos que necesitan hacer alguna modificación no tan básica a una imagen y están en algún netbook o computador con recursos limitados... recomendable para probar ;)

Referencias:
Página oficial Fotografix (para descargar y leer un poco más)
-