link

Problemas con la ATI Radeon y Ubuntu

Hace unos meses que por fin pude instalar Ubuntu en mi Samsung R40plus a pesar de los problemas que inicialmente daba la ATI Radeon 1250. Seguidamente vinieron los cuelgues constastes, sobre todo cuando reproducía videos, así que buscando por foros he encontrado gente que lo ha solucionado desintalando la aceleración 3D de la ATI. Lo he hecho y la cosa parece funcionar mejor, se me cuelga menos. Desinstalar este componente es tan fácil como entrar en Sistema>Administración>Gestor de controladores restringidos. Ahí desmarcamos el "controlador para tarjetas gráficas ATI". Al hacerlo reiniciamos el ordenador en modo recovery y cuando nos devuelva a la consola ejecutamos los siguientes comandos: sudo -s killall gdm apt-get install xorg-driver-fglrx depmod -a aticonfig --initial gdm start Nos devolverá al entorno gráfico y apagaremos el ordenador. Con esto ya tendremos la ATI configurada sin aceleración 3D. La verdad es que se nota la diferencia de rendimiento, pero es mucho mejor esto a que se cuelgue cada dos por tres. Ya se sabe, cuando solo hay drivers privativos es dificil sacar el máximo rendimiento y a veces incluso que termine de funcionar. Valga este post como recordatorio para futuros desastres en mi portatil. Richard Stallman Enlace original: http://www.ubuntu-es.org/index.php?q=node/51199

27-06-2008 | Linux


Mi nueva batería de Doramus está lista!

Hoy mientras veía un video antiguo en el que tocaba la batería de mi último juego, DORAMUS, me han entrado ganas y me he puesto a terminar la nueva batería que me estaba armando. El video antiguo: Esta tarde, tras terminar la batería lo he celebrado con un tema sencillo: Una vista rápida a Doramus:

22-06-2008 | bgMSX


El avión de papel

Cuando lanzamos un proyecto en Internet lo que esperamos es una reacción en cadena. Puedes lanzarlo y llegar a adquirir tanta fuerza que se replique y sea visto en todo el mundo o puede fracasar de modo que solo lo lleguen a ver cuatro amigos y tres primos, algo más habitual de lo que parece. Puedes lanzarlo de muchas maneras, todo depende de a quién vaya dirigido y los recursos de que dispongas. Hay mucho escrito pero en su mayoría orientado a empresas con un mínimo de recursos. Eso está muy bien, si los tienes, pero muchos solo contamos con un ordenador y unas pocas horas al día para esta tarea y tenemos que idear nuevas formulas para lanzar un proyecto sin morir en el intento. Cuando el presupuesto es de 0 euros como en mi caso las vías para lanzar un proyecto se reducen a: subirlo a Internet y comunicarlo a varios medios y amigos. No hay dinero para banners, anuncios patrocinados ni por supuesto para tener presencia en medios tradicionales, pero es una fórmula más de todas las que hay, así que ahí la dejo para quien quiera aprovecharla o mejorarla. Avión papel 1 "El avión de papel" Se diferencia de otros procesos que requieren más recursos en que en este caso todo sucede de forma más lenta pero igualmente efectiva si se trata de proyectos con base en Internet. Al final lo complicado de conseguir es que tu proyecto guste y se propague adquiriendo la fuerza necesaria para que se consolide y se mantenga vivo, y eso por suerte no se puede comprar, lo que nos sitúa en igual de condiciones con formulas más costosas. La idea es lanzar un avión de papel, en distintas direcciones, con todas tus fuerzas y destreza para llegar lo más lejos posible, aunque esto no sea más que unos pocos metros, y entonces esperar, tener paciencia y algo donde anotar todo lo que vamos a ver y leer sobre nuestro proyecto. Si el proyecto despierta interés los usuarios que vean tu avión de papel volar sobre sus cabezas aportarán algún que otro comentario, bueno o malo, lo recogerán y lo harán volar de nuevo, llegando a otros usuarios, y a su vez estos es posible que lo vuelvan a lanzar en nuevas direcciones, y si todo sale como nos gustaría se produzca una reacción en cadena que termine llegando a los oídos de muchos usuarios, o no salga tan bien y el avión termine aterrizando y ya nadie se interese por él. Si sucede esto es poco probable que retome el vuelo por si solo. A veces el avión de papel es recogido por una persona o medio más influyente y es capaz de propagarlo en muchas más direcciones, más rápido y con más alcance del que tú podrías, pero ojo, que tu proyecto sea comentado en sitios como Digg o Meneame, o sea anunciado en medios tradicionales, es muy bueno para el proyecto, pero solo hace de catalizador de esta reacción en cadena, nunca mejorará tu proyecto ni hará que este se propague con más fuerza, ya que como decía está en manos de los usuarios que acceden a ese medio, el que se hagan eco de él y lo hagan volar de nuevo en otras direcciones, y eso no se compra, lo cual es bueno. Si el avión de papel es recogido en un medio influyente y no adquiere la respuesta o propagación adecuada hay que saber interpretar el significado y entender que el proyecto tal y como está no despierta el suficiente interés, no es útil o no cubre una necesidad real, entrar el avión de papel a casa y hacerle todo tipo de ajustes aprovechando el feedback obtenido, para ser lanzado de nuevo en adelante. En mi caso Chooii y Feedky fueron lanzados a Loogic, Genbeta y Meneame (el paquete LGM). Y ahí como si se tratara de una película que está a punto de comenzar me acomodé frente al monitor y empecé a seguirle la pista a mi avión de papel. Chooii, que se lanzó en Diciembre de 2007 fué recogido de LGM por media docena de blogers, y se apuntaron unas pocas personas en el sitio que terminaron con tan solo un par de aportaciones, pero con muchísimo feedback. Al cabo de unos 3 o 4 días el avión de papel terminaba su último vuelo en algún blog de habla inglesa y ya nadie más se acordó de él. Volví manos a la obra a implementar poco a poco todo aquello que los usuarios habían sugerido, solucionado los problemas que habíamos detectado y corregido aquello que hubiera mejorado la experiencia del usuario. Feedky se lanzó a finales de Mayo de 2008 usando también LGM y ha llegado en comparación mucho más lejos que Chooii. Su vuelo ha durado unas dos semanas, y ha pasado por blogs españoles, de habla inglesa, Portugal, Alemania, Brasil y China. En estos momentos apenas recibe entradas de usuarios, por lo que es hora de entrarlo a la sala de operaciones y hacerle todo tipo de ajustes que le permitan retomar el vuelo. Avión papel 2 Lo que aun hoy no tengo claro es como retomar el vuelo, ya que no me parece una buena idea abusar de LGM, y creo más en reaccionar a tiempo con los ajustes y dejar en manos de quienes ya conocen el proyecto el futuro y el rumbo del avión de papel. Con Chooii ha sucedido esto mismo, y tras medio año de ajustes y aportaciones al proyecto ahora empiezan a llegar usuarios realmente interesados en él, y el avión ha vuelto a volar, mucho más despacio que aquellos dos primeros días pero su vuelo parece más estable. Imágenes: Ultraligero.net

15-06-2008 | Dieyes


La bgMSX ha resucitado

El otro día por fin pude recuperar la bgMSX de un coma profundo que duraba ya varios meses. Problemas de tiempo, trabajo y dolores de cabeza con el servidor como ya he explicado en la bg fueron los motivos de su desconexión de la red. Pero ahora poco a poco todo vuelve a la normalidad.

bgMSX

08-06-2008 | bgMSX


Cover de Nude de Radiohead

No me gustan los post que tienen un video de YouTube y no aportan nada más, pero a pesar de eso lo voy a hacer. Las obras de arte lo merecen. Vía: Alt 1040


Big Ideas (Don´t get any) from 1030 on Vimeo


08-06-2008 | Vida Social


Feedky, mi nueva frikada

Hasta ahora cuando tocaba la hora de comer en la oficina con Mazius-Ma siempre uno de los dos (normalmente él) iba cargando vídeos de Youtube para amenizar el rato. Con las manos pringosas y la falta de ideas pulsábamos en el primer vídeo que aparecía de los simpsons o padre de familia y nos poníamos a comer sin prestar mucha atención, total, ese vídeo lo habíamos visto el día anterior y el otro, pero nos daba pereza buscar otra cosa mientras se nos enfriaba la comida.

youtube

Hace dos días me tocó comer solo, frente al ordenador, y en ese momento también muy falto de ideas me quedé viendo la home de youtube durante toda la comida, pensando y pensando hasta que sin darme cuenta ya había comido y cerré la ventana.

Así es como pensé que si de alguna manera pudiera indicar los temas en los que estoy interesado y que una herramienta pudiera ir buscándolos, me sería de mucha ayuda, y además estaría siempre informado de todo lo que sucede en esos temas en lo que a vídeos en la red se refiere.

En ese momento lo paré todo, hice pruebas, vi que podía funcionar, compré un dominio y ayer subí la primera versión: Feedky.

Feedky es una herramienta que te permite indicar tantos tags o palabras clave como quieras y rastrea continuamente la red en busca de los últimos vídeos relacionados que se van subiendo a YouTube, DailyMotion, Metacafe y Vpod. Los reune y te los sirve en dos URLs distintas, una para agregarlo a tu lector de RSS y otra para consultarlo a través de la Web.

Como resultado, y sin mover un dedo, Feedky te sirve en bandeja los vídeos que te interesan y que son de reciente aparición en la red. Ideal para estar informado y para entretenerte mientras comes croquetas, sopas mallorquinas, ensaladilla rusa o incluso arroz tres delicias.

feedky

No hace falta registrarse para usar Feedky, así que no os costará más de un minuto montaros el vuestro propio, y de paso comentarme vuestras experiencias, sugerencias, bugs y demás.

31-05-2008 | PHP


El Tenis no es lo mio

La semana pasada jugué por segunda vez en mi vida a Tenis (y tengo 31 años) aunque se puede decir que fue la primera vez. Tenis 1 Al principio no controlaba bien la fuerza con la que tenía que golpear la pelota y casi todas salían fuera del área de juego. Tenis 2 Tenis 3 Intenté esforzarme un montón y darlo todo, pero a la media hora se me hizo tan monótono y aburrido que encendí el iPhone para hacerme unas fotos bien hechas. Apaga el iPhone Y tras la sesión fotográfica retomamos nuestras posiciones y continuamos el juego, pero mientras devolvía torpemente las pelotas que llegaban a mi campo mi cabeza no dejaba de pensar en qué es lo que estaría ocurriendo mientras tanto en Twitter, Twitxr, el blog de Alex, y los RSS. -¡Diooos! ¿Cuántos post sin leer se me estarán acumulando en estos momentos?- pensaba. Interneeet Una pelota fuera del campo que con tal mala suerte cayó entre unos arbustos me obligó a salir de ahí en su búsqueda, y me tiré por el suelo unos 20 minutos tras su pista. Casualmente esta fue la parte que más me gustó. Hasta me olvidé de mis necesidades Interneteras mientras intentaba localizar la pelota entre tanta rama, bicho y telaraña. Moló.

24-05-2008 | Vida Social


Escupe Japonés - Yakuza Nihongo!

Escupe Japonés
[Descargar | ダウンロード | Download]
  • La Bulma y El Engoku - Yakuza Nihongo (Escupe Japonés)
  • Antasa! Eh Tú! Ha? Que! Hyaku en aru? Tienes cien yenes? Neeeo! Noo! Majide?! Hyakudemo nai no? Qué dices?! no tienes ni cien yenes? Fuzakendayo Que te jodan Chotto kashiteyo! Venga dámelos! Bakajyan? omae ni ageneeo! Eres tonto? a ti no te doy! Nande? Mukatsuku naaa... Por qué? que asco de tio... Fakku! Puto! Maikka... Bah...
    [Descargar | ダウンロード | Download]

  • La Bulma y El Engoku - Yakuza Nihongo (Escupe Japonés)
    MUCHO MÁS (y mejor) EN Escucha Japonés

    13-05-2008 | Vida Social


  • TechTalk 2008

    Estamos en un coche, aparcados en una calle en obras, sin vistas y rodeados de un puñado de niños indios identificados por un número. A mi derecha, en el asiento del acompañante, hay un Alejandro cubierto por una chaqueta para impedir la entrada de luz en su microclima, compuesto por sus manos, sus ojos y su portátil. Cubrirse con una chaqueta es bueno para permitirse -con el brillo al mínimo- poder usar el portátil tirando de batería con una autonomía de más de dos horas. Pero el coche además de todos estos elementos está rodeado de la señal Wi-Fi que nos llega de una tienda de informática a unos pocos pasos de aquí. Curiosamente esta situación mola, pero solo puede darse cuando dos frikis como nosotros se reúnen en la isla de Martín Varsavsky. -¡Ah amigo! ¡así que habéis ido a la Techtalk! -Pues sí, en calidad de emprendedores de segunda asistimos ayer a unas charlas muy interesantes, donde gente importante (y feliz) nos inspiraron a todos con sus palabras. La experiencia ha sido muy buena, pero no tanto como la de muchos otros allí presentes que conocían a todo el mundo y podían hablar de esto y lo otro con más soltura, o de aquellos que pudieron estar más tiempo y participar más de la presencia de Martín y compañía, pero en cualquier caso, suficiente como para volver a Mallorca con más ganas e ilusión por continuar nuestro trabajo y con idea de repetir. No sé si fueron más interesante las charlas de las distintas personas al micrófono o las que mantuvimos nosotros mismos con otras personas que conocimos allí mismo. Lo más sorprendente es que -al más puro estilos de las RUs de BCN- las ganas de comunicar de todos los presentes y el buen ambiente hacía que te olvidaras de protocolos y pasaras a hablar abiertamente de cualquier tema o proyecto. Finalmente nos quedamos con las ganas de despedirnos de Martín y porqué no, de hacernos una foto con él, pero se marchó antes de que pudiéramos darnos cuenta. Habrá que esperar a una próxima ocasión para poder decorar la cabecera de mi cama. Ah, y Alex se encargó de promocionar a chooii.com entre los presentes, así que vamos a ver si lo notamos reflejado a modo de entradas fuera del territorio balear.

    Alex Wi-Fi


    11-05-2008 | Blog


    Construye un sistema de cache web en tu servidor usando PHP

    Con la finalidad de reducir la carga de los servidores y agilizar al mismo tiempo la descarga de nuestras Webs vengo pensando en la idea de implementar algún tipo de caché Web, con la flexibilidad suficiente como para aplicarlo a determinados archivos, y cuya implementación no me obligue a rehacer nuestro CMS. Finalmente he encontrado una manera muy sencilla y flexible a la vez, por medio del uso del buffer de salida de PHP y el almacenamiento de archivos en HTML identificados por nombres codificados en MD5. En realidad es tan sencilla que voy a explicar el funcionamiento básico para aquellas personas que como yo (hace unas horas) piensen que todo esto se soluciona solo con hard o herramientas altamente sofisticadas y caras. Antes de empezar he de decir que desconozco la técnica usada por otros sistemas de caché web, pero la solución que propongo me parece una buena opción para empezar, así que ahí voy. Si álguien conoce un método mejor y que proporcione la misma flexibilidad estaré encantado de conocerlo. 1. El escenario Imaginemos un servidor en el que alojamos Webs dinámicas en PHP, y cuyo contenido se genera al vuelo para cada usuario que las solicita por medio de distintas consultas a una base de datos. Si el número de usuarios conectados es relativamente bajo el servidor tendrá una carga suficiente como para afrontar las peticiones y las ejecutará en un intervalo de tiempo corto, casi igual que si sirviera páginas en HTML. El problema vendría cuando el número de usuarios conectados creciera y aumentaran las peticiones al servidor, lo que terminaría disparando el número de consultas a la base de datos, cálculos y demás y se crearía una carga en el servidor que comprometería su rendimiento. Y poco más o menos es lo que termina ocurriendo tarde o temprano. 2. Caché Web Lo que buscamos es un sistema que permita almacenar en un archivo HTML el resultado final de realizar dichas consultas a la base de datos, y los cálculos de los distintos scripts en PHP que se realizan cuando servimos una Web, de modo que al próximo usuario que solicite la misma página podamos entregarle ese archivo HTML sin necesidad de volver a realizar los cálculos de nuevo, con el consiguiente ahorro de carga en el servidor y el incremento de velocidad de respuesta hacia nuestro usuario. Este sistema es lo que se conoce como caché Web. 3. Modo de operación Cuando un usuario solicite una página del servidor Web comprobaremos si tenemos almacenada esta en un archivo HTML dentro de una carpeta que llamaremos "cache". Si es así le enviaremos el contenido de este archivo sin más, y nuestro trabajo habrá terminado. De lo contrario, si la página solicitada no existe como archivo HTML dentro de la carpeta "cache", ejecutaremos todo el código necesario para generarla, como veníamos haciendo hasta hoy, se la serviremos y nos la guardaremos en formato HTML dentro del directorio "cache", para que si álguien más nos pide por la misma página ya no sea necesario volver a generarla. 4. Caducidad de la caché Un archivo que guardemos en la caché nos valdrá para dárselo a los siguiente usuarios, pero ¿durante cuanto tiempo?. En algún momento actualizaremos nuestra Web, y la caché debería también actualizarse. Para esta tarea hay dos opciones claras: La primera sería eliminar los archivos de la caché que van quedado obsoletos a medida que vamos actualizando la Web, manualmente (no recomendado) o por medio de algún script. La segunda podría ser eliminando todos aquellos archivos de la caché que lleven más de cierto tiempo (horas, días...). En ambos casos al eliminar los archivos obligaremos al servidor a generarlos de nuevo cuando un usuario vuelva a solicitar los contenidos de la Web. La segunda opción puede ser la más sencilla de implementar por medio de una tarea en el cron o un script que corra en segundo plano, pero nunca optimizaremos el rendimiento al máximo, ya que si el tiempo de vida de la caché lo establecemos bajo (minutos u horas) podemos estar eliminando la caché antes de que realmente hayamos realizado cambios, por lo que estaríamos desaprovechando recursos del servidor. Si por el contrario establecemos un tiempo de vida alto (varias horas y días) podríamos estar sirviendo información desactualizada a los usuarios durante mucho tiempo. Está claro que lo más eficiente es refrescar la caché justo en el momento en que realizamos un cambio en alguna de las páginas, y por supuesto solo la parte relacionada con ese cambio, no toda la caché. ¿Cómo hacer esto? En mi caso aun lo estoy pensando, pero se me presenta fácil ya que las modificaciones en nuestras Webs se hacen por medio de un CMS, y siempre podemos reprogramarlo para que elimine los archivos de la caché que están relacionados con la parte de la Web actualizamos. Si esto no fuera así seguramente optaría por crear distintos scripts a los que acudiría tras cada actualización para indicarles qué apartados han cambiado y que en base a eso borrara los archivos correspondientes de la caché. En cualquier caso lo más importante es saber que hemos de refrescar la caché ¡o nuestra web no envejecerá nunca! 5. Manos a la obra: PRIMERA PARTE Supongamos el siguiente script en PHP que bien podría corresponder a la sección de una web convencional:

    <?php
    
    echo "Bienvenido a mi Web.\n";
    
    // Cientos de operaciones
    ...
    
    // Decenas de consultas MySQL
    ...
    
    // Diversas comprobaciones de archivos y permisos
    ...
    
    // Multitud de requires e includes (css, jscripts, funciones...)
    ...
    
    echo "Tardo mucho en cargar pero te acostumbrarás\n";
    echo "Bye!";
    
    ?>
    
    Ahora vamos a imaginar un efecto meneame o slashdot y ya tenemos el servidor temblando. Así que vamos a aplicarnos la primera parte del caché web que tanto he explicado y que aún no he mostrado.
    <?php
    echo "Bienvenido a mi Web.\n";
    
    // Habilitamos el buffer de salida
    ob_start();
    
    // Cientos de operaciones
    ...
    
    // Decenas de consultas MySQL
    ...
    
    // Diversas comprobaciones de archivos y permisos
    ...
    
    // Multitud de requires e includes (css, jscripts, funciones...)
    ...
    
    // Recogemos el resultado del buffer y cerramos
    $resultado= ob_get_contents();
    ob_end_flush();
    
    // Creamos una cadena con el nombre del script que estamos ejecutando
    $filename = $_SERVER["SCRIPT_NAME"];
    $break = Explode(´/´, $filename);
    $filename = $break[count($break) - 1];
    
    // Añadimos a la cadena todas las variables $_POST que se han podido pasar al script
    foreach($_POST as $variable => $valor)
    	$filename.=$variable.$valor;
    
    // Añadimos a la cadena todas las variables $_GET que se han podido pasar al script
    foreach($_GET as $variable => $valor)
    	$filename.=$variable.$valor;
    
    // Generamos un nómbre único para referirnos a la cadena que acabamos de crear
    $filename=md5($filename).".htm";
    
    // Guardamos el archivo con el nombre generado en la carpeta "cache"
    $f = fopen ("cache/".$filename, ´w´);
    fwrite ($f, $resultado);
    fclose ($f);
    
    // Mostramos el resultado en pantalla
    echo $resultado;
    echo "Tardo mucho en cargar pero te acostumbrarás\n";
    echo "Bye!";
    
    
    Vamos a explicarlo. Como puede verse antes de realizar el trabajo pesado en el servidor habilitamos el buffer de salida con ob_start(), lo que quiere decir que no se imprimirá nada en pantalla y que todo quedará guardado en memoria para luego poder recuperar el resultado. Al terminar las operaciones leemos el resultado que ha quedado almacenado en ob_end_flush() y deshabilitamos el buffer. En este momento todo el resultado ha quedado guardado en la variable $resultado y procedemos guardarla como un archivo html en la carpeta "cache". El nombre del archivo es importante que sea único y distinto para cada página, pero incluso más, es importante que sea distinto incluso si la página ha sido llamada pasándole unas variables u otras, pues el contenido podría variar en función de ello, y es por eso por lo que añadimos al nombre del script todas las variables y sus valores que se han pasado tanto por medio de POST como por medio de GET. El script podría completarse incluyendo además cookies y otros tipos de variables de entrada. La cadena obtenida por este proceso es como una huella dactilar que identifica muy bien el contenido de la variable $resultado, ya que solo indicando el nombre del mismo script y pasándole las mismas variables obtendríamos un resultado igual. Pero guardar el archivo usando como nombre esta cadena sería arriesgado ya que puede llegar a ocupar varios centenares de caracteres e incluso no ser válida como nombre de archivo. Así es como pensé en el MD5 como una opción de convertir la cadena a una menor de 32 caracteres, única y que además todos ellos son válidos y permitidos como nombre de archivo. Por último creamos el archivo en la carpeta "cache", mostramos el resultado en pantalla y terminamos el script. Antes de continuar cabe decir que el script podría mejorarse mucho pero no es la finalidad de este post. Por ejemplo las variables convendría incorporarlas a la cadena $filename en orden alfabético, ya que sino se generarían archivos distintos en la caché solo porque el orden de las variables cambiara de posición. Por ejemplo "index.php?a=1&b=2" e "index.php?b=2&a=1" se tratarían como dos archivos distintos cuando realmente no lo serían. 6. Manos a la obra: SEGUNDA PARTE Ahora modificaremos el mismo script para que contemple la segunda parte. Es decir, que busque en la caché el archivo que contiene lo que el usuario busca, y que si es así se lo muestre, ahorrándose tener que realizar todos los cálculos que venía haciendo hasta ahora para cada petición.
    <?php
    
    echo "Bienvenido a mi Web.\n";
    
    // Creamos una cadena con el nombre del script que estamos ejecutando
    $filename = $_SERVER["SCRIPT_NAME"];
    $break = Explode(´/´, $filename);
    $filename = $break[count($break) - 1];
    
    // Añadimos a la cadena todas las variables $_POST que se han podido pasar al script
    foreach($_POST as $variable => $valor)
    	$filename.=$variable.$valor;
    
    // Añadimos a la cadena todas las variables $_GET que se han podido pasar al script
    foreach($_GET as $variable => $valor)
    	$filename.=$variable.$valor;
    
    // Generamos un nómbre único para referirnos a la cadena que acabamos de crear
    $filename=md5($filename).".htm";
    
    // Buscamos en la caché si existe un archivo con este nombre
    if (is_file("cache/".$filename)){
    	require "cache/".$filename;
    	}
    else {
    // Habilitamos el buffer de salida
    ob_start();
    
    // Cientos de operaciones
    ...
    
    // Decenas de consultas MySQL
    ...
    
    // Diversas comprobaciones de archivos y permisos
    ...
    
    // Multitud de requires e includes (css, jscripts, funciones...)
    ...
    
    // Recogemos el resultado del buffer y cerramos
    $resultado= ob_get_contents();
    ob_end_flush();
    
    // Guardamos el archivo con el nombre generado en la carpeta "cache"
    $f = fopen ("cache/".$filename, ´w´);
    fwrite ($f, $resultado);
    fclose ($f);
    
    // Mostramos el resultado en pantalla
    echo $resultado;}
    
    echo "Tardo mucho en cargar pero te acostumbrarás\n";
    echo "Bye!";
    ?>
    
    Como veis se ha movido al principio el bloque que genera el nombre del archivo. Ahora lo necesitamos para poder buscarlo en la carpeta "cache". Si lo encuentra un simple require cargará su contenido y lo sacará por pantalla, terminando ahí el script. De lo contrario realiza todo el proceso de cálculo y guarda el archivo resultante en la cache para futuras ocasiones. Como veis el proceso es bien simple y permite muchas mejoras a partir de este punto. Dejo para el que quiera continuar a partir de aquí el aplicar un sistema de caducidad de la caché según las necesidades de cada uno.

    03-05-2008 | PHP




    Feed RSS


    ¿Esto qué es?

    Un intento de blog. Tengo esa mala costumbre de hacérmelo todo y me he resistido a la tentación de usar blogspot o Wordpress terminando por programarme mi propio blog. Soy así... luego me pasa lo que me pasa.


    ¿Y por donde paras?

    Si estás planeando secuestrarme o tienes manías persecutorias puedes saber a que dedico mi tiempo y que hago en Twitter o en Twitxr.



    Feedking...