Entradas etiquetadas ‘gratis

Google Doctype

16 de mayo de 2008

en: Negocio|Programacion

Google Doctype es una buen noticia para los desarrolladores… ya que se trata de una enciclopedia abierta y una librería de referencia escrita por desarrolladores web para desarrolladores web.

Especialmente útil me parece este apartado en el que podemos encontrar la descripción de un gran número de propiedades de CSS.

Aquí puedes ver la lista de temas.

Encima todo este contenido está bajo licencia Creative Commons 3.0 Attribution por lo que podemos enlazar y citar la fuente sin problema alguno.

Google Mashup Editor

13 de mayo de 2008

en: Negocio

Hace ya algún mes que Google anunció el lanzamiento de este nuevo servicio, de momento en beta cerrada para desarrolladores, hoy he recibido un correo en el que se me da la bienvenida al servicio y se me activa una cuenta para su uso.

Para aquellos que aún no hayan escuchado hablar de Google Mashup Editor decir que es un servicio que proporciona al usuario herramientas simples para crear mashups en poco tiempo.

La verdad que tras probarlo me gusta bastante y puedo decir que con este servicio la creación de mashup es cuestión de minutos.

Una vez creado un mashup se puede distribuir desde googlemashups.com, facilitando la publicación de proyectos para aquellos usuarios que no dispongan de servidor y base de datos, por la autentificación de usuarios no te preocupes Google lo hace por tí.

Aquí tienes la galería de proyectos publicados ya en los servidores de Google Mashup.

Estos son dos buenos ejemplos de aplicaciones creadas con este servicio: Task, Map Wiki.

¿Cómo ordenar datos?

12 de mayo de 2008

en: Programacion

Uno de los procedimientos más comunes a la hora de procesar datos y generar aplicaciones de todo tipo es el procesamiento de los datos, por procesamiento entendemos la clasificación u ordenación de los mismos.

A menudo esta acción pasa desapercibida porque interactuamos con datos almacenados en bases de datos, las bases de datos nos dan las herramientas necesarias para ordenar, buscar y recuperar aquellos datos que deseamos (“order by id”,”where nombre like ‘%Man%’”); ¿Qué ocurriría si no pudieramos utilizar estas herramientas?

Pues tendriamos que encontrar un método de ordenación y procesamiento de datos que se adecúe a nuestras necesidas, en primer lugar deberíamos de analizar los diferentes métodos de ordenación y determinar cuántas comparaciones se realizarían en los diferentes casos que nos encontremos.

En este análisis deberíamos estudiar si necesitamos orden ascendente o descendente o si los datos a ordenar van a ser numéricos o alfanuméricos.

Los métodos son bien conocidos para muchos y todo el mundo que ha programado, se habrá encontrado alguna vez con la realización de alguno de estos famosos algoritmos de ordenación.

El futuro de PHP

9 de mayo de 2008

en: Programacion

El 13 de Julio de 2007, en el tercer aniversario del lanzamiento de PHP 5, se anunció que el desarrollo de PHP 4 iba a ser parado de manera definitiva, esto significa que a partir del 1/1/2008 no va a haber más versiones de PHP 4.4 y que se continuarán resolviendo problemas críticos de seguridad hasta el 08/08/2008, traduciendo que antes de esa fecha deberiamos tener nuestras aplicaciones corriendo bajo PHP 5.

El 11 de Noviembre del 2005 el núcleo principal de desarrolladores de PHP se encontraron en París para decidir el camino que iba a tomar PHP6, del encuentro salieron todos los cambios que iba a sufrir.

Hay que tener en cuenta estos cuatro puntos:

  1. La mayoría de las nuevas funcionalidades planeadas para PHP 6, saldrán en PHP 5.3 y 5.4.
  2. La migración de aplicaciones PHP 5 a PHP 6 será mucho más costosa que de PHP 4 a PHP 5.
  3. PHP 6 aportará sobre todo soporte para Unicode y tardará todavía, al menos, un año más.
  4. Pese a la salida de Eclipse PDT, Zend Studio seguirá desarrollándose.

Nuevas características de PHP V6

Soporte Unicode

Posiblemente la mejora más notable para la nueva versión de PHP, está característica nos permitirá adaptar nuestra aplicaciones a las necesidades de la internacionalización, uno de los grandes problemas de la red.

Unicode es un estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e idioma pueda ser codificado para el uso informático.

Actualmente podemos activar esta característica bajo petición, con lo cual PHP consume más recursos al tener que guardar las clases, funciones y el resto de elementos necesarios.

Namespaces

El uso de namespaces no provee de organización para proyectos donde la librería de clases es extendida y genera un desorden tenerlas en un scope global, por lo tanto tendríamos mejor organizacion para proyectos en capas lógicas o fisicas.

Nuevas características de PHP V6 (Web 2.0)

SOAP

SOAP (Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP es uno de los protocolos utilizados en los “Web Services”.

La extensión de SOAP para PHP llegó con PHP V5, pero esta extensión no está habilitada por defecto, en PHP V6 a menos que cambies la configuración por defecto SOAP estará habilitado por defecto permitiendo sin ninguna modificación desarrollar aplicaciones que se beneficien de los “Web Services”.

XML

Desde PHP V5.1, XMLReader y XMLWriter forman pare del núcleo de PHP, esto facilita el trabajo con documentos XML dentro de las aplicaciones PHP, lo bueno es que igual que con la llegada de esta nueva versión el funcionamiento mejorará ya que XMLReader y XMLWriter estarán activadas por defecto.

Principales cambios con versiones anteriores

Resgister Globals

El compilador nos devuelve un error E_CORE_ERROR cuando se encuentre con una variable global registrada.

Magic Quotes

Al igual que con Register Globals, su uso provocará un E_CORE_ERROR, afectará a magic_quotes, magic_quotes_sybase y magic_quotes_gpc.

Desaparece el modo seguro

Parece ser que el motivo es que daba una impresión de seguridad no real.

Se abandona el soporte de Freetype1 y GD1

Son librerías que tienen ya muchos años y con versiones actualizadas.

HTTP_*_VARS

En PHP6 sólo $_POST y $_GET serán aceptados, HTTP_*_VARS devolverán errores.

El futuro de PHP

En estos momentos PHP 5.2.5 es la versión más popular a pesar de que versiones como: PHP 4.4.8 y 4.4.4. siguen teniendo un gran número de usuarios.

Versiones PHP en involución


Este gráfico presenta datos de sitios webs que han modificado su versión de PHP en el mes de Abril, como se puede ver poco a poco va desapareciendo las versiones 4.x de PHP.


En esta entrada vamos a ver una solución por si por algún motivo en concreto quereis convertir las extensiones PHP de vuestro sitio web en otro tipo de extensión, ya sea alguna conocida con .htm o alguna que se te ocurra, en este ejemplo utilizaremos .wii.

Como convertir páginas con extensión .PHP a la extensión que desees

Los requisitos para realizar este truco es tener un servidor Apache version 1.3 ó superior. La solución es redefinir los procesos de ejecución asociados a los tipos de archivos mod_mime de Apache.

Despues de esta breve introdución pasaremos a la explicacion de eeste sencillo proceso de cambiar las extensiones .php por .wii en nuestro servidor.

Tenemos que indicar al servidor que ejecute los archivos .wii como .php.

La primera cosa que necesitaremos hacer es configurar Apache para permitir que utilicemos ”.wii” como extensión.

  • Abrimos el archivo de Apache httpd.conf y vamos al área donde esta AddType application/x-httpd-php .php y apenas agreguemos un .wii detrás de él. Debe parecerse esto:
    AddType application/x-httpd-php .php .ass
  • Una vez que hayas conseguido incorporar tu “.wii” en el archivo de httpd.conf, reinicia apache. Generalmente podría ser “reiniciar httpd” o “reiniciar apachectl”, todo depende de tu sistema.

Ahora, una vez que cambiemos todas nuestras extensiones “.wii” de PHP en vez de” .php ” podrás ver las paginas de esta manera:

"tusitio/index.wii" y funcionará justo como fuera "tusitio/index.php"

Otra cosa que podemos ajustar en el Apache en el archivo de httpd.conf es el ServerSignature a OFF y después corregir tu archivo de php.ini para incluir el “expose_php = off”.

Estos ajustes juntos harán más difícil a usuarios maliciosos descubrir la versión del servidor y otras informaciónes valiosas que pueden poner en peligro tu servidor.

Recapitulación rápida de lo que acabamos de hacer:
1.) Corregir httpd.conf para reflejar “AddType application/x-httpd-php .php .wii”

2.) Corregir httpd.conf para reflejar “ServerSignature off”

3.) Corregir el archivo de php.ini para reflejar el “expose_php = off”

4.) Renombrar todos los archivos de .php a .wii y después fijar todos los enlaces para reflejar .wii en vez de .php

5.) ¡Reiniciar Apache y prepararte para mostrar tu extension .wii!

Averiguar si una web utiliza PHP

Bueno si te gusta o desarrollas tus aplicaciones con Php seguro que alguna vez te has preguntado que webs con una gran cantidad de tráfico utilizan php como soporte principal de sus aplicaciones.

Para ver que grandes webs utilizan Php comprobemos por ejemplo las 100 primeras del Ranking Alexa.

  1. Yahoo INC

  2. Wikipedia.org

  3. Friendster.com

  4. Facebook.com

  5. Digg.com

  6. Sourceforge.org

  7. Flickr.com

Y no unicamente lo utilizan las grandes webs sino que tambien es utilizado por CMS cómo Wordpress y Drupal.

Ahora probablemente te preguntes y cómo podemos saber si de verdad estos sitios utilizan Php… hay diferentes maneras:

- La primera es mirar la extensión de los archivos que se pueden ver en las diferentes URLs de los sitios (no funciona si esta utiliza URLs Amigables) ó si lo han ocultado con un método como por ejemplo el que anteriormente hemos visto.

- La segunda manera es un pequeño truco no muy conocido…

* PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 – Creditos Php
* PHPE9568F34-D428-11d2-A769-00AA001ACF42 – Logo Php
* PHPE9568F35-D428-11d2-A769-00AA001ACF42 – Logo Zend
* PHPE9568F36-D428-11d2-A769-00AA001ACF42 – Huevo de Pascua

www.dominio.com/?=*(código)

Pongamos un ejemplo:
http://www.meneame.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: si este enlace nos devuelve los créditos de Php será porque esta página esta desarrollada con este lenguaje, cómo puedes comprobar Meneame.net está desarrollada con Php.
Sin embargo en el caso http://www.google.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 nos devuelve una página de error porque no está desarrollada con Php.

Demoscene (64KB generando 1.9GB)

6 de mayo de 2008

en: Sin categoría

La demoscene es una subcultura informática que hace unos años era tremendamente popular entre los desarrolladores.

Dado que, antes del PC, los ordenadores de una misma línea tenían capacidades idénticas, era posible comparar demos en plataformas más antiguas.

Esto permitió crear un ámbito competitivo, en el cual cada uno de los equipos de programación de demos trataban de superar a los demás diseñando sorprendentes efectos. Los expertos de demos se concentran en extraer el máximo rendimiento de la máquina que programan.

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?

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

Obviamente 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).