26.5.14

Nueva versión de HippoCalc en camino

Hace tiempo que no publico nada en mi blog y bueno, quizás debería tomarme un poco más en serio esto del blog, pero no lo hago, y claro, mi blog da pena...

Hace tiempo que estoy trabajando en un pequeño proyecto, conforme me van quedando huecos libres. Es un proyecto pequeño y sencillo, pero el tiempo es el tiempo. Tengo una "calculadora IP educativa" en una web (hippocalc.net24.com) que he decidido actualizar y renovar. La verdad es que lo llevo bastante avanzado y aquí se puede ver un par de pantallazos de la nueva aplicación web (cuidado, todavía no la he subido):



La idea es tener una aplicación web que luego pueda fácilmente convertir a aplicación para el móvil (usando cordova u otro framework), que tenga un diseño adaptativo y que cambie de aspecto al cambiar el tamaño de la pantalla o al verlo en un dispositivo móvil (responsive web design) y que además pueda convertir fácilmente en un WebApp instalable a través de Chrome o Firefox en un PC. Como se puede ver en los pantallazos de arriba, sería la misma aplicación, pero básicamente donde se han usado CSS media queries y un javascript adaptado a cada tamaño (3 en realidad), respondiendo a las necesidades de cada vista.

Para realizarlo he usado mínimamente JQuery... y la idea inicial era no usarlo... aunque ahora que estoy aprendiendo a usar AngularJS me he dado cuenta de que realmente he hecho el tonto (o quizás no).


La verdad es que si todavía no lo he puesto online es porque me he currado unos scripts, que como son míos son maravillosos, para darle soporte multi-idioma desde javascript y PHP sin cambiar los datos de origen. Desde javascript y PHP se leen los mismos archivos de configuración de idioma, y se cargan las mismas traducciones y se genera una versión traducida de la parte "estática" del texto (la dinámica siempre se genera con javascript, aunque la "estática" también se cambia, o se puede cambiar, desde javascript).

Cuando me refiero a la parte "estática", me refiero por ejemplo a las etiquetas de los inputs en los formularios, que no cambian en función de los datos de entrada, y a otros textos que no se calculan en función de unos parámetros de entrada. Y el rollo de hacer esto ha sido porque los buscadores no ejecutan el JavaScript (bueno google si, pero es el único), y no se enteran del contenido dinámico.

Si lo hubiera echo solo en javascript, que es adecuado para pasar tu aplicación HTML5+Javascript a una app para un móvil (con Cordova o PhoneGap, por ejemplo), los buscadores, al ver la versión web y hacer "clic" en otro idioma, se encuentran un JavaScript, y no ven "nada" realmente en otro idioma. De esta forma, tal y como lo he hecho, a través de PHP se genera y cachea una versión del HTML con el texto "estático" en cada idioma, y se convierten los enlaces a enlaces navegables por un buscador (no se ejecuta javascript en ese caso), de tal manera que los buscadores "ven" que hay versiones en otros idiomas.

Y ahí estoy, con casi todo ya listo, y traduciendo del español al inglés... que claro, como no hacer la traducción y dejar algo que ya tengo hecho y funciona sin utilizar... y paradojicamente es donde estoy más atascado y oxidado :-P... pero me sirve de entrenamiento para el año que viene, que empiezo, si hay plazas, 4º de inglés en la EOI.

28.11.13

Gmail en versiones antiguas de Firefox

Las aplicaciones web están cambiando mucho y Gmail también. Si tienes una versión antigua de Firefox, como la incluida en Guadalinex y Guadalinex Edu 9.04 o anteriores, puede ser que te encuentres que no te deje entrar en Gmail o que la visualización sea inoperativa (es decir, que no te deje hacer nada).

Si tienes este problema, lo más normal es actualizar Guadalinex a la última versión, pero esto algunas veces es problemático porque hay ordenadores que les cuesta mucho trabajo funcionar con la última versión de Guadalinex. La solución es entrar en Gmail con la vista html básica. Para eso simplemente accedemos a Gmail poniendo:

http://mail.google.com?ui=html

Cuando Gmail carga se muestra también un enlace que pone "Cargar vista básica en HTML (para conexiones lentas)", pero a veces es díficil pulsarlo cuando la conexión es buena (se carga pronto), pero el navegador no está actualizado... en estos casos lo mejor es teclear la URL directamente, sin esperar a poder hacer clic.

Esto es todo.

30.10.13

Nada como verlo por dentro

Y es que no hay mejor manera de entender como funciona algo que diseccionándolo... Hoy un disco duro roto con el que mis alumnos han podido ver que su funcionamiento es más simple de lo que parece.

18.10.13

Se busca...

En algún lugar de este pequeño mundo, en algún rincón, que no tiene por qué ser necesariamente un rincón perdido, hay una persona que tiene en su mano solucionar todos los problemas del mundo.


Esta persona existe, es real y no tiene superpoderes, pero posiblemente, casi con toda seguridad, no sepa realmente las enormes repercusiones de sus actos, desconoce que sus actos podrían conducir a la salvación, desconoce que sus actos evitarían el fin del mundo.


Es como el efecto mariposa y la teoría del caos, el batir de sus alas produciría un efecto en cadena que lo cambiaría todo. Solo hay que encontrar a esa persona, y… conseguir que vuelva a creer en la humanidad, pues ha perdido toda confianza en el ser humano, ha perdido toda confianza en su propia especie y razones no le faltan.


Convencer a esa persona no va a ser fácil, porque es una persona sin ilusión, es una persona que cree que no se puede hacer nada realmente para cambiar el mundo y que la única opción es agachar la cabeza y soportar. Desconocemos donde está esa persona ahora mismo, no tenemos la tecnología suficiente para encontrarla, pero puede ser que la tengas cerca sin saberlo. Y si la tienes cerca deberías intentarlo, deberías intentar que vuelva a confiar en el ser humano y que recupere la ilusión, seguro que al volver a ilusionarse tomará partido y actuará, lo cual desencadenará una ola que cambiará el mundo.

10.6.13

eXeLearning: un paso hacia el futuro educativo

Aquellos que hemos utilizado eXeLearning para desarrollar materiales educativos para su uso en plataformas de aprendizaje en línea (también llamados LMS - Learning Management System), sabemos el hito que supone eXeLearning en ese ámbito.

eXeLearning es una herramienta gratuita que nos permite diseñar contenidos educativos para su enseñanza a distancia con una calidad sorprendente.

Y ahora, on-line y en abierto, uno de los mejores expertos en eXeLearning de este país, José Ramón Jimenez, colaborador en el desarrollo de eXeLearning, va a dar una conferencia web al respecto que no tiene ningún desperdicio:

11 del Junio, a la 17:00, no os lo perdáis:

13.5.13

Tecnologías de la información y comunicación es Informática

Con el fin de promocionar la actual asignatura de Tecnologías de la Información y Comunicación de 2º de Bachillerato, he realizado este cartelito. El mayor problema ahora mismo no es que el alumnado no quieran hacer informática, es que muchos no saben que "Tecnologías de la Información y Comunicación" es "Informática".

Además, si no se paraliza la ley Wert o LOMCE, ojalá que la cosa cambie, en los borradores ya llaman a la materia de Informática en 4º de la ESO como "Tecnologías de la Información y Comunicación"... habrá que acostumbrarse.


Versión ODG
Versión PDF

21.2.13

Invalid header received from client

Pues estaba ya un poco harto de este problema (abres el firefox y le pones cualquier página, y solo recibes el mensaje "Invalid header received from client" en el navegador), que se repetía una y otra vez, hasta que decidí investigar a que se debía, y bueno, en mi caso, creo que en otros también, se debe a que Guadalinex 10.04 Edu intenta realizar una actualización que por algún motivo (creo que se debe a que el portátil es apagado antes de que se termine de actualizar por ejemplo), no termina de realizarse.

Guadalinex Edu lleva un paquete llamado "privoxy" que es un proxy (sin caché) que sirve para mejorar la privacidad y filtrar páginas webs entre otras cosas. Todas las peticiones http/https de los navegadores pasarían a través del él, y dicho software se encargaría de, tal y como indica su página web, mejorar la privacidad y controlar el acceso, entre otras cosas.

Este paquete se actualiza mal (y otros creo), y si ejecutas la aplicación "CGA Actualizaciones" del guadalinex edu de los ultraportátiles que la junta de andalucía le ha dado a los niños, simplemente, no funciona (aunque selecciones la opción de forzar actualización). La solución es "forzar" a que se actualice, usando un CD de arranque de linux y conectando el ordenador a internet a través de cable de red.

Mi solución ha pasado por descargar Guadalinex V8 y arrancarla en el portátil desde una unidad de CD/DVD USB externa, no hay que instalarlo obviamente. Se trata de que cuando sale la pantalla de "Instalar" o "Probar", te cambias a un terminal modo texto (pulsando Ctrl+Alt+F1) para poder ejecutar comandos.

Una vez en el terminal modo texto, te aparece un prompt (que termina con el símbolo $), a partir del cual podemos teclear comandos. Aperecerá el cursor parpadeando para indicarnos que ahí podemos escribir los comandos, escribimos los comandos, y después pulsamos Enter o Intro para ejecutar cada uno de ellos.

Lo primero es convertirnos en ROOT, es decir, tomar privilegios de usuario administrador para poder hacer tareas de administración, esto no podríamos hacerlo en un guadalinex edu normal ya instalado, dado que está capado (eso para otro momento):

$sudo su

Después de ejecutar el comando anterior, pasamos a ser root. El siguiente paso es crear una carpeta y montar la partición donde está instalado guadalinex edu, que generalmente suele ser "/dev/sda1":

$mkdir /tmpx
.... y después...
$mount /dev/sda1 /tmpx

Si todo ha ido bien, nos saldrá un mensaje en inglés como que se ha montado correctamente. El siguiente paso es acceder a la carpeta "tmpx" y "remontar" todos aquellos directorios que corresponden con dispositivos e información de sistema mapeada al sistema de archivos por el kernel, es decir, las carpeta "sys", "proc" y "dev":

$cd /tmpx
$mount -o bind /dev /tmpx/dev
...
$mount -o bind /sys /tmpx/sys
...
$mount -o bind /proc /tmpx/proc
...
 
Una vez hecho esto, cambiamos la carpeta raiz (chroot /tmpx) y accedemos a la carpeta de root (cd) para ejecutar los scripts de inicio de sesión (lo cual no se hasta que punto es realmente necesario, pero por si acaso, mejor hacerlo). Se presupone ya estás en el directorio "tmpx":

$chroot /tmpx
$cd
$source .profile
Y una vez hecho esto, simplemente queda actualizar correctamente Guadalinex Edu (recuerda que el ordenador tiene que estar conectado por cable a internet), para ello, teclea los dos comandos siguientes:

$apt-get update
$apt-get upgrade

Después de ejecutar los dos comandos anteriores (es el mismo pero con parámetros diferentes, el primero actualiza la lista de paquetes y el segundo realiza la actualización), el ordenador debería haber instalado los paquetes pendientes de forma correcta y debería funcionar. Por lo que solo queda salir y reiniciar:

$exit
$cd
$umount /tmpx/sys
$umount /tmpx/proc
$umount /tmpx/dev
$umount /tmpx/
$reboot

Y esto es todo.

9.9.12

Volcar un streaming de vídeo a archivo de disco usando VLC

Hoy me ha surgido un problema que no sabía muy bien como resolver, tenía que guardar varios vídeos (un total de 8), disponibles en Internet a través de streaming, para posteriormente verlos con calma. Los vídeos se proporcionaban concretamente a través del protocolo Microsoft Media Services (mms://...), y la verdad, quería descargarlos lo más rápido posible, sin instalar ningún software adicional en mi equipo.

VLC es un software que ofrece un muy amplio abanico de opciones: reproducción de vídeo, streaming, conversión de formatos, filtros y más; una autentica navaja suiza para el manejo de vídeos. Normalmente lo usaba como reproductor, pero he descubierto que puede hacer mucho mucho más. Ya sabía que a través de la interfaz gráfica proporcionaba un mecanismo para "guardar/convertir" un vídeo (ya sea como fuente un archivo o un streaming) en otro formato, y que es relativamente fácil de manejar. Pero desconocía las grandes posibilidades que tenía su línea de comandos.

El problema de descargar vídeos en streaming es que en principio el servidor de streaming no te va a enviar el vídeo a una alta velocidad, te lo va a dar a una velocidad que permita una reproducción sin cortes, lo suficiente para reproducirlo sin disminuir el ancho de banda del resto de vídeos que se están sirviendo. Aunque obviamente puede que el servidor de streaming esté configurado de otra forma (desconozco como se configura un servidor de streaming, como puede ser en este caso Windows Media Services, aunque reconozco que me gustaría saber como se pone en marcha, quizás lo haga algún día).

El asunto es como descargar todos los vídeos proporcionados a través de mms, lo más rápido posible. La idea es descargándolos todos a la vez, pero a través de la interfaz gráfica de VLC no he podido, por lo que he recurrido a la interfaz modo texto. Después de echar un vistazo a su guía de usuario y a la documentación he descubierto que se puede guardar un stream mms directamente a archivo:

vlc mms://.../video.wmv :sout=file/asf:video.asf

Esto habría que ponerlo en el interprete de comandos obviamente, lo que en Windows se conoce como símbolo del sistema, o bien en un archivo de lotes tipo bat, para su posterior ejecución.

Donde pone "mms://.../video.wmv" debe ir obviamente la URL del vídeo. La parte de ":sout=file/asf:video1.asf" significa básicamente que la salida será a un archivo de tipo asf (Advanced Systems Format) llamado "video1.asf". No conozco mucho de este formato, pero después de varias consultas en Internet he visto que (cuando se usa la interfaz gráfica de VLC) los streamings MMS los encapsulan siempre en un archivo asf, y cierto sentido tiene, dado que asf es un formato para streaming que, según he leído, puede contener un vídeo WMV, y a su vez, WMV es un formato que puede ser guardado tanto para reproducción en disco, como para streaming (por lo menos el Windows Media Encoder lo permite).

Con esto obtendremos el streaming de vídeo guardado en un archivo tipo asf, pero abrirá la interfaz gráfica para hacer el proceso y además, cuando termina, volverá a comenzar. Para evitar esto, podemos hacer lo siguiente:

vlc --intf dummy mms://.../video.wmv :sout=file/asf:video.asf vlc://quit

Aquí "--intf dummy" significa que básicamente no se utilice ninguna interfaz. Vlc tiene varias interfaces, incluida obviamente la interfaz gráfica, pero con la interfaz gráfica no he conseguido "lanzar" varias instancias de modo que se guarden varios streamings a la vez, a pesar de que he seguido las instrucciones para permitir la ejecución de varias instancias de vlc, no obstante, utilizando la interfaz "dummy" si me ha funcionado.

La parte "vlc://quit" sirve para indicar que vlc termine, una vez que haya concluido con el volcado a disco. Si no se pone, vuelve a comenzar, machacando el volcado ya realizado.

De esta forma se pueden lanzar varias instancias de vlc, cada una descargando un vídeo diferente (ejemplo para windows):

start "descarga de vídeo 1" vlc --intf dummy mms://.../video1.wmv :sout=file/asf:vid2.asf vlc://quit
start "descarga de vídeo 2" vlc --intf dummy mms://.../video2.wmv :sout=file/asf:vid1.asf vlc://quit

Todo esto lo podemos meter en un archivo tipo bat (en windows), que al hacer doble clic sobre él, descargaría todos los vídeos de forma simultanea, iniciando una nueva instancia de vlc para cada stream. Una vez que cada instancia de vlc se cierre (se creará ventana con información en modo texto para cada instancia de vlc al usar la interfaz dummy), se habrá concluido el volcado.

Aunque el archivo ASF es reproducible (sobre todo en windows), es conveniente convertirlo a otro formato más manejable, como por ejemplo mp4. Mp4 es un formato aceptado por muchos dispositivos y más cómodo para visualización en un ordenador. Esta tarea de recodificación también se puede hacer con vlc a través de la línea de comandos:

vlc --intf dummy video1.asf --sout=#transcode{vcodec=h264,acodec=mp4a}:standard{access=file,mux=mp4,dst="video1.mp4"} vlc://quit

Tengo que reconocer que cuando hice la conversión pensaba que iba a ser realmente lento, debido a la forma de trabajar de vlc, pero me equivoque. Es más rápido de lo que yo pensaba. El comando anterior transformaría el archivo asf en formato mp4 con codificación de vídeo H-264, manteniendo la misma calidad. Si bien, es más cómodo utilizar la interfaz gráfica de VLC para esta tarea, dado que aquí la línea de comandos de vlc no es tan fácil de entender, pero usando la interfaz “dummy” podemos automatizar el proceso en cierta manera.

Esto es todo :-P.

19.1.12

Resetear BIOS (CMOS) para eliminar password de SAMSUNG NP-N131

¿Tán difícil es? ¿Esto cuesta 85 euros? Me parece una pasada lo que algunas empresas de reparación de estos micro portátiles, repartidos por la Junta de Andalucía en los colegios e institutos de secundaria, cobran por reestablecer el password de la BIOS de los equipos SAMSUNG NP-N131 y NP-N130, vamos, por resetear la BIOS.

Si solo hay que puentear, con la batería y el cargador desconectados (muy importante), los contactos metálicos etiquetados como "RTC RESET". Esto significa que hay que poner algo metálico que una dichos contactos (pero solo esos, evitando tocar otra cosa y siempre con la batería y el cargador desconectados).

¡¡CUIDADO!! Esto tiene que hacerlo alguien con conocimientos técnicos adecuados y debes estar en un ambiente libre de electricidad estática. El autor de este artículo se exime completamente de cualquier avería o problema derivado de seguir los pasos aquí expuestos. Si realizas este procedimiento es bajo tu cuenta y riesgo.

1º) Quita el cargador y la batería, debe estar sin alimentación eléctrica ninguna (salvo la pila, que si hay que dejarla). Después pulsa varias veces el botón de encendido, esto se hace para eliminar la carga eléctrica que haya podido quedar en componentes eléctricos tales como condensadores.

2º) Quita la tapa donde va la memoria del portátil.

3º) Localiza los contactos  RTC RESET.

4º) Y con algo metálico y pequeño, se unen haciendo contacto, sin que haga contacto nada más y con la batería y el cargador desconectados.

Después de hacer esto será necesario entrar en la BIOS y reestablecer la fecha y la hora. Esto no elimina el password del disco duro, el cual, no se puede quitar si se pone, la única solución para eso es cambiar el disco duro.


20.12.11

Minijuego en Processing…

Un pequeño juego en Processing… evita los cuadrados moviendo el circulo con el ratón. Este es el objetivo que me he planteado para el alumnado de bachillerato de este año, ¿serán capaces de hacer algo parecido? Ojalá que sí, sería fantástico.
Para ejecutarlo necesitas java.
Aquí dejo el código fuente de este programita, para quien le interese: descargar código fuente en processing del minijuego.

28.11.11

Ilusión óptica en processing.

Probando a meter un applet Java en blogger puentenadolo a través de la carpeta pública de dropbox... ¿funcionará?

Parece que sí... se trata de uno de mis primeras pruebas en el lenguaje processing. Un lenguaje para realizar bocetos (scketchs), similar a java y muy adecuado para introducir al alumnado al mundo de la programación.

Aquí tenéis el código fuente en processing de esta ilusión óptica. Conforme el número de líneas crece, las líneas horizontales rojas se van curvando progresivamente... aunque parezca lo contrario, las líneas rojas son líneas rectas.

Un saludo.

6.5.11

Computing incident.

Otra vez, el equipo roto. ¡¡ Joer !! Me ha llevado arreglarlo dos días. Esta vez, ¡la caja! ¡La puñetera caja! El interruptor de encendido ha dejado de funcionar, ¿por qué? Ni idea.
Primero pensé que era la fuente de alimentación, como es normal. Luego la placa base, lo cual me dio hasta escalofríos. ¡¡La fuente y la placa tienen menos de seis meses!! ¡¡ Como podía ser !!

Me traje el ordenador de mi padre y a probar cambiando cosas... nada funcionaba. Hasta que se me ocurrió, de casualidad, probar cambiando el botón de arranque. Y efectivamente, con el botón de la otra caja, ahí, puenteado de mala manera, si que funcionaba, pero con el botón suyo de la caja, ¡ pues no ! Ala, ahora ponte a cambiar la caja con las ganas que hay y lo poco que se tarda.
Intenté arreglar el botón antes de comprar una caja nueva, de diversas maneras, pero al final termine fastidiándolo más, incluso fastidie no se como el botón de reset y uno de los cables del USB frontal se “solto” misteriosamente. El resto ya los arranque yo de la misma ira interior.

La anterior caja era una Tacens Lirica, así que no la recomiendo en absoluto. La nueva que le he puesto es una Vortex de la serie 36, mas barata y en mi opinión con mejor acabado y terminaciones. Ahí os dejo una fotillos de la nueva caja.
Una cosa que me ha sorprendido el pasacables que tiene por la parte de atrás:
Tampoco están nada mal los anclajes sin tornillos para las unidades de DVD y discos duros, al principio cuesta pillarle el truco pero están bastante bien:

25.2.10

La playa del zapillo inundada...

El temporal no deja de sorprenderme. Me han enviado una foto de como estaba el zapillo (Almería) el otro día... sorprendente:



Quienes conozcan el zapillo no tendrán problemas para interpretar la imagen. Para los que no lo conozcan pueden hacerse a la idea de que eso es el paseo marítimo y que por delante del mismo debería haber unos 7-10 metros de arena típica playera... mas o menos (puede que mas).

23.2.10

¿Significará algo?

Hoy, el espacio ocupado por mis e-mails en gmail tiene algo diabolico:

"Estás utilizando 666 MB (8%) de tu total disponible de 7426 MB."

:-P

10.12.09

Como cargarse y recuperar Windows Vista

Como cargarse y recuperar Windows Vista

Todo paso una mañana cuando pensé que me sobraba una partición del disco duro. En la partición en cuestión había instalado Windows 7, la versión para beta tester, aquella que era gratuita con fines de testeo y que desde hace un tiempo ha dejado de estar operativa.

La idea era arrancar con el SystemRescueCD, eliminar la partición de Windows 7, y ampliar la partición de Windows Vista. De momento, no tengo ninguna queja de Windows Vista, aunque la verdad es que lo uso poco y me gusta tener software con licencia instalado en el equipo.

La cuestión es que lo hice, elimine la partición y moví la de Windows Vista de forma que ganaba casi 30 GB de espacio en dicha partición. El problema surgió cuando, tras hacer la compleja operación, el Windows Vista no arrancaba.

Después de darle vueltas un rato, pensé que quizás, en el DVD de instalación de Windows Vista vendría alguna utilidad para reparar una instalación previa, y así era. Arranque desde el DVD de instalación de Windows Vista y fácilmente pude acceder a la utilidad que tiene para reparar instalaciones previas. Detecto el Windows y lo reparó.

Tras eso, desconfiaba que realmente se hubiera reparado el Windows Vista, pero probé a arrancarlo y, gratificantemente para mí, arranco. El problema surgió después cuando me era imposible iniciar sesión. En uno de los usuarios  (el que tiene privilegios admistrativos) me aparecía un mensaje de “Preparando escritorio…” eternamente hasta que finalmente aparecía la pantalla con únicamente el ratón.  En el otro de los usuarios (el que no tenía privilegios administrativos), aparecía el mensaje “Preparando escritorio…” seguido de “Guardando su configuración” y cerraba la sesión sin explicaciones.

Después de varios intentos, iniciando el administrador de tareas y lanzando la línea de comandos, logre averiguar que de repente Windows Vista pensaba que estaba en la unidad “V:” en lugar de en la unidad “C:”, y claro, eso puede tener graves consecuencias. De hecho, no me dejaba hacer prácticamente nada, los comandos de sistema existían, pero no se lanzaban. Intentaba lanzar “regedit” y me decía que el comando no existía, cuando yo estaba viendo el comando perfectamente delante de mí.

Después de googlear un rato, encontré un par de artículos que podrían ser la solución:

Estos dos artículos han sido la solución, de hecho. Por fin he conseguido restaurar el Windows Vista y ahorrarme una costosa reinstalación, aunque sinceramente, yo no he seguido todos los pasos descritos en los artículos. En mi caso, lo he hecho de la siguiente forma:

  • Arrancas el Windows Vista en modo seguro con consola de comandos. Para ello, presionas F8 justo antes de que empiece a arrancar Windows Vista y seleccionas la opción “Safe mode with command prompt”
  • Una vez que arranca, intentas iniciar la sesión con uno de los usuario con permisos de administración (vamos, con el que normalmente instalabas los programas).
  • Después de un rato esperando a que el mensaje “Preparando el escritorio…” desaparezca, aparece el escritorio sin nada, solo con el fondo azul y el ratón. Entonces pulsas “Ctrl+Alt+Supr” y en la pantalla que te aparece seleccionas “Iniciar Administrador de Tareas”.
  • Te aparecerá el Administrador de tareas, que es algo así:


    En él, en la pestaña aplicaciones le das al botón “Nueva tarea…” y ejecutas regedit:



    Después aparecerá el editor de registro,
    que será algo así:



  • En el editor de registro debes cambiar varias entradas del registro de Windows. Para empezar, ve pinchando hasta que llegues al final en la siguiente entrada: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Winlogon\. Aparecerá algo así:



    En tu caso, el valor de la entrada “UserInit” será algo como “C:\Windows\system32\userinit.exe,” y tendrás que cambiarlo seleccionando la opción de “Modificar…” (botón derecho del ratón) para que ponga solamente “userinit.exe,”, tal y como aparece en la imagen.
      Nos quedamos con ese "C:”, que se supone que es la letra de la unidad donde Windows estaba instalado antes del “fallo”. Puede que en tu caso sea diferente, puede aparecer otra letra, con lo que conviene apuntarla para después.

  • El siguiente paso es cambiar la letra de la unidad donde Windows está instalado. Para ello debes buscar la siguiente entrada en el registro: HKEY_LOCAL_MACHINE\System\MountedDevices y aparecerá algo así:



  • Ahora tienes que “cambiar el nombre” de las entradas “\DosDevices\C:” y de la “\DosDevices\V:”. Bueno, en mi caso son “C:” y “V:”. “C:” es la letra de la unidad antes del fallo y “V:” es la letra posterior al fallo.
  • Para saber cuál es la letra de la unidad anterior al fallo lo podías haber sacado de pasos anteriores, cuando se cambio lo del Userinit (aquello que comenté antes que apuntaras era la letra de la unidad anterior al fallo).
  • Para saber cuál es la letra de la unidad ahora, es decir, después del fallo, puedes iniciar la línea de comandos a través del administrador de tareas y ejecutar la tarea “cmd”. Te aparecerá algo parecido a “V:\Windows\...” en la ventana, pues el V: es la unidad que tienes que volver a poner como C:”.
  • Ahora tienes que cambiar el nombre de la entrada “\DosDevices\C:” por una letra que no uses, algo como “\DosDevices\Z:”.  Lo que estamos haciendo es cambiar la letra de unidad usada antes del fallo por una no usada, recuerda que en tu caso puede ser distinto a “C:”.
  • Después tienes que cambiar el nombre de la entrada “\DosDevices\V:” por la letra de unidad que se supone que debería tener “\DosDevices\C:”. Con esto cambiamos la letra asignada después del fallo a la letra que tenía antes del fallo. Recuerda que en tu caso puede ser distinto a “V:”.

Después de seguir estos pasos, reinicie y todo fue de maravilla. De hecho, ahora estoy usándolo sin problemas. Está claro que el hecho de que a mí me haya funcionado no garantiza que a ti te funcione. Yo utilizo Windows Vista Home Edition, por lo que con otra versión de Windows Vista puede ser diferente.

Usa con cuidado el editor de registro, porque puede dejar completamente inoperativo tu ordenador.

Seguir estos pasos también puede solucionar algunos problemas causados al “clonar” (con software tipo Norton Ghost o Partimage) una partición con Windows Vista y posteriormente restaurarla.

Saludos!


8.12.09

Rebooting?

Bueno, esta es una "entrada" emocional, mas que otra cosa. Llevo tanto tiempo sin escribir en mi blog nada interesante que empiezo a pensar que ya no tengo nada interesante que decir.

Supongo que es lo normal cuando ya no se tiene tiempo para mantener los hobbies, si es que esto es realmente un hobby :-P. Descubrir la parte interesante de uno mismo y proyectarla es complicado, y mucho más cuando uno no tiene tiempo.

....quizás esta no sea la mejor forma de empezar la entrada de un blog, y efectivamente no lo es. Es una patraña traicionera (crees que te esta haciendo un favor, pero luego se vuelve contra tí)... así que voy a dejarla a un lado.

En fin, seguiré con mis cosas. Recomendaciones para aquellos que blogeais de vez en cuando, una gran película: Julie y Julia (2009) (con Meryl Streep y Amy Adams).

Yo comencé a verla un poco escéptico pero al final me acabo gustando, porque refleja la realidad de la felicidad: la realización personal.

25.4.09

Fotos y mas fotos... nunca aparecen ordenadas cronológicamente :-(

Cuando vamos de viaje hoy en día estamos acostumbramos a echarle fotos a todo, y con todos los dispositivos que tenemos a mano y que tienen cámara. Eso significa que, generalmente, llevamos una cámara de fotos (o dos), y uno o varios móviles. Cuando se acaba la batería de la cámara digital, pasamos a nuestro móvil y viceversa.

El problema se agrava cuando hacemos un viaje con varias personas, eso significa varias cámaras y varios móviles.

Y digo que el problema se agrava porque después, cuando pasamos a organizar todo el mar de fotos, nos encontramos con muy buenos programas para organizar las fotos: Picassa, F-Spot, ... y alguno más. Pero para ver las fotos "en orden cronológico" hay que usar el dichoso programita. Y claro, si lo que quiero es "enchufar mi pen drive usb a la televisión o al DVD directamente" las fotos salen desordenadas porque la televisión y/o el DVD no saben que es el Picassa, F-Spot, etc... ni tampoco son capaces de leer la fecha de adquisición de la foto.

Si los DVDs y/o Televisiones actuales (un mensaje para los fabricantes de DVDs, Televisiones y demás) simplemente ordenaran las fotos por fecha de adquisición (o lo permitieran)... nos ahorrarían muchos problemas (al menos a mí). Eso se hace simplemente leyendo los metadatos EXIF de las fotos. De esa forma tu solo te preocuparias de grabar las fotos tal cual en un CD o DVD, o de copiarlas directamente a tu pen drive, y el DVD/TV haría el resto.

Igualmente nos ahorrarían muchos problemas si los fabricantes de software tipo Picassa (Google en este caso) y demás, incluyeran una opción de "exportar a carpeta" en la que se renombraran las fotos a un nombre que permitiera que las fotos no salieran despues desordenadas.

Algo parecido a lo que hace el siguiente Script de Linux:


IFS=$'\n'

PREFIX="rs_"

for each in $(ls *.jpg); do

#Extraemos el nuevo nombre (será la fecha formateada de la siguiente forma AAAAMMDDHHMMSS.
NN=$(exif -t 0x9003 "$each" | grep Value | sed "s/Value: //" | tr -d " :")

if [ -n "$NN" -a ! -e "$PREFIX$NN.jpg" ]; then
echo "Duplicando $each ----> $PREFIX$NN.jpg";
cp "$each" "$PREFIX$NN.jpg";
else
if [ -e "$PREFIX$NN.jpg" ]; then
echo "Error :-( Archivo duplicado ($PREFIX$NN.jpg).";
echo " :-( Puede que existiera de antes o que haya dos fotos tomadas en la misma fecha y hora.";
echo " :-( El problema lo ha dado la foto llamada $each. ";
fi
if [ -z "$NN" ]; then
echo "Error :-( Información de fecha y hora de captura de la foto no existente.";
echo " :-( La foto $each no tiene fecha de captura.";
fi
exit;
fi

done


Para ejecutar el código hay que instalar primero el paquete "exif" (por lo menos en ubuntu se llama exif y solo hay que hacer "apt-get install exif" para instalarlo). Después crear un archivo de texto que contenga el script en la carpeta donde están las fotos, después ponerle permisos de ejecución al archivo, y por último obviamente ejecutar el script.

Al ejecutarlo se verá algo así:

Duplicando 120_FotosCamara 169.jpg ----> rs_20090408212231.jpg
Duplicando 121_FotosCamara 170.jpg ----> rs_20090410142704.jpg
Duplicando 122_FotosCamara 175.jpg ----> rs_20090408213007.jpg
Duplicando 123_FotosCamara 176.jpg ----> rs_20090408213656.jpg

Y es que lo que hace es crear una copia de la foto con un nuevo nombre. La copia para no perder el original obviamente. Si os fijáis, el nombre del archivo es básicamente, una cadena fija "rs_" (para luego poder hacer "mv rs_*.jpg a_otro_sitio") y la fecha de adquisición puesta en el siguiente orden: "AAAAMMDDHHmmss". De esa forma, cuando se ordenan las fotos por su nombre en orden ascendente, directamente ya están ordenadas en el orden cronológico adecuado.

Saludos y que lo disfrutéis.

12.11.08

Ubuntu 8.10 y efectos de escritorio en Dell XPS M1330

En mi caso, el portátil va equipado con la tarjeta gráfica NVidia GeForce 8400M GS, la cual es una tarjeta bastante buena.


Para que funcionen los efectos de escritorio tienes que habilitar el controlador de licencia privada de NVidia (Sistema > Administración > Controladores de hardware). Recomiendan la versión 177.


El problema de habilitarlo es que sencillamente no funciona, por lo menos para la versión de 64 bits de la Ubuntu 8.10 y la versión del controlador 177, no se si pasa lo mismo con la Ubuntu de 32 bits, no lo he probado (¿alguien puede aportar algún comentario al respecto?).


La solución pasa por sencillamente actualizar el firmware de tu Dell XPS M1330, y tienes que actualizarlo a la última versión disponible (la A13), haz clic aquí para ir a la página de Dell.


A partir de ese momento parece que se soluciona el problema. Además, no se si son imaginaciones mías, pero me da la impresión de que se reduce notablemente la temperatura del procesador.

Saludos.

14.2.08

Instalando la extensión Yagitalk en Firefox con Ubuntu 7.10 edición 64 bits


Navegando por la página de extensiones de Firefox encontré una extensión llamada Yagitalk. Es una extensión que añade facilidades de lectura (texto a voz) a nuestro navegador en Linux (supongo que si te empeñas también puedes instalarlo en Windows(R) con cygwin... pero ¿tiene algún sentido?).

Es una extensión maravillosa, puedes configurarla para que lea la página al cargarla, o bien, para que solo lea el texto seleccionado. Además, puede pasar el texto leído a un archivo de sonido a MP3... ¿no es increíble?

Esta extensión utiliza Java y un sintetizador de voz muy conocido llamado Festival, y es relativamente sencilla de instalar... pero podemos encontrarnos con algunos problemas cuando lo hacemos en un Linux de 64 bits.

Los problemas vienen dados porque Yagitalk necesita el plug-in de Java en nuestro navegador web. Resulta que la ultima edición de Java (Java 6) para procesadores de 64 bits no tiene (entre otras cosas) un plug-in de Java para Firefox... ¿solución? Tendremos que instalar una versión anterior, la 1.4.2.

He leído por ahí que se puede utilizar la versión de 32 bits del plug-in de Java 6 con Swiftfox en un Linux de 64 bits (un navegador compilado para plataformas especificas que va bastante mas rápido)... pero hay otro problema en esto, resulta que YagiTalk no es una extensión compatible con Swiftfox... luego, no queda mas remedio que usar Firefox :-(.

Para instalar la versión 1.4.2 del plug-in (este si esta para 64 bits y además estará en el repositorio de Ubuntu), abrimos un terminal y ejecutamos lo siguiente (recuerda, la almohadilla # no hay que ponerla en el terminal):

#sudo apt-get install j2re1.4-mozilla-plugin

Perfecto... ya esta instalado. Ahora hay que decirle a Firefox que utilice el plug-in. Para ello, primero accedemos al directorio de plug-ins de firefox:

#cd /usr/lib/firefox/plugins

y ejecutamos creamos un enlace con el plug-in:

#sudo ln -s /usr/lib/j2se/1.4/jre/plugin/amd64/mozilla/libjavaplugin_oji.so

Pero cuidado, ¡¡ Si tenemos instalados la versión del plug-in de IcedTea y/o GCJ no funcionará !! Comprueba que no tienes los siguiente vínculos en el directorio de plug-ins de Firefox:

# ls
libgcjwebplugin.so
libjavaplugin.so
...


Si los tienes, eliminalos (o muevelos a otra carpeta):

#sudo mkdir tmp
#sudo mv libgcjwebplugin.so tmp
#sudo mv libjavaplugin.so tmp


Perfecto! Ya tienes el plug-in de java (una versión antigua... pero operativa).

Ahora necesitamos instalar "Festival Speech Synthesis System", o sea, "Festival". Esto lo podemos hacer también en el terminal, instalando lo siguientes paquetes:

#sudo apt-get install festival festlex-oald festlex-poslex festvox-don festvox-ellpc11k festvox-rablpc16k

Esto instalará algunos paquetes mas de los necesarios (voz española y británica)... en Yagitalk podemos configurar la voz que queremos utilizar.

Ahora, ya podemos instalar Yagitalk en Firefox, para nuestro Linux de 64 bits.

9.2.08

JDeveloper 10.1.3.2, Linux y procesadores de 64 bits

Cuando instalas un sistema operativo de 64 bits en un procesador de 64 bits (cosa bastante normal), todo el software que instalas tiene que estar compilado para 64 bits. ¿Vaya chorrada no? Pues sí, el problema es que eso afecta a cosas que, en principio, no debería afectar.

JDeveloper es una herramienta desarrollada en java, que se ejecuta en java, y en fín... ¡java!. ¿Por que no se ejecuta en mi edición de 64 bits de Ubuntu 7.10?

Esta bien, analicemos:
  • Me he descargado la edición de 64 bits del JDK 1.5.0_14 (la ultima versión a fecha de 9/2/2008), y lo he descomprimido en /opt/jdk1.5.0_14.

  • En el archivo $(JDEVELOPER_HOME)/jdev/bin/jdev.conf (donde $(JDEVELOPER_HOME) es el directorio donde esta descomprimido el Jdeveloper 10.1.3.2), he escrito donde esta el JDK mediante la siguiente línea de configuración:

    • SetJavaHome /opt/jdk1.5.0_14
Intentamos ejecutar jdeveloper y ...

Oracle JDeveloper 10g 10.1.3.2
Copyright 1997, 2006 Oracle. All Rights Reserved

Error: hotspot VM not supported
Error: JDeveloper can't recognize the JDK version


es decir... no se ejecuta. ¿Solución? Parece que la maquina virtual de java hotspot (Java HotSpot Client VM) no esta en la edición de 64 bits. Raro, ¿no?... por lo menos a mí me lo parece, probaremos a decirle a JDeveloper que en vez de usar la “hotspot” use la “server”, a ver si así funciona. Para ello, cambiamos la siguiente línea de configuración de jdev.conf:

SetJavaVM hotspot

por la siguiente:

SetJavaVM server

Resultado: ¡¡ Funciona !!