Actividad de box.jisko.net

Jueves, agosto 20th, 2009

ArchivosHoy Álvaro me preguntó que porqué no colocaba publicidad en el box (como coloquialmente se le llama). Mi respuesta fue la de siempre: “no me gusta poner publicidad”. Concretamente me refería a la de Google y su AdSense, cuya experiencia ha sido bastante mala con 120% Linux en su momento. Además, que en una página como la del box la publicidad iba a ser poco variada me temo (no hay contenido).

Pero hablando del tráfico que mueve, es bastante interesante. La mayor parte proviene de imágenes, la parte de archivos no mueve tanto (además de que para eso creo que hay infinidad de sitios mejores). El intervalo diario de tráfico oscila de los 3 a 5 GB, aunque ahora en vacaciones el rango varía bastante (mínimos de 1,6 GB, con un máximo de unos 14 GB en un mismo día). Teniendo en cuenta que el 70-80% viene sólo de imágenes, no es una cifra en absoluto despreciable y que traducido a hits es un número bastante atractivo.

Es muy curioso, ya que el sitio es bastante simple y no es nada de otro mundo – de hecho, fue mi primer script en PHP y no lo he tocado apenas desde entonces, ni siquiera estaba enfocado a servir así -. Además, que corre bajo un subdominio sin que tenga nada que ver con el dominio principal. Sin embargo, la primera razón, “bastante simple”, parece ser que es lo que le gusta a la gente: llegar, subir y coger el link directo. Un buen monto de tráfico proviene de gente del Menéame, que lo utiliza en notas o comentarios (para, por ejemplo, hacer mirror de un meneo cuando se cae el sitio original). También se utiliza como algo temporal (mostrar una imagen a una persona individual) como es lógico, aunque hay más sitios.

Quizá en algún momento lo reprograme y lo enfoque directamente a imágenes, pero hasta entonces, se queda como está. Si alguien quiere ser patrocinador (sin que ello signifique publicidad intrusiva), me puede contactar. Pero de momento se mantiene bien y sólo espero que se siga utilizando más (gracias, meneantes :-)), ya que lo soporta – al menos por ahora – sin problemas.

Eligiendo un framework de PHP

Martes, agosto 11th, 2009

I Love CodeigniterReconozco que, aunque mi nivel de programación en PHP no es nada extraordinario, he ido recogiendo frutos de la experiencia a lo largo de todo este tiempo. Me han hecho cambiar mi forma de pensar a la hora de escupir escribir código, pero no pensé que lo fuera a hacer tanto como para utilizar un framework.

¿Que qué es un framework? Para aquellos que no lo entiendan, y para no recurrir a definiciones wikipedistas, podríamos imaginarlo como una capa (conjunto de librerías, clases, métodos…) aplicada a un lenguaje que nos ayuda a realizar tareas repetitivas de manera mucho más sencilla y, porque no, limpia (véase MVC).

De acuerdo, quizá ustedes no lo vean tan extraño eso de utilizar un framework de PHP; no en vano, hay un buen número de personas que usan jQuery como su framework de Javascript (como un servidor), por no nombrar otros tantos. Sin embargo, yo siempre había sido una persona bastante escéptica con éstos para mi lenguaje favorito: ¿No supondrá demasiada carga gratuita? ¿Costará demasiado aprenderlo? ¿Realmente vale la pena?

Es cierto que hace bastante que escuché sobre CodeIgniter, pero nunca me puse a investigar hasta hace unas pocas semanas, cuando descubrí un nuevo mundo. Por supuesto, no es el único framework que existe, y me estuve mirando la documentación (a la vez que comparativas) de otros (que no todos) como:

  • Zend framework, el framework “oficial” por excelencia de PHP. La curva de aprendizaje no es muy favorable y los benchmarks tampoco (aunque ese post es algo antiguo, para nuestro querido Zend no parece haber cambiado demasiado, según he podido leer – que no comprobar -). No me gustaba el código resultante.
  • CakePHP es otro de los grandes conocidos, aunque no demasiado flexible en algunos momentos (y esto ya lo comprobé personalmente). Es más fácil que Zend y con un código resultante más que legible, sin embargo, no me acabó de gustar por el tema de la rigidez. Aquí hay alguien que apoya a ambos con buenas razones.
  • Symfony, que empecé a conocer por queru, ha sido de los que menos me han convencido por su pobre rendimiento y su dificultad para aprender, aunque es bastante completo. Quizá debería de indagar algo más.
  • Kohana, que me sugirió Antonio Pardo, me ha dejado completamente impresionado. Es similar a CodeIgniter en cuanto a programación y aprovecha mucho más la potencia de PHP5 (ya que no soporta PHP4, como hace CodeIgniter). Tiene módulos bastante interesantes y creo que eso se traduce en menor tiempo de desarrollo. Sin embargo, en el foro de CodeIgniter encontré una buena opinión (al menos bastante objetiva) que explica que Kohana puede ser bastante prometedor, pero que debería cambiar su rumbo, básicamente.
  • Yii, poco conocido respecto a sus competidores, jovencito pero con un crecimiento exponencial. La gente habla bien de él y desde luego su trabajo lo hace. El rendimiento es muy bueno y es todo OOP, además de tener actualizaciones recientes. Por contra, que sea tan joven significa que es aún algo inmaduro, pero me mantendré al día sobre este framework, porque tiene una pinta muy interesante.

También vi algunos otros pero que no me acabaron de llenar. En cualquiera de los casos, todos vienen provistos de una implementación, más fácil o más difícil, de MVC para tus proyectos. Quizá una de las razones más importantes que me hicieron pensar en framework (hasta entonces yo siempre había programado código spaghetti).

VEREDICTO

Para mí, el ganador final es CodeIgniter: fuerte y fiel comunidad, documentación excelente, curva de aprendizaje plana (perfecto para novatos en MVC, ya que es fácilmente implementable), muy extensible, pocos requisitos de parte del servidor (funciona incluso con PHP4 — ¿ventaja a estas alturas?) y soporte para una gran cantidad de base de datos (usando ActiveRecord), entre las principales razones. Sin embargo, hay ciertos puntos en los que cojea:

  • No tiene soporte AJAX incorporado. Quizá esto para algunos suponga un problema, aunque para mí se traduce en mayor flexibilidad (aunque algún helper no habría estado de más).
  • No tiene módulo auth, algo bastante básico (registro, login, recuperar contraseña…). De acuerdo que la comunidad aporta, pero esto me parece algo imperdonable. Deberían de incorporar uno oficialmente YA.
  • Tampoco pasarelas de pago, mapas (Google Maps)… y así podría seguir. De acuerdo que dejaría de ser tan ligero de peso, aunque en el rendimiento no afectaría apenas (si no lo necesitas, no lo cargues).
  • La última versión (1.7.1) vio la luz en febrero de este año. Un largo tiempo sin actualizar, en efecto. Esto puede ser bueno, ya que significa que no hay ningún bug grave que corregir, pero evidentemente también es MUY negativo: gran falta de innovación. Podrían empezar por sacar una 1.8 que arreglara las dos necesidades fundamentales que agregaba arriba.

Afortunadamente, CodeIgniter es fácilmente extensible y podemos arreglarlo fácilmente con clases o librerías que queramos, aunque no deja de ser un mal apaño.

En cualquier caso esto no deja de ser una opinión personal y cualquiera puede estar de acuerdo o no. Hay que tener en cuenta que mi punto de vista con frameworks no está demasiado maduro, y no es por falta de información, si no por experiencia. CodeIgniter me ha dado una buena bienvenida, al igual que a todos los que empezamos a trabajar con él, pero eso no quita que en un futuro elija otro con más posibilidades.

TuentID, un acortador maquillado

Lunes, julio 13th, 2009

TuentIDEn un intento por desconectar de la rutina me aburría y me dispuse a crear mi propio mini-framework de PHP. El resultado fue satisfactorio, y utiliza una estructura similar a la de Jisko aunque ampliamente mejorada, ya que en el momento que empecé a codear aquella base, me faltaba bastante experiencia (y sigue faltando demasiada, pero algo he avanzado).

El framework se divide por distintos módulos y tiene “soporte fácil” para URLs limpias, un enrutador sencillo, soporte para estadísticas… lo que viene siendo el soporte básico para empezar cualquier página a pequeña escala. Ayer mismo me puse a probarlo y ciertamente ahorro un tiempo considerable no teniendo que volver a codear lo mismo una y otra vez, además de que, por otra parte, puedo actualizar la base en cualquier proyecto al momento ya que es flexible.

Pero volviendo al tema, uno de los usos que le he dado ha sido para TuentID, que no viene a ser más que un acortador de URLs maquillado para utilizar en la red social española Tuenti para facilitar los perfiles de forma corta (así, por ejemplo). En efecto, es lo que estás pensando: una estupidez. El dominio me ha salido gratis gracias a puntos acumulados en una compañía de dominios y la funcionalidad no deja de ser la de TinyURL mismo con algo de maquillaje, pero bueno, es más un experimento para ver la reacción de usuarios y de Tuenti.

Y ahí lo dejo.

Contar líneas de código en PHP

Domingo, febrero 24th, 2008

¿Que tenemos un proyecto en PHP, y queremos contar las dichosas líneas?:

$ cat `find . *.php` | egrep “;” | wc -l

Con lo que nos devolverá un número con las líneas que hemos escrito. Acabo de hacerlo con Jisko y me ha devuelto cerca de 5000.

Visto por Google

Mi vida 2.0 (III)

Miércoles, febrero 13th, 2008

Echaba de menos continuar con esta serie de entradas enumeradas, en las que voy contando las circunstancias que me rodean y los cambios más importantes que estoy haciendo en mi vida.

Recapitulando las anteriores entradas con este mismo título, nombraba siempre a aquel personaje misterioso que por donde pisaba ya no crecía la hierba, que se aprovechó ampliamente de mi talón de Aquiles (aka exceso de confianza); sobre todo, en la última, que orgullosamente le califiqué de lo que se merece.

A la par que ha ido pasando el tiempo, esas heridas se han ido tapando y otras de las que no era consciente, también. Todo ello me abrió los ojos y se ha ido convirtiendo, poco a poco, en una etapa de mi vida, la más sufrida, pero a la vez, la más útil.

Vuelve ese sentimiento de estar en la cima de la montaña y tener ganas de gritar, de romper el cielo, de sentirte libre, ver todo con optimismo. En resumen: volver a ser como antes.

Básicamente, lo que se podrían llamar “las consecuencias” de dicha etapa, y ver que el sobresfuerzo humano que hice para ver las cosas de otra manera ha servido realmente la pena.

Siempre me gustó la informática; de hecho, ha sido y sigue siendo mi vida. Estuve al borde dejarlo al caer en depresión. Y es que ya se sabe: cuando uno está en esos estados, dan ganas de tirar todo por la ventana.

Afortunadamente, he sido más inteligente que todo eso y he vuelto a retomar el hobby, con una fuerza impresionante. Incluso antes de la dichosa etapa, dejé de programar hace casi un par de años; ahora, he vuelto a coger la programación (PHP, concretamente) y me he puesto a hacer multitud de aplicaciones — todas limitadas al ámbito personal, de momento –.

Todas, excepto una: Jisko. La mente abierta y liberada de aquellas estúpidas preocupaciones me ha hecho ver claramente lo que quería y trabajar en ello (formando un equipo). Un proyecto en el que tengo mucha esperanza y que le estoy poniendo todo el empeño que nunca le había puesto antes a nada (excepto en hacer el cambio).

A seguir mejorando y viendo la vida así de optimista.