martes, 28 de diciembre de 2010

Insertar archivo en campo BLOB de MySQL

La secuencia MySQL es la siguiente:

insert into TABLA (Campo1, CampoBLOB) values ('textoinsertar', LOAD_FILE('/ruta/del/archivo.extension'))

Eso si, la ruta ha de ser relativa a la ubicación del servidor MySQL, NO sirve un directorio del cliente.

Crear una impresora para guardar documentos PDF

El proposito de este artículo es crear un sistema que llamaremos “base de datos de documentos” alias BDDOC en donde tendremos una serie de documentos que nosotros insertemos a través de una impresora.
Lo primero que haremos será crear la impresora en LINUX lo haremos de la siguiente forma:
1.- Utilizaremos la impresión de formato LPD y editaremos el fichero: /etc/printcap
2.- Añadiremos las siguientes lineas:
postscript:
:ml#0:
:mx#0:
:sd=/var/spool/lpd/postscript:
:af=/var/spool/lpd/postscript/postscript.acct:
:sh:
:lp=| /home/pdf/pspdf_pool.sh:
:lpd_bounce=true:
:if=/usr/share/printconf/util/mf_wrapper:
Una vez añadidas las lineas, como podemos ver cada vez que imprimamos un fichero se llamará al script que está en: /home/pdf/pspdf_pool.sh de esta forma nosotros transformaremos el contenido que nos venga a PDF, de la siguiente forma:
# cat /home/pdf/pspdf_pool.sh
#!/bin/sh
for i in /var/spool/lpd/postscript/dfA* ; do
ps2pdf $i $i.pdf
cp $i $i.ps
X=`cat /home/pdf/num_pspdf`
X=`expr $X + 1`
mv $i.pdf /home/pdf/pdf/pdf$X.pdf
mv $i.ps /home/pdf/ps/ps$X.ps
pdftotext /home/pdf/pdf/pdf$X.pdf /home/pdf/txt/txt$X.txt
chmod 755 /home/pdf/pdf/pdf$X.pdf
chmod 755 /home/pdf/ps/ps$X.ps
chmod 755 /home/pdf/txt/txt$X.txt
echo $X > /home/pdf/num_pspdf
rm $i
done
for i in /var/spool/lpd/postscript/cfA* ; do
rm $i
done
Como vemos en el script crearemos los siguientes directorios:
# mkdir /home/pdf/pdf
# mkdir /home/pdf/ps
# mkdir /home/pdf/txt
Actualizaremos el contador a 0 de la siguiente forma para que pueda empezar a crear los documentos numerados, de la siguiente forma:
# echo 0 > /home/pdf/num_pspdf
De esta forma ya estamos a punto de empezar a utilizar el servidor de BDDOC.
Seguidamente crearemos una impresora POSTSCRIPT en el cliente (caso de Windows 2000) impresora local a través de un puerto TCP/IP y empezar a enviar documentos a nuestro script.

Visto en:
http://www.zinuz.com/?p=139

viernes, 17 de diciembre de 2010

Como comprimir las imagenes de FOG (Herramienta de clonación)

En esta dirección http://steve.blogme.us/2010/01/14/disable-gzip-image-compression-in-fog-for-faster-image-creation/ nos indica como quitar la compresión a las imagenes que genera FOG modificando los archivos de configuración.

Veamos los pasos que nos indican en el blog anteriormente mencionado:

cp /tftpboot/fog/images/init.gz /tmp/init.gz
cd /tmp
gunzip init.gz
mkdir tmpMnt

mount -o loop /tmp/init /tmp/tmpMnt


En la primera linea copiamos el core (o kernel de la aplicación) o eso deduzco yo. y se copia a un directorio temporal /tmp/
nos ubicamos en temp y descomprimimos el archivo usando gunzip.
Creamos el directorio tmpMnt (temporal punto de montaje o temp. mount))
y "montamos" el init.gz en /tmp/tmpMnt

Una vez hayamos reemplazado todos los -z1 por el tipo de compresion que desemos, tenedremos que volver a crear el init.gz, veamos como hacerlo:


vim /tmp/tmpMnt/bin/fog
:%s/z1/z0/
:wq

Eso si, como habeis podido observar usaremos el editor VIM para editar los archivos. Si os fijais en la siguiente linea: :%s/z1/z0/


Vamos a explicar como funciona:
:%s = Busca y reemplaza todo
z1 = valor a buscar
z0 = valor a reemplazar

Los valores son los siguientes:
z0 - SIN Compresión. mucho más rapida pero ocupa muchisimo más
z1 - Con compresión GZIP
z2 - Con compresión bzip2 - comprime muchisimo más que las anteriores pero tarda muchisimo más tiempo pero ocupa menos espacio.

cd /tmp
umount /tmp/tmpMnt
gzip -9 init

cp /tftpboot/fog/images/init.gz /tftpboot/fog/images/init.gz.old
cp -f init.gz /tftpboot/fog/images/init.gz


Para más info:
http://www.fogproject.org/
http://steve.blogme.us/2010/01/14/disable-gzip-image-compression-in-fog-for-faster-image-creation/

lunes, 13 de diciembre de 2010

Evolucionando de Android 1.6 a 2.3

15 dias con Android 2.3
 
Hace pocos dias he migrado de Android 1.6 con la HTC Magic a Android 2.3 con la HTC Desire. Estoy muy contento con el sistema Android (no se si será porque es linux o porque simplemente soy friki)
 
Ante el cambio puedo decir que el propio hardware ya se nota que es muchisimo más potente y la tactil es algo más exacta que mi anterior Magic. Una mejora es que incorpora hasta 5 escritorios (realmente me sobran pero bueno)
 
Tengo que decir que hay un par de cosillas que no me gustan, como por ejemplo:
- El calendario no permite rotación Vertical- Horizontal, cosa que la versión 1.6 de Android si que hacia.
- La vinculación de datos con facebook no me ha gustado nada. ¿porque no puedo poner la imagen del contacto la que yo quiera y no la que tenga el contacto en facebook? Bueno, esto lo he conseguido solventar pero la primera vez, te hace un harakiri ( o como se escriba) con las imágenes de los contactos, un mal menor que se puede solventar.
 
A favor tengo que indicar que se puede convertir en un router wifi 3G, esto permite conectarte a internet con tu portatil por wifi, como si te conectaras a una red normal y corriente. Desde el terminal android le asignas el ID de la red wifi y una contraseña y a compartir la conexión. (a mi ya me ha solucionado la papeleta una vez) Otra opción es que lleva un potente led que hace las funciones de linterna, flash, o simplemente encederse. Para mi trabajo, el hecho de buscar un tornillo cuando se cae dentro la caja de un PC y hay poca luminosidad es bastante útil. La grabadora de voz es bastante util aunque no suelo usar notas de voz, sino notas escritas con una de mis aplicaciones favoritas AK Notepad
 
En conclusión: para pasar de Android 1.6 a 2.3 el primer dia cuesta hacerse a los cambios, pero posteriormente se gana bastante agilidad. y lo m´´as importante la bateria me dura 4 dias!! con mi uso "normal", mientras que la Magic como mucho 2 dias.
 
Una pregunta que mucha gente me ha hecho:¿Porque no te compras un iphone?
 
Por varios motivos:
- Es Linux (con lo que eso conlleva)
- Cubre todas las funciones que necesito de una PDA (recordad que yo empecé con una Palm)
- Me sincroniza todos los datos sin tener que sincronizarlo en PC (como mi vieja Palm)
- Puedo usar mi dispositivo como si de un Pen Drive se tratase
- No necesita software privativo para usarlo con el PC
- Tengo acceso desde mi Linux o desde Windows sin instalación de software de terceros
- Y la HTC Magic NUNCA me ha dejado tirado.
 
y... porque no estoy de acuerdo con la filosofia de apple con sus iCosas. Aunque reconozco que tienen buenos productos.