Como mostrar el número de revisión SVN en un sitio

Estás trabajando en un proyecto (web), usas Subversion para el Control de Versiones y te interesa que en alguna parte del sitio se muestre el número de revisión al que está actualizado. Se asume que el “desarrollo” se hace en una copia aparte y el en sitio web solo se sincronizan los cambios respecto al repositorio (svn up).

La mejor forma de hacer esto es crear un archivo que contenga el número de revisión y que este se actualice cada vez que cambie la copia en el servidor, por ejemplo un script así:

cd /home/user/public_html/
svn up 
rm version.php
svnversion > version.php

Este script se puede llamar incluso desde un hook en post-commit, el único requisito es que version.php no esté en el repositorio para que no de problemas con futuras actualizaciones.

Ahora que version.php ya tiene la revisión en la cual se está trabajando, solo falta incluirla desde el sitio web. Un simple include debería bastar:

<?php include 'version.php'; ?>

Este método debería funcionar mejor que usar svn:keywords ya que este solo se actualizaría cuando el archivo (ej. version.php) se modificado. Y aún mucho mejor que examinar el contenido del directorio .svn o modificar el archivo a mano 😉

Corriendo OSX / Leopard en una PC

Aún cuando la plataforma iPhone es bastante cerrada, comparada con Android, me agradaría mucho retomar un poco de programación no web ya son varios años sin hacer algo serio usando lenguaje C (o en el caso del iPhone, Objetive-C).

Como el iPhone SDK solo funciona en OSX / Leopard y no tengo ninguna Mac, inicialmente pensé en correrlo en un máquina virtual. Desafortunadamente virtualizando Leopard el rendimiento es bastante malo y con la copia para VM Player nunca logré hacer que detectara la tarjeta de red. Ante la decepción mejor busque una solución que corriera Leopard de forma nativa (como si una PC fuera hardware Apple).

Por lo que encontré hay dos “distribuciones” que hacen funcionar Leopard en el hardware de las PC, iATKOS y Kalaway; yo decidí bajar iATKOS y es el que logré hacer que funcionara casi a la perfección en mi PC. Para lograr esto, la parte más crucial es encontrar la combinación de parches que mejor se adapten al tu hardware.

Otra cosa, yo instalé Leopard como sistema operativo principal un disco duro adicional, sin dual boot ni nada por el estilo; no quise complicarme o arriesgar mi disco duro principal. La unidad en la cual lo instalarán hay que formatearla al sistema de archivos de mac, de lo contratio no dará opción a instalarse en esa unidad.

Disk Utility Unidad Destino Hora de Instalar Instalación personalizada

Como ya mencioné, antes de instalar hay que instalar ciertos parches que ayuden a Leopard a instalarse en nuestro hardware, seguramente para cada PC son diferentes y tendrás que intentar la instalación varias veces; yo lo hice como 5 veces antes de dar con la combinación correcta. En mi caso los parches que seleccione fueron:

  • Darwin X86 for MBR (Non-EFI)
  • Kernel 9.2.0 toH. Este kernel es compatible con más hardware
  • Remove Thermal kexts. Curiosamente si no selecciono esta opción, Leopard no detecta los USB

También hay opción a instalar otros drivers, pero al menos en mi caso no ayudaron en nada; solo marque el soporte de discos SATA y NTFS-3G. Todo funciona bien, a excepción de que no detecta mi tarjeta de video, una ATi X300, y la máxima resolución que obtengo es 1024×768… trabajar a dicha resolución se siente bastante apretado. Intenté instalar un driver de ATI para Leopard, pero único que conseguí fue hacer que el OS no arrancara ¬¬

Parques a instalar Instalación en Progreso Primer arranque

Por su puesto ni se les ocurra instalar una actualización del OS o simplemente dejará de funcionar. Las actualizaciones de Quicktime o iTunes no dan problemas; y por lo que he visto, con la instalación de software adicional tampoco.

En fin, aún no me acostumbro y no me agrada como funcionan varios cosas en OSX y tampoco estoy interesado en dedicarle mucho tiempo al OS en sí, mejor pasemos al XCode y el iPhone SDK 😉 . BTW, sigo prefiriendo Windows.

Bienvenida de OS X - Leopard screenshot1 screenshot2

Problema con los Feeds de WordPress 2.5.1

Wordpress LogoNormalmente siempre trato de usar los feeds de WordPress con la url */feed/, pero en uno de los blogs que manejo tenemos una configuración un tanto diferente. Como utilizamos FeedBurner, tenemos redirigidos los feeds hacia este a menos que sea el Bot de FeedBurner el que haga la petición hacia */wp-rss2.php.

Como ya hace bastantes días que WordPress 2.5.1 está fuera, creí que era seguro actualizar desde WordPress 2.3.3; Hubiera sido una actualización sin mayores problemas, de no ser por la sorpresa de ver los feeds del sitio en FeedBurner completamente vacíos. Al ser una instalación bastante manipulada con la API de WordPress, tuve que hacer muchos var_dumps a lo largo y ancho del Core.

Luego de varias horas de hurgar el código de WordPress, encontré el problema con las Rewrite Rules y el uso de */wp-rss2.php. Resulto ser un Bug ya reportado culpable de que /wp-rdf.php, /wp-rss.php, /wp-rss2.php, /wp-feed.php y /wp-commentsrss2.php mostraran feeds vacíos. Afortunadamente este bug ya tiene parche, consiste en modificar las Rewrite Rules de WordPress, ese parche será parte de WordPress 2.5.2.

De este bug aprendí dos buenas lecciones:

  • No importa que esperes algunas semanas luego de que una nueva versión de WordPress sea libera, siempre espera sorpresas
  • Siempre prefería usar */wp-rss2.php, pensando que por eser un archivo la llamada al feed sería menos costosa que pasando por los permalinks. Resulta que de todos modos WordPress los revisa, no tiene ningún sentido para mí pero bueno…

En fin, así son las actualizaciones de un CMS como WordPress 🙄

Se viene el firmware 1.1.3 del iPhone / iPod Touch

Todo parece indicar que en Enero tendremos una actualización al firmware 1.1.3 del iPhone / iPod Touch. Esta ocasión como ya es costumbre, el jailbreak dejará de funcionar ya que incluye nuevos parches que permitían hacerlo, así como las aplicaciones de terceros parece que dejarán de funcionar hasta que sean actualizadas a esta versión del firmware.

Las características del firmware 1.1.3 son bastante llamativas, más si eres dueño de un iPhone:

  • Se pueden enviar SMS a varias personas.
  • Google Maps puede localizar tu ubicación usando triangulación con las celdas de la red (talvez solo funcione en EEUU).
  • Google Maps mostrará la vista Híbrida (Mapas + Satelite)
  • Se pueden reordenar los íconos del SpringBoard (la portada del iPhone) con solo arrastrarlos y soltarlos (el video en gizmodo muestra bien el proceso). Antes de 1.1.3 tenías que usar iBrick, Customize o editar un archivo como los machos de verdad
  • SpringBoard soporta paginación. Antes esto estaba disponible mediante SummerBoard.
  • Ahora se podrán agrear favoritos a páginas web en el SpringBoard

En GearLife hay una galería mostrando algunas de estas nuevas características en acción.
Y así inicia una vez más la carrera por liberar el 1.1.3 mientras Apple tratará de cerrar más agujeros.

Etiquetas: , , actualizaciones, , , , gps

Actualizar a Ubuntu 7.10 Gutsy Gibbon y no morir en el intento

Hoy la ultima versión de Ubuntu ya está liberada oficialmente, con ello muchos estarán bajando los ISOs o bien haciendo actualizaciones desde Feisty Fawn. Cuando actualize de Edgy Eft a Feisty Fawn, aprendí dos buenas lecciones:

  1. No actualizar el mismo día de la liberación, no solo por la saturación de los servidores sino por los bugs que aparezacan… yo sufrí uno :-/.
  2. Usar servidors espejo, de preferencia uno cercano a tu localidad, incluso varios días después de que sea oficial la nueva versión.

Para usar un servidor en otra localidad, tienes que editar /etc/apt/sources.list y remplazar http://archive.ubuntu.com/ubuntu por la dirección del servidor que has elegido. Al menos yo, actualizaré hasta la otra semana usando un servidor en Suiza jeje.

Etiquetas: , , , , ,

¿WordPress 2.3 nos espía?

Parece que Matt ha decido recolectar información de los blogs aprovechando la liberación de WordPress 2.3. ¿Beware? La nota en Slashdot dicen lo contrario, pero a estas alturas…..

Como desactivar el sistema de actualizaciones: Vamos a /wp-admin/includes/admin.php y comentamos la linea:

require_once(ABSPATH . 'wp-admin/includes/update.php');

Luego editamos /wp-settings.php y comentamos

require (ABSPATH . WPINC . '/update.php');

Sweet 😀

WordPress 2.3 liberado, ¡beware!

Finalmente luego de varias versiones betas y Release Candiate, hoy está disponible el nuevo WordPress 2.3. Esta versión incluye algunos cambios importantes:

  • El soporte para etiquetas que ya ha sido incluido en WordPress.com. Aún más importante que el soporte de etiquetas son los cambios en el esquema de la base de datos, mismos que provocaron el retraso en WordPress 2.2, se está cambiando la forma en como los posts son relacionados con las categorías y las etiquetas.
    El gran problema es que hay plugins y plantillas que realizan consultas a la base de datos, sin utilizar la API de WordPress, que ahora pueden ser incompatibles; pueda que existan nuevas versiones de estos, sino tocará buscar otra solución o hacer los cambios a mano.
  • Sistema de notificaciones de nuevas versiones en plugins. Ahora al ver la página de los plugins instalados en WordPress (¿por qué no está esto en el Dashboard???) recibirás un aviso de si existe una nueva versión del plugin. En Wp-Hackers se ha desatado una discusión bastante candente sobre este sistema y los datos que WordPress 2.3 envía a api.wordpress.org, pero es algo que quiero confirmar. Si alguien no quiere que WordPress envíe datos, puede instalar este plugin que deshabilita esta característica por completo.
  • Mejor tratamiento de las URLS, dependiendo de la configuración de los permalinks ahora WordPress revisará si la URL termina en / o incluso si está incompleta WordPress buscará el post que más se le parezca, si lo hay. Mark ha explicado mejor el tema de las URLs canónicas en WordPress 2.3
  • Mejoras en la administración de borradores, con la característica de post pendientes de revisión. Algo que solo les servirá a quienes tiene muchos autores en su blog y están bien organizados… o casi
  • Otros 350 cambios en tickets cerrados en el Trac de WordPress

Para los que tenemos un WordPress muy personalizado/hackeado es un problema que hagan cambios en la Base de datos. Yo normalmente solo subo los archivos que han cambiado entre versión, pero en esta ocasión haré una migración desde cero… lo cual es bastante laborioso, tendré que hacer pruebas antes de hacerlo en el sitio real. Además aprovecharé para actualizar todas las versiones de los plugins y arreglar la plantilla.

Tengo el presentimiento que algo va a tronar… pero bueno: no risk, no fun.

» Descargar WordPress 2.3 en zip o tar.gz

Etiquetas: , , ,

Agrega tu comentario

RoundCube Mail RC1

Hace más de un mes que liberaron la versión RC1 de RoundCube Mail, la principal mejora ha sido la reducción del consumo de memoria y por tanto hace que Firefox se trabe menos cada vez que chequea por correo nuevo.

Mientras hagan la actualización de la beta 1 o 2 al RC1 puede que tengan problemas al actualizar la tabla de mensajes. La solución es sencilla, eliminar los registros de la tabla con un:

TRUNCATE TABLE 'messages'

Esto solo eliminará el cache de correos, no los correos que han recibido.

Etiquetas de búsqueda: round cube mail, chapuces, actualizaciones

WordPress 2.2.1 disponible

Otra nueva versión de WordPress ya esta disponible, la 2.2.1, que incluye numerosos parches de errores y algunos de seguridad:

  • Correcciones en la validación de Atom feeds.
  • Parches con XML-RPC
  • Parches con los Widgets en IE7
  • Compatibilidad hacia atrás con algunos widgets.
  • Mejoras con los Widgets de texto y páginas

SigT menciona una lista de archivos que han cambiado desde la versión anterior, por si te es muy complicado hacer el largo pero recomendado proceso de actualización.

>> WordPress 2.2.1 en zip y tar.gz

Etiquetas de búsqueda: wordpress, wordpress 2.2.1, software libre, actualizaciones

WordPress.com o Hosting Propio

Ya son varias personas las que me han preguntado porque estoy en WordPress.com y no en un hosting propio, y cuales son las ventajas y contras de cada uno. En el FAQ de WordPress.com ya tienen una respuesta similar, pero como esta en inglés voy a traducir los puntos más importantes y agregar algunos propios.

Ventajas de usar un Hosting propio para el blog:

  • Total control sobre la configuración de WordPress. Ideal para los más técnicos.
  • Posibilidad de instalar plugins
  • Posibilidad de instalar plantillas y modificarlas a gusto.
  • Sin limites para insertar código javascript o html.
  • Puedes integrarlo con cualquier servicio que exista

Desventajas de usar un Hosting propio para el blog:

  • Necesitas un hosting de pago, tipicamente entre $7 y $12 mensuales, con características apropiadas para que wordpress funcione.
  • Tipicamente necesitaras comprar un dominio, $10 al año.
  • Necesitas conocimientos técnicos: la instalación y configuración de wordpress, XHTML, CSS y algo de PHP.
  • Debes encargarte de los backups, quizás tu hosting te ayude.
  • Debes actualizar la versión de WordPress cuando llegue la hora, hay hostings que ofrecen automatizar este proceso.. pero es poco recomendado, en especial si has personalizado mucho tu blog
  • Probablemente si te vuelves muy popular, tengas problemas y debas mudar a un servicio más caro que soporte tu tráfico.
  • Riegos de seguridad si no te mantienes al día con las actualizaciones.
  • Debes comprar un dominio, lo cual son $9/año. Algunos servicios de hospedaje te permiten hospedarte como subdominio de ellos.

Ventajas de usar WordPress.com para el blog:

  • Mucho más facil, ideal para los menos técnicos.
  • Las actualizaciónes, backups y seguridad son manejados por el equipo de WordPress.com
  • El blog está en varios servidores, mucho más potentes ante los picos de tráfico. Yo he descubierto que los Servidores de WordPress.com son mucho más rápidos de los que puedas contratar por un bajo precio.
  • Backups del blog cada hora.
  • Tráfico extra desde los Blogs del Día y las páginas de tags También recibes extra posicionamiento, mi blog alcanzo rápidamente PageRank 6 en un par de meses, ahora esta en PageRank 5, el cual no es nada despreciable 😉
  • Mejor relacionado con la comunidad dentro de WordPress.com, tienes soporte con los foros (en español) y puedes descubrir otros blog usando el Bog y Tag Surfer. Yo ya he hecho varios amigos gracias a estas características 🙂
  • Inicio de Sesión seguro usando SSL.
  • No te preocupas del gasto en ancho de banda, no hay limites al respecto.
  • Puedes usar tu propio dominio o quedarte como un subdominio de wordpress.com

Desventajas de usar WordPress.com para el blog:

  • Personalización limitada, hay pocas plantillas (cada mes se agregan más) o debes pagar para poder modificar el CSS de las plantillas. Ni siquiera se puede tocar el código de fondo o subir plugins
  • Restricciones de Seguridad, no se permite código JavaScript o HTML inseguro. WordPress.com es un ambiente compartido, un fallo de seguridad afectaría a todos
  • Espacio limitado para fotos y archivos, solo 50MB en total recientemente el espacio fue aumentado a 3GBs gratis, eso es más que suficiente. Con mejoras de pago puedes aumentar el espacio o bien utilizar servicios gratuitos para hospedar tus imágenes.
  • No puedes ganar dinero con tu blog, los anuncios están estrictamente prohibidos. Al menos por ahora.
  • Restricción del tipo de contenidos del cual puedes hablar en tu blog: no promocionar la piratería, violar los derechos de autor de contenidos ajenos, no hacer spam o intentar dirigir tráfico a sitios externos. Por supuesto, lo mismo aplica para la mayoría de servicios de hospedaje decentes, con la diferencia que en WordPress.com tu blog es cerrado sin previo aviso y sin regreso si violas los Términos del Servicio, en cambio en un servicio de hospedaje te dan oportunidad a limpiar el nombre.

Un caso especial de WordPress.com son los blogs del Hospedaje VIP:

  • Posibilidad de editar las plantillas (via Subversion).
  • Sin restricciones de anuncios o javascript.
  • Posibilidad para instalar plugins, al menos los que no hacen modificaciones de la base de datos.
  • Balanceo de carga en varios servidores dedicados.
  • Inclusión en las listas de Top Blogs, que garantiza trafico adicional.

Pero estos Blogs VIP tienen un alto precio, varios cientos de dolares mensuales y no cualquiera puede optar al programa, aún cuando puedas pagar el precio. Está dirigidos a blogs de alto tráfico (más medio millón de páginas al mes) y autores de reconocimiento.
En resumen, Hospedar tu blog en un servidor propio es útil cuando tienes los conocimientos necesarios y quieres tener todo el control sobre lo que pasa. Usar WordPress.com para hospedar tu blog, es útil cuando no sabes nada de la parte técnica de los servidores y lo que hay detrás del blog.

WordPress.com refleja mejor el espíritu bloggler, bloggear sin preocuparte de que el servidor vaya lento, que el ancho de banda te queda corto o que hay que actualizar la versión de wordpress.

Yo tengo los conocimientos y el espacio para correr mi propio wordpress, modificarlo y hackearlo a mi gusto, incluso administro varios; pero es un verdadero placer saber que mi blog esta bien cuidado en WordPress.com sin preocuparme de lo técnico, solo postear y ya. Extraño mucho algunos plugins y modificar los permalinks como quisiera, incluso aplicar algo de SEO, pero es el precio de lo gratuito; bueno ya pague por CSS custom así que no es gratuito xD