Debilidades de Strava y mi colección de Hack tools

15 marzo, 2017 at 10:46

Hace 1 año exactamente que publiqué estos script en Github ( https://github.com/dalacost/strava_hack_tools ) y no había tenido mucho tiempo para hablar de ello. La idea de fondo detrás de este script ( strava_traces_downloader.py ), la cual es permitir múltiples descargas de muchos tracks de ejercicios en Strava de forma rápida y sencilla, con un solo comando.

Hay que destacar que Strava si tiene un API bastante desarrollada, que permite acceder a un montón de datos, pero eso está disponible principalmente para los usuarios logeados. Es decir si no tienes una cuenta de strava no tienes mucho que hacer.

 

En Strava no puedes bajar los GPX de otros usuarios si no eres Premium, pero si reconstruirlos ilegalmente.

Es el primer problema que tienen los usuarios cuando quieren de alguna forma poder tener en su poder y manipular las rutas, ya sea por que desean tener una copia en sus gpx, teléfonos o algo más.

Lo que te encuentras cuando no eres usuario Premium y ni hablar si no eres Usuario.

Esto es algo que en lo personal no le encuentro mucho sentido, pues esta supuesta «seguridad» se ve afectada por una de las mejores «habilidades» de la plataforma, los mapas interactivos. Como muchos programadores ya sabrán, al utilizar las APIs más comunes de mapas interactivos, normalmente se requiere que se precarguen los puntos de las lineas o polígonos en algún lugar, de preferencia oculta al usuario. Y Aquí está lo interesante de todo esto, pues si los puntos existen, entonces ya podemos comenzar a reconstruir el archivo original del track.

Una solución para evitar este problema es cargar estas líneas como imágenes, pero pienso que no lo hacen por que reduce notablemente la interacción con el usuario. En resumen, es una ventaja para nosotros.

Los mapas interactivos tienen los puntos definidos en algún lugar, en este caso en el XML streams, con lo que podremos reconstruir el GPX

Suena sencillo no? Unir toda esta información que está en el mismo mapa para reconstruir manualmente nuestro track original con la información mas o menos verídica. Y es que no solo podemos tener los puntos sino que con algo de trabajo podríamos reconstruir totalmente el GPX original (Algo que todavía no he completado al 100%).

El resto de la información necesaria.

 

En Strava los registros son correlativos, ups..

Algo que me llamó la atención y que facilita notablemente la manipulación masiva de información en strava, es que los registros son correlativos a partir de su ID, el truco está en la URL.  Tanto las actividades como los números de los Atletas son correlativos.

mi actividad ha sido la numero 857millones! impresionante. Cambia el número manualmente y será más impresionante.

Si nos pusiéramos a trabajar con esto podríamos tener un montón de cálculos, solo por decir algunos podríamos tener el numero de actividades por día/hora/mes/etc…  número de usuarios activos x día, etc.. Lugares del mundo donde tienen más usuarios, etc … un sin fin de información que Strava no comparte pero que potencialmente está disponible.

Lo mismo sucede con las URL correspondiente a las fichas de los Atletas, con lo que también se podría acceder potencialmente a un montón de información de cada uno.

Los invito a hacer una prueba y cambiar el número de su actividad o el numero de su Atleta por el inmediatamente siguiente.

strava_traces_downloader.py

Este Script en resumen aprovecha estas 2 debilidades en un solo script de multiples funciones :), Reconstruye el archivo GPX a partir de estos datos disponibles, evidentemente sin necesidad de ser Premium, ocasionalmente cuando no estas logeado la cantidad de puntos disponibles es menor, en algunos casos puede llegar a ser 100 puntos máximo. Por lo que es recomendable utilizar un usuario de Strava para descargar el track.

Les dejo algunas imágenes y pueden encontrar más detalles en el sitio del proyecto en GitHub (https://github.com/dalacost/strava_hack_tools)

Bajando un Track reconstruido de una actividad específica. Sin hacer Login.

 

Si bajas la actividad con tus datos de usuario de Strava puedes tener la posibilidad de bajar más puntos, en este caso 6916puntos v/s 6375 sin login.

 

Descargando todo el rango de actividades a partir de su id, en este caso desde la XXX08 a la XXX20, algunas fallan pues esas actividades no están disponibles, son privadas o fueron borradas.

 

Los invito a descargar el https://github.com/dalacost/strava_hack_tools y ver que pueden hacer todos los datos.

 

Nueva cara para Lacosox.org después de mucha agua bajo el puente.

20 noviembre, 2015 at 17:01

Hoy hemos completado el primero de muchos cambios que queremos darle al sitio en nuestro retorno a la publicaciones. Sabemos que ha pasado un montón de tiempo sin publicar nuestros experimentos y aventuras, y si que se han acumulado varias para comentar, estamos seguros que muchas de ellas les gustarán.

El primero de los cambios que hemos realizado es migrar completamente nuestro sitio web desde el viejo drupal 5.x a wordpress. Seguramente muchos no comprendían por que teníamos Drupal anteriormente y la razón era bastante sencilla, en la época en que creamos este sitio, simplemente wordpress parecía más un sistema de juguete, algo muy lejano a que hoy es, un sistema robusto, profesional y sencillo. (si, llevamos mucho tiempo con este sitio, desde que publicamos nuestros primer post por allá en el 2008. Un poco más de 7 años, como pasa el tiempo!).

A medida que pasen las semanas mejoraremos el estilo del sitio hasta dejarlo como nos gusta.

Uno de los puntos negativos de esta migración es que varios de los viejos links a nuestros post ya no estarán disponibles, evidentemente por que eran links de drupal y ahora manejaremos los links de forma más intuitiva. Sin embargo, aun podrán encontrar todo lo que busques en el cambio de búsqueda clásico que siempre ha estado en la misma esquina superior 🙂 (Algunas cosas nunca cambiarán). Esperemos que Google no tarde en leer los nuevos links… De todas formas los links directos a archivos de manuales o comprimidos se mantienen tal cual. (eso para el caso de archivos enlazados desde otros sitios).

Que disfruten el nuevo sitio.

Servilletero y Reloj de Lego Modelos Lacosox.

20 mayo, 2014 at 16:43

En algún momento de locura pensé que podría juntar tantas piezas lego como para armar un mueble… la verdad es que al poco andar me dí cuenta mis finanzas no podrían soportar tan digno proyecto, ya que mi estimación del mueble lego tomaría al menos unos 22.000 bloques de 4×2. y solo había logrado reunir unos 2.900 bloques aprox. Por lo que a ese ritmo seguramente tardaría unos años en acumular todo el material. (para obtener esa cantidad de bloques gasté unos $70.000 pesos chilenos [USD $140 aprox]).

Dado que ahora tenía un montón de piezas lego sin uso, ¿qué podría hacer con ellas?. Pues me faltaba un servilletero asi que manos a la obra!.

servilletero_lego_modelo_lacosox

Icreible servilletero modelo Lacosox.

Este servilletero está construido con 2 placas base de 10×20 (compradas en China, 5x10USD), varios bloques blancos de 4×2 (de segunda mano) y algunas piezas planas (compradas en China, 100 x 7USD). Quedó del tamaño perfecto para servilletas tradicionales 11x11cm, capacidad máxima 50 servilletas.

Por otro lado, mi reloj de pared que mecánicamente funcionaba perfecto, estéticamente presentaba un pequeño rayón, por lo que decidí construir uno nuevo, evidentemente también de legos.

reloj_modelo_lacosox_final_5

Delirante reloj de pared modelo Lacosox.

El reloj fue construido con 700 bloques aprox. de varidos tamaños, formas y colores. Más el motor chino del reloj que estaba antes en la pared.

Mira las imágenes de como se construyó, te pueden ser útiles si quieres construirte uno. Podrás ver que en un inicio probé algunos colores que luego descarté, además utilizé un molde para guiar las posiciones donde estarían los números.

reloj_modelo_lacosox_2 reloj_modelo_lacosox_3 reloj_modelo_lacosox_4 reloj_modelo_lacosox_5 reloj_modelo_lacosox_6 reloj_modelo_lacosox_7 reloj_modelo_lacosox_final reloj_modelo_lacosox_final_3 reloj_modelo_lacosox_final_4

 

Mis 5 Años colaborando en OpenStreetMap

8 abril, 2014 at 16:54

Debo confesar, que cuando descubrí OpenStreetMap por allá en el 2009, de inmediato me pareció una idea genial. En esa época a raíz de algunos proyectos que desarrollaba comencé a investigar las apis de cartografías web que existían, que de hecho eran bastante menos desarrolladas de lo que son hoy en día y por otro lado las soluciones profesionales eran demasiado costosas para la realidad que vivía. OpenStreetMap me ofrecía una nueva idea, compartir la información y aprovechar la que otros compartían…

Hace unos meses estaba realizando una de mis habituales contribuciones cuando me encontré por casualidad con este sitio ( http://hdyc.neis-one.org/ ), prepara un resumen acotado de las actividades durante la vida de cierto usuario. y UUU! justo se cumplían 5 años desde mi primera edición en OSM!

¿Qué hice en 5 años?

  • He ayudado a mapear varios pueblos pequeños completos, principalmente en la Región de la Araucanía, Chile. Destacando Temuco (que no es pequeño) y Curacautin.
  • Más de 115.000 cambios! Principalmente en caminos, edificios, nombres y direcciones.
  • Aunque me centrado en los datos de Chile, ocasionalmente también he colaborado a otras comunidades que han solicitado ayuda como Colombia, Bolivia, Panamá, etc. Es lo bonito de estar comunicados!

Entre otros datos que pueden ver en el resumen.

5_years_of_OSM

Numeración de calles de Curacautin en OpenStreetMap

18 septiembre, 2012 at 19:03

Hace ya un tiempo que estábamos trabajando en la incorporación de las numeraciones de calles en Curacautin, hoy la tarea está completa en las principales calles de la ciudad. Esto permite que ahora se puedan hacer búsquedas en los motores que implementan Nominatim ( la base de datos de resolución de nombres y posiciones de OpenStreetMap).

Para implementar los nombres de las calles y las numeraciones que estas tienen, no es un proceso complicado aunque si se debe tener algo de tiempo para ello.

En esta ocasión se ha utilizado el editor JOSM y estas son algunas imágenes del trabajo. ( click en la descripción para ver la imagen en tamaño real )

curacautin_numeracion1

Visión general de la ciudad

curacautin_numeracion3

Los puntos azules son nodos para los vectores de direcciones.

curacautin_numeracion2

Especificando nombre de una calle

Luego que los datos fueran procesados en nominatim y renderizados en OpenStreetMap, obtenemos como resultado la posibilidad de realizar búsquedas de direcciones; Por ejemplo la dirección de la municipalidad, o búsqueda de un cajero automático. ( click en la descripción para ver la imagen en tamaño real )

 

curacautin_numeracion5

Dirección de la Municipalidad

curacautin_numeracion4

Buscando un cajero automático ( ATM )

Otra funcionalidad Interesante que resulta de esta publicación de calles, está la posibilidad de realizar una consulta «reversa» es decir a partir de nuestra posición actual dentro de la ciudad, consultar cual es la dirección de la calle.
Para esto Nominatim posee un API de respuestas en linea y cuya documentación puedes revisar en http://wiki.openstreetmap.org/wiki/Search.

Veamos un ejemplo sencillo, la posición aproximada de la Biobioteca municipal de Curacautin se encuentra en latitud: -38,4384; longitud: -71,8903 ( esto según indica google Earth; la posición real probablemente difiera en algunos decimales ). La idea es que enviando sólo esas coordenadas, Nominatim nos indique que es lo que existe en ese lugar, el nombre de la calle o algo similar.

Según la documentación la consulta es mediante la siguiente instrucción:

http://nominatim.openstreetmap.org/reverse?format=xml&lat=-38.4384&lon=-…

y entrega estos resultados:

curacautin_numeracion6

Buscando la posición mediante el mapa

 

curacautin_numeracion7

Utilizando en API para resolver la posición

Esperamos que estas contribuciones de calles sean muy útiles para todos.

Las imágenes aéreas de Curacautín en BingMaps

27 junio, 2012 at 20:01

La gente que conoce a quienes escriben aquí en Lacosox comprenderán que es raro que mencionemos o hablemos de temas privativos acá. Sin embargo hoy he notado algo super bueno y que me ha dejado satisfecho.

No estoy seguro hace cuanto tiempo, pero BingMaps ha actualizado varias imágenes aéreas de la región de la Araucanía, varios pueblitos de la región se han visto notablemente beneficiados, entre ellos Curacautín .

Debo confesar que me alegra notablemente la calidad de las imágenes, aunque no son las mejores, se nota una gran mejoría versus su competidor más cercano, Google Earth/Maps.

Las imágenes parecen ser bastante recientes, yo diría a más tardar 1 año de antiguedad. La calidad debe variar entre 1.5 y 3 píxeles por metro, lo que ya es una calidad suficiente para realizar múltiples tareas con ellas incluso en muchos aspectos profesionales.

les dejo algunas imágenes para que vean lo clara que son y la calidad de las mismas, sin nubes y una claridad que impresiona.

bingmaps_curacautin

bingmaps_curacautin2

recorrer el mapa en bing maps