lunes, 16 de septiembre de 2013

Cómo agregar la característica de imprimir directorios al Explorador de Windows

Pues mira, años y años y no se me había ocurrido buscar esto. Está todo explicado en http://support.microsoft.com/kb/272623. Sin embargo, yo le he hecho una pequeña modificación al bat:

@echo off
dir %1 /-p /o:gn > "%temp%\Listing"
start /w notepad /p "%temp%\Listing"
del "%temp%\Listing"
exit


Básicamente, he quitado las órdenes de ordenación y, más importante, de mandarlo a impresora, yo solo quiero que me aparezca el bloc de notas. También, en la información del registro, por aquello de que me aparezca en el menú contextual en mi idioma...

[HKEY_CLASSES_ROOT\Directory\Shell]
@="none"

[HKEY_CLASSES_ROOT\Directory\Shell\Print_Directory_Listing]
@="Imprimir DIR"

[HKEY_CLASSES_ROOT\Directory\shell\Print_Directory_Listing\command]
@="Printdir.bat \"%1\""

[HKEY_CLASSES_ROOT\SOFTWARE\Classes\Directory]
"BrowserFlags"=dword:00000008

[HKEY_CLASSES_ROOT\SOFTWARE\Classes\Directory\shell\Print_Directory_Listing]
@="Imprimir DIR"

[HKEY_CLASSES_ROOT\SOFTWARE\Classes\Directory\shell\Print_Directory_Listing\command]
@="Printdir.bat \"%1\""

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}]
@=""

[HKEY_CLASSES_ROOT\SOFTWARE\Classes\Directory]
"EditFlags"="000001d2"

El resumen es que añade una entrada al menú contextual cuando pinchas con el botón derecho en una carpeta y te permite obtener un texto con el listado de ficheros.


sábado, 7 de septiembre de 2013

Google Drive PC y la identificación de usuario


Google Drive
Llámeme tonto. Llámame inútil. El caso es que me he tirado unos cuantos días de quebraderos de cabeza con la aplicación para Windows de Google Drive, el que sincroniza tus carpetas del PC con la nube (el que te descargas al pinchar en "conectar Drive a tu ordenador".

Llevaba tiempo sin activarlo (habituado a quitar cosas del segundo plano, antiguo que soy) y ese día voy y le doy. Pues no va. Básicamente, cuando intenta arrancar la aplicación no hay sesión de usuario almacenada (no me preguntes por qué se "borró" el inicio automático) y me pide mis datos de usuario, o sea, mi identificación en Gmail, para entendernos (la identificación para el "universo Google").

Pues me sale un mensajillo diciendo que "mi navegador no acepta cookies" y que, por tanto, no le da la gana arrancar; al sincronizador de Google Drive, digo. Pues mira que esto es raro porque mi Chrome lo tengo como me piden los de Google. Si lees más detenidamente incluso te dice que mi navegador... ¡es incompatible con Google Drive!.

domingo, 26 de mayo de 2013

Skype x 2

Anda que no son listos los de Skype. Pues que te permiten tener 2 skypes abiertos con cuentas diferentes. Es tan tonto como hacerse un acceso directo en el escritorio (si queremos) y añadirle /secondary a la llamada al ejecutable.

Vamos, tampoco es que los de Skype se escondan al respecto, sus páginas de soporte lo explican.

Otra cosa es que me guste cómo lo han implementado.

¿Adónde ha ido mi perfil de usuario en Windows 7?

A raíz de unos asuntillos que me perjudicaron una tarde sábado me desapareció el perfil de usuario. Más bien a Windows no le daba la gana, porque estar estaba. Al final, recuperarlo ha sido una tontería, los chicos de Microsoft ya te dicen cómo

La cosa reside en que cuando entras en modo a prueba de fallos, si no es capaz de encontrar tu perfil renombra la clave del registro añadiéndole un ".bak" y te crea una nueva mínima para poder entrar y trabajar. Cuando ya estás seguro de que todo lo tienes en su sitio correcto, es entrar en el registro y renombrar claves para volver a la situación anterior al inminente desastre. Es lo que describe el método 1 del enlace anterior, no me ha hecho falta más.

Macrium Reflect y discos GPT en RAID 0

Como no quería ser uno más de los de "en casa del herrero..." hace tiempo que adquirí una licencia de un software de respaldo de clonación de discos. Nada excesivamente caro, de buena factura y fácil de usar. Macrium Reflect. La necesidad de pagar por la licencia es precisamente por el soporte de discos GPT porque en la versión gratuita ya tiene un buen capazo de funciones pero no esta. También añade un respaldo de carpetas y ficheros. Ya no me preguntes por qué este y no otro, que famosos los hay, pero en su día pagué por él.

Hasta que llega otro día en que decides, caprichos que te das, sustituir un par de discos duros que tienes montados en RAID 0 cuyo volumen resultante excede los 2 TB, de ahí la tabla de particiones GUID. Los discos nuevos tienen la misma capacidad que los viejos. Lo normal es restaurar la imagen previamente guardada en ellos y volver a cerrar la caja del ordenador. Pues no.

CreateGPTDisk failed

Del derecho y del revés, "palante" y "patrás". Que no hay manera. La conclusión final es que como el RAID lo gestiona el propio chipset de la placa, Reflect no se encuentra cómodo. Hete aquí que tampoco estoy seguro de que pueda reponer los discos viejos y que Windows no chille. El Horror, el Horror...

Al final he tenido que dar un par de vueltas pero no ha sido tan grave. Macrium Reflect permite montar la copia de seguridad en una unidad de disco y navegar por ella con el explorador de archivos. El método ha sido más una restauración de archivos que clonar discos: copiar y pegar carpetas, y listo. Eso sí, después ha tocado retocar un par de cosillas en Windows porque, de tanto entrar y salir para comprobar que no había manera, mi perfil de usuario había desaparecido.

Hasta que lo he dejado todo tal cual debía estar, he probado todo lo probable. Desde el Windows PE que monta Reflect, DISKPART para crear particiones y volúmenes; desde el propio Windows también.

El Horror, el Horror..., pero no tanto.

domingo, 21 de abril de 2013

De Google App Engine y Course Builder

Ni comento. Tortazos que me estoy dando por actualizarme a una nueva versión.

Google App Engine SDK Python 1.7.7 - 2013-04-09 para Windows
Python 2.7.3

Tortazo 1: intentando poner en marcha el ejemplo de course builder del momento, un error en wsgi.py que se soluciona como dice aquí. La solución:

Just comment out by adding # to the following lines in "appengine_config.py" - which is the same codes listed above by yatch4 above.  See attached screen capture.

        #stub = apiproxy_stub_map.apiproxy.GetStub(
        #    'datastore_v3')
        #if stub:
        #    policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(
        #        probability=1)
        #    stub.SetConsistencyPolicy(policy)


El dichoso appengine_config.py es el que se encuentra en la carpeta raíz del proyecto que vamos a visualizar en el navegador.

¿Me aparecerán más errores que no deberían?

viernes, 1 de febrero de 2013

Añadir javascript a Google Sites

Muchas veces hay servicios de internet (skype, twitter, ...) que te ofrecen botones con código javascript para indicar si estás conectado por ejemplo y, de paso, que utilicen el servicio aquellos que están leyendo tu página. En Google Sites, en el editor de páginas solo se admite html así que no se puede incrustar ese código tal cual.
La solución está en codificar un gadget propio. Hay que irse a developers.google.com y utilizar, debidamente identificado como usuario Google, el Editor de gadgets de Google (Google Gadgets Editor, GGE. El truco consiste en aprovechar el script que nos ponen de ejemplo (Hello World! típico) y sustituir dentro de la etiqueta CDATA con nuestro código:



 Lo bonito del asunto es que, grabando previamente, te sale ese enlace de arriba a la derecha, un fuente XML, que es lo que debes copiarte porque cuando vayas a tu sitio Google, al típico "insertar Más Gadgets" y de ahí al "desde URL":


Así se consigue meter el dichoso javascript en una página de Google Sites.

viernes, 18 de enero de 2013

NetBeans no encuentra el JDK

Esto es una tontería y creo recordar que alguna vez ya lo he tenido que hacer. Con todos los "sucesos" que me ocurren con el Java, no es raro que de vez en cuando ("muy", eso sí) tenga de reinstalarlo de cero. Uno de los perjudicados es NetBeans.

Pues eso, que no encuentra el JDK y yo no me acordaba de dónde había que tocar. Pues en ..\dondeEstéNB\etc\netbeans.conf. Los de stackoverflow me lo han dicho.