domingo, 19 de agosto de 2007

Robot tipo beam

En robótica hay unos tipos de robots que me llaman mucho la atención, son los beam . Son robots que explotan la electrónica analógica al máximo , en estos no encontramos microcontroladores sino que toda la lógica está cableada mediante circuitos analógicos.
Estos tienen la ventaja de que son muy sencillos en su diseño y tienen una gran robustez. Hay muchos ejemplos de estos tipos de robots en internet ya que la complejidad y coste de los elementos a usar está a la alcance de todos.

Vemos un vídeo de un tipo de un tipo de robot beam especial , es el beam solar. Este tipo solo tiene la energía solar como fuente de alimentación.





Para ver más:
http://en.wikipedia.org/wiki/BEAM_robotics

Obtener el idioma por defecto de un cliente web en PHP

Para obtener los idiomas por defecto que quiere usar un usuario web debemos obtener la lista de idiomas deseados por este.
En php tenemos una variable de entorno que podemos utilizar, es:
HTTP_ACCEPT_LANGUAGE
para obtener la lista de idiomas debemos ejecutar la sentencia
getenv("HTTP_ACCEPT_LANGUAGE");
Por ejemplo, para mi configuración se devuelve
es-es,es;q=0.8,en-us;q=0.6,en;q=0.4,eu;q=0.2
Tenemos un vector con una dupla de datos , cada dupla está separado por una coma ',' y los elementos de cada dupla están separados por punto y coma ';'.
El primer elemento de la dupla es el nombre del idioma y el segundo indica el interés del usuario por este, el valor que indica q (q=0.6) varía entre 1 y 0 , siendo 1 el elemento de más peso. Hay una dupla que no tiene segundo elemento y es el primero , en este caso asumimos que es el elemento más importante (q=1).

A la hora de elegir el idioma con el que mostrar la aplicación deberíamos tener varias cosas en consideración.
  • La primera la lista de idiomas disponibles en la aplicación.
  • La segunda la lista de idiomas que tiene el usuario elegidos en su navegador.
  • Por último debemos elegir el idiomas mejor posicionado en la lista de idiomas del navegador que tengamos en nuestro sistema.

Por regla general y después de realizar muchas pruebas se puede generalizar que el orden en el que obtenemos el vector de idiomas es el orden deseado por el usuario así que nos podemos ahorrar el trabajo de ordenar la lista de idiomas por el segundo elemento de la dupla.