miércoles, 1 de febrero de 2012

Oracle sqlplus

De vez en cuando necesito usar la línea de comandos de Oracle y siempre se me olvidan los trucos y la forma de trabajar con el SQLPlus. Aquí pongo una serie de cosas básicas para trabajar con esta herramienta:

Histórico de comandos

Para volver a ejecutar el último comando basta con poner una barra:

/

Autocommit

Para activar el modo autocommit:

set autocommit on;

y para desactivarlo:

set autocommit off;

Tamaño de la pantalla

Al realizar consultas de tablas cuyo resultado no cabe en la pantalla, el sqlplus se empeña en ajustarlo al ancho de la pantalla y no hay quien vea nada. Para solucionar este problema podemos definir un ancho de pantalla mayor con estos comandos:

set linesize 300;
set pagesize 300;

domingo, 27 de noviembre de 2011

Escanear fotos en Linux

El siguiente artículo describe los pasos para escanear fotografías de la manera más óptima posible utilizando las herramientas que proporciona Linux.
Para el escaneo de imágenes vamos a utilizar XSane y para el retoque y las mejoras de la imagen obtenida utilizaremos GIMP.

En la pantalla principal de XSane seleccionaremos los parámetros para el escanéo.



Debemos seleccionar una resolución de al menos 600 dpi. La mejor resolución suele ser la máxima resolución óptica que permita el escáner. En mi caso, tras realizar varias pruebas, opté por usar una resolución de 900 dpi.
Hay que tener en cuenta que el tamaño de las imágenes obtenidas es exponencial a la resolución. Por lo que hay que hacer un balance del uso que se va a realizar de las fotos escaneadas para decidir si se opta por obtener la máxima calidad a costa del tiempo de proceso que nos va a llevar.

El formato de imagen seleccionado debe ser uno que utilice un tipo de compresión sin pérdida de información, como por ejemplo PNG. En ningún caso se debe usar el formato JPEG ya que se perderá mucha calidad en la compresión y en procesado posterior con GIMP.

Para obtener un ajuste de color adecuado durante el escanéo conviene abrir la ventana de vista previa, en el menú "Ventana" -> "Mostrar vista previa". En ella podemos obtener una vista previa de la imagen a escanear y seleccionar el área de escaneo de la imagen a obtener.
Realizar una vista previa nos permitirá además seleccionar la opción "Ajustar automáticamente gamma, brillo y contraste", en la pantalla principal, para que dichos parámetros se ajusten automáticamente usando la vista previa de la imagen obtenida.

Una vez hecho esto podemos proceder a realizar el escaneo de la imagen, visualizar el resultado obtenido y guardarla en el formato de fichero seleccionado.

El siguiente paso consistirá en abrir la imagen obtenida en GIMP para su retoque.

El primer paso consistirá en rotar la imagen adecuadamente, en el caso que sea necesario. Para ello seleccionaremos la opción de rotación adecuada dentro del menú "Imagen" -> "Transformar".

El siguiente paso será ajustar el área de la imagen de forma precisa, para que la fotografía ocupe todo el área de la imagen y no queden márgenes blancos. Para ello pinchamos en la "Herramienta de selección de rectángulos" y seleccionamos el área de la fotografía que nos interesa. Una vez hecho esto seleccionamos la opción del menú "Imagen" -> "Recortar a la selección".


En este momento conviene guardar una copia de seguridad de la imagen para poder revertir de forma segura los cambios a realizar en los siguientes pasos. O simplemente para tener una copia de la fotografía tal y como se obtuvo del proceso de escaneo. El formato en el que se guardará la imagen será el formato original en el que fue obtenida, por ejemplo PNG.

En el caso de que la imagen contenga un defecto de ojos rojos lo podremos corregir con la opción del menú "Filtros" -> "Realzar [Enhance]" -> "Quitar ojos rojos ...".
Si la imagen escaneada tiene ruido, como puede ser polvo, rayas o el efecto moiré, se podrá corregir usando la opción "Filtros" -> "Realzar [Enhance]" -> "Desparasitar ...". Si se va a aplicar el filtro a toda la imagen conviene no seleccionar la opción "Adaptativo", ya que quita efectividad al filtro. La siguiente imagen muestra los valores que he utilizado con éxito en alguna imagen.



Visualizar las imágenes obtenidas (en formato PNG y con una resolución muy alta) es algo engorroso ya que debido a su gran tamaño tardan bastante en mostrarse. Por ello, es interesante tener una copia de la imagen con una resolución menor y en formato JPEG, intentando mantener en la medida de lo posible toda su calidad. Conviene guardar previamente una copia de la imagen original en formato PNG, como se comentó anteriormente.

A la hora de reducir la resolución de la imagen conviene tenerla en dos instancias de GIMP simultaneas para comparar los detalles de la imagen antes y después de redimensionarla. De esta forma, podremos reducir la resolución todo lo posible comprobando que no se pierden detalles significativos.
Para reducir la resolución de la imagen usaremos la opción "Imagen" -> "Escalar la imagen". En esta pantalla podremos seleccionar la nueva resolución de la imagen y los pixeles por pulgada. Para facilitarnos el trabajo conviene seleccionar como medida "Porcentaje", lo que nos permitirá memorizar más fácilmente el valor que aplicamos en cada prueba que realicemos.
El valor de pixeles por pulgada no modifica realmente la resolución de la imagen, sino que indica el tamaño real de la imagen. Un imagen con la misma resolución se mostrará en un visualizador de imágenes con un tamaño mayor cuando menor valor de pixeles por pulgada tenga, ya que los puntos de la imagen estarán menos condensados. Las fotografías suelen tener configurado un valor de 72 pixeles por pugada.

El último paso consistirá en guardar la imagen en formato JPEG conservando la calidad de la imagen al máximo posible. Para ello, en las opciones de guardado seleccionar como calidad una valor de al menos 90.

Por último, visualizar la imagen JPEG obtenida y comprobar que tiene la calidad que se esperaba.

viernes, 30 de septiembre de 2011

Aplicaciones Indispensables: Android

En esta entrada iré recopilando y actualizando las aplicaciones para Android que me parece indispensable tener instaladas:

MythMote
Permite controlar desde el móvil un media center MythTV usando la red WIFI.

Screen Off and Lock
Permite bloquear el teléfono desde la misma pantalla ahorrando movimientos de la mano y evitando un desgaste excesivo del botón físico de bloqueo del móvil.

Battery Solo Widget
Te muestra un widget con el porcentaje exacto de batería que le queda al móvil.

DroidStats
Te permite llevar un control del consumo de llamadas realizadas y del gasto de la conexión de datos.
Muy últil para controlar el gasto de las tarifas planas de llamadas y datos.

Cumpleaños
Permite visualizar en un widget, y ser avisado, de los cumpleaños de los contactos del teléfono y de Facebook.
Aunque existe una solución alternativa más eficiente que es importar en el calendario de Google los cumpleaños de los contactos de la propia cuenta de Google. Desde Facebook también se pueden exportar los cumpleaños obteniendo una dirección que se puede añadir al calendario de Google, manteniendo también sincronizados los cumpleaños de los amigos de Facebook.

KeePassDroid
Permite tener las contraseñas a buen recaudo.

Smart Lyrics
Busca las letras de las canciones que se están escuchando en el reproductor.

OI File Manager
Sencillo pero potente explorador de ficheros.
En el modelo Samsung que tengo ahora trae de serie uno muy similar. Con lo que ya no lo necesito ...

EMT Madrid
Permite saber cuanto va a tardar un autobus en llegar a la parada.

SoundHound
Tararea una canción y te dice cual es ... o casi.

Formula1.com
Para seguir las carrearas de la formula 1 al instante.

domingo, 24 de julio de 2011

Problema al hibernar ordenador con tarjeta gráfica NVIDIA en Debian GNU/Linux

Si se usan los drivers propietarios proporcinados por NVIDIA, la suspensión a disco o hibernación no funcionará. Para corregirlo se debe añadir la opción "NvAGP" a "1" en la sección "Device" del fichero "/etc/X11/xorg.conf".

Este es el contenido íntegro de mi fichero "/etc/X11/xorg.conf" configurado con la salida de video HDMI conectada a un televisor:

Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
EndSection

Section "ServerFlags"
Option "NoPM" "true"
EndSection

Section "Extensions"
Option "Composite" "Disabled"
EndSection

Section "Monitor"
Identifier "Monitor0"
Option "DPI" "96x96"
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "TripleBuffer" "True"
Option "UseEdidDpi" "False"
Option "NvAGP" "1"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection

Más información en:
https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend

miércoles, 13 de julio de 2011

Codificar videos con mencoder para PSP

Se debe usar el siguiente comando:

mencoder -ofps 30000/1001 -af volnorm,lavcresample=24000 -vf dsize=320:200,scale=0:0,harddup -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:vbitrate=1000:threads=2:acodec=libfaac -of lavf -lavfopts format=psp INPUT.AVI -o OUTPUT.MP4

Más información en:
http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-handheld-psp.html
http://movingparts.net/2007/12/10/mencoder-dvd-rip-volume-increase-your-psp-and-you/

sábado, 27 de noviembre de 2010

Configuración de las teclas multimedia en Linux

El primer paso es obtener los códigos que producen las teclas multimedia. Para ello utilizamos el comando "xev".
Al ejecutar en una consola este comando nos aparecerán todos los códigos que producen el teclado y el ratón.
El campo que debemos guardar es el "keycode".
Una vez obtenidos todos los códigos de las teclas multimedia los asociaremos a teclas de función a partir de la F13 en adelante.
Para esta asociación usaremos el comando "xmodmap".
Con la ejecución de los siguientes comandos conseguimos la asociación de teclas para el teclado:

xmodmap -e "keycode 161 = F13" xmodmap -e "keycode 198 = F14" xmodmap -e "keycode 223 = F15" ...

Para que estas teclas queden configuradas durante el arranque de la sessón se pueden meter las líneas anteriores en el fichero ".xsession" del usuario.

Una vez hecho esto, se puede configurar en el Centro de Control de KDE las acciones para cada tecla. Para ello se debe ir a "Regional y Accesibilidad" -> "Introducir acciones". Al igual que en KDE, el resto de escritorios también tienen opciones para asociar las teclas a un comando.

lunes, 8 de noviembre de 2010

Sintonizador TDT-HD AVerMedia AVerTV Digi Volar X (A815) en Debian GNU / Linux

Para configurar el dispositivo se debe descargar el siguiente fichero:

http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw

Este fichero se debe ubicar en el directorio "/usr/lib/hotplug/firmware/".

Una vez hecho esto se puede conectar el dispositivo al puerto USB y comprobar en el log del sistema (/var/log/messages) que ha sido detectado correctamente.

Para crear un fichero con la información de sintonización de los canales se puede usar el comando "scan", contenido en el paquete "dvb-apps". Por ejemplo, en Madrid se ejecutaría el siguiente comando:

scan /usr/share/dvb/dvb-t/es-Madrid > channels.conf

El fichero "channels.conf" se puede usar con los programas Xine y MPlayer copiándolo a "$HOME/.xine" y "$HOME/.mplayer" respectivamente. Una vez hecho esto se pueden ejecutar dichos programas de la siguiente forma:

xine -A alsa -V vdpau --no-splash -f -g dvb://

mplayer -ao alsa:device=hw=0.3 -vo vdpau:deint=2 -vc ffmpeg12vdpau,ffh264vdpau -cache 8192 -fs -zoom dvb://

Estas líneas de ejecución de ejemplo están optimizadas para acelerar por hardware usando una placa base Zotac Ion con tarjeta gráfica NVIDIA, pero existen otras opciones para acelerar por hardware en otros sistemas.

Una vez tenemos la sintonizadora de TV funcionando, el siguiente paso es configurar el mando a distancia. Cuando se conecta la sintonizadora, el kernel reconoce automáticamente el mando a distancia como un dispositivo de entrada. Para comprobarlo se puede ejecutar el siguiente comando:

cat /proc/bus/input/devices

Para que funcionen correctamente el mando a distancia se deben crear los siguientes dos ficheros con su correspondiente contenido:

/etc/modprobe.d/dvb.conf
options dvb_usb_af9015 remote=5

/etc/modprobe.d/usbhid.conf
options usbhid quirks=0x07ca:0xa815:0x04

Una vez echo este se debe ejecutar como root el siguiente comando y reiniciar:

update-initramfs -u

Al detectarse como un dispositivo de entrada como si fuera un teclado real, las teclas del mando se pueden mapear a cualquier comando dentro de un escritorio, como puede ser KDE o GNOME.