El API de desarrollo de Google Maps impone un límite de 50000 peticiones de geocache cada 24 horas por cada API key (corrijo, en septiembre lo cambiaron a 15000 peticiones por IP de cliente, se puede leer aqui), eso está publicado en la web de su API, lo que no advierten por ningún lado es que también hay un límite en las peticiones de “tiles” (trozos de mapa para componer la imagen que quieres ver) para una determinada IP en un determinado periodo de tiempo.
Si usas un programa como el CompeGPS y usas los mapas de google maps con el, al poco tiempo de estar utilizándolo verás como deja de dibujarlos presentando un mensaje que dice “overzoom”. Si luego vas a google maps, wikiloc, o cualquier otra aplicación web que haga uso del API de google maps, comprobarás con asombro que no puedes ver ningún mapa y que aparece un mensaje como “no disponemos de imágenes de la zona a este nivel de zoom” (lo cual no es cierto).
Esto ocurre porque el CompeGPS realiza tantas peticiones de mapas de manera simultanea y en tan corto periodo de tiempo que los servidores de Google Maps lo identifican como un software maligno haciendo un ataque DOS o como un software de “robo” automático de imágenes por lo que marcan tu IP como “sospechosa” y te cortan el servicio hasta pasado un buen rato.
Para demostrarle a Google que no eres un bot maligno, hay que acceder directamente a la página de petición de mapas:
para descubrir la razón por la que no te deja verlas. Además de explicarte el problema, probablemente te pedirá que introduzcas un código antibots y en cuanto lo hagas, voilá, todo volverá a funcionarte… hasta que vuelvas a usar el CompeGPS o wikiloc compulsivamente otro rato, claro.
Mi colega el que me puso el mote que da nombre a esta página, el otro día me obsequió con un trabajito de investigación. Su mayor exponente de estar a la vanguardia de la tecnología, un PVR Thomson DTH 8550E se había estropeado y no le permitía acceder al menú del equipo debido a que la placa base del mismo estaba frita (palabras del servicio técnico).
En estos casos el aparato se lleva a la casa a hacer efectiva la garantía, pero mi amigo temía (con razón) por el destino que sufrirían las pelis que tenía guardadas en el disco duro, con vídeos de sus monstruitos haciendo el monstruo en diversos eventos sociales. Bueno el caso es que como en la tienda le iban a dar un aparato nuevo, me lo trajo al sanatorio de dispositivos electrónicos de Makinolo para tratar de extraer la información del disco antes de despedirse de el.
No me pareció en principio una tarea muy complicada. Al abrir el cacharro se observaba perfectamente una unidad grabadora de DVD Philips y un disco duro IDE Seagate ST3160022ACE de 160Gb.
Conecté el disco a uno de mis PCs y la BIOS lo reconoció a la primera. Sin embargo Windows XP, aunque lo detectó como dispositivo nuevo, no fue capaz de añadirlo a la lista de unidades.
Supuse que el problema era que el sistema de ficheros que usaba el disco duro no era el NTFS que usa XP así que metí un Knoppix en el CD y volví a arrancar. Se supone que esta distribución de Linux, autocontenida en un CD, es capaz de detectar y montar unidades de disco de los mas diversos sistemas de ficheros, incluyendo FAT, FAT32, EXT2, EXT3, EFS, NTFS y algunos mas que no se usan muy habitualmente.
El knoppix detectó el disco, pero a la hora de montarlo… no era capaz de determinar el sistema de ficheros. Lancé un fdisk -l para sacar la tabla de particiones del disco, pero me decía que no había tabla de particiones. Buscando alguna solución por Google di con una utilidad para Linux, llamada gpart que se supone capaz de adivinar el particionamiento de un disco duro que por cualquier causa haya perdido la tabla de particiones.
gpart, después de casi una hora de escaneo, no fue capaz de decirme nada en absoluto acerca del disco, así que solo me quedaba acudir a mis amigos de Soygeek, a ver si a alguno se le ocurría de que forma podía leer, de manera no invasiva (es decir, sin escribir nada en el disco, para no dejarlo inservible de cara al PVR), el dichoso disco.
Me indicaron una dirección de internet en la que se hablaba del disco duro de un aparato de la misma marca pero de un modelo anterior, el DTH 7000, donde confirmé que estos aparatos utilizan un formato propietario. Allí encontré el DTH Explorer que lee los discos del DTH 7000, creado por Didier Cadiou (Francés, al igual que la marca Thomson). No podía ser tan fácil. No funcionó. No identificaba el disco como un disco Thomson.
Esta página me llevo a un Grupo de Yahoo en el que se hablaba sobre el DTH 7000 y en el que habia otra utilidad mas espartana que se llamaba DRS 7000 Data Extraction Tool. Tampoco hubo suerte, no era capaz de detectar el disco.
Parecía como si entre las dos versiones del aparato hubiesen cambiado el formato del sistema de ficheros, así que me tocó explorar directamente el disco a nivel físico con la utilidad WinHex para ver si encontraba algo aprovechable.
Después de mirar un montón de bytes que parecían no tener ningún sentido encontré lo siguiente:
uJ e20A-og2 00 7
Parecía claro que era una fecha, el Jueves 20 de Agosto de 2007, pero codificada de alguna manera extraña. Observandolo atentamente se ve que se cogen los caracteres de 2 en 2 y se dan la vuelta, como si estuviese usando Big Endian de 16 bits pero con todos los valores, no solo los numéricos. En efecto, al darle la vuelta a los caracteres me salía:
Jue 02-Ago 2007
Esto podía ser perfectamente una entrada en una tabla de archivos que indicase la fecha de creación de uno de los vídeos del disco. Como había visto otros códigos raros en otras zonas del disco, repetidos muchas veces, pase a descifrarlos:
tSrogaLeba siTynDU F
Parece rumano, pero no, deshaciendo la encriptación rústica que usan:
StorageLabs TinyUDF
¡MAGIA!
Ahora si que Google iba a ser de mucha ayuda, el disco estaba usando el TinyUDF (Universal Disk Format) que es una variante del sistema de ficheros usado para almacenar archivos en medios ópticos como DVDs o CD. En concreto el aparato este usa la librería TinyUDF de StorageLabs.
Al parecer es bastante común que los PVR (aparatos de DVD y TDT) con disco duro usen este sistema de archivos por las ventajas que ofrece. UDF también lo usan las unidades REV removibles de Iomega.
Buscando mas por foros y mas foros, encontré que casi todos los que se habían visto en esta tesitura estaban usando con gran éxito un programa, el SiGMATek_DVBH_1000_HDD_Reader, que permite montar las unidades TinyUDF usadas en los PVR en un Windows XP.
Como cabía esperar, a mi no me funcionó, ni cuando desactivé el soporte para unidades virtuales de CD/DVD (Nero, Alcohol120%, etc…) que parece que entra en colisión con este software.
Busqué mas y llegué al pvr101disk, una especie de driver para windows que se interpone entre el driver de UDF que lleva el propio windows (udfs.sys) y el disco físico y hace el swapping de bytes on-the-fly. Hay que usarlo en modo línea de comandos después de instalarlo de manera rudimentaria.
Pero tampoco funciona y esto ya si que me terminó de cabrear.
Si cualquiera de vosotros ha llegado hasta aqui buscando como montar una unidad de disco de un PVR (DVD o TDT) en un PC, seguro que ya ha encontrado la solución en el anterior párrafo, porque la inmensa mayoría usan TinyUDF con encriptación de byte swapping. Solo los tíos con mala suerte como yo hacen que las historias estas continúen…
La solución desesperada y ya por salvaguardar el honor de geek, como dice Futur3: comprar un disco duro de 160Gb, hacer una copia por sectores con el dd de Linux (tarda 3,3 horas poniendo los discos en buses IDE diferentes), usar un script a nivel físico con el 010Editor para swapear los bytes de todo el contenido y montar el disco como unidad UDF. El script de swap lo he tenido corriendo unas 20 horas y me he hartado, solo había llegado a 17Gb.
Aun así, con el swap a medio hacer, intenté montarlo como unidad UDF pero no había forma de que Windows o Linux la reconocieran.
La conclusión a la que llego es que los de Thomson han creado algún tipo de variación mínima sobre la encriptación básica del swapeo de bytes que usan todos los PVR clónicos (DAK, Airis, Sigmatek, Technosonic, etc…) y que por eso el programa de Sigmatek no vale para este PVR.
Lo único que me queda por hacer es descubrir cual es esa “variación” y reprogramar el pvr101disk.sys para que funcione, pero esa tarea me parece que demanda mucho mas tiempo del que puedo dedicarle a esto.
Lo que ha pasado en realidad, me he dado cuenta después de que mi amigo cambiase en la tienda el Thomson DTH8550E por un Thomson DTH8650E y me lo volviese a traer, es que al jodersele el aparato se corrompió parte de la estructura de archivos del disco UDF, por eso el software de sigmatek no era capaz de reconocerlo. Los datos de vídeo estan en su sitio (encriptados, eso si) pero las tablas de archivos no, por lo que el disco está desestructurado y sacar los vídeos va a ser un trabajo de chinos.
Ahora, sabiendo que los archivos de vídeo son VOB, como los del DVD (MPEG2) y que su firma son sectores que empiezan con la cadena hex 000001BA (en muchos de ellos aparece también la cadena ZORAN01, pero no encuentro referencias en google) , me resta sacar trozos de unos 5Gb del tirón (no me queda mas espacio en el otro disco del PC) y visionarlos con el videolan (es la caña, visualiza lo que sea sin hacer preguntas de formato de fichero ni nada) para ver si encuentro los dichosos vídeos. Luego me tocará recortar con el StreamClip o el VideoReDo (aunque este ultimo se cuelga en cuanto hay un cambio de timecode en el stream, y en mi caso hay muchiiiisimos) y exportarlos con no se aún que herramienta para convertirlos en DVD y haberme ganado con ello la salvación eterna, porque vamos, menudo trabajito.
Así que, como en los programas de al filo de lo imposible en los que no consiguen subir a la cima del monte himalayo de turno, y aun así retransmiten la gesta, pues yo publico este post de fracaso, con un par .
Recientemente he sido el feliz receptor de un regalo “sorpresa” por mi cumpleaños: tan inesperado que yo mismo envié una URL lista para pinchar al encargado de la feliz compra.
El regalo ha sido un receptor GPS Garmin Venture CX que formaba parte de mi wishlist desde que descubrí la página de wikiloc. Elegí el Venture CX porque para ser en color, admitir tarjeta microSD para meter cartografía, tener conexión USB y disponer de un montón de características interesantes, es muy económico. El truco está en que es exactamente el mismo GPS que el Legend Cx pero viene sin mapas y sin cable USB, cosas que ya he conseguido yo por mi cuenta. Aqui se puede ver una comparativa de los distintos modelos de Garmin. Es una suerte que lo haya pillado ahora porque su sucesor, el Venture HC no admite ampliacion de memoria ni navegación puerta a puerta.
Después de un par de semanas frenéticas empapándome de información acerca de como conseguir cartografías, como hacerlas ruteables, como subir y bajar tracks del GPS y que programas eran mejores para cada cosa, llegó el momento de estrenarlo en la bici… pero claro, el soporte para manillar es un accesorio (cacho de plástico) que puede adquirirse por el módico precio de unos 30 Euros (por un cacho de plástico, repito), así que puse la masa encefálica a discurrir y mirando algunas de las cosas que tenía en mi escritorio di con la solución.
Ingredientes:
Velocímetro de bicicleta antiguo con su correspondiente montura de manillar, no importa que no funcione, me lo voy a cargar de todos modos (este era para el proyecto de anemómetro, por eso estaba encima de mi mesa, pero ya no lo voy a usar)
Pinza adaptadora para soporte de Garmin (viene con el GPS)
Perfil de aluminio en U de 15×15 mm (sobrante de cuando hice las puertas de los armarios)
Tuerca del 4
Arandela del 4
Procedimiento:
Desmontamos el velocímetro quitándole la tapa posterior, le retiramos la tapa de la pila.
Cortamos una sección de 10mm del perfil en U y con mucho cuidado doblamos los extremos 5 o 6mm (o mas, o menos, dependiendo de la forma del velocímetro que se vaya a usar) para que quede con la forma de una U con serifa (no se porque me molesto tanto en explicarlo si se ve en las fotos ). Con una broca del 3 realizamos un orificio en el centro de esta pieza, para que pueda pasar el tornillo. ¿Que tornillo? Pues el que viene con la pinza adaptadora de Garmin, que previamente sacaremos desatornillandolo.
Encima del orificio en el que va atornillada dicha pinza colocamos la tuerca, que solo hace de separador para que la pieza de aluminio no doble con la presión del tornillo, después introducimos nuestra pieza de aluminio por el orificio de la pila de la tapa posterior del velocímetro, ponemos la arandela sobre el agujero y metemos el tornillo. Atornillamos hasta que quede todo bien firme. Si no lo hace probar con diferentes tuercas y arandelas hasta conseguir que esté todo bien fijo.
Solo falta introducir el GPS en el soporte de manillar del velocímetro y como medida de seguridad atar el cordón al manillar y rezar para que la próxima salida no tenga trialeras muy técnicas o bajadas muy empinadas y pedregosas .
Personalmente ha sido probado en una salida y aunque reconozco que he sido conservador en todas las bajadas (algo poco habitual en mi) porque no sabía si el invento iba a aguantar, lo cierto es que se ha comportado muy bien a pesar de la holgura que presenta el soporte ya que el GPS pesa bastante mas que el velocímetro original. La holgura se arregla con un poco de papel doblado en los carriles para que se ajuste mucho mejor.
Para qué comprar un soporte Garmin que cogerá holgura al cabo del tiempo si puedo hacerme uno gratis que ya tiene la holgura de serie X-D.
Para el proyecto en el que estoy enfrascado he necesitado montar un array de leds infrarrojos con la menor focalidad posible, es decir, con mayor angulo de apertura de la luz.
Dado que no es fácil ir a una tienda de electrónica y pedir unos LEDs infrarrojos de 5mm y 30º de apertura (ya cuando dices infrarrojo alguno se te queda mirando como si fueras de otro mundo), una forma muy común y efectiva de conseguir hacer la luz de un LED mas difusa es aplanar el extremo redondeado que hace de lente y que concentra el haz, haciéndolo mas luminoso y directivo.
El inconveniente es que para aplanar hay que lijar, y con ello se pierde transparencia en el LED. Además para lijar todos los LEDs iguales hay que fabricarse alguna herramienta que permita hacer con todos la misma secuencia de acciones.
Mi herramienta es una pequeña pletina metálica de 4mm de espesor con un orificio de 5mm de diámetro y una moneda de 25 pesetas, de las que llevan un agujero en el centro (curiosamente, el agujero es de 5mm). Con esto consigo justo la altura hasta la que quiero lijar el los LEDs, todos iguales. No me puedo pasar por que la moneda metálica hace de tope para la lija de tambor de la Dremel.
Luego para evitar el efecto atenuador del lijado, lijo un pelín a mano con una lija de 600 y le paso el disco de fieltro con pulimento Titanlux.
Queda de lujo!!!
Aprovecho este post para estrenarme en esto de los vídeos guía y meter por fin un vídeo en mi página, siempre tarde en todo: