Implementar FullCalendar en Symfony

Publicado en Frameworks, Programación el 12 de June de 2009 por Manel Pérez Mata
Tags: , , | (11 Comentarios)

FullCalendar es un plugin jQuery que nos permite implementar de manera sencilla un calendario con una interfaz visual excelente y muy fácil de personalizar. Además, podemos hacer Drag&Drop (arrastrar y soltar) de los eventos agendados para pasarlos de un día a otro.

Hoy vamos a montar en symfony un módulo que nos mostrará un calendario con los eventos almacenados en nuestra base de datos. La parte de administración no la desarrollaré, pero con las completas herramientas que nos ofrece symfony, nos será muy fácil montarlo (si estás dando tus primeros pasos con Symfony, te recomiendo realizar este tutorial donde podrás ver paso a paso como se implementa un projecto con Symfony).

FullCalendar

… Seguir Leyendo

Wodim para evitar “Data does not fit on disk” al quemar un DVD

Publicado en Linux el 10 de June de 2009 por Manel Pérez Mata
Tags: | Añadir comentario

burndvdEsta mañana, al ir a quemar una imagen ISO con K3B, me aparecía un error bastante molesto:

Found files bigger than 2GB. These files will only be fully accessible if mounted with UDF
Enabling UDF extension.
Data does not fit on disk

Así que como tenía a mi colega Borja por el Kopete y el es un tio instruido en estos temas, le he preguntado que podía hacer… la conversación ha sido más o menos esta:

...
<Manel> toy grabando una imagen iso con k3b y me peta
<Borja> pero te dice alguna cosa?
<Manel> dice esta mierda "Found files bigger than 2GB. These files will only be fully accessible if mounted with UDF" "Data does not fit on disk"
<Borja> no se, parece algo del sistema de ficheros del dvd... si quieres prueba con el wodim desde consola
...

… Seguir Leyendo

Redimensionado de iframe al tamaño de la página contenida

Publicado en Programación el 8 de June de 2009 por Manel Pérez Mata
Tags: , | (8 Comentarios)

Con este sencillo código JavaScript, ajustamos la altura del iframe al tamaño de la página en él conteido, de ese modo, evitaremos el molesto scroll lateral.

<html>
    <body>
        <script language="JavaScript">
            //Ajusta el tamaño de un iframe al de su contenido interior para evitar scroll
            function autofitIframe(id){
                if (!window.opera && document.all && document.getElementById){
                    id.style.height=id.contentWindow.document.body.scrollHeight;
                } else if(document.getElementById) {
                    id.style.height=id.contentDocument.body.scrollHeight+"px";
                }
            }
        </script>
        <iframe id="miFrame" src="http://www.tecnoretales.com/" width="100%" height="0" frameborder="1" transparency="transparency" onload="autofitIframe(this);"></iframe>
    </body>
</html>

Una vez cargado el iframe, llamamos a la función autofitIframe que se encargará de obtener la altura total de la página contenida y se la asignará al tamaño del iframe.
Simplemente…

Redirect 301 para preservar el PageRank

Publicado en Internet, Programación, SEO el 7 de June de 2009 por Manel Pérez Mata
Tags: , , | Añadir comentario

Redirect 301

Supongamos que estoy haciendo un rediseño de mi web para conseguir una mejora en SEO. Las urls actuales a mi listado de productos son de este estilo:

http://www.tecnoretales.com/products.php?id=13

Pero lo que realmente nos interesaría tener una url semántica de este estilo:

http://www.tecnoretales.com/sony/cyber-shot/dsc-t500-color/13

Claro que, no queremos perder el PageRank de la url antigua que tanto nos ha costado acumular ¿qué podemos hacer? Pues la solución pasa por realizar una redirección permanente (o Redirect 301). Cuando Google recibe una cabecera http 301, entiende que la dirección a la página ha cambiado de manera permanente y pasa toda la información a la nueva url. … Seguir Leyendo

Reducir fotos desde línea de comandos

Publicado en Linux, Programación el 5 de June de 2009 por Manel Pérez Mata
Tags: , , | (2 Comentarios)

Aquí os dejo un script tan simple como útil que reduce todas las imágenes de una carpeta a un tamaño dado. Esto nos podría ser útil, por ejemplo, porque queremos subir 200 fotos a una web, pero como tienen mucha resolución pesan aproximadamente 2MB cada una, pues con este script podemos reducir su tamaño y conseguir que su peso se reduzca de manera considerable.

Para ello, tendremos que tener instalados en nuestra máquina los paquetes imagemagick y graphicsmagick-imagemagick-compat, en Ubuntu:

sudo apt-get install imagemagick
sudo apt-get install graphicsmagick-imagemagick-compat ... Seguir Leyendo

Maestro Jedi Linux

Publicado en Linux el 3 de June de 2009 por Manel Pérez Mata
Tags: | Añadir comentario

Maestro Jedi Linux

Kernel driver not installed (rc=-1908) – Error VirtualBox

Publicado en Linux el 2 de June de 2009 por Manel Pérez Mata
Tags: , , | (33 Comentarios)

El otro día os explicaba como instalar VirtualBox en Ubuntu. Para aquellos que lo esteis utilizando, quizá os haya salido (o seguro que os saldrá) un error “Kernel driver not installed“. ¿A que es debido esto? Pues resulta que VirtualBox utiliza unos paquetes que son dependientes de la versión de nuestro Kernel, por tanto, cuando actualizamos el software de nuestra máquina y Ubuntu sube la versión de su Kernel, VirtualBox deja de funcionar.

El error mostrado es:

VirtualBox Kernel Error

… Seguir Leyendo

Recuperar password de root en Linux

Publicado en Linux el 31 de May de 2009 por Manel Pérez Mata
Tags: , | (2 Comentarios)

Tux HelpSi os encontrais desesperados porque habeis perdido la contraseña de root de vuestra Ubuntu (por mencionar una distribución) estais de suerte, siempre que podais acceder físicamente a la máquina, hay una manera de recuperarlo.

Para conseguirlo, aprovecharemos que en un LiveCD entramos con privilegios de root para montar nuestras particiones en él, desdea aquí haremos un salto a nuestra máquina recién montada y modificaremos el password.

Puede parecer, que un sistema Linux es vulnetable debido a esta característica, pero recordemos que ningún sistema operativo es seguro si tenemos acceso físico a la máquina. Si no confiamos en las personas que pueden acceder a nuestro PC, lo único que nos queda es encriptar toda la información confidencial de nuestra máquina. … Seguir Leyendo

Extraer URLs de imágenes de una web

Publicado en Programación el 29 de May de 2009 por Manel Pérez Mata
Tags: , , | (4 Comentarios)

¿Nunca habeis necesitado extraer todas las URLs de las imágenes de una web? Pues con este script mostraremos por pantalla las rutas de todas las imágenes contenidas en la página $url

$url = "http://www.elmejorcoche.com";

$html = file_get_contents($url);

preg_match_all("/<img[\s]+[^>]*?src[\s]?=[\s\"\']+(.*\.([gif|jpg|png|bmp|jpeg|tiff]{3,4}))[\"\']+.*?>/", $html, $images);

$images = $images[1];
$list = array();

foreach($images as $img) {
	echo $img."<br>";
}

Si tu versión de PHP es inferior a 4.3.0 (en primer lugar te recomiendo pasar a PHP5) puedes usar la siguiente función en lugar de file_get_contents:

function getHtml($url) {
    $foo = @fopen($url,"r");
    if($foo){
        while(!feof($foo)){
            $html.=fgets($foo);
        }
    }
    return $html;
}

Problemas con Compiz Fusion y Java (Swing)

Publicado en Linux el 27 de May de 2009 por Manel Pérez Mata
Tags: , , | Añadir comentario

Existe una pequeña incompatibilidad entre Compiz Fusion y la librería Swing de Java que provoca que algunas aplicaciones desarrolladas en este lenguaje tengan problemas. Se han detectado, por ejemplo, que aparezca una ventana en blanco al abrir NetBeans o problemas al redimensionar la ventana en jEdit.

Para los que no lo conozcais, Compiz Fusion es un gestor gráfico que añade multitud de efectos al escritorio de Ubuntu, en mi caso GNOME, como el super conozido efecto “Cube” para pasar de un escritorio a otro:

Efecto cube de Compiz Fusion

Efecto cube de Compiz Fusion

Actualmente el bug está en el lado de Java ya que sus aplicaciones basadas en Swing/AWT no funcionan bien con estos gestores de ventanas. El bug para Compiz está corregido en el J2SE 6u2.

¿Cómo podemos solventar esta incompatibilidad?

Añadiendo un export en el archivo environment solventaremos todos los problemas derivados de dicha incompatibilidad.

echo "export AWT_TOOLKIT=MToolkit" | sudo tee -a /etc/environment