Evitar navegación.
Principal

web

El futuro de PHP

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.


Demoscene (64KB generando 1.9GB)

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


¿Es PHP un buen primer lenguaje de programación?

Es una buena pregunta y seguramente te harás si te gustaría empezar a programar, lo mejor en estos casos es preguntar a personas experimentadas y que están capacitados para dar buenos consejos.

En estos momentos probablemente la mejor idea sea aprender algún lenguaje web (PHP, ASP.net, etc) ya que es la tendencia en estos momentos, dentro del mundo del desarrollo web sin duda el lenguaje idóneo es PHP y si no te sientes realmente atraido por el desarrollo web los más recomendables serían: C, C ++, Java y Visual Basic.

PHP como primer lenguaje de programación

En CodeUtopia nos dan un buen número de razones por las que PHP es un buen primer lenguaje de programación.

PHP no es un lenguaje excesivamente complejo y con una curva de aprendizaje asequible, es bastante fácil de aprender pero también te permite aprender características de lenjuages más complejos como son los lenguajes de programación orientados a objetos.

Es posiblemente el lenguaje web más popular lo que hace que haya numerosos tutoriales y ejemplos de código que agilizan el periodo de aprendizaje.

Debido a su enorme popularidad probablemente sea con el lenguaje que más fácilmente encontrarás trabajo.

Por lo tanto PHP reune las características más importantes que un primer lenguaje de programación debe reunir:

  • Emepzar a programar es realmente sencillo
  • Es potente y proporciona funciones de alto nivel con poco código
  • Es fácil ver nuestro progreso en un corto periodo de tiempo

¿Por qué comenzar con PHP y no con C?

Aunque PHP posee grandes coincidencias con los lenguajes más comunes de la programación estructurada (C y Perl) es más recomendable que estos ya que nos permite involucrarnos con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Con C tenemos bastantes conceptos difícles de entender como es el caso de los punteros, se necesita una gran cantidad de código para las aplicaciones más sencillas y para principiantes puede ser un tanto difícil enamorarse de la consola.



El crecimiento de UTF-8 en la red

Hace una semana escribíamos sobre la internacionalización y lo planteábamos como uno de los grandes problemas de la red. Lo más recomendado es usar UTF-8 a la hora de codificar tanto la base de datos como el sitio web.

Usar UTF-8 beneficia todos aquellos sitios web que de alguna manera necesitan ofrecer un soporte de internacionalización, es decir con UTF-8 ofreces la posibilidad de interactuar con tu página a cualquier persona que no hable tu idioma.

Crecimiento de Unicode en Internet

El crecimiento de Unicode es espectacular y hace poco menos de un mes Google ha comenzado a utilizar Unicode 5.1 con lo que ahora es posible la búsqueda en algunos idiomas más...



Cómo generar códigos QR

Los códigos QR

Bueno cómo todos sabeis un código de barras una representación gráfica mediante elementos claros y oscuros de caracteres alfanuméricos, surgió en la década de los 50's y su extendió en gran medida gracias a su facilidad a la hora de transmitir información, mediante un lector de códigos de barras la información es transmitida a una computadora que es la encargada de procesar los datos.

Código QR (Quick Response Barcode)

Estas fotos son un ejemplo de este tipo de código, aquí tienes más información de cómo leer este tipo de códigos.

El código QR (Quick Response Barcode) es un código bidimensional con una matriz de propósito general diseñada para un escaneo rápido de información, creado en 1994 por Denso Wave empresa de origen Japones (cómo no), QR es eficiente para codificar caracteres Kanji (Kanji es el nombre de los caracteres chinos utilizados en la escritura de la lengua japonesa), es una simbología muy popular en Japón.

El códigos QR es de forma cuadrada y puede ser fácilmente identificado por su patrón de cuados oscuros y claros en tres de las esquinas del símbolo, su nombre es debido a la frase "Quick Response (Respuesta Rapida)" ya que se diseñó para ser decodificado a alta velocidad, otros datos que podiamos destacar es que es capaz de codificar todos los caracteres ASCII además de información binaria, es omnidireccional y se lee con la ayuda de un lector de imagen, por ejemplo en Japón ya hay cerca de 60 millones de personas que lo utilizan, con la ayuda de un chip implantado en el teléfono móvil y que utiliza la cámara de fotos como lector,este tipo de código a diferencia del convencional puede almacenar hasta 7.089 caracteres.

qrcodeSi te preguntas para que sirve, el ejemplo más significativo lo tenemos en japón en dónde muchos teléfonos móviles pueden capturar el código de barras y guardan la información en su memoria.

Los códigos QR por lo tanto podrán convertirse en la revolución del marketing móvil: un nuevo tipo de código de barras con mayor capacidad que, colocado en el embalaje de un producto o en el anuncio de una revista, permite al consumidor extraer toda clase de información útil con tan solo fotografiarlo con móvil, realmente interesante a la hora de ofrecer descuentos sobre productos o información sobre promociones especiales.

Generar códigos QR

La manera más sencilla de generar estos códigos tan populares últimamente es utilizando la Api Chart de Google | Ejemplo de código QR.

Código QR


http://chartserver.apis.google.com/chart?cht=qr&chs=300x300&chl=http://w...
http://chartserver.apis.google.com/chart?cht=qr&chs=300x300&chl=http://w...


Las mascotas del Software Libre

¿Con cual de estas mascotas te sientes más identificado?

Cada proyecto de software libre tiene su mascota que dice mucho de su filosofía.

Yo personalmente me quedo con el elefante aunque en esta entrada habrá opiniones para todos los gustos.

Ñu – GNU

Un Ñu es el animal representativo del proyecto GNU ya que GNU significa “Ñu” en inglés. El nombre GNU no se adoptó porque a la persona que comenzó el proyecto (Richard Stallman) le gustase particularmente este animal sino porque GNU es un acrónimo recursivo que quiere decir "GNU's Not Unix."


Mono - Proyecto Mono

Mono es tanto el nombre como el animal representativo como de un proyecto que pretende ser una implementación libre de la plataforma .Net.

Los creadores del proyecto explican que eligieron el nombre de Mono simplemente porque les gustan los monos (antes de crear Mono ya habían fundado una empresa llamada Ximian, palabra muy parecida a “Simian” -Simio-).


Delfín – MySQL

El delfín que es parte del logo de MySql se llama Sakila. Según los creadores de MySql, este delfín representa los valores de la compañía y de la base de datos: rapidez, precisión, potencia y naturalidad.





¿Qué es Adobe Flex?

Adobe Flex es el término con el que se denomina a la tecnología que da soporte al desarrollo de las aplicaciones RIA, Rich Internet Applications (Aplicaciones Ricas de Internet). Este tipo de aplicaciones tratan de combinar las ventajas de las aplicaciones Web y las aplicaciones tradicionales.

Hay diferentes herraminetas a la hora de desarrollar este tipo de aplicaciones (RIA): Open Laszlo, Silverlight, JavaFX Script, Bindows... en nuestro caso hablamos de Adobe Flex.

¿Qué nos permite Flex?

Flex nos permite crear aplicaciones sofisticadas, atractivas y multiplataforma, actualmente se encuentra la versión 3.0 pero ya está previsto el lanzamiento de Flex 4.0 para el 2009, si eres desarrollador es un buen momento para aprender a desarrollar este tipo de aplicaciones porque cada vez la exigencia será mayor y probablemente para próximas versiones la curva de aprendizaje sea mucho más dura.

Sin duda uno de los mejores motivos para decidir empezar a desarrollar aplicaciones Flex es que tus aplicaciones podrán funcionar como aplicaciones de escritorio gracias a Adobe AIR (Adobe Integrated Runtime).


Api de la Wikipedia

MediaWiki ha publicado por fin una API para la Wikipedia, esta API está disponible aunque avisan que aún se encuentra en fase de desarrollo y todavía puede estar sujeta a pequeñas modificaciones.

Esta noticia es importante ya que la Wikipedia cuenta con más de 10 millones de artículos, y aunque el inglés sigue siendo el idioma más popular con 2 millones de artículos hay gran cantidad de información en otros idiomas: Alemán, Francés, Polaco, Japonés, Italiano, Alemán, Holandés, portugués, Español y Sueco.

Documentación API Wikipedia

Es cierto que todo aquel que anteriormente ha querido automatizar un proceso para recoger datos de la Wikipedia lo ha tenido fácil, el XHTML que devuelve la Wikipedia es muy limpio y sencillo de parsear, a pesar de esto la API es sin duda ya la mejor solución.