Anotaciones de la categoría Programación

Clases de programación, los chistes malos son gratis

Hoy he dado una clase de PHP. Es una clase particular a un amigo-colega que hasta ahora se había manejado con sitios hechos en Flash, pero que tiene inquietudes y además ya le van pidiendo proyectos más complejos. Hacía años que no daba clases, y no es que ahora me vaya a dedicar a ello, pero en cierto modo tenía ganas de parlotear un rato sobre programación sin necesidad de que hubiera un proyecto por en medio.

Es una clase a la semana, de hora y media, sin guión ni temario, limitándome a explicar el proceso que más o menos sigo en cada proyecto, sopesando por donde puede flojear, y avisando que en el lote se incluyen manías personales y filias y fobias varias, como la elección de un determinado editor de textos o por qué uno debería crearse un mini-framework. La realidad es que ha sido bastante entretenido, y salvo algunos conceptos básicos sobre orientación a objetos, en general el nivel es mejor de lo que esperaba, más de trabajar sobre los fundamentos que explicar cosas nuevas.

La idea es complementar un curso que viene siguiendo en la Universidad de Alicante. Un curso de verdad, con profesor, alumnos, temario, ejemplos, explicaciones y ejercicios prácticos. Me ha enseñado el abultado temario, en varios archivadores, con letra gorda y colorines. Me ha parecido muy completo, y habla de todo, desde la programación en PHP y teoría de bases de datos hasta la implementación en el cliente con hojas de estilo y lenguajes de navegador.

Me comenta que le cuesta asentar toda esta información, que quizás se echa en falta más ejemplos prácticos, o llevar a cabo algún desarrollo. Le digo que no se preocupe, que el curso da una visión general, y que será trabajando en cada proyecto donde se dará cuenta de para qué servía esto y aquello. Y que entonces los problemas serán otros, muchos relativos a como organizar la estructura de la aplicación para que no se vaya de madre, y otros más sutiles y desesperantes, como resolver por qué demonios se descuadra el diseño en tal navegador.

Pero lo que más me ha llamado la atención es la cantidad de herramientas de las que se rodea uno cuando empieza, como suites que te instalan el LAMP de un plumazo y te instauran una especie de controlador en la consola del DOS, entornos específicos para PHP, exóticas y coloridas opciones de resaltados de sintaxis, modos de autocompletado de código algo alocados, etc. Quizás esté equivocado, pero creo más conveniente herramientas lo más sencillas posibles, y a ser posible editar manualmente los archivos de configuración. De algún modo dan más sensación de control y te obliga a pensar qué estás haciendo, además de forzar a cometer tus propios errores en lugar de depender de las limitaciones de un entorno de desarrollo.

En fin, después de todo parece que ha sobrevivido a mis extravagancias. La semana que viene más.

Cómo mantener un programa en la cabeza

Your code is your understanding of the problem you’re exploring.

Paul Graham, Holding a program in one’s head

Una especificación para dominar el mundo

¿Sueñan las redes sociales con especificaciones eléctricas? ¿Es Google el nuevo W3C? Vayamos por partes.

Open Social es la nueva API de Google -y ya van unas cuantas- orientada a proporcionar un mecanismo común para el desarrollo de aplicaciones en y para redes sociales, es decir, para sitios web con usuarios registrados que disponen de perfil propio, forman contactos con otros usuarios e interactúan con la información que generan: fotos, vídeos, playlists, posts, enlaces, etc.

Se trata de una especificación orientada a la gestión y acceso a datos típicos de las redes sociales. Los sitios que soporten esta API permitirán que aplicaciones ajenas puedan interactuar sin conocer la lógica de su aplicación interna. La diferencia con lo que se va haciendo hasta ahora es que, en lugar de que cada sitio invente su propia API -sí, he dicho invente-, puede hacer uso de las convenciones de Open Social para que una misma aplicación de este tipo, con una configuración apropiada, pueda servir en otras redes sociales.

Y más o menos de esto es de lo que se está hablando en otros blogs, opiniones, fallos y primeros hackings incluidos. Pero hay una par cosas que no termino de encajar, y no estoy hablando precisamente desde el punto de vista de un desarrollador.

Por una parte, ¿a qué estrategia responde esta iniciativa?. En principio, a mí me suena a algo así como “si no puedo ganar -léase Orkut- entonces cambio las reglas del juego, y además estoy de moda”. ¿Pero cuál es el objetivo? ¿Se desarrollarán aplicaciones de pago donde Google será el intermediario? ¿Evolucionará esta API a servicios de portabilidad de datos entre redes sociales o nuevos servicios de unificación de datos estilo my-self-online? Resumiendo: no-tengo-ni-idea.

Y segundo: ¿no debería impulsarse este tipo de proyectos desde organismos plurales como el W3C? Doy por seguro que se convertirá en un estándar de facto -ya hay un huevo de empresas apuntadas-, y será Google quien imponga las normas. Ya no se tratará solo de a quien le sube o le baja la barrita verde, sino qué modelos de negocio se verán afectados por cambios o extensiones de esta especificación.

Cegado por los contenidos

Al desarrollar un proyecto de software uno suele empezar con una lista de especificaciones y requisitos, planificación de tiempos, versiones y entregas, decidir la metodologí­a, comprobar el número de latas de coca-cola, recopilar algo de documentación sobre la tecnologí­a empleada y sobre todo intentar prever los posibles problemas que puedan mermar la productividad en el desarrollo.

Continuar leyendo »

Controladores para desarrollos Web en Versión Cero

Este es un post-auto-bombo para el artí­culo que acabo de publicar en Versión Cero con el inefable tí­tulo de Pon un controlador en tus desarrollos web.

íšltimamente mis aportaciones han sido escasas. Ejem, me dejo de eufemismos, ya que en los últimos meses han sido completamente nulas. Espero que la sarta de tecnicismos que escribo resulte mí­nimamente interesante y anime a otros desarrolladores a tomar la palabra. O por lo menos a contradecir la mí­a.

Más referencias rápidas con Quick Lookup

Quick Lookup es un proyecto inspirado en el buscador de funciones phpFunctions sobre el que ya rajé en el post anterior.

Continuar leyendo »

AJAX basado en imágenes y cookies

Uno nunca deja de sorprenderse, y el método es realmente original e ingenioso.

Las técnicas de AJAX requieren de un elemento de comunicación con los scripts de servidor, que normalmente suele ser el objeto XMLHTTPRequest, aunque también pueden utilizarse applets de Java u objetos Flash, y de forma menos ortodoxa los frames o tags iframe.

Continuar leyendo »

ebook911

Otra joya de la mina de populares de del.icio.us para el tag programación: ebook911.com, decenas de libros técnicos para desarrolladores, disponibles on-line o para su descarga en PDF.

Windows Compiled HTML Help Books

El manual de mySQL en formato HTML es un tocho de cuidado, así­ que empecé a buscar otros formatos. Estaba buscando la ayuda en CHM cuando me encuentro con esta página: Windows Compiled HTML Help (CHM) Books Download.

Continuar leyendo »

Las diferentes caras de mySQL

Desde el sitio de programación y desarrollo web Particle Tree se enumeran varios clientes mySQL en el artí­culo The Different Faces of MySQL, así­ como una breve reseña de las opciones y funcionalidades de los clientes preferidos del autor.

Yo utilizo una vieja versión de mySQL-Front (a ver.. la 2.5), rápida y fácil de utilizar, más que suficiente para desarrollos web tí­picos.