¿Cómo obtener de Cloudflare el IP real de los visitantes en PHP?

Si nuestra web brinda servicios basados en geolocalización, pero decidimos usar Cloudflare para evitar ataques de denegación de servicios, servir contenidos estáticos (archivos javascript, css, imágenes), etc., nos vamos a percatar de que las direcciones IP de los usuarios pertenecen a Cloudflare y el contenido servido basado en la ubicación será erróneo. A continuación veremos cómo obtener de Cloudflare el IP real de los visitantes en PHP.

Continue reading ¿Cómo obtener de Cloudflare el IP real de los visitantes en PHP?

Minimiza la complejidad temporal de tus algoritmos

Nunca se ha preguntado por qué si la capacidad de procesamiento del hardware de nuestros dispositivos electrónicos ha ido siempre en aumento, aún existen programas, sitios web, utilitarios, etc. que funcionan desesperadamente lentos. La respuesta, en muchos casos, pudiera ser: los programadores adoramos malgastar y consumir todo el hardware y dedicamos poco tiempo a minimizar la complejidad temporal de nuestro código.

Continue reading Minimiza la complejidad temporal de tus algoritmos

Los metadatos del fantasma

Hace algunos años en mi ciudad corrió la noticia de que en el hospital local le habían tomado una foto a un recién nacido y que un fantasma había aparecido en la imagen resultante como una suerte de “ángel de la guarda” del bebé. El revuelo era tal que fue muy fácil hacerme de una copia de la famosa fotografía porque muchas personas la tenían en sus dispositivos USB o en sus teléfonos celulares para mostrarles a sus amigos el famoso espectro.

Continue reading Los metadatos del fantasma

Implementando onPressAndHold con Qt para Android

En otro artículo vimos cómo crear nuestra primera app para Android con Qt. En este veremos cómo agregar un menú de edición a nuestros campos de texto (onPressAndHold en Qt para Android), una característica que no debe faltar para facilitar la interacción del usuario con el software que escribimos.

Continue reading Implementando onPressAndHold con Qt para Android

Comenzando con Qt para Android

En varias ocasiones me han preguntado qué tecnología uso para desarrollar para Android y cuando respondo “Qt para Android” la expresión de asombro y duda en el rostro de mi interlocutor se hace evidente.

También cuando en algunas listas de correo he sugerido Qt (lo he sugerido con el objetivo de obtener el programa ejecutable para múltiples plataformas con la misma base de código) para algún proyecto que está comenzando me dicen que “Qt para Android” no se puede usar para mucho más que crear interfaces gráficas. Y aunque la afirmación no esté tan lejos de la realidad debido a que el acceso a la API nativa de Android desde Qt está un poco limitada, lo cierto es que se pueden lograr grandes cosas. Aquí les dejo un tutorial paso a paso de Qt para Android en Español para los que decidan experimentar con esta fantástica plataforma y hacerse con su propia opinión sobre el asunto.

Continue reading Comenzando con Qt para Android