smushit.net, una API simple de smushit

Si te dedicas al mundo de Internet es muy probable que entre las aplicaciones que utilices se encuentre la de comprimir imágenes… pero el uso de algunas herramientas a veces se hace muy complejo o necesita de servidores con algunas configuraciones extrañas. Es por eso que, como yo mismo me he encontrado en esa situación y soy bastante asiduo a la herramienta de Smush.it de Yahoo! he querido simplificarme la vida y, de paso, os hago partícipes de ello a vosotros.

Que conste que es una simple prueba y que puede fallar (como todo en la vida). El servicio es smushit.net y lo que hace es simplificar la API existente eliminando los datos poco útiles.

El objetivo es que introduzcas por parámetro la URL de la imagen que quieres optimizar y te devuelva la URL de la imagen optimizada. De esta forma con un simple código en PHP, ASP o lo que te apetezca podrás hacer un “fopen” o un “fread” y te devolverá la URL que luego podrás descargar o hacer lo que te apetezca.

El ejemplo es sencillo http://smushit.net/?img=http://smushit.net/Tux.png.

Se aceptan sugerencias y demás… aunque, como digo, es una prueba por entretenerme a pasar el rato.

Tu propio acortador de URL gracias a Google Short Links

Seguramente muchos habréis escuchado hablar de los acortadores de URL tipo tinyURL o bit.ly y últimamente el lanzamiento de goo.gl.

Pues si quieres disponer de tu propio acortador y usar la tecnología de Google, puedes plantearte usar el sistema de Google Short Links, una aplicación del Google Apps Marketplace para los usuarios de Google Apps.

En principio este acortador es válido para las cuentas gratuitas como las cuentas de pago de Google Apps, así que se puede usar sin problema. También hay que ecir que esta aplicación está creada por la propia Google, lo que da cierta seguridad de que seguirá funcionando. Probablemente haya sido alguna aplicación creada en ese famoso 20% de tiempo que se les deja libres a algunos empleados de la compañía.

Una vez indiquemos nuestro usuario, aceptaremos los términos y condiciones. En mi caso seleccionaré el sistema url.casares.org.

Tras esto deberemos configurar la entrada DNS en el dominio:

url.casares.org CNAME ghs.google.com

Ahora que ya está todo configurado, vamos a revisar el panel de gestión del producto; en él podremos añadir más dominios y configuraciones:

Ahora que ya hemos configurado todo, sólo nos queda ir al panel desde el que gestionar los enlaces. Para ello tan sólo hay que entrar en url.casares.org donde veremos algo tal que así:

Para añadir un acceso rápido es tan sencillo como indicar la palabra clave que queremos crear y la dirección URL a la que ha de apuntar. Podemos hacer que esta dirección sea pública o privada.

NOTA: En el caso de no indicar ningún nombre a la URL, se genera uno de forma aleatorio.

Además, podemos arrastrar alguno de estos botones (o ambos) a nuestra barra de enlaces del navegador para así tener más a mano la posibilidad de acortar un enlace. Existe la opción del botón para que los enlaces sean público o no, según convenga. Al pulsar en este enlace, básicamente nos manda a la página de creación de enlaces con el recuadro de la URL completo, y la posibilidad de crearlo.

Además, existen 2 paneles más… uno es para ver todos los enlaces cortos que se han creado por todos los usuarios del dominio y, el otro, es para a administración de los tuyos (así poder corregirlos o mejorarlos cuando toque). Os dejo con el más completo de los dos (que simplemente difiere en que aparece una columna con el nombre del usuario).

Entre las cosas curiosas (y que yo no sé si tienen mucha utilidad) podemos “editar” un enlace y ver algunos datos sobre él. Lo primero es poder darle “permisos” a otros usuarios para gestionar dicho enlace, lo segundo es un listado (a modo de log) de todos los cambios que se han hecho.

En resumen… está bien, es una buena forma de organizar los enlaces privados, y aunque los puede usar cualquiera, no son de administración pública (sólo para los usuarios del dominio).

NOTA para SEO: esta aplicación hace redirecciones 302, que son conocidas por su mal funcionamiento en SEO (y supongo que se han desarrollado así para evitar barbaridades)…

http://url.casares.org/tumanitas
GET /tumanitas HTTP/1.1
Host: url.casares.org

HTTP/1.1 302 Found
Location: http://www.tumanitas.com/
Expires: Fri, 01 Jan 1990 00:00:00 GMT

Publicado en API

GeoNames, la geo-base-de-datos abierta

Hace un tiempo buscaba algún tipo de base de datos informativa de lugares y similares y me topé con el sitio GeoNames, un lugar que hace de centro de información geolocalizada. Una de las cosas más interesantes es que esta información es descargable.

Entre algunas consultas que se pueden llevar a cabo a través de su servicio web (a parte de la descarga se pueden hacer consultas REST) están:

  • GeoNames Search Webservice: es el buscador más genérico de información y permite una larga serie de parámetros y búsqueda libre.
  • Cities and Placenames: permite, dado una zona, extraer la lista de poblaciones de la misma.
  • CountryCode: dada una latitud y longitud devuelve el país en el que está ese punto.
  • Country Info: dada una latitud y longitud devuelve información sobre el país en el que está ese punto.
  • Find nearby toponym: dado una latitud y longitud devuelve el lugar más cercano.
  • Find nearby postal codes: dado un país y un código postal, devuelve los lugares cercanos.
  • Find nearby Wikipedia Entries: dada una localización, te lista lugares cercanos con información en la Wikipedia.
  • Timezone: dada una geolocalización, devuelve el huso horario en el que se encuentra.
  • Wikipedia Fulltext Search: dada una búsqueda libre, devuelve los lugares cercanos a la consulta de la Wikipedia.

Otros sistemas que pueden ser interesantes para combinar es el Yahoo! Geo Technologies, donde hay varias herramientas relacionadas.

Publicado en API

face.com, la API que detecta caras en fotos

Aún no sé la utilidad de esta herramienta, pero como pronto, me ha parecido genial algo así… quizá podría servir para que al subir una foto a una red social el sistema pueda llegar a etiquetar a alguien de forma automática.

Y es que face.com ha abierto su API a desarrolladores, y la verdad es que para ser abierto y gratuito, tiene buena pinta y da cierta información…

Lo bueno de este sitio es que tienen varios ejemplos interesantes para varios lenguajes de programación e incluso integración con facebook y twitter.

La idea es que con una simple petición a través de la librería en PHP, como podría ser:

$face->faces_detect('http://farm3.static.flickr.com/2566/3896283279_0209be7a67.jpg');

o una petición vía REST:

http://api.face.com/faces/detect.xml?api_key=4b4b4c6d54c37&api_secret=&urls=http://farm3.static.flickr.com/2566/3896283279_0209be7a67.jpg

Se puede obtener un código tal que así:

<?xml version="1.0" encoding="utf-8"?>
 <response>
  <photos list='true'>
   <photo>
    <url>http://farm3.static.flickr.com/2566/3896283279_0209be7a67.jpg</url>
    <pid>F@53f98f0f3ffeef58413190e657e297ff_4b4b4c6d54c37</pid>
    <width>333</width>
    <height>500</height>
    <tags list='true'>
     <tag>
      <tid>TEMP_F@53f98f0f3ffeef58413190e657e297ff_4b4b4c6d54c37_51.05_60.40_0</tid>
      <threshold></threshold>
      <uids>
      </uids>
      <label></label>
      <confirmed></confirmed>
      <manual></manual>
      <tagger_id></tagger_id>
      <width>11.71</width>
      <height>7.8</height>
      <center>
       <x>51.05</x>
       <y>60.4</y>
      </center>
      <eye_left>
       <x>49.18</x>
       <y>59.7</y>
      </eye_left>
      <eye_right>
       <x>52.5</x>
       <y>59.46</y>
      </eye_right>
      <mouth_left>
       <x>50.16</x>
       <y>62.03</y>
      </mouth_left>
      <mouth_center>
       <x>51.61</x>
       <y>61.86</y>
      </mouth_center>
      <mouth_right>
       <x>52.65</x>
       <y>61.86</y>
      </mouth_right>
      <nose>
       <x>51.55</x>
       <y>60.53</y>
      </nose>
      <ear_left></ear_left>
      <ear_right></ear_right>
      <chin></chin>
      <yaw>26.44</yaw>
      <roll>-6.19</roll>
      <pitch>19.47</pitch>
      <attributes >
       <face>
        <value>true</value>
        <confidence>0.7862</confidence>
       </face>
       <gender>
        <value>male</value>
        <confidence>95</confidence>
       </gender>
       <glasses>
        <value>true</value>
        <confidence>96</confidence>
       </glasses>
       <smiling>
        <value>true</value>
        <confidence>93</confidence>
       </smiling>
      </attributes>
     </tag>
    </tags>
   </photo>
  </photos>
  <status>success</status>
  <usage>
   <used>1</used>
   <remaining>unlimited</remaining>
   <limit>unlimited</limit>
   <reset_time_text>unlimited</reset_time_text>
   <reset_time>0</reset_time>
  </usage>
 </response>

Este código te envía la información de la fotografía, y los puntos que reflejan cada una de las caras, indicando los ojos, boca, nariz, orejas, mentón, y la curvatura y/o posición de la cara, si es hombre o mujer, si lleva gafas o no y si está sonriendo.

Sitios que “roban” contenidos

Hace ya un tiempo comenté los problemas que tenía con contenidos duplicados por utilizar Feedburner y la imposibilidad de filtrarlos, y que de ahí comencé a utilizar el plugin de WordPress llamado ©Feed.

La cuestión es que después d un tiempo, tengo una pequeña lista de IP de servicios de esos que almacenan una copia de los contenidos de los feeds para mostrarlos en su sitio web, lo que podría llegar a afectar a la multiplicidad de nuestros contenidos por la red sin que sea una simple mención, sino copia.

ServicioDirección IP ServicioDirección IP
Wikio84.55.184.93Blodico / DigestServices67.212.188.186
Feedshow88.191.13.89Feedage64.34.174.17
UrlFan70.165.48.167MobiType91.121.143.209
Notifixious75.101.147.247Tecnomeme / Webremix64.13.192.34
WASALive88.191.36.95Toluu67.228.53.210
Blogged74.54.159.180flitic78.129.128.90
Hedatu84.20.10.71Portal-seo80.33.138.93
Rssindicato92.243.2.141Multiplica81.19.100.35
Iluminatia69.16.236.104Planet Google64.111.122.23
Xgil66.232.112.166Newsbeet216.86.147.191
Planetaki67.207.138.103WASALive91.121.94.113
Keegy74.52.131.116Dilo Ya!82.146.52.192
Linkandoo91.200.140.50Limlom64.62.174.98
BlogDimension85.31.105.37Blogtok67.43.168.85
DigestServices72.232.181.242UrlFan207.88.140.130
UrlFan70.165.48.162Personalbee67.111.14.203
Jordo Media216.227.208.228Feeddigest75.126.158.42
mytalk.at / Personalbee67.111.14.202RSSmicro209.216.63.55
Newstin195.39.35.193iPlural67.205.3.218
ElPelao67.111.14.204telefonos-moviles.net77.232.72.161
Cognomarket212.227.114.90Fooglesfunny202.106.63.4

La lista de IP y servicios ha sido extraida de una mezcla de blogs que controlo y en los que está el plugin que comentaba, por lo que he podido sacar las direcciones e investigar un poco.

Que conste que hay más sitios que roban contenidos, pero lo hacen a través de otros servicios que, lógicamente, por la repercusión que tienen en lectores reales, no he añadido a la lista…

WebServices: así vale la pena trabajar

TablónDesde hace un tiempo que vengo mirando y revisando de tanto en tanto los webservices que van apareciendo en la red.

Básicamente los WebServices son (por generalizar) unas direcciones web a las que llamas con algún que otro parámetro, y te devuelve información en XML.

WebService: URL + parámetro = XML

Sé que es una forma muy muy simple de resumir lo que son, pero si tenemos esta idea en la cabeza nos podremos hacer otra mayor de lo que podemos conseguir con ello, sobretodo cuando gigantes como Yahoo!, Flickr y otros ofrecen información de sus contenidos a través de los mismos. Con esto y un lector XML, ya podemos montarnos un “algo” que incluya un montón de herramientas gracias a contenidos de terceros.

Entre algunos de los servicios web que podríamos encontrar interesantes tenemos:

  • Amazon: aunque es de pago (barato) permite extraer datos de sitios como Amazon o Alexa. De Alexa tenemos los tops, los thumbnails o información de un sitio.
  • Yahoo!: A mi es el que más me gusta, porque con 4 parámetros tienes todo lo que hace falta para acceder a las búsquedas, respuestas, local, correo, mapas, compras, viajes y otras utilidades. Además, tienes a tu alcance las de del.icio.us, Flickr o Upcoming. Y no sólo eso, sino que algunos de los servicios como finanzas, empleo, tráfico o el tiempo.
  • Technorati: permite sacar nubes de tags, información de blogs, estadísticas de búsquedas…
  • Gigablast: un buscador poco conocido (aunque tampoco muy bueno) que permite sacar información de búsquedas y directorio.
  • MusicBrainz: es un buscador de música. Con unas pocas consultas podrás tener información de artistas, canciones, discos…
  • Bluga WebThumb: aunque es de pago, permite 250 consultas gratuitas al mes para generar thumbnails de sitios web.
  • Twitter: sin duda si usas un servicio así te vendrá bien que, con una simple llamada puedas dejar tu mensaje en este servicio.
  • Tinyurl: aunque no es un webservice como tal, nunca está de más saber que se puede traer una url corta de una url larga.

En fin… que me parece una forma impresionante de compartir información…

Publicado en API