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 🙂

Javascript: Valor máximo y mínimo de un arreglo

Si tienes un arreglo en Javascript y deseas saber el valor mínimo o máximo la forma tradicional es recorrer el arreglo en un ciclo for e ir comparando item , uno por uno.

Pero existe una forma más rapida, y es utilizar algo como esto:

Array.max = function( array ){
return Math.max.apply( Math, array );
};

Array.min = function( array ){
return Math.min.apply( Math, array );
};

Si no funcionan pueden usar el .min y .max como protoype

Array.prototype.max = function( array ){
return Math.max.apply( Math, array );
};

Array.prototype.min = function( array ){
return Math.min.apply( Math, array );
};

Y si de plano ninguna de las 2 opciones pues ya es algo de forma manual, osea, utilizar Math.max.apply( Math, MyARREGLO ); directamente.

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!.