Acerca de mi

Portafolio de desarrollo de aplicaciones

Este es un listado de los proyectos en los que he estado trabajando. Algunos esta live y otros solo de forma local para los cuales pongo solo un screenshot y una explicación del proyecto en sí.
Constantemente estoy actualizando los proyectos, mejorándolos o incluso fusionándolos para generar nuevos.

Proyectos en desarrollo constante

Estos proyectos son sitios que están funcionando, sin embargo, no por eso se les deja de dar seguimiento. Muchos están en constante desarrollo y evolución, si por tanto hay nuevas tecnologías, técnicas, o simplemente se me ocurre ponerle algo innovador.

margin: 3px;TwittRadio.com [link]

Sin duda uno de los sitios a los cuales más esmero le he puesto. Sin dejar de ser una herramienta básica de blog, se ha transformado la experiencia del usuario para una navegación intuitiva y al mismo tiempo no pierde la escencia de un sitio web orientado a la radiodifusión por internet.
TwittRadio.com tiene la particularidad de ser un sitio modular; cada sección es generada por separado e integrada en la página principal a la hora de cargar el homepage. De ésta forma si un modulo tiene un error, es detectado rápidamente y corregido. De la misma forma, los modulos se editan independientemente y se pueden ajustar a diferentes propósitos. El motor de cada módulo es el mismo.
TwittRadio es el resultado de la unión de varios proyectos independientes, los cuales se fueron desarrollando sin un propósito en particular y finalmente se incorporaron a la página.

Módulo – Despliego de programas [link]

Observable en la página de TwittRadio, al cargar la página, se lee un XML con la información de todos los programas, sus locutores y logos. Arma una página desplegando toda la informacion en bloques, carga las imagenes de los logos y utiliza la XML para traer la información de los locutores desde el servidor de Twitter, así como dinámicamente obtiene sus avatars.

Al integrar éste modulo en la página, se limita el tamaño a desplegar y así generar la ilusión de una marquesina con botones de navegación. Se puede ver como funciona en background desde [aqui]

Módulo – Badge personalizado [link]

Este módulo lo uso en TwittRadio y tambien en mi blog personal (se pueve observar aqui mismo a la derecha). Éste modulo nace bajo la necesidad de desplegar solo cierta información de mi propio perfil de twitter. El badge despliega el avatar del usuario en cuestión, el número de seguidores, amigos, el bio del usuario, el último tweet y link a su página de twitter para dar follow.

Módulo – Despliego de posts [link]

Utilizando la mísma técnica del despliego de programas descrita anteriormente. Éste módulo lo utilizo dos veces en lapágina para recuperar los posts del blog de twittradio filtrados en 2 categorias, una para mostrar los posts de interes general y uno con todos los demás; generando así que los posts de interés general (aproximadamente cinco diarios) no desplacen los posts de los locutores del radio (aproximadamente 1 al mes).
A diferencia del módulo de despliego de programas, éste módulo recupera los posts de la página directamente de la base de datos en vez de XML.

Clon de Twivatar [link]

Desgraciadamente twivatar ya no existe porque el sitio lo saturaron de tanto uso, lo bueno es que el código fue liberado bajo los términos de GNU y así lo pude utilizar en uno de mis sitios.
Básicamente lo que hace es regresar la url de la imagen del perfil de un nombre de usuario determinado.Por defecto lo hace en el formato original, pero se puede determinar el tamaño con la variable “size”
Éste código simplemente lo copian y pegan en un archivo y lo llaman index.php y lo suben a su servidor (el cual soporte php duh!) en la carpeta que ustedes quieran y se usa de la siguiente forma:
url/?user=<username de twitter | ID de twitter>&size=<mini|normal|bigger|original>
Ojo, no nos devuelve una dirección, sino la imagen misma, por lo tanto lo pueden usar en su blog directamente como una imagen:
<img src=”http://www.tudominio.com/foto/?user=zerodragon&size=normal“>


Proyectos en desarrollo

Proyectos que no están de forma live al 100% o estan solo de forma local debido a que requieren ajustes o son actualizaciones RC las cuales aun están cocinándose para salir de Beta.

Módulo – Badge personalizado 2.0 [link]

Muy parecido al badge personalizado que uso en mis páginas, con la diferencia de que éste muestra desde cuando esta abierta la cuenta de twitter en cuestión (aveces quieres saber tu fecha de nacimiento en twitter). Planes a futuro incluyen integración del módulo de Google Maps para la geo localización del usuario según su perfil o su último tweet.

Craigzero [solo local]

Cuando vivía en Estados Unidos, estaba acostumbrado a entrar diario a craigslist.org a buscar ofertas de trabajo o potenciales clientes que necesitaran soporte técnico. Al llegar a México, busqué pero no hay una solución que asemeje el sistema de trabajo de craig. Si, hay [otras opciones] pero tienen tiempos de espera gigantescos y la publicidad le come visibilidad a los clasificados.
Craigzero (nombre aun no definitivo) – Es una plataforma de clasificados que usa mySQL, la cual plantea manejar los posts, sin publicidad, rápida y eficazmente, además de tener una instalación similar a la de wordpress [famous 5 minutes install], actualmente estoy trabajando en la implementación de google maps para la auto localización de los posts, planes a futuro incluyen integración de twitter login para así darle personalidad a los usuarios y mantener un track mas personal a quien pide, busca o se ofrece en la página.

Mini Google maps [link]

En mi blog personal, pueden ver hasta abajo en la derecha un plugin de google maps, el cual es estático y lo más interesante es que no tiene el clasico logotipo de google, además de que tampoco salen las leyendas del proveedor del mapa (en éste caso INEGI) ni otras cosas, salvo el mapa.
Integrado a 3 diferentes niveles de zoom. El mapa parecería una simple imagen en el blog, mas, sin embargo, es completamente auto  generado, adquiriendo los valores de latitud y longitud de un archivo en el servidor. Mismo archivo que se actualiza con los datos del GPS de mi difunto Palm Prê. Debido a que no todos tenemos un celular con GPS, 3G, soporte de php … etc; Mini Google maps esta siendo modificado para soportar geocoding. Mini Google maps ya esta funcionando 100% automáticamente con varias mejoras: es un solo mapa generado sobre 3 diferentes canvas, lo cual le da ligereza al código cuando carga en la página. Además, ahora se puede accesar desde un back-end en el cual detecta automáticamente la posición GPS del navegador con el que se esta viendo (navegadores soportados con la función navigator.geolocation: safari -tambien en ipad-, google chrome, firefox y opera). Tambien soporta la funcion de darle un username de twitter al programa y determinará la geolocalización dependiendo de cómo este configurado su perfil de twitter. (Actualmente estoy trabajando en obtener la localización desde el ulimo twitt localizado, si es que hay uno). Tambien tiene una forma de hacer la localización manual para configurar el punto en el mapa suministrando tanto una dirección, un nombre de ciudad, o una localización en latitud y longitud.


Proyectos en Standby o terminados

Proyectos suspendidos, que los tengo en el repositorio de proyectos, andan huérfanos sin alguna implementación definida por el momento

ColorMaze un juego de 1 dia [link]

Una de mis primeras incursiones en HTML5, este es un juego que me tomó un día en desarrollarlo. Consta de tres partes básicamente:
1)Se genera un laberinto de colores aleatorio con 3 dimenciones de trabajo: Una para que el jugador interactue, otra donde el programa construye los resultados y la última donde se validan los movimientos del jugador.
2)En ésta parte, el programa determina con un algoritmo sencillo, cual es la mejor opción para moverse, el resultado es aquel que represente un mayor mejora en la partida con respecto a las opciones.
3)Esta es la parte donde el programa se juega a sí mismo utilizando la mejor opción hasta resolver todo el laberinto, todo esto sin afectar el display del jugador. Una vez que el laberinto está resuelto, se cuentan los pasos tomados para resolverlo para determinar un máximo a no superar para poder pasar el nivel.

Cuando se pasa de nivel, la dificultad aumenta.

No tiene mucho más, no tiene instrucciones ni muchas mejoras estéticas, porque quise concentrarme en realizar el core del juego y partir de ahi.

Twitter Friends [sin link... seguir leyendo]

Éste es un proyecto algo riesgoso, por eso removí el link (más no lo borré). A todos los que han desarrollado programas utilizando la API de twitter, se habrán topado con el problema de que despues de hacer 150 llamadas en una hora, todos los programas regresan errores. Ésto es por la limitante de API’s en Twitter de 150 llamadas por hora. Para poder desarrollar aplicaciones en twitter, tuve que pedir que mi servidor lo pusieran en la “white list” para así ampliar mi limite de llamadas a 20,000 por hora.
Uno de los proyectos que nacieron al estar trabajando con la API de Twitter, fué éste. Básicamente lo que hace es obtener un nombre de usuario (el cual se le proporciona), investiga cuantos friends tiene el usuario en cuestión y por cada uno de sus friends hace una API call al servidor de twitter y trae su información de perfil, finalmente despliega los avatars de todos y cada uno de los friends y pone su username en un mouseover para su facil identificación.
Éste proyecto no está publicado debido a que un exceso en el uso del mismo puede tirar mi servidor o bloquear mi dirección IP en los records de twitter (blacklist).