jueves, 17 de febrero de 2011

Como averiguar mi direccion IP sin estar presente

Muchas veces nos encontramos de que pr algún motivo especial nos queremos conectar a nuestro PC desde fuera y no tenemos la disponibilidad de una IP fija. hay  servicios tipo dynamic DNS o similar que nos pueden ayudar, peeero hay un truco del almendruco algo más sencillo de implementar.

Supongo que conocereis la web http://www.adsl4ever.com/ip pues bien, este script que os presento recoge la informacion de esa pagina y envia el html por ftp.(eso si, no lo subais a un directorio publico, normalmente al subirlo por ftp lo subimos a un directorio interno del servidor que no sea publico, veamos como funciona)

Por un lado tenemos la parte que deberemos de colocar en el PC que nos queremos conectar, vamos a llamarlo servidor y desde el que nos conectaremos lo vamos a llamar cliente.

Imaginaros por un momento que nos queremos conectar a nuestro PC Servidor por Escritorio remoto (RDP) para ello tendremos que tener previamente el puerto 3389 redireccionado al servidor.

Este scritp se ha de configurar en el programador de tareas para que el solo suba cada X tiempo la ip que tenemos pública:

Script servidor: [servidor.bat]
wget http://www.adsl4ever.com/ip/ -O c:\ruta_donde_guardar\ip.htm
ftp -s:c:\iconian\servidor.txt

Fijaros
 que usamos wget (para windows) para obtener la pagina html procesada con nuestra IP y usaremos el comando ftp para envia la secuncia de comandos para subir el archivo del html


Veamos el script de [servidor.txt]
open servidorftp
usuarioftp
contraseñaftp
put c:\ruta_donde_guardar\ip.htm
quit

Con el comando put "subimos" el archivo html ya procesado, si os fijais tal cual nos conectamos subimos el archivo. Debereis de añadir los parametros necesarios para guardarlo donde creais oportuno.

Bien, ahora veamos el apartado cliente. Cuando nosotros queramos saber la IP del servidor, tan solo bastará hacer doble clic al script cliente.bat y podremos obtener la IP publica.


Script [cliente.bat]
ftp -s:c:\iconian\cliente.txt

Tan solo pasaremos los comandos usando un archivo de texto (algo parecido al servidor.bat)

Script [cliente.txt]
open servidorftp
usuarioftp
contraseñaftp
get ip.htm c:\ruta_donde_guardar\cliente.htm
quit

Fijaros que hacemos el paso contrario, hacemos GET para obtener nuestro archivo html. una vez descargado haremos doble clic sobre el html y podremo leer la IP publica de nuestro servidor

Podeis obtener el wget para windows desde aqui:
http://gnuwin32.sourceforge.net/packages/wget.htm

miércoles, 16 de febrero de 2011

VB .NET y conexión a MySQL

Volviendo a coger del baul de los recuerdos, me he decidido a crear una aplicación que espero me ayude a mi trabajo diario, se trata de hacer una aplicación que obtenga los datos de red del equipo y los guarde en una base de datos mysql... Pero bueno, no os quiero liar, vayamos al grano:

Este código se podria colocar en un commandButtom (creo que se le llama asi a los botnes)

Esto sirve únicamente para establecer la conexión entre Visual Basic .NET 2003 y el servidor MySQL. Este código desconozco si será compatible con nuevas versiones de VB.NET (yo diria que s, pero bueno)

Una nota, os tendreis que descargar el connector MySQL para .NET, en mi caso me he descargado la version 1, ya que programo bajo Visual Basic .NET 2003

Copio-Pego:

Dim con As MySqlConnection
        con = New MySqlConnection


        con.ConnectionString = "server=" & GestITServer & ";user id=" & GestITUser & ";password=" & GestITpassword & ";database=" & GestITDB

        Try
            con.Open()
            MessageBox.Show("Conexión Abierta Con Éxito")


            con.Close()
        Catch mierror As MySqlException
            MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
        Finally
            con.Dispose()
        End Try
Pues bien, ahora vamos a comentar un poco eso:

con.ConnectionString = "server=" & GestITServer & ";user id=" & GestITUser & ";password=" & GestITpassword & ";database=" & GestITDB
Lo veremos mejor en una tabla
VariableReemplazar por
GestITServer Servidor MySQL
GestITUser Usuario con el que se accede al MySQL
GestITpassword Contraseña del usuario con el que se accede al MySQL
GestITDBBase de datos a la que nos queremos conectar

lunes, 7 de febrero de 2011

Android vs iPhone

Las comparaciones son odiosas pero por fin puedo opinar entre la gran batalla entre Android vs iOS.Muy a mi pesar y ser anti apple porque son muy cerrados con lo suyo voy a hacer de tripas corazón y voy a realizar una comparativa a ver si es verdad que los icosas son tan buenas como dicen.

En mi caso voy a realizar una critica entre los dispositivos HTC Desire y iPhone 3G S (o eso pone la caja). Voy a ser lo más neutro posible veamos la realidad:


AndroidiPhone
Instalación de la SIMAbrir la tapa trasera, insertar la SIM sin complicaciones (incluido en el manual de instrucciones)Dificil de averiguar, no estaba en el manual de instrucciones y el dibujo ubicado en la caja del iPhone para abrir el compartimiento de la SIM no es claro.
!º Puesta en marchaIntroducir el PIN del terminal y enseguida aparece un breve asistente que te explica como manejarte por los controles más básicos asi como la vinculación con tu cuenta de googleIntroducir la SIM y la obligación de instalar el iTunes, solo para "activar" el dispositivo. Por mi ya tenemos un punto negativo al iPhone ¿Porque me obligan a descargarme un software, propietario para tan solo activar el terminal, acaso no puedo usarlo sin tenerlo que conectar a un PC?
ConectividadMicro USB, no requiere instalación de software de terceros, compatible con Windows, Linux y Mac. Crea una unidad de disco extraible y con la función de arrastrar y soltar podemos copiar documentos, musica de forma fácil y rápidaConector privativo, obligación de usar otro software privativo (itunes) (muy lioso para el usuario novel) solo funciona bajo Windows o Mac (desconozco si realmebte itunes funciona bien bajo wine en GNU/Linux)
Repsotiorios de softwareAndroid Market, no hay tanta cantidad de aplicaciones como para iOS pero permite la inclusión de software Libre, con lo que ello significa (recuerdo que el poco software que desarrollo lo hago bajo GPL)APP Store, aqui hay bastante más software que para Android pero no permite la inclusión de software libre y si hay alguna aplicación que hable de la competencia, esta es rápidamente eliminada por parte de apple ¿no os recuerda a dictadura?
PantallaLe falta la autoregulación de luminosidad, auqnue no es una cosa que encuentre a faltarPara mi gusto le sobra la autoregulación de luminosidad que trae por defecto. La pantalla tactil la encuentro algo menos precisa.
Sincronización de la agendaPor parte de Android la sincronización de Contactos, Correo y calendario es instantáneo y no requiere ningún software adicional, muy útil si trabajamos con los servicios de google (muy buena heramienta la de google calendar)La sincronización de la agenda (calendario, contactos etc) solo es realmente interesante si disponemos de un servidor Exchange, cosa que previamente tendremos que desenbolsar una cantidad de pasta considerable y por supuesto, si tenemos un único PC la sincronización solo se puede efectuar mediante iTunes.(También permite la vinculación con google calendar algo que merece la pena), Lastima que los contacto no se puedan guardar "en la nube" a escepción de disponer un servidor de exschange
dimensiones y pesoLa HTC Desire dispone de una buena pantalla más o menos igual de grande que la iPhone, no obstante en cuanto a peso del dispositivo el HTC Desire pesa bastante menos que el iPhone, eso se agradece si lo usamos diariamente para nuestras tareas como agenda electronica. Pero al igual que mi antecesora HTC Magic los botones de volumen siguen siendo un poco molestos a la hora de coger el dispositivo en modo apaisado. Punto negativo para HTCEl iPhone su punto flojo es el peso, si lo quieres usar como pisapapeles o como arma de defensa personal es tu terminal, sino, te irás dando cuenta que no es muy práctico el llevarlo a todos lados. No obstante tiene unas dimensiones bastante acertadas e incluso diria que mejor que las del HTC Desire. Una cosa a favor es que los botones de control de volumen no son tan incomodos como los de la HTC, cosa que se agrecede si estas viendo fotos o videos, que no te aparezca el molesto display de volumen en medio de la pantallita. Aqui gana por goleada el iphone
Letra en iconosMedida aceptable, aunque ya podrian permitir cambiar la tipografiarealmente enana, supongo que se puede configurar con la herramienta de ampliado (algo molesto para mi gusto), aunque si disponemos de un fondo de pantalla oscuro se ven perfectamente
disposición de los iconosLimpia, solamente configuras los iconos que quieras que te aparezcan , asi como la configuración de gadgets o accesos y la ayuda de tener diferentes escritorios para organizar los iconos, yo por ejemplo tengo el escriotrio principal con los accesos de agenda: Correo, Calendario, Notas y el gadget de proximo evento.De momento veo todos de golpe, un poco engorroso, lo único que me ha llamado la atención es que en una esquina del icono de correo te indica el número de mensajes no leidos algo que realmente me ha gustado.
Aplicaciones abiertasLo realmente curioso a diferencia del iPhone es que no sabes si la aplicación se mantiene abierta o no. en el peor de los casos puedes ir a tareas en ejecución, pero es algo engorroso (punto negativo para Android)Es de agradecer el mantener las aplicaciones abiertas, aunque sinceramente prefiero que se cierren como en Android de forma automática cuando sales de la aplicacion. aunque el hecho de mantener abierta la aplicación en una ventana concreta me ha gustado el detalle
ContactosA la hora de recibir una vCard supuestamente se ha descargado pero ni siquiera nos ha mostrado la información del contacto. Supongo que será cosa del cliente de correo, aún y asi punto negativo a pesar de que no uso este tipo de envio de contactosPunto a favor de iCosa: permite visualizar y añadir un contacto que hemos recibido por vCard
CalendarioTodo perfecto, separación por colores de diferentes calendarios, vistas por lista, dia, semana, mes..Lo único que encuentro a faltar es la vista por semana, una vista que lelvo usando desde la Palm ZIRE31, la HTC Magic y ahora la Desire, almenos para mi encuentro a faltar dicha vista de calendario, aunque sigo buscando una aplicación de calendario que me permita dicha vista y sea gratuita

Notas

Una cosa que he odiado del HTC Desire es la vinculación con los contactos y las webs "sociales" porque recuerdo que el primer dia que me dio por abrir la aplicación del fazebuk e ingresar mi cuenta, mi hizo un harakiri de los contactos que me tiraba de los pelos, posteriormente tirando de manual consegui desvincular esa asociación tan horrible. Por esa parte y por suerte el iCosa no tiene esa chorrada tan inutil del HTC

Si nos miramos graficos el iCosa tiene mayor potencial como videoconsola. Yo por mi parte no busco una videoconsola portatil, sino una PDA en condiciones. Cosa que por el momento Android ya me sirve y cumple el 99% mis exigencias, aunque el iCosa también es un gran producto como agenda (a escepción de que a mi gusto le falta la vista por semana y los que realmente usan PDAs sabrán de que hablo cuando te tienes que programar tu agenda de la semana)

Hay algo que encuentro a faltar en los nuevos terminales de hoy en dia si los comparo con mi viejo guerrero el Nokia 6310i en el cual se podia añadir un recordatorio en el calendario de "llamar a" a una hora determinada y posteriormente cuando era la hora con tan solo un clic llamaba a ese contacto.

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.