hoja de ruta para 2008

Creo que en cualquier profesión debes marcarte el camino a seguir en cuanto a tu propia carrera profesional. Aunque mi trabajo de día es en una empresa que muchas veces no sabe donde va y le cuesta mucho decidir que camino tomar, en lo que concierne a mis intereses personales intento definir cual es mi plan director a medio plazo. Este plan director u hoja de ruta refleja cuales son mis áreas de interés, que tecnologías son las que voy a intentar aprender y desarrollar a medio plazo, marcando cual va a ser mi linea de desarrollo profesional a nivel personal. Después de dar muchas vueltas a la farola, tengo decidida cual va a ser mi hoja de ruta para el 2008.Mi principal interés ahora mismo es el desarrollo web. Entre todas las plataformas que se pueden utilizar para ello, he decidido utilizar PHP. Los motivos para elegir este lenguaje son varios, pero quiza haya pesado mucho ver la cantidad de cosas que hay hechas con PHP, como por ejemplo WordPress que es el gestor de contenidos que utilizo para hace funcionar este blog. Otros factores a su favor son tratarse de un lenguaje libre y multiplataforma, que tiene conectores con muchos gestores de bases de datos y que cuenta con mucha documentación y una amplia comunidad y con muchos frameworks que facilitan el trabajo, aunque de momento no me planteo trabajar con ellos sino centrarme en conocer el lenguaje.Me he puesto a aprender PHP a la antigua usanza, via libro tocho y leyendo despacito. El primer libro que estoy leyendo es Desarrollo Web con PHP, Apache y Mysql, que me ha parecido un buen libro sobre el tema. Más adelante quiero leer otro de la misma colección sobre posicionamiento con PHP que por lo que he hojeado me ha parecido muy interesante. Aunque los conceptos de xhtml y css los tengo bastante claros, quiero leer también los libros sobre esto que hay en librosweb. Muchas cosas para el poco tiempo que me tengo, pero creo que merece la pena dar el salto a desarrollar para la web.Aunque tengo instalado Apache+MySql+PHP5 tanto en Vista como en OS X, mis pinitos con PHP los hago con OS X. El motivo es que OS X es un sistema Unix y la mayoría de sitios de alojamiento corren bajo Linux, con lo que la codificación de archivos, el sistema de permisos y demás es similar. Ya me ha pasado de hacer un script con PHP en Windows que al subirlo al servidor no funcionaba por culpa de la distinta codificación de archivos en Windows y Linux respecto a los caracteres de salto de linea, así que trabajar en un sistema Unix me ayuda a conocer mejor los entresijos de este tipo de desarrollo.No voy a dejar de momento el desarrollo de aplicaciones de escritorio para Windows, y quiero mantener y mejorar los programas de alanit. Pero también me gustaría aprender Cocoa para programar para OS X, aunque esto esté en un segundo orden de prioridades.

reflexiones sobre la manera de limitar el software

Hace como dos años, decidimos cambiar la estrategia de negocio y ofrecer ediciones gratuitas de nuestros programas. El año 2005 fue el peor en cuanto a ventas de los programas y decidimos ofrecer versiones de los programas sin límite de registros ni de tiempo de uso, pero limitando la funcionalidad de seleccionar claves de tablas auxiliares. Cuando se intenta usar esta funcionalidad los programas muestran una ventana diciendo que esa funcionalidad está disponible unicamente en la edición registrada, muestra un enlace a la página con la comparativa de ediciones y otro a la página de compra del programa. De esta manera pensabamos llamar más la atención al ofrecer software gratis al tiempo que incentivamos el registro del mismo. Pensabamos que la edición gratuita era plenamente funcional, con la pega que todos los datos de claves ajenas había que meterlas a mano y que era mejor manera de ofrecer el software que limitar las versiones a un determinado número de dias o de registros.

La semana recibimos un correo de un señor muy enfadado que decía que se había descargado la edición gratuita de Azeta y que no había podido evaluarlo porque al tratar de usarlo el programa le remitía constantemente a la compra del programa. El señor decía sentirse engañado y que hubiese preferido una versión limitada en tiempo o registros a introducir. Aparte de los calificativos que nos propinaba, nos decía de todo de una manera muy educada, correos como ese son los que te mueven a reflexionar sobre si estás haciendo las cosas bien.

Por los correos que recibimos, sabemos que hay mucha gente que usa las ediciones gratuitas con total normalidad, de tal manera que ni se plantean pagar por las ediciones registradas. En ese sentido pensamos que la estrategia es buena pues da a conocer el programa y la persona que no la va a registrar, porque hay personas que nunca registran un software por muy util o barato que sea, lo puede usar sin más. Nosotros usamos mucho software gratuito, que a veces son ediciones recortadas de versiones más potentes, y en este sentido pensamos que publicando ediciones gratuitas de nuestros programas devolvemos lo que recibimos.La alternativa sería utilizar versiones recortadas en número de registros o en tiempo de uso, pero pensamos que estas versiones presentan varios inconvenientes. La primera es que frena a su utilización por los potenciales usuarios, que saben que la versión va a caducar. La segunda es que los programas limitados de esta manera son muy más fáciles de crackear. No es que pensamos que hay muchos crackers interesados en nuestros programas, pero ver versiones anteriores de nuestros programas circulando sin control no fue algo bonito.Por todo esto pensamos seguir ofreciendo ediciones gratuitas de la manera en que lo estamos haciendo. Con anterioridad ofrecimos ediciones limitadas en el número de registros a introducir, y pensamos que acertamos con el cambio a las ediciones gratuitas.

el niño con el pijama de rayas

El libro cuenta la historia de Bruno, un niño de 9 años durante la Segunda Guerra Mundial. Poco mas se puede decir de este libro sin que desvele la trama del mismo. Si puedo decir que me ha gustado mucho, que es uno de esos libros que se leen de un tirón y que te hacen reflexionar. En este caso el motivo de reflexión es el valor de la amistad de los niños, que está por encima de muchos otros valores convencionales y prejuicios de los adultos. He leido críticas de que el libro no es gran cosa ni va a pasar a la historia de la literatura, pero mi opinión personal del libro es buena.
El niño con el pijama de rayas
John Boyne
Ed. Salamandra

tips para ser mejor programador

Interesante serie de consejos para cualquiera de los que nos dedicamos a programar. Leyendo estas cosas aprendes como trabajan los demás y siempre sacas conclusiones válidas para tu propio trabajo. Siempre he pensado que programar no es unicamente dominar un lenguaje, sino que hay muchas cosas mas. Muchas veces no es mejor programador el que mejor domina un lenguaje, sino el que domina una serie de habilidades o destrezas en que el lenguaje de programación es importante, pero es igualmente importante la manera de hacer las cosas.

Windows Vista, a mi no me parece tan malo

Hace una semana actualicé la versión de Windows en mi iMac a Vista Business. La instalación fue rápida y sin ningún problema. Después de instalar los correspondientes drivers del iMac en Windows el ordenador funciona perfectamente y no hay nada raro o que no funcione. Como hice la instalación formateando la partición Windows, tuve que reinstalar todo el software que uso habitualmente.

Lo único que constó un poco de instalar fue el trio Apache+Php+MySql y tuve que recurrir a realizar las instalaciones de los paquetes como administrador. Para esto hay que abrir una sesión de símbolo de sistema como administrador – inicio -> todos los programas ->accessorios -> click derecho sobre simbolo de sistema y elegir la opción de Ejecutar como administrador. Una vez abierta la ventana de sistema se localiza el archivo msi y se lanza la instalación con el comando msiexec /i nombredelpaquete. La instalación de Windows y del software que uso habitualmente me menos de 3 horas, y en ese tiempo tuve Windows completamente instalado.La decisión de instalar Windows Vista fue debido a que cada vez tenía mas preguntas por usuarios de programas de alanit que pedian información sobre el funcionamiento de los programas en este sistema, así que no quedó más remedio que actualizar.

Los programas hechos con xharbour y FWH funcionan perfectamente en Vista, no hay nada reseñable en esto y todo el entorno de desarrollo – compilador de C++, compilador de xHarbour, editor de recursos, FWH, editor de código, etc, – funciona perfectamente en el nuevo sistema. Del resto de programas que uso habitualmente no hay nada que reseñar, todos funcionan perfectamente en Vista y el sistema es muy robusto y estable.Había oido muchas críticas de Vista, pero la verdad es que una vez que tengo instalado el sistema no entiendo el motivo de estas críticas. El control de cuentas de usuario es un poco pesado la verdad, pero el sistema de funcionamiento es similar al de cualquier sistema *nix de pedir confirmación cuando se intenta instalar cualquier software. Me ha llamado mucho la atención lo rápido que arranca el sistema, creo que menos que la mitad que tardaba XP en arrancar aunque no lo he medido, y definitivamente lo peor de Vista es su menu de apagado. Pero por lo demás, con Vista hago lo mismo que hacía en XP y no he notado apenas diferencias.

El interfaz gráfico del sistema operativo está claramente mejorado, siguiendo la linea de OS X y Gnome, y el nuevo explorador mejora al anterior. La barra lateral de Vista no me ha parecido nada del otro mundo, sobre todo porque el Dashboard de OS X le da vueltas y los widgets que hay disponibles son normalitos, nada comparable al iStat Pro, aunque supongo que habrá mejores que los que vienen en la página de Microsoft y será cosa de encontrar los widgets adecuados

desarrollo web con OS X

Siguiendo el post ¿Programación web con OSX Intel? no hay problema he montado en mi Mac el trio Apache2+PHP5+Mysql. He cambiado el DocumentRoot de Apache para que apunte a /Users/Joseluis/Web y ya lo tengo funcionando. OS X 10.4 viene con Apache 1.3 de serie, y en este post explican como desinstalarlo e instalar Apache 2. Una vez instalado el servidor web, se inicia y se detiene desde la opción Compartir del apartado Internet y red de las Preferencias del sistema.Para gestionar las bases de datos de MySql se puede optar entre PhpMyAdmin o CocoaMySql que es un cliente gráfico para administrar MySql. Una vez ya tenemos nuestra web montada necesitaremos un cliente ftp, como CyberDuck.Todo lo mencionado hasta aqui Apache2, PHP5. MySql, CocoaMySql y Cyberduck es software gratuito, aunque alguno de ellos aceptan donaciones de los usuarios.

Creo que lo más delicado de hacer desarrollo web con OS X es la elección del editor. Hay algunos editores gratuitos bastante buenos, como Smultron, pero hay dos editores de pago que se llevan los mayores elogios: Coda y Textmate.Coda es un editor de sitios web que integra un editor de código, editor de hojas de estilo y cliente ftp. Una de las funciones estrella de Coda es su autocompletado de código que te hace ahorrar un montón de tiempo. Todo con un aspecto super logrado, sólo hace falta ver la web que se gasta este gente para ver el estilazo que tienen.Para mucha gente Textmate es el editor para Mac. De este programa hablan muy bien y tiene una auténtica legión de seguidores. Incluso hay editado un libro sobre Textmate por los autores del Pragmatic Programmer. Es un editor puro y duro para multiples lenguajes, y tiene cosas como folding de código, bundles, integración con Xcode y un montón de funcionalidades que le hacen ser un firme candidato a quedarse como editor de código en mi Mac.Coda cuesta 79$, mientras que Texmate cuesta 39€. La diferencia no es tanta, pero quiza lo que inclina la balanza para mi gusto es que Textmate es un editor que cubre un amplio abanico de lenguajes, mientras que Coda está centrado unicamente en lenguajes web.

Mientras preparaba este post he visto que Art-xtreme ha publicado un nuevo post sobre la instalación de Apache2+PHP5+MySql con Leopard. Yo sigo con Tiger.

taskpaper

A través de El Canasto he descubierto TaskPaper, un gestor de tareas sencillo para OS X que puedes usar siguiendo la metodología GTD. El programa implementa proyectos y contextos, que son dos de los pilares de la metodología, y es de un elegante que tira para atrás. Pocas veces he visto un programa tan minimalista pero tan elegante. He visto otros anotadores de tareas, o to-do’s, que siguen o no el método GTD y muchas veces me han parecido muy complicados de usar. TaskPaper combina la potencia con la simplicidad , y si tienes OS X vale la pena probarlo.Para Windows no conozco nada similar. Lo más parecido que he visto fue un programa hecho por Jaime, pero no llevaba gestión de proyectos ni de contextos. Quiza sea cosa de hacer uno.