script

Obtener el PageRank de una página con PHP

PageRankEl PageRank es un valor numérico que representa la importancia que una página web tiene en Internet.

Primero habría que reseñar que podemos apreciar que el PageRank no cumple las características de un ranking normal, pero sí está definido para cada página. El PageRank de una pagina (A) esta definido de manera recursiva por los PageRanks de las diferentes páginas que enlazan a la página(A).

Obtener el PageRank de una página con PHP

El siguiente script puede ser descargado de aquí, su implementación es muy sencilla ya que únicamente hay que pasarle el parámetro "url" (con la url de la que se quiere desvelar el PageRank).

www.adobe.com


Posibles respuestas a la ejecución del script

  • A: valor numérico de 1 a 10.
  • B: Si no hay salida es que la página no tiene PageRank asignado.
  • C: 0, es duro pero ese sería el valor del PageRank de la página dada.

Comprimir y ofuscar archivos Javascript


El uso de Javascript ha aumentado mucho en estos últimos años, esto provoca que cada vez haya más sitios con grandes cantidades de código Javascript, los archivos Javascript los descarga el navegador de manera que es visible para cualquier persona, por lo tanto con la compresión y ofuscación de nuestros archivos javascript conseguiremos solucionar varios problemas: ahorrar ancho de banda (minimizando el código), ocultar el contenido (ofuscando el código) y agilizar la carga en el cliente (minimizando el código y usando gZip).

Por lo tanto estas técnicas se centran en cuestiones como la seguridad del código y el tamaño de los archivos Javascript.

Minimizar código

En esta técnica es importante diferenciar bien los archivos de producción y desarrollo ya que es casi imposible trabajar sobre código minimizado, básicamente de lo que se trata es de eliminar comentarios, tabulaciones y espacio consiguiendo una importante disminución del tamaño final del archivo Javascript.

No se modifica en nada el funcionamiento del código Javascript y no requiere de ninguna herramienta adicional para leer el código ya que este se mantiene intacto.

Ofuscar código

Esta técnica primero minimiza el código y luego cambia algunas partes de código buscando principalemente seguridad y optimización (cambiando nombres de variables y funciones).

Obviamente estos cambios de código pueden traer ciertos problemas ya que algunas de sus funcionaes pueden dejar de funcionar.

Hay numerosas herramientas para desempeñar está técnica, estas son algunas de ellas: YUI Compressor, Packer, JSCruncher Pro, Dojo ShrinkSafe, JSMart, Minify JS.

Compresión de código

Con esta última téxnica conseguirimos comprimir código, ya sea un .js, un .css o .html, el navegador tendrá que descomprimir y ejecutar el código generado con la consiguiente carga que ello conlleva, sin embargo estaremos ahorrando ancho de banda.

Limitar descargas con Php

Probablemente no te encuentres con este problema pero si lo encuentras esta es una buena solución.

A menudo nos encontramos con sitios con un gran número de archivos para descargar, estos sitios limitan el número de descargas permitidas a sus visitantes.

En un principio no suele haber problemas si no limitas las descargas, pero si el visitante utiliza un "gestor de descargas" en los que puedes introducir un número de conexiones por archivo descargado, veras muy limitados los recursos de tu servidor.

Si tienes un control total de tu servidor puedes limitar de manera sencilla el número de descargas permitidas gracias al módulo mod_limitipconn, pero si tu sitio esta en un "hosting compartido" tendrás que tirar de ingenio para ponerle solución.

Técnica de generación procedural (64KB generando 1.9GB)

Gonzo escribio hace un año sobre esta presentación 3D en 64KB que sin comprimir ocupa 1.9GB, hay que decir que es un tema antiguo pero no por ello debemos dejar de sorprendernos:

fr08_final.zip [64kb]

En un primer momento al verla vas a pensar que es imposible, despues pensándolo un poco y viendo más información sobre el mundo de la demoscene te lo vas creyendo.

Para aquellos no relacionados con la demoscene aquí les dejo un link: ¿Qué es la demoscene?

¿Qué es la Demo Scene?

La demoscene es una subcultura informática, las demos comenzaron siendo firma de los crackers que cuando se iniciaba uno de sus programas crackeado las mostraban a modo de presentación, el objetivo principal de una de estas demos es demostrar que se es mejor programador y que se tienen mejores habilidades gráficas y musicales respecto a los demas grupos.

Premios Scene.org

Muchos de estos crackers terminaron trabajando para la industria de los videojuegos.

¿Qué cabe en 64 KB?

No hay que caer en el error de pensar que como se pueden hacer este tipo de "demos" tambien podriamos tener videos de 3 minutos en 64KB (Alta Calidad)... hay que pensar que todo es matemática (Técnicas vectoriales), por lo tanto la manera de verlo es que es una demo de 64KB y no significa que hayan comprimido 1.9 GB sino que los 64KB mencionados son capaces de generar el equivalente a 1.9 GB.

Esto se consigue mediante algoritmos de generación de texturas, generación de sonidos, animación 3D y muchas sincronización todo ello ejecutandose en tiempo de ejecución, por lo tanto y resumiendo los 64KB contienen las "instrucciones" necesarias para generar los 1.9 GB en memoria.

Generación Procedural

Todo lo anterior está relacionado con la técnica de generación procedural, en la que los gráficos son generados al momento, en vez de ser cargadas las texturas. Esto implica por un lado que no es necesario tener gigas y gigas de imágenes y texturas, ahorrandonos la mayor parte del espacio ocupado por un juego al ser generados (los gráficos) al momento y que requiere más CPU de lo habitual. | Ver Porcedural Generation.

Una de las mejores pruebas de esto es ".kkrieger" (First Person Shooter) que pesa sólo 96kb (Descargar).

El lenguaje D cada vez más cerca

En Barrapunto informan que estos días se ha celebrado en Seatle el primer congreso sobre el lenguaje D.

Puede que aloguien haya pensado que el título está equivocado pero no es así, el título dice bien "Lenguaje de programación D", puede que lo hayais escuchado alguna vez porque ha habido varios lenguajes de programación llamados D este en concreto se trata del desarrollado por Walter Bright.

Aún no se considera terminado y esta sujeto a cambios en la especificación pero lenguaje de programación D podría liberarse muy pronto, de todas maneras ya es suficientemente estable como para probarlo.

Es un lenguaje de programación relativamente joven ya que su primera versión apareció en 1995 desarrollada por Walter Bright cómo resultado a algunas decadas de investigación:

Sitio oficial
Descárgate el compilador de D
Más información: Lenguaje de programación D (Wikipedia)

Cómo se puede leer en la Wikipedia, D es de un nivel más alto que C++ y aspira a sustituir a este convirtiendose en una evolución del mismo porque cuenta con mejoras e incluso características de las que C++ no dispone.

Según dicen en la página oficial D es compatible con los binarios de C (No con los de C++) y es más intuitivo y fácil de aprender que C, C++ o Java.

XML y PHP 5

A estas alturas seguro que conoces bastantes cosas acerca de PHP 5 y a lo mejor has oído hablar del soporte para el tratamiento de documentos XML que trae está versión de PHP.

Sin duda sorprende todas aquellos desarrolladores que pudiendo haber migrado sus aplicaciones a Php 5 siguen desarrollando en PHP 4, hace poco escribíamos acerca de los motivos de la lenta muerte de PHP 4.

La gran noticia para aquellos que habitualmente trabajais con documentos XML es que PHP 5 trae un buen número de extensiones para trabajar con los documentos XML. El objetivo principal del soporte XML que trae PHP 5 es proporcionar una base sólida de herramientas para trabajar con los documentos XML y además proporcionar una cierta compatibilidad entre las diferentes herramientas.

La meta para la ayuda de XML en PHP 5 era no sólo proporcionar una base sólida de los sistemas de herramienta para trabajar de XML, pero también proporcionar una cierta unidad entre los sistemas de herramienta ellos mismos.

Archivos KMZ/KML

Tras el entrada de ayer que explicaba cómo podemos seguir el Tour de Francia en Google Maps/Earth he recibido unos cuántos emails preguntando si se puede editar la información de los archivos KMZ:

Etapa 16 Google Earth


Para el que no lo sepa KMZ (y KML acrónimo en inglés Keyhole Markup Language) son tipos de ficheros que contienen información geográfica y que son específicos para visualizarse en Google Earth/Maps.

La respuesta es que si se puede editar esta información, no se necesita ningún editor puesto que los archivos *.KMZ no son otra cosa que ficheros *.KML comprimidos... por lo tanto lo que necesitamos es convertir los archivos *.KMZ en archivos *.KML, con este pequeño truco podremos obtener el archivo KML rapidamente:

Para convertir un fichero con extensión *.KMZ a un fichero *.KML unicamente debemos cambiar la extensión del fichero *.KMZ a *.ZIP y una vez hecho descomprimir el contenido con cualquier descompresor... y ya está, tendremos cómo resultado el mismo fichero en formato .*KML
archivo.kmz -> archivo.zip -> DESCOMPRIMIR = archivo.KML

Ahora podremos editar la información del fichero puesto que los archivos *.KML se pueden editar en cualquier editor.

Top 10 programadores

La verdad es que nunca había preguntado cuales pueden ser los programadores más influyentes de todos los tiempos, seguro que mucha gente no estará de acuerdo con este top pero para eso están los comentarios.

La lista ha sido sacada del blog The "Programming and Management Blog", se nota que el autor se decanta por la industria del videojuego.

Distribuir contenido