Monthly Archives: Agosto 2010

Publicado el plugin de WordPress UserAgent theme switcher 1.2

UserAgent theme switcherAyer publiqué la versión 1.2 del plugin de WordPress "UserAgent theme switcher". Es plugin para quien no lo conozca es un plugin de WordPress que mediante un sencillo administrador, nos permite indicar que tema se mostrara a que navegador. De esta forma podemos crear o descargar un tema especifico para dispositivos moviles y decirle que iphone o android utilicen este tema. Entre las principales novedades que se presentan en esta nueva versión, se encuentran:

  • Se ha mejorado el patrón de Safari Mobile, ya que este difiere levemente de si se trata de Android o iPhone.
  • Si usas el modo debug, ahora puedes eliminar useragents de la lista de no soportados.
  • Si usas el modo debug, ahora puedes reportar un useragent no soportado.

Aunque puede ser una tontería, usar el modo debug puede ser importante para el desarrollo y mejora del sistema, ya que ayuda a detectar y reportar useragents no soportados aun y que puedan ser añadidos en un futuro.

Skype Mobile para android

SkypeSi algo hecho en falta en Android es mi querido Skype, busque como loco en el market y en la web de Skype pero aun no hay una versión oficial para poder utilizar este programa en nuestros android. Según he visto por la web de skype, parece que hay algunas versiones de prueba beta para teléfonos de Verizon y también se encuentra skypelite que es digamos el chat de Skype pero no nos permite llamar por voip. La alternativa a todo esto viene de la mano de Fring, que si registramos nuestra cuenta de Skype podremos llamar a nuestros contactos. Teniendo en cuenta que la mayoría de los teléfonos nuevos que se compran, se hace mediante un contrato por tarifa plana de datos, Skype puede suponer una autentica revolución, ya que podremos aprovechar esa tarifa plana para realizar llamadas a nuestros contactos sin gastarnos un solo céntimo. Espero con ansias la versión definitiva y abierta de Skype para Android, que según parece aparecerá en otoño de este año, aunque hasta entonces habrá que conformarse con Fring.

Descodificar Quoted Printable para leer correos de GMail en Visual Basic

Un amigo esta realizando un proyecto en Visual Basic .Net, que entre otras cosas se conecta a GMail para recibir correos e introducirlos en una base de datos para mostrarlos en un panel de administración. Hasta aquí todo normal, el problema viene cuando en los correos utiliza caracteres, que vamos a llamar extraños, como tildes por ejemplo. Cuando recibimos por código un mail que por ejemplo contenía la cadena "conexión", este texto no se nos devuelve así, sino que nos devolvería "conexi=F3n" y he aqui el problema, ya que esto no es codificación normal de UTF-8 a ASCII o similares sino que es completamente diferente.

Los servidores de correo utilizan protocolos bastante antiguos, en los que todo se basta en texto. Para separar encabezados se utilizan saltos de linea tipo "rn" o "n" y por ejemplo para adjuntar archivos hay que declarar una marca y decirle que el contenido del archivo esta entre marca y marca. Como no, todo esta basado en texto ASCII por lo que los caracteres extraños, letras con acento, eñes y similares, suelen encontrarse en una codificación que se llama "Quoted printable".

Quoted Printable o simplemente acortado QP es un sistema de codificación de 8 bits compatible con ASCII que basa su codificación de caracteres extraños en un formato de un símbolo igual seguido de 2 posiciones hexadecimales. Se rige por el estándar RFC-1345. Aunque algunos lenguajes traen incorporado por defecto funciones o librerías para codificación y descodificación de caracteres, .Net no tiene nada para descodificar este tipo de codificación. A continuación os mostrare un ejemplo de función de Visual Basic para la descodificación de estos caracteres, que básicamente recoge estos caracteres hexadecimales, los convierte a entero y obtiene el caracter de ASCII extendido de 255 caracteres, no el tradicional de 128 caracteres. De esta forma, obtendrá el carácter correcto ya traducido. Os dejo el ejemplo de la función:

Función de descodificación de cadenas de texto Quoted Printable

Public Shared Function QuotedPrintableDecode(ByVal text As String) _
As String
  Dim i As Integer
  Dim DecodedString As StringBuilder
  Dim Chars As Char()
  Dim CharsValue As String
  Dim HexValue As Integer

  Chars = text.ToCharArray()
  DecodedString = New StringBuilder

  For i = 0 To Chars.Length - 1
    If Chars(i) = "=" Then
      CharsValue = Nothing
      HexValue = Nothing

      If Chars(i + 1) = "0" Then
        CharsValue = Chars(i + 2)
      Else
        CharsValue = Chars(i + 1) & Chars(i + 2)
      End If

      HexValue = Val("&H" & CharsValue)

      If CharsValue.ToUpper = Hex(HexValue) Then
        DecodedString.Append(ChrW(HexValue))
        i += 2
      Else
        DecodedString.Append(Chars(i))
      End If
    Else
      DecodedString.Append(Chars(i))
    End If
  Next

  Return DecodedString.ToString
End Function

Ahora solo hace falta llamar a esa función pasando la cadena a convertir:

Public Shared Sub Main()
  Dim text As String = "conexi=F3n"
  Console.WriteLine(Application.QuotedPrintableDecode(text))
End Sub

El resultado de aplicar esto seria la cadena "conexión". Para que funcione es necesario importar el namespace System.Text, pero solo para el StringBuilder

Imports System.Text

Espero que os sirva de ayuda.

Indalcasa ahora también en ingles

En mis esfuerzos por la promoción de este blog y de mejorar como profesional, darme a conocer y llegar a mas y mas público, he decidido que el blog que en español esta bastante bien posicionado y tiene un número de visitas aceptable, crear una rama del blog en ingles. El blog en español esta muy bien posicionado dentro de los buscadores, tiene casi 200 visitas únicas diarias y teniendo en cuenta que no tiro de amistades, sino que son visitantes reales interesados por el contenido y que acceden casi en un 100% de buscadores, salvo alguna excepción como twitter, facebook y rss, es el momento de seguir creciendo y llegar a otro tipo de publico.

Revisando las analíticas de la página, la inmensa mayoría de los visitantes son españoles, entorno a un 35% y el resto se reparte entre ArgentinaMéxico y Chile con un 20% mas o menos cada uno. Pero hay una minoría que no es despreciable si contamos el numero de visitas mensuales, que provienen de países como EEUU, Inglaterra u otros países. Es por esto que he decidido crear la rama o versión inglesa de este blog, para acceder a esos usuarios internacionales que quizás les cueste entender el contenido o que son minoría porque Google no muestre los mismos resultados desde EEUU que desde España cuando un usuario busca contenido en ingles y en el blog se encuentra en español. Por supuesto no voy a trabajar con 2 blogs diferentes, ya que sería una locura, sino que la versión inglesa simplemente seria un mirror del blog principal pero con el contenido integro en ingles. Actualmente me encuentro en proceso de traducción de los artículos mas antiguos para ir publicandolos poco a poco en la versión inglesa mientras esta es rastreada y posicionada poco a poco y cuando la versión inglesa alcance al blog principal, se escribirán los artículos en español y posteriormente se publicaran en su versión en ingles.

Para desarrollar esto he tenido varias opciones, una de las cuales era utilizar plugins de WordPress como WPML que nos permiten mostrar el contenido en multidioma traduciendo poco a poco el contenido que se desee, paginas, artículos, etc. Lo he estado probando durante un rato y aunque muy pero que muy interesante y esta muy bien estructurado y sencillo de utilizar, al final he decidido no utilizarlo. El final ha sido crear un subdominio en.indalcasa.com con la versión inglesa del blog, puesto que aunque WPML se adecuaba a mis necesidades básicas, por temas de publicidad, analíticas y demás, prefiero crear un espejo completo y no ensuciar la base del blog principal. De esta forma puedo poner códigos de analytics diferentes, publicidades diferentes adecuandose a cada idioma y algún detallito mas, puesto que existen ciertos problemas o errores que cometí en los comienzos de este blog que prefiero subsanar en la versión inglesa y no arrastrarlos conmigo.

Espero que disfrutéis o al menos los no hispanohablantes disfruten de la versión inglesa de Indalcasa o como lo diría ahora, Indalcasa english version.

Siguenos también en en.indalcasa.com

Publicada la versión 1.1.3 de UserAgent theme switcher

UserAgent theme switcherAnoche libere la versión 1.1.3 del plugin de wordpress UserAgent theme switcher en su versión 1.1.3 con algunas mejoras importantes sobre la versión 1.0.0. La principal mejora que se ha realizado es el numero de navegadores soportados, que se ha aumentado añadiendo Safari Mobile, Internet Explorer 6, Internet Explorer 7 y Internet Explorer 8 y Opera Mini. Tambien se han mejorado los patrones y arreglado algunas incidencias que provocaban errores bajo ciertas circunstancias.

Publicada la versión 1.0.0 de UserAgent theme switcher

UserAgent theme switcherEstoy que no entro en mi de la alegría. Hoy me han publicado y ya estoy trabajando desde los repositorios SVN de WordPress sobre el plugin "User Agent theme switcher". Este plugin que me ha llevado medio fin de semana de trabajo, es un plugin que tiene como objetivo poder variar el tema mostrado en WordPress en base al navegador que esta accediendo. De esta forma, con 3 clicks podemos establecer que un móvil con iPhone o Android por ejemplo, utilicen un tema que este mas preparado para mostrar contenido para móviles. Pero no solo queda ahí la cosa, las utilidades de este plugin no son infinitas, pero si pueden dar mucho juego, no solo para dispositivos móviles, sino que podemos tener un tema para cada navegador, por ejemplo usando un tema mas preparado para los dichosos Internet Explorer o una versión de solo texto y con menos maquetación para los bots que rastrean nuestra pagina como Google Bot o Yahoo Slurps.

Este plugin tiene un sistema de administración que he procurado que sea lo mas sencillo posible. Dispone de 3 partes, un listado de los navegadores soportados con los temas a los que aplica. Si el navegador no tuviera un tema preseleccionado, mostraría el tema por defecto. Desde esta sección podemos también desasociar un tema a un navegador pulsando sobre borrar. Por otro lado tenemos otra sección para asociar temas instalados contra un navegador, que al añadirse se actualizara automáticamente en el listado anterior. Por último está la sección de debug, esta sección tiene como único propósito la ayuda al desarrollo del plugin, mostrando los useragent que aun no están soportados en el plugin para poder ser detectados en un futuro.

Para versiones futuras tengo como propósito que los usuarios que activen el modo debug puedan enviar por mail el useragent detectado para poder mejorar el sistema, ademas de añadir nuevos navegadores y crear secciones, que no es otra cosa que categorizar los navegadores, por ejemplo pudiendo seleccionar Internet Explorer y que afecte a todos, o dispositivos móviles y que afecte a iPhone, Android, etc. pero eso es ya irme mucho al futuro, ahora mismo a mejorarlo un poco y esperar a ver el impacto que tiene dentro de WordPress.

Para el que quiera puede echar un vistazo en la web de WordPress donde esta alojado el plugin de User Agent theme switcher

Os dejo tambien un par de capturas de pantalla de como se ve.

UserAgent theme switcher cap

GMail con soporte para múltiples cuentas

GMailEn el blog oficial de GMail leo que desde hace unos días, los chicos encargados del desarrollo de GMail, anunciaron que ya tiene listo algo que llevábamos mucho tiempo esperando. Se trata nada mas y nada menos que el acceso múltiple, es decir, poder acceder desde 2 cuentas a GMail. Para hacer esto, solo debemos de acceder a nuestra cuenta desde el administrador de cuenta y activar el inicio de sesión múltiple.

GMail multiple

El inicio de sesión múltiple no solo permite acceder con múltiples cuentas a la vez a GMail, sino que nos permite hacerlo en prácticamente la mayoría de las aplicaciones de Google, una grandisima noticia. Eso si, no hay que olvidar el peligro que esto puede conllevar y por ello cuando nos disponemos a activarlo, Google nos advierte que es bajo nuestra responsabilidad si nos equivocamos al, por ejemplo, enviar un correo desde la cuenta que no era.

Siguenos en facebook

facebookHace algunas semanas anunciaba que desde twiter iba a ir escribiendo publicaciones del blog y otras personales. Ahora le toca el turno a facebook. Ayer cree un nuevo grupo en facebook llamado "Indalcasa", desde el que entre otras cosas quiero colgar las publicaciones de este blog. Aparte de colgar las publicaciones, espero estar mas cerca de los usuario si es que los hay, para poder comentar cosas sobre los articulos, y captar a mas usuarios para este blog. Aunque no voy a colgar todas las publicaciones de golpe, sino que las iré colgando poco a poco, en pocas semanas ya estará actualizado con el blog. Os espero en facebook.

Gmail con soporte videochat para Linux

GMailLeo en el blog oficial de Gmail que ya han implementado el soporte del videochat para Linux, en concreto para Ubuntu y todas aquellas distribuciones basadas en debian y paquetes deb. Están preparando los paquetes instaladores para rpm, por lo que pronto, distribuciones tipo Red Hat, Fedora y similares, estarán pronto disponibles. Para quien no lo conozca, cuando usamos el chat de Gmail o GTalk web, tenemos la opción de utilizar videochat, para lo que se instalaban unos paquetes en nuestro ordenador a modo de plugin y así poder realizar una videoconferencia. Desde hace tiempo, Windows y Mac OS X estaban soportados y ahora por fin, Linux. Ya era hora, que una empresa como Google, que toda su tecnología se basa en Linux, incluyendo los 2 sistemas operativos Android y ChromeOS que también se basan en Linux, sacara las aplicaciones para este sistema. Para cuando Sketchup!!!

Google TV

Google no para de crecer y para ello busca abirse a otras oportunidades de mercado. Despues del exito abrumador de Android, que tiene una cuota de crecimiento del 800% y tiene previsiones de pelear por ocupar la segunda posicion en el ranking de sistema operativo movil mas usado contra iOS de iPhone y siempre detras de Symbian con la todopoderosa Nokia a las espaldas. Es tanto el exito que esta teniendo Android que han firmado una serie de acuerdos entre Google, Sony, Logitech, Intel y DISH Network para empezar en breve a instalar Android como sistema operativo en televisores. Imaginad que estamos viendo la tele y sabemos un programa pero no en que canal lo emiten, pues ponemos el buscador y nos lo encuentra, o que por ejemplo hemos nos hemos perdido ese capitulo que queríamos ver y queremos verlo online o simplemente nos aburrimos y queremos jugar al farmville (no tenían otro ejemplo que poner!!!!). El caso es que todo lo que podemos hacer con un terminal Android, como jugar, instalar aplicaciones de Android market, mirar el correo, chatear, facebook, twitter, jugar a los juegos del facebook (no como en iPhone), todo lo podríamos hacer con el mando de la televisión. Esta claro que Google se esta haciendo poco a poco con el control del mundo, pero a diferencia de otras compañías, lo hace con calidad, tecnología y buen hacer aunque no siempre caiga bien o pueda resultar polémico. A continuación os dejo el video oficial que podreis ver en la web de Google TV.

Toilet Quest

Toilet Quest es uno de esos juegos de escape un tanto diferentes, en lugar de escapar de la tipica habitacion en la que nos encontramos encerrados, nuestro problema es que un apreton repentino nos hace irnos por la "pata abajo" y claro esta, cuando el cuerpo aprieta, no hay tiempo que perder. Como he dicho antes, nuestro objetivo aqui no es salir de una habitacion sino entrar con en un retrete y plantar un pino.

Toilet QuestAqui no hay tiempo que perder, el que no corre vuela y mas cuando el cuerpo nos pide marcha. Os ahorrare detalles desagradables teniendo en cuenta que tenemos un tiempo limitadisimo para completar esta aventura. Entramos en el retrete y tenemos varios caminos a elegir, giramos a la derecha rapidamente e intentamos coger el martillo. Volvemos sobre nuestros pasos y vamos a la izquierda, aqui cogeremos el papel higienico que algun listo ha puesto tras un cristal de "romper en caso de urgencia" y claro esta, esto es una urgencia. Ahora de nuevo en la vista principal, abriremos la puerta del fondo pinchando en el picaporte y sin perder un solo momento, pincharemos en el retrete para hacer nuestras necesidades. Y ya esta, terminamos esta larga e interminable aventura.

Toilet QuestToilet Quest

The White Chamber

Os dejo otro fantástico juego de escape de los creadores de The Crimson Room o The Blue Chamber. En esta ocasión no es de una habitación sino de un impoluto garaje blanco de donde deberemos escapar, no sin antes resolver algún que otro puzzle para poder salir. Como nota para los desesperados comentar que el juego pesa un poquito y tardara un rato en cargar, así que no os desesperéis.

The White ChamberNos despertamos como ya es costumbre aturdidos y sin saber donde estamos, en una habitación o mejor dicho un garaje blanco. Frente a nosotros tenemos una papelera negra con unos cubos morados en su interior que nos seran de gran ayuda en el futuro. Si buscamos encima del poyo que hay sobre la ventana encontraremos algo que parece al timbre de un colegio pero que en realidad descubriremos mas adelante que se trata de un mando a distancia un tanto peculiar. Si nos giramos un par de veces para la derecha, encontraremos un póster que al acercarnos veremos que tiene un microchip rojo pegado en la esquina superior derecha y que deberemos de coger. Si nos volvemos a girar a la derecha encontraremos una mesa con un libro, ojeando tranquilamente el libro caerá una hoja de papel rota que parece ser de código morse. Una vez hecho esto procederemos a mirar por debajo de la mesa y encontraremos un soporte metálico, una vara de hierro y un gancho donde estaba colgada la vara, cogemos todo ya que nos será de gran ayuda. The White ChamberVolvemos a girarnos a la derecha y veremos una puerta de garaje, sobre esta se encuentra escondida una llave y a la derecha de la puerta hay un pequeño hueco en la pared donde deberemos colgar el pequeño gancho que cogimos antes, donde estaba apoyada la vara. Al girarnos nuevamente a la derecha nos encontraremos la flamante Yamaha R1 hecha una pena. Aquí habra que dar algunas vueltas ya que hay muchos ángulos de cámara para poder guiar fácilmente. Simplemente os puedo decir que deberéis encontrar: un microchip amarillo en el motor y una llave tirada en el suelo detrás de la moto. Ahora nos vamos a acercar a la parte trasera de la moto y vamos a abrir el colín trasero con la llave negra, que encontramos sobre la puerta del garaje, para encontrarnos una llave inglesa en su interior. Ahora nos giramos a la derecha un par de veces hasta situarnos frente a la puerta con una cristalera al lado. Una vez aquí, miramos al techo para encontrar el pedazo de nota de código morse que nos falta y que haremos caer con la ayuda de la vara metálica.

The White ChamberAhora es cuando empieza la marcha de los códigos, nos volvemos hacia la mesa y miramos hacia el techo para encontrar una especie de caja amarilla que deberemos activar con la llave gris. Una vez activa, nos dara acceso a la caja blanca que hay un poco mas abajo y al abrirla encontramos dos botones, uno azul y uno rojo que equivalen al . o a la _ del código morse. Con la ayuda de la nota, vamos a escribir la palabra OPEN que seria:

O: _ _ _

P: . _ _ .

E: .

N: _ .

The White ChamberAl introducir el código morse correctamente, aparecerá junto a nosotros una puerta azul y al abrirla encontraremos un microchip azul. Ahora nos toca juguetear un poco con el mando a distancia, si miramos por la parte de atrás del mismo, veremos que tiene el hueco para 4 microchips, tenemos 3 de ellos pero nos falta el morado aun. Si introducimos los chips que tenemos y vamos pulsando sobre el botón central, veremos que la puerta va cambiando y pasa por los colores rojo, amarillo y azul nuevamente en cada uno de estas nuevas puertas encontraremos unos prismáticos, un faro de la moto y un espejo. The White ChamberAhora nos iremos al gancho que colgamos junto a la puerta del garaje y colgaremos ahí el espejo. Nos acercamos a la parte delantera de la moto y con la ayuda de la llave inglesa, colocaremos el soporte metálico y luego el faro de la moto y ahora solo nos falta arrancar la moto con la llave negra que abría el colín.Haciendo esto tendremos luz en la parte trasera del garaje a través del cristal. Si miramos al fondo, veremos un cuadro que con la ayuda de los prismáticos veremos unos números, que no pongo aquí, porque ya he comprobado en varias ocasiones que cambian aleatoriamente. Ahora nos vamos al manillar e iremos pulsando los botones de colores según los números, están ordenados, aunque se pueden pulsar y aparecerán en el circulo que hay enfrente, recordad que el 6 seria el botón de arranque y se encuentra donde la maneta del gas a la derecha del manillar. Al hacer esto, el cepo que habia bajo la rueda delantera de la moto, queda abierto y bajo el se encuentra el ultimo microchip de color morado. Al colocar el microchip en el mando y abir la ultima puerta encontraremos una especie de panel de control muy raro, que al acercarnos podremos dejar sobre el los cuadrados morados, que tienen rayas o puntos, como si de un codigo morse se tratase, escribiremos la palabra HELP:

H: . . . .

E: .

L: . _ . .

P: . _ _ .

Al introducir el código y pulsar el botón, encontraremos una llave de la moto pero esta vez dorada en vez de negra. Cuando la pongamos en el manillar de la moto y le demos al contacto (6 - morado), la moto se arrancara y saldrá disparada estrellandose contra la puerta del garaje que la destrozara y nos permitirá salir por fin de ese maldito garaje.

The White ChamberThe White Chamber