Super Mario creado en JavaScript

Alguien con mucho tiempo libre (probablemente sea estudiante o esté parao), se ha entretenido en montar un Super Mario programado integramente en JavaScript y lo mejor es que el código apenas pesa 14Kb.

La verdad es que no me he parado a mirar el código, sin embargo, tal currada es digna de mención. Os dejo screenshot del juego, y enlaces al artículo y al juego para que veais, juzgueis y en caso de estar aburridos, estudieis el código 😉

super_mario

Artículo: Play Super Mario Bros in 14kB Javascript
Juega aquí

Google Charts API para generar gráficas en tu web

Charts generados con GoogleSi quieres montar unas estadísticas profesionales en tu web de manera rápida y sencilla (y lo que es mejor, gratis!), podemos abusar una vez más de nuestro gran amigo Google, pues a liberado una API mediante la qual podemos generar estadísticas sin recurrir a grandes conocimientos técnicos.

Para mostrar una gráfica en nuestro site, únicamente debemos hacer una llamada a una URL (construida siguiendo unas directrices) en el src de un tag image.

Google pone a nuestra disposición una gran cantidad de tipos de gráficas para que se adapte perfectamente a nuestras necesidades: lineales, barras, circulares, diagr de Venn, gráficas de punto e incluso mapas. Continue reading

Google como proxy gratuito

googlelogo2 ¿Os han capado la entrada a alguna web por IP? No hay problema, nuestro amigo google pone a nuestro alcance (de manera involuntaria) un proxy listo para usar.

Para poder navegar por la web que nos a capado, aprovecharemos que google translate tiene una opción de traducción mientras se navega… al usarlo de este modo, quien hace la petición a la web no somos nosotros sino el servidor de google, así que podremos pasearnos libremente por el portal que nos ha vetado la entrada.

Copia la siguiente URL y sustituye manelperez.com por la dirección de la web que quieres visitar:

http://www.google.com/translate?hl=es&sl=af&tl=es&u=manelperez.com

Si eres uno de esos “usuarios malintencionados” que circulan por internet y te vetan el acceso a la mayoría de las webs a las que intentas acceder, dispones de un plugin para firefox que ya contempla este regalito involuntario de Google Translate.

Espero os sea de utilidad 😉

Code Golf – Pasatiempo para programadores

Code GolfCode golf es un adictivo pasatiempos para programadores en el que el objetivo es conseguir una solución a un sencillo problema con el menor número de teclas picadas al programarlo (o lo que es lo mismo el archivo con menor peso en bytes es el que gana).

En la web se plantean diferentes retos y a partir de ahí se van marcando los mejores resultados a medida que los usuarios van subiendo sus scripts. Puedes subir tu mini-programa en uno de los siguientes lenguajes: PERL, PHP, Phyton o Ruby. Continue reading

Novedades de PHP6

php6Los desarrolladores del motor de PHP llevan ya varios meses trabajando en la versión 6. De momento no parece que vaya a ver la luz en breve, pues acaban de liberar la versión 5.3 para postergar en la medida de lo posible la aparición de la nueva versión. En cualquier caso, es interesante estar al día e ir preparando nuestros desarrollos actuales para las posibles incompatibilidades con la nueva versión.

Recientemente preguntaban a Zeev Suraski, co-fundador de Zend Technologies Inc. sobre la versión 6 de PHP de la que se lleva algún tiempo hablando pero que parece que no acaba de ver la luz. En la entrevista, Zeev nos comentaba:

PHP6 es un proyecto mucho más difícil que PHP4 y 5 principalmente por dos razones:

  • La cantidad de código PHP que hay afuera, es tan inmensa.
  • Cada pequeña incompatibilidad que uno introduce se convierte en un horrible dolor de cabeza para mucha gente. Y combinado con la principal cosa que queremos hacer con PHP6, que es la introducción de soporte nativo para Unicode, es imposible no introducir una cantidad significativa de incompatibilidades en el lenguaje. No sé cómo va a resultar esto, estoy siendo completamente honesto.

Continue reading

Cómo usar sfWidgetFormJQueryDate de sfFormExtraPlugin?

sfFormExtraPlugin es un excelente plugin que mantienen los desarrolladores de Symfony con un montón de características adicionales que te ayudarán a construir formularios más completos.

¿Qué podemos encontrar en este plugin?

Són varias las utilidades que nos ofrece, desde la creación de campos captcha para evitar el spam hasta campos de texto autocompletables en función de lo que vayamos escribiendo. Aquí os dejo una lista con sus posibilidades:

  1. ReCaptcha widget y validador
  2. Editor HTML WYSIWYG para campos de texto
  3. Selector de fechas tipo calendario
  4. Selectores de idioma
  5. Widget de listas dobles
  6. Widget de autocompletado en campos de texto

¿Cómo instalar y usar sfWidgetFormJQueryDate?

sfWidgetFormJQueryDate nos creará un selector de fechas con unas configuraciones mínimas para facilitar la tarea de rellenar los campos date en nuestros formularios. En la siguiente imágen, puedes ver el resultado de su correcta implementación:

sfwidgetformjquerydate
Continue reading

Cómo capturar una web en una imágen con Firefox?

FirefoxGracias a los fantásticos Add-ons de Firefox podemos dotar a nuestro navegador de nuevas funcionalidades como por ejemplo la que he encontrado esta mañana.

Necesitaba realizar un screenshot de toda una web y googleando un poco, he encontrado Page Saver, un fantástico plugin que permite realizar este tipo de capturas almacenando además las imágenes flash contenidas en la página.

Para instalarlo es bien sencillo, click aquí para ir a la ficha del plugin y click en el botón “Añadir a Firefox”.

Podeis buscar otros plugins para vuestro navegador en la página de Addons de Firefox. Aquí os dejo una pequeña lista con los plugins más interesantes y/o útiles que me he encontrado:

  • Web Developer: ¿Eres programador web? En ese caso ya conoces este plugin, sino es así, instalalo y disfruta 😉
  • Firebug: Completo paquete de utilidades con el que se puede analizar (revisar velocidad de carga, estructura DOM), editar, monitorizar y depurar el código fuente, CSS, HTML y JavaScript de una página web de manera instantánea e inline. Junto con Web Developer, uno de los plugins más útiles para un programador web.
  • Selenium IDE: Set de herramientas que permiten desarrollar scripts para pruebas de aplicaciones Web.
  • ColorZilla: Con este Addon podemos seleccionar cualquier color de cualquier elemento contenido en una web y obtener su valor en hexadecimal.
  • Live HTTP headers: Con él podrás controlar todas las cabeceras enviadas y recibidas al navegar por una web.
  • SeoQuake: Completa herramienta de diagnóstico SEO de una web.
  • Tamper Data: Permite modificar los datos enviados en un POST a una página.

Crear una relación many-to-many con Doctrine

Vamos a ver como informar al magnífico ORM Doctrine de que debe tratar un par de tablas con una relación many-to-many utilizando una tabla intermedia.

Supongamos que tenemos una talba de jugadores de fútbol y una tabla de equipos. Un equipo estará compuesto por varios jugadores y a su vez, un jugador puede estar relacionado con varios equipos (el actual, más los equipos por los que ha pasado en su vida deportiva).

Para este ejemplo necesitaremos tres tablas: Team, Player  y una relacional TeamPlayer. Continue reading

Serializar array con JavaScript

Ayer os comentaba como pasar arrays por POST con PHP mediante los métodos serialize y unserialize y dejaba un poco al aire como hacerlo desde JavaScript.

Una manera bastante usual de hacerlo en JavaScript es concatenar los valores del array en un string separados por un token que luego nos permitirá volver a generar el array con la función split de PHP, sin embargo, nos puede ser interesante utilizar la serialización por defecto de PHP, de este modo al recoger el valor, únicamente tendremos que llamar a unserialize y volveremos a tener el array intacto. Continue reading