Fernando Guillén

un Desarrollador Web Freelance

cabecera decorativa

nada por aquí y nada por allá ó el desarrollo de software como expresión artística.

Archive for the ‘programando’ Category

Wednesday, May 7th, 2008

‘Software como poesía’ en el DorkBot del Viernes en Madrid.

Que la creación de software es un tipo de expresión artística es una de las visiones que tengo de esta mi profesión. Profundizando un poco: las líneas de código son literatura que cuentan una historia con sus personajes, sus acciones, su nudo, su desenlace. Puede incluso acercarse a la poesía por su ritmo, su rima, su cadencia…

Interesante charla pues la que nos presenta Santiago Gala en el DorkBot de este Viernes:

“Software es poesía”: Un poco de teoría y algunos ejemplos sobre cómo el software, como cualquier otro sistema de signos, es utilizable para el arte. Expresión, interpretación y transgresión en el software.

Para ver la lista de charlas completa, lugar, hora y demás.

Vía lista de correo de DorkBot Madrid. (La página web más desactualizada y difícil de enteder de la Internet) .. es broma :P

Sunday, May 4th, 2008

Entre la aptitud y la actitud.

El desarrollo de software, sobre todo cuando el objetivo es ser usado por humanos, requiere de un cuidado y un cariño especial.

La aptitud en esta profesión es importante, es bueno tener cualidades técnicas y conocimientos y sobretodo experiencia, pero todo esto no sirve de nada si se carece del empuje, del gusto por lo que haces, de vocación, y de algo muy importante de lo que ya hablé citando a Erich Fromm: la intuición.

La diferencia de tener intuición o no tenerla es que cuando no la tienes sabes porque estás haciendo las cosas y sabes porque las estás haciendo así,  normalmente te da igual el resultado siempre y cuando hayas seguido la metodología, al fin y al cabo así es como se hacen las cosas ‘bien’, es así como lo dice el libro.

Cuando te apoyas en la intuición es difícil defender y justificar tus decisiones que muchas veces contradicen la metodología académica, el resultado es algo orgánico, fluido, más real, más verdadero.

Es la diferencia entre pintar un cuadro rellenando las zonas numeradas con los colores indicados o enfrentarte al lienzo en blanco mirando con la imaginación y dando libertad a todos los trazos.

Me acuerdo ahora de una oferta de trabajo que solicitaba la gente de nVivo para un puesto de desarrollador web, en la cuál se especificaban unos mínimos requisitos académicos pero que en el detalle del perfil requerido se daba más importancia a:

  • Pasión por la música.
  • Acudir por lo menos a 19 conciertos al año.
  • Mantener un blog actualizado.
  • Tener un perfil en last.fm, mystrands .com o ilike .com con más de 10 artistas, con el 70 % fuera de los circuitos.

(Para el que no lo sepa nVivo es una red social de conciertos y adictos a la música en vivo)No es precisamente esto a lo que me refiero, pero tiene cierta aproximación, la gente de nVivo lo sabe bien. Es muy importante que te guste lo que estás haciendo, que conozcas el mundo al que va dirigido es más: que seas el mundo al que va dirigido. De este modo será tu intuición quien te ayude, quien te guíe.

No creo que puedas ser buen panadero sino te gusta el pan, buen mecánico de motos si no eres un apasionado de las 2 ruedas, … En efecto podrás ser todo eso y mucho más pero no serás bueno.

.. o por lo menos, es mi opinión.

Monday, April 14th, 2008

¿Qué es una API?… pues cualquier cosa¡

O por lo menos eso es lo que piensa la gente de Open Movil Forum al ‘abrirnos’ su flamante Api de acceso a su servicio Localizame.

Yo no sé si todo esto es una beta o una especie de mal chiste.

Resulta que para usar su supuesta y liberada API tengo que hacer las mismas peticiones que haría si accediera mediante un navegador. En realidad, ¿no será una API para un navegador?, en realidad, ¿no será que no han hecho ninguna API?.

Se me está pidiendo que haga petciones GET/POST y filtre el HTML resultante como si fuera un motor html. Aunque bueno, ni siquiera se dice como se debe interpretar las respuestas… Incluso tengo que simular la cookie que se me envía.

Graciosísimos los ejemplos dónde incluso aperecen como parámetros las coordenadas x e y dónde el botón “submit” fué pulsado:

submit.x=36&submit.y=6

Bueno bueno.. igual me estoy acelerando voy esperar a ver si por lo menos funciona el SMS que tengo que enviar para tener una clave, no hago más que recibir SMSs con un churro de números y un lapidario “Comando no valido”. A ver que comando válido me ponen en mi factura.

Actualizado 15 de Abril: ¿Se puede tener pesadillas con un API? Pues sí hoy las he tenido. Soñaba que mi petición tardaba eternamente en ser contestada y que cuando por fín me llegaba lo hacía cada vez de un modo diferente de tal modo que no había un patrón concreto para descifrarla de manera mecánica.

Aunque también he vislumbrado una posibilidad de que esta API me sirva para lo que quiero. Al parecer la API contesta con la posición del móvil de esta manera:

“ANA está en MADRID en los Barrios de LA PAZ y ALMENARA cerca de CL DE SINESIO DELGADO, PO DE LA CASTELLANA, CP 28029. Precisión +/- 528 mts”

“ANA está cerca de las carreteras M-103 Km 9, M-106 Km 2, M-111 Km 18 en ALGETE, MADRID, CP28110, Precisión +/- 780 mts”

“ANA está cerca de las carreteras A-301 Km 7, en SANTA ELENA, JAEN, CP.23220, Precisión +/- 12.1 Kms”

Es decir: exactamente como en mi pesadilla.

Pero he visto que en la web aparece un mapita con la posición actual, si este mapa es un mashup configurado por javascript puede que se esté usando las coordenadas geográficas en modo latitud y longitud, por lo menos así era en mi sueño y de ahí podía extraerlas con un script/parser :)

Todavía no puedo confirmarlo pues al solicitar mi clave me sigue saliendo el rollo “Comando no valido” :/

Monday, March 3rd, 2008

Jugando con Rails, Tienda de ‘Hola Por Qué’, camisetas, serigrafía artística y más.

Me piqué, me piqué.

Asistí a las conferencias rails 2007 y salí un poco mosqueado. Veía a la gente que se esforzaba en ser feliz, que tenían entre manos un lenguaje pensado por programadores para programadores.

Así que salí lanzado a probarlo. En dos semanas tenía montada una beta de la tienda online de unos amigos. Ahora la he retocado un poco y la he puesto en el aire para motivarme a afinarla.

Espero que a nadie se le ocurra criticar lo mal que está hecha, que si el diseño no mola, que si esto es de novatos.. porque efectivamente está mal hecha, el diseño hay que mejorarlo y está hecha por un novato.

Tienda de Hola Por Qué

El código no lo muestro porque entonces si que no podré asistir nunca más a ningún evento público.

Si os apetece probarla podéis hacerlo, al final de la confirmación del pedido hay un checkbox que pone “Es un pedido de prueba” lo seleccionáis y santaspascuas.

Tengo que decir en mi favor que ya me he devorado el “Ruby Cookbook” y el “The Rails Way”, devorado sin masticar, y que ahora voy a por el “Agile Web Development with Rails”.

Tuesday, December 18th, 2007

¿Cómo saber con que versión de java se ha compilado una clase?

Cuándo tienes varios entornos de producción, unos más actualizados que otros, tienes que tener cuidado de con qué compilador generas los .class para cada Tomcat.

En mi caso en desarrollo tengo java1.6 pero tengo un entorno de producción que requiere que se le carguen las clases compiladas para 1.4 o no funcionará.

El lío que tengo en el eclipse de configuraciones para cada proyecto es bastante engorroso y nunca sé si ha puesto bien cada atributo de las propiedades, sin contar con que Ant tiene también sus propias configuraciones para el compilador.

Al final no sé si he generado bien el .war para este entorno o no y es un poco cabreante subir un .war de 8 megas a producción ponerlo todo bien y ver como se queja el Tomcat al arrancar para volver a recompilar y volver a probar.

He encontrado este truco para saber si he compilado bien las clases:

http://dpinya.blogspot.com/2007/10/como-saber-con-qu-jdk-se-ha-compilado.html

http://blogs.sun.com/sundararajan/entry/thou_shall_know_the_class

En resumen, basta con ejecutar en consola:

$ file Clase.class
Clase.class: compiled Java class data, version 48.0

El dato importante es “version 48.0″ hay que buscar en la siguiente tabla para saber con qué versión fué compilado:

<48 Requires JRE 1.3.1 or later
=48 Requires JRE 1.4.2 or later
=49 Requires JRE 1.5 or later
=50 Requires JRE 6 or later
>50 Requires JRE 7 or later

un Desarrollador Web Freelance is proudly powered by WordPress
Entries (RSS) and Comments (RSS).