Youtube: Eliminar la publicidad de Youtube incrustada en los videos

Les quiero compartir este script de GreaseMonkey el cuals nos permite eliminar la publicidad insertada dentro de los videos de Youtube, (esos q espera 5 segundos para saltar la publicidad), ademas que tiene autobuffer y seleccion automatica de la calidad del video

YouTube Auto Buffer & Auto HD & Remove Ads

Una vez instalado el script, en youtube esta la opción de configuración, solo seleccionar Autoplay y quitar la opción de Mute mientras esta cargando el buffer, como sugerencia.

JpGraph Error 25128 Error en la función imageantialias de la libreria PHP GD

Estaba probando la librería JpGraph en un flamante Ubuntu 11.04, pero el problema es que la versión de PHP es la más nueva 5.3.3 y muchas funciones ya fueron depreciadas o por el tipo de instalación no están disponibles, como es el caso de la función imageantialias y pues nos lanza el error 25128

Lo que se debe hacer de forma rápida sin andar compilando el PHP-GD desde las sources, es comentar la linea de gd_image.inc.php

JpGraphError::RaiseL(25128);//(‘The function imageantialias() is not available in your PHP installation. Use the GD version that comes with PHP and not the standalone version.’)

Y listo! ya funciona otra vez la librería, sin antialias claro, pero funciona 🙂

Tips para actualizar Google Maps v2 a v3

Me encontre esta tabla para cuando tengamos javascript de Google Maps versión 2 y lo tenemos que migrar a la versión 3.

Utilizar : new google.maps. en lugar de G…

GLatLngBounds() –> google.maps.LatLngBounds()
GlatLng –> google.maps.LatLng
GPoint –> google.maps.Point
Event.addListener –> google.maps.event.addListener
map.getInfoWindow().getPoint –> google.maps.getPosition()
markers.getPoint() –> markers.getPosition()
closeInfoWindow() –> map.InforWindow.Close();
map.getBoundsZoomLevel(bounds) –> map.fitBounds(bounds)
markers.setImage –> .setIcon
map.InfoWindow.close() –> crear una función para cerrar
buscar objetos en el mapa –> $(‘#id’)[0] ó $(‘#id’).get(0) ó document.getElementbyId

application/javascript (NS_ERROR_DOM_BAD_URI)

Si estas utilizando llamadas Ajax desde tu página web a dominios externos y te aparece el error NS_ERROR_DOM_BAD_URI en la extensión HttpFox de Firefox la solución es solicitar la página mediante JSON, si usas JQuery seria en teoría algo así:

$.getJSON(“http://dominioExterno.com/pagina”,function(result){

});

Pero nooooo! el error sigue apareciendo, entonces la solución correcta sería agregar un parametro X con valor = ?., en este caso le llamamos jsoncallback=? en español quedaría algo así:

$.getJSON(“http://dominioExterno.com/pagina?jsoncallback=?”,function(result){

});

Ahora ocupas moverle al servidor algunos parametrillos para que te regrese correctamente el JSON, si usas PHP puedes poner este código:

function generate_jsonp($data) {
if (preg_match(‘/\W/’, $_GET[‘jsoncallback’])) {
// if $_GET[‘jsoncallback’] contains a non-word character,
// this could be an XSS attack.
header(‘HTTP/1.1 400 Bad Request’);
exit();
}
header(‘Content-type: application/json; charset=utf-8’);
print sprintf(‘%s(%s);’, $_GET[‘jsoncallback’], json_encode($data));
}

Con esto evitas ataques XSS y te regresa tu JSON en una función tal y como te la mande getJSON, solo es cosa de enviar un arreglo a la función generate_jsonp

Y listo!.., ya debe de jalar la solicitud externa.

Aca algo de documentación para usar JSONP de forma segura: http://www.metaltoad.com/blog/using-jsonp-safely

Protovis: Agregar la grafica dentro de un DIV-id

Estos ultimos meses he estado trabajando con varias librerias para graficar desde Javascript, y existe una llamada Protovis desarrollada en la Universidad de Stanford, si se siguen los ejemplos todo funciona de maravilla, pero la cosa esta en que donde pongas el codigo javascript, ahi mismo se renderea la grafica, y el problema es que yo lo tengo en una libreria externa y pues no jala la grafica.

La solución es imprimir la grafica en un DIV mediante su ID., buscando una solución me encontre que se debe de crear un panel y despues un canvas y como parametro va el ID de nuestro div., ejemplo sencillo:

/* The root panel. */
var vis = new pv.Panel().canvas(‘chart_div‘)
.width(w)
.height(h)
.top(9.5)
.left(39.5)
.right(20)
.bottom(30);

Y en nuestro HTML tenemos algo así:

< div id="chart_div" style="border:1px solid;">

Si se fijan en el canvas tengo el nombre de nuestro div “chart_div” y listo!…, todo lo demas se deja igual!.

Benchmark de Javascript en diferentes navegadores web

He realizado 2 pruebas de rendimiento de Javascript con diferentes navegadores:

* Google Chrome 0.2.149.30
* Mozilla Firefox 3.0.3 Windows
* Mozilla Firefox 3.0.3 Linux
* Internet Explorer 7.0
* Safari 3.1.2
* Opera 9.52
* Konqueror 3.5.10

Los navegadores de linux (Firefox y Konqueror) corren sobre Ubuntu 8.04 Hardy Heron y los demas sobre un flamante Windows XP Service Pack 3, lo malo de estos benchmark es que varian dependiendo de la computadora, y entre el mismo navegador de una refrescada de página a otra, pero bueno, es solo para darnos una idea de quien es quien en Javascript!

Las dos pruebas son las siguientes:

V8 Benchmark Suite – version 1
http://code.google.com/apis/v8/run.html

El que tenga mayor puntuacion es mejor!, el menor es el más chafa.

Estas son las pruebas del test V8 de Google.

* Richards
OS kernel simulation benchmark, originally written in BCPL by Martin Richards (539 lines).
* DeltaBlue
One-way constraint solver, originally written in Smalltalk by John Maloney and Mario Wolczko (880 lines).
* Crypto
Encryption and decryption benchmark based on code by Tom Wu (1689 lines).
* RayTrace
Ray tracer benchmark based on code by Adam Burmister (3418 lines).
* EarleyBoyer
Classic Scheme benchmarks, translated to JavaScript by Florian Loitsch’s Scheme2Js compiler (4682 lines).

Como pueden ver el Chrome se los lleva a todos de cajon, luego diria que el Opera o Firefox (dependiendo del test)

Y por ultimo hice otro test llamado:

Javascript speed tests 2007
http://celtickane.com/webdesign/jsspeed2007.php

Aquí el que tenga el menor tiempo en milisegundos es el campeon.

Como ven el peor es el Konqueror (Acaso alguien usa este navegador???), y pues el ganador Firefox y Chrome!.

Existen más test de velocidad de Javascript tal y como lo puse en el post sobre Google Chrome, de todas formas aquí se los dejo nuevamente:

* Dromaeo – http://dromaeo.com/
* Celtic Kane Online Javascript Speed Tests 2007- http://celtickane.com/webdesign/jsspeed2007.php
* SlickSpeed – http://mootools.net/slickspeed/
* SunSpider – http://www2.webkit.org/perf/sunspider-0.9/sunspider.html