26 mayo 2006
Detectar jpg progresivo desde php
Siempre que trabajas con las librerías gráficas GD desde PHP se te pueden plantear varios problemas, entre otros, ¿qué puedo hacer con la versión de la que dispongo o cuál es mi versión de GD? o bien ¿como detectar si un archivo jpg es progresivo o no?Esta última cuestión es de mucha importancia si, por ejemplo, tu script php ha de preparar (redimensionar, recortar, etc) una imagen que luego la va a coger una movie de flash. Sabemos que hasta la versión 7 (inclusive) de Flash, no admite jpg's progresivos. En la versión 8 ya no hay este problema.
Pués bien, sin más preámbulos he aquí un trozo de código php que te permite saber si un jpg es progresivo o no y así decidir qué hacer con él. Por ejemplo se puede informar al usuario para que seleccione otra fotografía.
$fp = @fopen( $ficherojpg, "rb" );
$imageData = fread( $fp, 100000 );
@fclose( $fp );
if (esJpgProgresivo($imageData)) {
echo "sí es progressivo";
// algo más..
}
else {
echo "no es progresivo";
// no hay problema para Flash versión <=7
}
/**
* determina si un jpg es progresivo o no
*
* @param string imageData stream binario con los datos de la imagen
* @return boolean true: sí lo es, false: no
*/
function esJpgProgresivo($imageData) {
if ( strstr( $imageData, pack( "n", 0xFFC2 ) ) ) {
return true;
}
if ( strstr( $imageData, pack( "n", 0xFFC6 ) ) ) {
return true;
}
if ( strstr( $imageData, pack( "n", 0xFFCA ) ) ) {
return true;
}
return false;
}
Relacionados:
¿qué puedo hacer con mi versión de GD? (I)
GD: Trabajar con imágenes en PHP
13 mayo 2006
Antena TDT con deco quiero tv
He hecho pruebas con varios modelos de antena: una de dos cuernos telescópicos, una Vivanco de rejilla redonda de 40 dB (ojo! 20 dB en UHF que es lo que importa), otra Vivanco de diseño plano de también de 20 dB en UHF y nada de nada. Bueno, las 2 Vivanco de 20 dB me daban un nivel de señal aceptable pero eran contínuos los errores digitales, ya sabeis, los clásicos cuadritos.Por fin he encontrado la antena perfecta y es la que me voy a quedar: una Engel que vi en la tienda Media Markt y que me ha costado 39 euros. La más cara de las que he probado, pero eso sí, es la mejor. Tiene una ganancia de 20 dB tanto en VHF como en UHF tal como podeis ver en la caja.

Las otras que probé eran más baratas, 29 euros por ejemplo la útlima Vivanco que he probado que además tenía antena de radio FM. El modelo de Engel sólo amplifica TV UHF y VHF pero es lo que yo quiero, paso de radio.El modelo de Engel es una antena diseñada para recepción exterior. En la caja viene con unos anclajes para colocarla en un poste o bien en una pared en el balcón o ventana. De todas maneras se puede instalar también en el interior de casa. Yo mismo, la he dejado sobre el televisor en una estantería de un mueble y aún así me proporciona una relación señal ruido de 24-25 dB. Con eso, amigos,. hay más que suficiente para ver la TDT en condiciones. Total, vale la pena pagar los 39 euros.

Como dato adicional hay que tener en cuenta que muchas de las antenas que vereis en las tiendas ponen que tiene 40 dB de ganancia. No suele ser así, sino que tienen 20 dB en una banda y otros 20 en la otra, VHF y UHF.
Más información de la antena Engel
Por cierto, he buscado más info de la antena Engel en la web de la compañía www.engel.es, pero no encuentro el modelo :-(
Más información
Ver la TDT con el decodificador de Quiero TV (2a parte)
Ver la TDT con el decodificador de Quiero TV (1a parte)
22 abril 2006
Ver la TDT con el decodificador de Quiero TV (2a parte)
Amigos! en un anterior y muy popular post hablabamos sobre el hecho de ver la TDT con el deco de Quiero SAGEM ITD4430 y que yo la veo con un cable con un alfiler en la punta.Asi era, pero ahora he mejorado y me he puesto una antena de cuernos (2 para ser exactos) y con ella obtengo una relación señal-ruido de alrededor de 25 dBs. Con eso hay más que suficiente para ver la TDT.
Anímense pués caballeros, que no hace falta ni comprarse una antena amplificada. Ojo, que al precio que están, tampoco pasa nada por comprarla y es mucho más bonita en el comedor.. pero bueno.. el frikismo es el frikismo.
Os dejo foto (la de este post) y video en youtube demostrando el asunto. Perdonen la calidad de los mismos pero es que es tarde y tengo sueño :-)
Nota: En el video muestro la antena recién 'instalada' (tuve que soldar y todo de lo vieja que era!) y ya tiene unos 22-23 dB. Voy a moverla un poquitín y alcanzo enseguida los 24-25 dB. Suficiente! Hay que aclarar que mi comedor tiene una salida a una amplia terraza. Lujos que tiene uno :-)
1a parte: Ver la TDT con el decodificador de Quiero TV
Cómo acceder a la pantalla de indicadores
para acceder a la pantalla en la que podeis ver los indicadores de funcionamiento del decodificador tenéis que hacer o siguiente: con el mando de Quiero TV pulsar en la tecla con la llavecita, luego seleccionar 'Instalación', luego 'Instalación decodificador' y finalmente 'Indicadores de funcionamiento'.
Más información
Antena TDT con deco quiero tv
12 abril 2006
compartir videos en Internet
Hace unos días que llevo recopilando información sobre qué posibilidades tenemos para colgar un video en la red, y va y me encuentro con este estupendo resumen-traducción de un artículo en inglés de dvguru que recoge un montón de servicios alguno de los cuáles ni los conocía.Os recomiendo echar un vistazo al artículo en hispalibertas, como os decía, una traducción con retoques personales al español que ha realizado Juan Diego Polo (WWWhatsnew.blogspot.com).
Por cierto, me encanta ese diario, Hispalibertas, en el que escribe también Remo Tamayo, de nada más y nada menos que Curioso Pero Inútil, entre otros, que ya sé que hay más pero cada uno tiene sus debilidades :-)
11 abril 2006
Optimizar el uso de memoria de Firefox
Mucho se ha hablado del uso de memoria que realiza Firefox en Windows. El problema no creo que sea si utiliza mucha o poca, sino el famoso tema de los leaks de memoria, esto es, aquellos casos en que Firefox no libera memoria que ya no va a utilizar. Esto hace, lógicamente, que el consumo total de de memoria se vaya incrementando hasta que se ralentiza todo el sistema. Si, como yo, utilizais muchos 'tabs' sabéis de qué hablo.El caso es que veo en Realtechnews este interesante artículo en el que habla de un pequeño hack con el que optimizar un poco este problema. Atención con esto: no es en absoluto una solución total. Yo he estado haciendo algunas pruebas y sí, efectivamente, al minimizar una ventana de Firefox y luego volver a maximizarla puedo ver como el volumen total de memoria se gestiona (eso parece) mejor.
De todas maneras, lo que ganes puede ser insignifcante comparando con el uso de memoria que haga tu FF si tienes, por ejemplo, alguna extensión (yo por ejemplo tengo: IETab, DOMInspector, WebDeveloper y GMailNotifier) o algún tema (yo soy puro, jamás! je je).
Vale la pena echar un vistazo a este artículo. Tranquilos, aunque está en inglés, es cortito :-)
Otros artículos:
- Previsualizar página en IE explorer desde dentro del firefox
- Ocultar el código fuente de una página html
- PSPad, el mejor editor de textos gratuito
06 abril 2006
Tamaño disponible de una ventana en Javascript
En Javascript tenemos varias propiedades de objetos que nos permiten conocer el tamaño que hay disponible en una ventana para escribir en ella, es decir, el 'ancho interior' de una ventana.Para ello tenemos que hacer una pequeña programación en función del navegador del usuario, y debe ser ejecutado después de la etiqueta <body> o bién cuando se carga el documento. Es necesario para que la estructura 'body' esté creada dentro del DOM del documento.
Aquí vemos qué propiedades nos dan el tamaño interno de la ventana:
window.innerHeight/ document.body.clientHeight/
window.innerWidth document.body.clientWidth
Opera 7+ sí sí
Mozilla/Firefox sí sí
Opera sí sí
IE 4+ n/a sí
Netscape 4 sí n/a
Según esta tabla podemos construir el siguiente algoritmo que funciona tanto en Netscape, Mozilla, Opera, Firefox como en Internet Explorer:
<html>
<head>
<title>PW Tamaño de ventana</title>
</head>
<body>
<script type="text/javascript">
var h = 0; // height
var w = 0; // width
if( typeof( window.innerHeight ) == 'number' ) {
//no es IE
h = window.innerHeight;
w = window.innerWidth;
} else if( document.body && document.body.clientHeight ) {
//IE 4 o superior
h = document.body.clientHeight;
w = document.body.clientWidth;
}
alert('width:' + w + ' height:'+ h);
</script>
</body>
</html>
Otros artículos:
- Ocultar el código fuente de una página html
- PSPad, el mejor editor de textos gratuito
- ¿un script php 4 es compatible con php 5?
- Previsualizar página en IE explorer desde dentro del firefox
24 enero 2006
Indexar páginas dinámicas en buscadores (2a parte)
Comentábamos que es muy buena solución el montar un site de contenido dinámico de manera que las urls queden así:http://www.sitio.com/index.php/noticias/23
Mucho mejor que la típica url:
http://www.sitio.com/index.php?cat=noticias&id=23
De esa manera la indexación en un buscador se efectua de una manera correcta y nuestro site ganará en posicionamiento, y eso, sabeis, repercute directamente en la efectividad del site (más dinero?).
Para esto deciamos en un anterior post que basta con añadir la directiva AcceptPathInfo del apache a 'on'.
Tengamos en cuenta pués la versión del Apache:
- Apache 1.3.x => el PHP debe ejecutarse como un módulo de apache para que funcione, y no hace falta añadir la directiva. La variable PATH_INFO se publica automáticamente en php.
- Apache 2.x => Sí requiere especificar la directiva AcceptPathInfo a 'on'.
// archivo index.phpEn el caso de tener:
$vars = explode("/",$_SERVER['PATH_INFO']);
$vars[0] => nombre del script (index.php en el ejemplo de antes)
$vars[1] => primer parámetro
etc.
http://www.sitio.com/index.php/noticias/23
con el código de arriba obtendríais lo siguiente:
$vars = explode("/",$_SERVER['PATH_INFO']);
echo $vars[0]; // => "index.php"
echo $vars[1]; // => "noticias"
echo $vars[2]; // => 23
Así de fácil. Probadlo.1a parte : Indexar páginas dinámicas en buscadores (1a parte)
21 enero 2006
PSPad, el mejor editor de textos gratuito
Entre las muchas características de PSPad cito algunas de las más importantes a mi entender:- soporte unicode
- editor hexadecimal integrado
- edición modo columna (un poco flojo pero bueno)
- herramienta de comparación de ficheros integrada
- búsqueda en múltiples ficheros (muy rápida)
- y lo mejor de todo: una muy elevada posibilidad de personalización.
Yo que he utilizado durante muchos años Ultraedit, también Textpad y RapidPHP los he abandonado todos y me he quedado sólo con éste :-) Vale que no eran gratuitos pero la licencia era realmente barata.
- Post relacionado
14 enero 2006
sql seguro en Mysql - Php
La manera más segura para evitar que tu código se 'rompa' y dé warnings es construir tus sentencias sql con ayuda de la función mysql_real_escape_string de php. Por ejemplo:
$sql = "insert into usuarios (nombre,apellidos) values("
."'".mysql_real_escape_string($_POST['nombre'])."',"
."'".mysql_real_escape_string($_POST['apellidos'])."')";
$qy = mysql_query($sql);
Pero ojo, deberías chequear primero si tienes activado el magic_quotes de php. Si es así primero deberás hacer un stripSlashes a tus variables. El código quedaría así:
if (get_magic_quotes_gpc()) {
$nombre = stripSlashes($_POST['nombre']);
$apellidos = stripSlashes($_POST['apellidos']);
}
$sql = "insert into usuarios (nombre,apellidos) values("
."'".mysql_real_escape_string($nombre)."',"
."'".mysql_real_escape_string($apellidos)."')";
$qy = mysql_query($sql);
Con estas precauciones te evitarás muchos problemas, tu aplicación es mucho más segura.
09 enero 2006
Huevos de Pascua en PHP
Tantos años y nunca me había parado a pensar en ello..¡algo tenía que haber :-)!
En cualquier web con php añade lo siguiente al final de cualquier url:
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
Verás una foto del desarrollador del versión de php que tengas.
¿Un perro? ¿un tio con 2 lápices en la boca?
Por ejemplo ésta.
Via: hacker.net
07 enero 2006
La barrera del sonido
Es muy buena la explicación de lo que llamamos 'la barrera del sonido' que aparece en este magnífico blog que encontré hace unos días.El artículo tiene su segunda y tercera parte aquí y aquí.
No es verdad que sea inútil, aunque sí curioso ¿no?
28 diciembre 2005
No ves gifs animados en Firefox?
Últimamente he visto varios referrers en las estadísticas de este blog de búsquedas en google por palabras tipo 'no se ven los gifs animado en firefox'. No sé exactamente qué les lleva a entrar aquí, pero ahora sí que van a encontrar la solución :-)Solución:
1- En una ventana de Firefox en la url poned:
about:config
2- Haced doble click en "image.animation_mode"
3- Establecer el valor a una de estas 3 opciones:
- none — anula la animación de gifs.
- once — los gifs animados solo se mueven una vez.
- normal — modo normal, es decir, si es un gif animado
debería moverse con normalidad.
eso ya es otro tema... habría que verlo.
Otros artículos:
- Previsualizar página en IE explorer desde dentro del firefox
- Ocultar el código fuente de una página html
- PSPad, el mejor editor de textos gratuito
19 diciembre 2005
Trolls en la red
Leyendo en Barrapunto me encuentro alguna vez con trolls, pero hoy me encuentro con ¿quizás otro? no sé, he visto ésto.Es simplemente un ejemplo de miles de comentarios basura que se ven hoy día en la blogosfera, diarios, etc. Vaya, ante un troll ya sabemos que lo mejor es ignorar el asunto y no entrar a discutir en su terreno, pués nos desvía el tema principal, pero ante este caso concreto ¿qué pensar :-) ? pués supongo que lo mismo que el 'pobrecito hablador' que le replica je je.
11 diciembre 2005
cibermaratón de Fundación Vicente Ferrer

Ya van 2395 niños apadrinados en poco más de 3 semanas en esta cibermaratón que empezó el 18 de Noviembre en la web de la fundación Vicente Ferrer. Es una maravilla que empezemos a ver acciones de este tipo en la red. Y mejor aún es la respuesta de la comunidad online. De todas maneras, a ver si entre todos podemos alcanzar los 10000.
Se puede seguir el avance de la campaña desde su propio blog, y también puedes colaborar de diferentes maneras.
10 diciembre 2005
'FireFox' es un panda rojo, ¡no un zorro!

¡Qué cosas! leyendo un post en bandaancha, me entero que el logo de Firefox se debe a un panda rojo y no a un zorro como creía hasta ahora. Y me entero ahora después de un año y poco de su primera versión estable, ahora que ya anda por una estupenda 1.5.
Podéis comprobarlo en la propia web de Mozilla en la FAQ del nombre de la marca. Fijaos donde dice 'What's a Firefox?'
De piedra me he quedado . . .
Sí claro, ahora todos lo sabíais ja jaja :-)
(supongo que muchos sí)
Las 6 peores ideas sobre seguridad informática
Muy interesante, muy bueno este artículo, sí señor.Lo teneís en español aquí, y el original en inglés aquí.
08 diciembre 2005
¿un script php 4 es compatible con php 5?
No y sí. Como casi siempre depende del script en cuestión. Hay una serie de cambios en php 5 que hace que se pierda la compatibilidad hacia atrás a la versión 4. Una pena sí, pero el avance requiere estas cosas.Podeis ver una lista de los principales cambios que hacen que php4 -> php5 sean incompatibles aquí (ojo está en inglés):
Personalmente no he tenido que migrar nada al 5 de momento, pero no creo que vaya a hacerlo nunca. Cunado trabaje en 5 será para hacer una nueva aplicación, por supuesto.
04 diciembre 2005
Previsualizar página en IE explorer desde dentro del firefox

Si usas Firefox ahora no es necesario ejecutar una instancia del explorer para ver como queda la página que estás desarrollando. IETab es una extensión para Firefox creada por un Taiwanés que te permite conmutar de un motor de navegador a otro dentro de un tab del propio Firefox. Ojo! No es un emulador, es realmente un cambio de motor.
Es realmente una extensión muy recomendable para desarrolladores. Después de la webdeveloper de Chris Pederick está claro :-)
Via bandaancha
29 noviembre 2005
Cambiar ubicación de bases de datos en SQL Server
Hace unas semanas me pareció un trabajo muy duro. Quería cambiar los archivos de varias bases de datos de un SQL Server 2000 que estaban creciendo mucho de un disco a otro y no parecía tarea fácil.Una vez más el todopoderoso Google y después de un buen rato con diferentes pruebas he encontrado en el soporte de microsoft la página que habla del tema. Es más fácil de lo que parecía.
29 octubre 2005
Curso de Google

Bravo por la página del Centro Nacional de Información y Comunicación Educativa (CNICE) del Ministerio de Educación y Ciencia. Estoy sorprendido. Una web dedicada a la enseñanza online, recursos para profesores, alumnos, guías didácticas, manuales, artículos técnicos, etc. Por ejemplo puedes acceder a completas coleciones de imágenes, utensílios de cocina?, quién no ha buscado fotos así alguna vez :-) ; presentaciónes para futuros administrativos, y un largo etcétera.
Pero el apartado qué más me ha llamado la atención es el Observatorio Tecnológico. Es sin duda una web que vale la pena. Entre otras joyas encontrais una guía para aprender a utilizar el buscador Google, o este magnífico artículo sobre Direccionamiento IP, breve pero completo. Vale la pena.


