Datos personales

Mi foto
Colonia Caroya, Córdoba, Argentina
Ingeniero en Sistemas de Información

16 noviembre 2010

Sindicando Listas en Twitter



En esta era de la información, internet ya ha pasado de ser una curiosidad para luego convertirse en una herramienta de trabajo y/o estudio, hasta convertirse en parte de nuestras vidas.

Con tanta información disponible pero dispersa, nació la necesidad de poder "centralizar" las actualizaciones de los contenidos de nuestras paginas preferidas. De este requerimiento nacen unas siglas que vemos en infinidad de sitios: RSS (Really Simple Syndication) o su compentencia Atom.



Que nos permiten esas siglas? Este protocolo nos permite suscribirnos o "sindicarnos" a un sitio que tenga actualizaciones frecuentes, y mediante a un programa o pagina "lector", como Google Reader, podemos estar al tanto de todas las actualizaciones consultando un solo lugar, en vez de entrar a todas las paginas de nuestro interés cada 5min.

Luego de esta breve introducción sobre Sindicación Web, desarrollaremos la idea de usar esto con las Listas de Twitter.

Facebook y Twitter son dos redes sociales muy en boga en estos días, donde la cantidad de actualizaciones diarias, si tenemos muchos amigos, a veces pueden superar nuestra capacidad de seguimiento.

Estas dos redes permiten utilizar RSS, en mayor o menor medida, para facilitarnos la vida.

Otra facilidad que nos ofrece Twitter es la de creación de listas, tanto publicas como privadas, para categorizar a quienes seguimos, por ej, en mi Twitter separe a mis amigos de los demás twitter técnicos. Un comentario al margen de este tema, es que por medio de las listas, podemos "seguir" twitters sin necesidad de seguir oficialmente a esa persona, es decir, podemos seguir a alguien sin que sepa que lo seguimos, solo debemos agregarlo a una de nuestras listas, de preferencia privada. (No necesariamente tiene que ser para que la otra persona no sepa que lo seguimos, sino quizás no queremos que los demás sepan que seguimos determinados twitters.)



Twitter permite seguir a una persona con su perfil publico por medio de RSS, pero no permite hacer lo mismo a una lista que creemos. Por lo tanto tenemos dos opciones:
  • Creamos una sindicación por cada Twitter a seguir... lo cual es engorroso.
  • "Forzamos" una sindicación a nuestras listas de Twitter publicas.
Como se estarán imaginando, la segunda opción es mas practica, ya que no importa a quien agreguemos o borremos en la lista, el RSS actuara siempre sobre la lista y no sobre los elementos individuales que la componen.

Como "Forzamos" una sindicación en aquellas paginas que no traen esa opción?

Afortunadamente existen una serie de paginas que hacen ese trabajo sucio por nosotros, es decir se encargan de  buscar las actualizaciones que sufre la pagina que le indiquemos y lo transforma en un XML que cumple el formato del protocolo de RSS.

Para ello podemos utilizar paginas como page2rss.com o www.diffbot.com/apps/feedbeater

En este ejemplo usaremos FeedBeater, aunque su uso es muy sencillo y similar en este tipo de paginas.


Al ingresar en el sitio, veremos la imagen de arriba, aquí solo debemos poner la URL de la pagina que queremos estar al tanto de sus actualizaciones, en este caso nuestra lista de amigos por ej: http://twitter.com/marcelolauret/amigos, luego le damos al botón que dice "beat it!" y el mismo nos generara una nueva url: http://www.diffbot.com/api/rss/http://twitter.com/marcelolauret/amigos que es la debemos cargar en nuestro lector de RSS y listo, ya sabremos todo lo que nuestros amigos publiquen prácticamente al instante.

Por supuesto que esto que vimos aquí lo podemos aplicar a cualquier pagina que queramos, con resultados bastante aceptables por lo general y de una manera rápida y limpia.

Observación: Como dije arriba, la lista que creamos en Twitter pueden ser publicas o privadas, si son privadas, solo la podemos consultar nosotros, por lo tanto no podremos usar un RSS, la lista debe ser publica y por ende, cualquiera en la web que entre a nuestro perfil de Twitter podrá ver a quien pusimos en nuestra lista.

Que tengan un lindo día.


Marce






15 junio 2010

Buscando el Origen de un Email



Alguna vez, por alguna razón propia o por pedido de alguna amistad, vamos a querer saber de donde proviene un email y/o tener algún dato extra que nos permita descubrir el remitente...

Como habrán oído nombrar alguna vez, todo dispositivo cuando se conecta a Internet obtiene una dirección IP, que es una dirección lógica que lo ubica e identifica de los demás dispositivos conectados a la red. Una IP esta formada por cuatro octetos de bits, es decir, son cuatros números de 0 a 255 separados por puntos.

Otra cosa interesante de saber, es que para el envió de emails se utiliza un protocolo, el SMTP, que en su cabecera posee información de contexto bastante interesante... como nombre y direcciones IP de servers y la IP de quien genero el correo. Todos los mails posee esta cabecera, pero permanece oculta a la vista en la mayoría de los clientes de correo. 

Así que juntando las cosas tenemos, por un lado, direcciones IP que todos los equipos poseen al conectarse a internet, y por otro lado cada email tiene en su cabecera, la dirección IP de quien la envió. La IP la asigna el proveedor de internet, cuando un dispositivo lo solicita, cada proveedor tiene preasignadas las direcciones que puede utilizar, por lo tanto, podemos a partir de un IP, llegar a saber que proveedor la utiliza, y de que ciudad se estableció la conexión.

Por lo tanto, en teoría, podremos llegar a saber en que ciudad esta el emisor del correo y que proveedor utilizo... digo en teoría porque hay ciertos detalles que pueden hacer variar esa información.

Veamos un ejemplo con hotmail:
  • En la bandeja de entrada, sobre el mail que queramos descubrir su origen, hacemos click derecho y elegimos Ver Código Fuente del Mensaje




  • Al hacer esto, se nos abrirá una nueva ventana donde podremos ver el código del mensaje, y lo que mas nos interesa, su cabecera:

  • Lo siguiente es buscar la dirección IP origen, en la cabecera podemos llegar a ver varias direcciones IP, pero la que nos interesa sera la ultima en figurar, en este caso 207.46.117.165. Esto varia mucho según el cliente que se utilizo para enviar el mail, si se utilizo hotmail, es fácil identificar la IP, porque figura con el nombre de X-Originating-IP.
  • Ahora que tenemos la IP, tenemos que saber a quien esta asignada, para ese propósito existen muchas paginas y programas, pero con el que he obtenido mejores resultados es con GeoIPView.com

El funcionamiento de este sitio es muy simple, solo ponemos la IP en el cuadro de búsqueda y le damos click a la lupa, la pagina se refrescara, mostrándonos en el mapa la ciudad donde esta asignada esa IP, y ademas el nombre del proveedor.

Se puede refinar mas la búsqueda, y hasta obtener la dirección física real de donde se realizo la conexión, con una orden judicial hacia el proveedor de internet, ya que el proveedor tiene registros de que IP da a cada usuario en cada momento.

Todo esto, como aclare al principio, funciona en teoría... en la vida real el emisor podría...
  • Utilizar proxys, lo que hará que veamos una IP de otro lugar del mundo.
  • Usar alguna WIFI publica o no, o ir a un ciber, con lo cual la IP no lo relacionara.
  • Algunos proveedores de internet, utilizan el servicio de proveedores mayoristas, y la ip que nos figurara en el mapa puede estar bastante alejada de la realidad...

De todos modos, en muchos casos esto puede ser útil para identificar o descartar personas que nos envíen mails molestos y a partir de ahí tomar otras acciones.


Que tengan un lindo día...


Marce




16 mayo 2010

Cuando VMware se niega a abrir nuestra preciada máquina virtual... 2da Parte

  
En mi anterior entrada, había hablado de un caso en que VMware se negaba a abrir nuestra querida maquina virtual... y vimos que la solución era bastante sencilla, con solo borrar un archivo todos eramos felices nuevamente...

Bueno... aquí estamos nuevamente con un problema similar...

Luego de instalar la nueva beta de VMware, 7.0.1 build 227600, me encontré con una sorpresa muy grata... al intentar abrir una maquina que había sido "pausada" me encontraba con el siguiente error:



"Failed to lock main memory file...." "Error encountered while trying to restore virtual machine state from file..."

Y al darle al Ok...


Nos da la linda noticia de que no puede abrir nuestra máquina, con lo que tenemos dos opciones, o perdemos lo que habíamos "pausado" o lo preservamos, con lo cual no podremos iniciar la virtual...

Opciones:
  • Nos despedimos de lo que teníamos abierto en esa maquina virtual
  • O realizamos lo siguiente...

La solución es muy similar por no decir igual a la del post anterior.

Al parecer esta nueva versión hace unos cambios en la bios de la maquina virtual para soportar las nuevas características de la versión, lo cual hace que algunas cosas se vuelvan incompatibles con una virtual creada con una versión anterior a la de esta beta.

¿Que hacemos?

Si al principio nos dice algo como:

The CMOS of this virtual machine is incompatible with the current version of VMWare

deberemos borrar, de la carpeta donde esta nuestra maquina virtual,  un pequeño archivo de extensión .nvram, que es el que guarda la info de la bios, seria similar a hacerle un clear CMOS a una maquina física.

Con esto solucionamos la mitad del problema, si intentamos revivir la virtual tendremos el mismo mensaje de error de antes. Lo que debemos hacer es borrar los archivos .lck que el explorador de windows los muestra con iconos de carpeta y listo... problema resulto.

A disfrutar de nuestras virtuales!!!


Que tengan un buen día.

Marce

31 enero 2010

Cuando VMware se niega a abrir nuestra preciada máquina virtual...



Una de las tecnologías que han mejorado mucho la sufrida vida de los desarrolladores, administradores de sistemas y usuarios asiduos de la pc, es la de las máquinas virtuales.

Para los que desconocen de que se trata esto, lo podemos resumir como un programa que emula a una pc, donde podremos hacer lo que queramos sin afectar nuestra máquina real.

Hay mucho soft que permite hacer esto, tenemos el de microsoft (virtual pc) el cual es gratis, si buscamos gratis y multiplataforma tenemos a VirtualBox (que funciona en mas sistemas operativos y arquitecturas que las que podamos imaginar) y VMware (con versiones pagas para crear las máquinas virtuales y free para ejecutarlas), y algunos otros soft mas, pero no tan conocidos como estos.

En mi caso me incline por VMware , con el cual tengo creadas pcs para diferentes usos y sistemas operativos, algunas en un disco externo usb, lo que permite cambiarme de pc física y seguir con mis tareas en la pc virtual sin mayor trabajo que desconectar el disco de una computadora y ponerlo en otra y listo.

Varias de esas máquinas virtuales no son importantes y si se "pierden" o corrompen no me producirá ningún movimiento muscular importante... pero... hay un par en que tengo cosas mas criticas (tesis, trabajo) con lo que si "fallaran" me producirían mas de un espasmos muscular y alabanzas al aire...

Aunque mi experiencia me dice que he tenido mas fallos con maquinas reales que con virtuales, todo es propenso a fallar y por lo general pasara en esos días en que si los elefantes volaran no saldríamos de casa.

Y he aquí que algo así paso... y una de mis preciadas y queridas maquinas, al darle el play para que se inicie me mostró el siguiente mensaje:


"Cannot open the disk xxxxxx.vmdk or one of the snapshot disks it depends on.
Reason: Failed to lock the file."


Este mensaje a simple vista nos puede sobresaltar.. sobre todo porque una maquina virtual que se niega a arrancar hace muy dificultosa la tarea de recuperar los datos que tuviera...

Luego de recuperar el aliento, dirigí mis plegarias a san google, y obtuve la luz divina...

Si abrimos la carpeta que contiene los archivos de nuestra pc virtual veremos algo como esto:


Así se ve mi carpeta de mi pc virtual que no puedo usar... la solución para revivirla es tan simple como borrar esos "folder" que vemos, los archivos .lck y de paso el que comienza con números y termina con .VMEN.

Con eso nuestra máquina virtual volverá a la normalidad.

¿Qué fue lo que paso?

VMware no permite que mas de una instancia de una maquina virtual en particular se este ejecutando, por lo que crea archivos .lck cada vez que se "enciende" la pc virtual, a modo de bandera, para que nadie mas pueda iniciarla, es una solución practica para un entorno de red.

Al "apagar" la máquina virtual VMware borra esos archivos, pero si por alguna razón VMware terminara "abruptamente" o el dispositivo que contiene los archivos físicos dejaran de estar disponible, no podria efectuar esa acción.

En mi caso, la notebook entro en suspensión y al salir de la misma, comienza a encender los dispositivos que la componen, quedando los usb en último lugar, con lo cual el disco externo no estaba disponible lo que provoco un error critico en VMware.


Bueno asunto solucionado y compartido....


Que tengan un buen día...


Marce

UPDATE: Este post luego de 3 años sigue siendo muy consultado y sirviendo de ayuda o salvación a muchas personas, muchas de las cuales dejan sus agradecimientos como un comentario, lo cual valoro mucho por lo gratificante que es que algo que uno hace desinteresadamente pueda ser de utilidad para otros. A todos ustedes gracias por comentar. De paso aprovecho para dejar asentado que este no fue el único gran problema que tuve con VMWare, mis otras 2 historias las pueden encontrar en:

http://blog.marcelolauret.com.ar/2010/05/cuando-vmware-se-niega-abrir-nuestra.html

http://blog.marcelolauret.com.ar/2012/10/cuando-vmware-se-niega-abrir-nuestra.html