Haciendo copia de un blog

Puede ser que tengas un blog en el que no vas a escribir más y quieras tener una copia. ¿Quien sabe si desaparecerá y perderás todo lo que has escrito?

Para hacer una copia de la web en nuestro disco duro hay muchas opciones, pero una gratuita, multiplataforma y de la vieja usanza es usar wget.
Para Windows podemos obtener el fichero gracias a Christopher G. Lewis, que gentilmente se encarga de compilarla para Windows.

Una vez descomprimido en nuestro disco duro, desde una ventana de ms-dos vamos a directorio donde hemos descomprimido el programa y escribimos
wget -rkc -l 2 -p -H http://xxxxxxx.blogspot.com/ y a esperar a que se baje.

-r: recorre recursivamente la página obteniendo toda la información.
-k: después que termina la descarga, convierte los links del documento a rutas relativas para poder navegar con normalidad.
-c: continua desde el punto en que quedo la descarga.
-l: numero máximo de saltos
-H: permite obtener ficheros de otro "host". Para bajar las imágenes que están alojadas en otro servidor.

Hay muchas opciones más que son interesante, como limitar los servidores, seleccionar la extensión de los ficheros,...

Linux en un pendrive.



Para este propósito nada más sencillo que usar: LiLi USB Creator. Sencillo, gratuito y con un diseño muy atractivo.

Te permite hacer varias operaciones al mismo tiempo. Mientras se descarga la imagen del Linux que vas a meter en el lápiz, se pueden ir seleccionando los restantes parámetros.

Una ventaja de este programa respecto a los de la "competencia" es que incluye el software para virtualización, por lo que se puede arrancar el Sistema Operativo instalado en el lapiz desde Windows, por ejemplo.

También permite seleccionar una zona del pendrive donde se almacenarán los datos.

Mi nuevo equipo





Gráfica: Sapphire Radeon HD 4850 512MB GDDR3 (HDMI/DVI-I/VGA)
  • Disco Duro: WD 500GB Black edition

  • Everest Disk Benchmark:
    Linear Read (Begin): 97979 KB/s
    Linear Read (Middle): 79385 KB/s
    Linear Read (End): 45610 KB/s
    Random Read: 81509KB/s
    Buffered Read: 213018 KB/S
    Average Read Access: 11.51 ms


Windows 32 y la RAM

Si tenemos 4 o más Gb de RAM y Windows 32 bits estamos desperdiciando memoria. Normalmente un Windows de 32bits no puede direccionar más de 3.20Gb de RAM, por lo tanto, la RAM que no puede ser direccionada no puede ser utilizada. Bueno, al menos por Windows, pero si podemos usarla creando un disco virtual (RAM Disk). Es decir, creamos un disco en la RAM que Windows no usa. El disco será muy rápido y al apagar el ordenador se borrará todo.

Hay que tener esto último en cuenta, sí al apagar el PC se borra, al hibernar el PC también se perderá su contenido, y al restaurar el sistema no estarán los datos. Bueno, aunque puede que no puedas hibernar el PC si instalas el RAMDisk, al menos con el Gavotte, el que uso yo.
Para crear este disco en la RAM podemos seguir las instrucciones que encontraremos en el foro www.chw.net, usando el programa gratuíto Gavotte RAMDisk. Podemos ver el WIKI "oficial" traducido mediante Google tanslate.

Una vez lo tengamos instalado viene el darle uso, por ejemplo:

Windows
  • Podemos poner el archivo de paginación de Windows en este disco. Para ello podemos seguir la guía que encontramos en el foro www.chw.net. Aunque si tienes tanta RAM, puede que no te haga falta ningún archivo de paginación. Yo desactivaría y trabajaría normalmente con el PC para ver si me hace falta o no.

  • Los directorios temporales también los podemos asignar a dicho disco. En XP sería cambiar las variables del sistema TEMP y TMP. Dependiendo de la cantidad de espacio libre asignaremos también las variables TEMP y TMP del usuario.
    Hay que tener en cuenta que cuando descomprimimos un archivo, el compresor suele usar el directorio temporal del usuario para sus operaciones.
    También hay algunos programas que usan dicho directorio para instalarse. Guardan datos en el directorio temporal esperando encontrarlo para terminar la instalación en el proximo reinicio de Windows.

Firefox
Para cambiar el directorio de la cache de Firefox nos vamos a about:config y creamos una entrada del tipo String con nombre browser.cache.disk.parent_directory y le damos el valor de la unidad y directorio donde creará la cache.

Internet Explorer
En en navegador de Microsoft podemos hacer lo mismo y mover la carpeta de los ficheros temporales al disco RAM. Con la velocidad de las lineas que tenemos ahora tampoco hace falta guardar las páginas en nuestro disco duro. Seguro que nuestro disco duro lo agradecerá.

Reflejos en Sony Vegas

Estoy empezando a usar el programa de edición de vídeo Sony Vegas.

Al empezar, como con todo programa que empiezas a usar, estás muy perdido, pero para eso está Internet y el altruismo de los que se dedican a hacernos más fácil cualquier aprendizaje haciendo tutoriales. YouTube es una fuente inagotable de tutoriales.

Quiero hacer mi pequeña contribución seleccionando los que considero interesantes. Voy a empezar con los reflejos.

En el siguiente vídeo nos enseñan a crear un reflejo en Sony Vegas, en este caso, en el "suelo". Queda un resultado muy profesional.

Resumiendo:
  • Hay que duplicar la capa.
  • Situar la capa duplicada para simular el reflejo.
  • Insertar otra capa entre ambas y generar un degradado lineal de blanco a negro y cambiar el modo de composición de la capa a "overlay".
  • Jugar con el degradado para obtener un buen efecto.


Ver en youtube
Éste es un método, seguro que hay más. En Sony Vegas se pueden hacer las cosas de varias formas, unas serán sencillas, otras más complicadas, otras que requieran más uso del procesador para renderizar,...

Que difíciles hacemos las cosas

Hay que ver que difíciles hacemos las cosas algunas veces.
Por ejemplo, me encuentro el siguiente código donde hay que buscar un fichero en distintos dispositivos:

if( existIn(A) )
{
...
}
else if( existIn(B) )
{
....
}

Tenía que hacer la comprobación en más dispositivos y me disponía a meter más else if. Menos mal que he pensado un poco antes de hacerlo
Al final me ha quedado:

const int devices[4] = { deviceA, deviceB, deviceC, deviceD };
for( int n = 0; n < 0; ++n )
{
if( existIn(device[n]) )
{
...
break;
}
}

Si hubiese hecho esto desde primera hora, hubiese sido mucho más fácil la modificación. Parece una tontería, pero ahora podemos cambiar el orden de búsqueda, añadir nuevos dispositivos,... con mayor facilidad.
Queda mucho más elegante.

Gimp usando el GTK ya instalado sobre Window.

Si queremos instalar The Gimp en nuestro Windows y ya tenemos instalada la librería GTK, no hace falta que la volvamos a instalar.
Instala The Gimp, pero desmarca la casilla para no instalar las librerías Gtk.
Si intentas abrir el programa te dará muchos errores porque no encuentra las librerías. Para que las encuentre hay que editar un fichero de texto, el fichero a editar se encuentra dentro del directorio donde se ha instalado el programa, en la siguiente ruta: .\lib\gimp\2.0\environ\default.env.
Lo abrimos y veremos que hay una linea del tipo Path=. Sólo tenemos que añadir a dicha linea la ruta donde están instaladas las librerías Gtk.
En mi caso la linea queda: Path=D:\Program Files\GIMP-2.0\bin;D:\Program Files\Common Files\GTK\2.0\bin

Acortadores de direciones

¿Qué sacaran estas empresas?

El funcionamiento parece es el siguiente. Estás escribiendo en twitter y quieres poner un enlace a una página de un artículo de un foro. Compruebas que la dirección ocupa casi los 140 caracteres que te permite twitter ¿Qué hacemos ahora?

Podemos dejar se usar twitter porque no nos gusta la limitación de 140 caracteres. Esto indicaría que no lo hemos usado mucho, porque si has leído algunos mensajes en twitter, ves direcciones muy cortas del tipo: http://is.gd/guNm, http://tinyurl.com/85jlv4. ¿Cómo se consiguen estas direcciones cortas?

Bueno, podemos visitar alguna, vamos a probar con http://is.gd. Aqui aparece un textbox para copiar la dirección larga y un botón, menos mal, parece que no hay que registrarse. Le ponemos por ejemplo: http://seriecanal.com/foro/viewtopic.php?t=3200&postdays=0&postorder=asc&start=0 y nos la deja en: http://is.gd/gvvI. Comprobamos la dirección y ¡funciona! Bueno, ha tardado un poco, porque ahora tiene que hacer un salto más: preguntarle a is.dg, y que éste la busque en su base de datos y nos reenvíe a la original.

Bueno, pues ya tenemos la dirección corta, sin tener que registrarnos, y encima no saca publicidad al redireccionar. Que curioso. ¿Y entonces como se costean estas empresas?

Pues no se, vamos a leer un poco las las condiciones y terminos de uso. Limitaciones, bla bla bla. Garantía, ninguna, es un servicio gratuito y no tiene ninguna garantía. ¿Y la política de privacidad?

Anda, no recogen ninguna identificación personal, pero si guardan la dirección larga que le suministramos, lógico, si no no sé como iba a redireccionar. Anda, pero si también guardan nuestra ip, la resolución, el navegador que usamos. Pero se olvidan de poner que también pueden recoger información sobre las últimas direcciones visitadas con nuestro navegador, programas instalados,… ¿No te lo crees? Pásate por http://browserspy.dk/ y haces algunas pruebas. También recogen los mismos datos de las personas que usan las direcciones cortas.

Y volvemos a la primera pregunta. ¿Como se financian estas empresas? ¡Si no tienen nada de publicidad?

Pues a me da que va a ser de los datos recogidos. También puede que estén engordando sus bases de datos por si algún comprador le hagan una oferta tentadora. ¿Pero para qué van a querer esas bases de datos?

Bueno, seguro que con tantos datos pueden hacer algún tipo de análisis estadísticos que se puedan vender. Además, si tienen muchas direcciones tienen mucho control. Imagina que dejan de ofrecer el servicio, o lo ponen de pago. Todas las direcciones cortas creadas en esta empresa: las que hay en twitter, en los blogs o en cualquier sitio, dejan de funcionar. O sea, twitter pierde casi toda la información; busca ahora la dirección larga partiendo de la corta. Los enlaces no sirven de nada porque no nos llevan a ninguna parte. Bueno, podrían llevarnos a cualquier parte, porque las direcciones cortas nos redireccionan a donde “ellas” quieran y cuando “ellas” quieran.

Sigue tú pensando cosas, que yo ya me voy a la cama. Pero parece que estas empresas tienen una inversión a corto y largo plazo. Y el que dependa mucho de ellas lo tienen bien cogido.

PD. Esto son sólo elucubraciones mías. Pero ¿Quien sabe?

3Com OfficeConnect y syslogd en FreeBSD

Recientemente el router que tenía murió y ya.com me ha enviado otro. El modelo es 3Com OfficeConnect ADSL Wireless 11g Firewall Router ya.com

Navegando por las páginas de configuración del router vi que se podían mandar los log a un servidor, y como tengo un servidor con FreeBSD intenté configurarlo para que recibiera los logs que le enviaba el router.

Después de algunas pruebas y buscar por la red, los ficheros que tuve que modificar fueron:

En /etc/rc.conf la linea syslog_flags="-ss" para que querada como syslog_flags="-a 192.168.0.1".
(De esta manera le estamos diciendo a syslogd que va a recibir logs desde dicha IP)

En /etc/hosts añadí 192.168.0.1 router router (192.168.0.1 es la dirección del router).
(Le ponemos nombre al router)

En /etc/newsyslog.conf añadí /var/log/router.log 640 5 100 * Z
(Para mantener fichero con un tamaño máximo de 100k)

En /etc/syslog.conf añadí las lineas:
+router
*.* /var/log/router.log
(Para especificar el fichero donde guardará los logs que vengan del router)

En la consola, y como root cree el fichero con: #touch /var/log/router.log y le mandé un HUP al syslogd para que se reiniciara: #kill -HUP "pid de syslogd".

Ahora, en /var/log/router.log puedo ver los mensajes que envia el router. :-)

Unir dos avis y sus subtítulos

Es bastante normal obtener una película en divx en dos ficheros de 700Mb cada uno y con dos dicheros de subtítulos.

Este valor de 700Mb viene de cuando sólo había CDr. No se por qué se siguen partiendo como si se fuesen a grabar en un CD, cuando hoy en día lo mas normal es grabar en DVD, puesto que el precio del DVD es parecido al del CD, teniendo más capacidad.

Pero como tengo que unir una película con subtítulos que viene partida en dos ficheros, pues lo añado a la lista de cosas que hice para recordarlo.

Antes de unir el video voy a unir los subtítulos y luego se podrá ver por qué.

El programa usado para unir los subtítulos es Subtitle Workshop 2.51. Un programa freeware muy completo.

Para unir los subtítulos nos vamos al menú Tools y seleccionamos Join Subtitles.
Con el botón Add añadimos los ficheros a unir.
Seleccionamos el primer fichero y pinchamos en el botón Set movie fragment para que recalcule los tiempos del segundo fichero de subtítulos conociendo la duración del primer fichero. (Si hubiesemos unido antes el video y hubiesemos borrado los ficheros originales no se podría haber hecho esto).
Seleccionamos el formato de fichero de subtítulos que queremos y pulsamos en Join! para generar el fichero unido (cambia el nombre al fichero para no borrar el original).

Ya tenemos los subtitulos unidos, ahora vamos a unir el video. El programa que vamos a usar es el VirtualDubMod, también gratuíto.

Nos vamos al menú File y pinchamos en Open video file... para seleccionar el primer fichero avi. Después volvemos al menú File, pero ahora pinchamos en Append segment....
Ahora vamos a guardar los dos avis en un solo fichero, y para eso volvemos al menú File y pinchamos en Save As....
Le ponemos el nombre al fichero que vamos a generar con los dos avis y al final de la ventana, en Video mode seleccionamos Direct stream copy, puesto que no vamos a recomprimir.

Ya tenemos los ficheros de subtítulos y los avis unidos. Ahora sería conveniente que probaramos los ficheros que hemos generado. Yo suelo probar el punto de unión, porque en alguna que otra union no lo ha unido bien porque los ficheros no estaban bien cortados.

Minimizar una aplicacion cuando otra es minimizada

Lo que necesito hacer es minimizar una aplicación escrita en C# cuando otra aplicación es minimizada.
Buscando información me topé con los HOOKS (ganchos). Con un hook se pueden procesar los mensajes que envían otras aplicaciones antes de que dichas aplicaciones respondan al mensaje. Es un rutina que se instala en el sistema y supervisa el tráfico de mensajes del sistema.
Hay 3 tipos de hook:
System hook: Intercepta mensajes del sistema.
Local system hook: Intercepta mensajes de un thread.
Global system hook: Intercepta mensajes de cualquier aplicación del sistema.

Con C# no es posible crear los gobal hooks. Se pueden crear, pero se necesita una dll en C++ que tendrá la función para procesar los mensajes.

Enlaces interesantes:
http://www.codeproject.com/csharp/globalsystemhook.asp
http://msdn.microsoft.com/msdnmag/issues/02/10/cuttingedge/
http://www.dotnetinterop.com/samples.aspx

Que hacer con un Pendrive USB

Me han regalado un dispositivo de almacenamiento USB.

¿Qué hacer con él?

Se puede usar para tener aplicaciones sin necesidad de ser instaladas y que pueden funcionar en cualquier ordenador. En los siguientes enlaces se pueden encontrar cientos de estas aplicaciones:

The Portable Freeware Collection
Portable App

Pero lo que quiero es meter un sistema operativo y arrancar el ordenador desde el USB.

Se puede arrancar un Knoppix, pero la información que he encontrado es para hacerlo desde Linux: http://www.knoppix-es.org/?q=knoppix-usb

Otra página interesante es http://www.vnunet.com/personal-computer-world/features/2152896/pocket-office?page=1