Archive for September, 2007

vuelta de ibiza (y la casita verde)

Llevaba unos dias sin escribir porque me he tomado unas minivacaciones en Ibiza, aprovechando la boda de mi amigo Palako (como ya dije en programancia101). Ha sido toda una experiencia, no solo por la boda en sí, sino por el ambiente y por el escenario increíble que es la isla. Yo tenía esa imagen de Ibiza como zona de discos pijiles, marcha, yates y nosecuantas cosas mas… pero aparte de eso, es un paraíso natural lleno de calas escondidas y solitarias, bosques preciosos y puestas de sol

fotos de ibiza

Resultaría un poco difícil elegir cual de todas las experiencias de estos días ha sido mejor, pero si puedo intentar destacar una que definitivamente le hace a uno pensar bastante: la visita que hicimos a la Casita Verde. La Casita Verde viene a ser un experimento ecológico para mostrar “técnicas alternativas de formas de vida”. Coordinado por un grupo de voluntarios y con lo que parece ser el apoyo de algunas asociaciones, en la Casita se realizan experimentos sobre energía alternativa, cocina y medicina natural o reciclaje, entre otros. No os adelanto nada para que lo podáis ver vosotros mismos pero… lo tienen muy bien montado! Los Domingos están abiertos a las visitas: vas a mediodía, comes allí con ellos y después el director del centro te da una vueltecita para que veas las instalaciones (y de paso te explica un par de cosas que puedes hacer con Aloe Vera y algarroba… incluyendo un zumo que no esta nada mal!)

la casita verde

El caso esta en que después de ver estas cosas, no puede uno sino preguntarse como puede ser que el estilo de vida que llevamos a veces sea tan contrario a como podría ser y tan poco sostenible. Es un poco triste que el tema del reciclaje y de los problemas ecológicos que causamos solo se discutan cuando un candidato a presidente hace una película (mas estando en un país que tiene un ministerio solo para lidiar con estos temas)

Pero otro de los asuntos que me llamo bastante la atención es que la gente del centro no eran cuatro hippies aislados del mundo que no tuvieran mucha idea de como funcionan las cosas y que quisieran ser eremitas en una esquina de monte. En mi opinión, un problema de la mayoría de tendencias “alternativas” (sean de estilo de vida o políticas) es que no piensan en la sostenibilidad de esa alternativa. Cuando se propone un modelo cualquiera (sea de vida, económico, político o social) yo creo que hay que pensar: como encajaría esto en el modelo actual? como hacer esa transición? es sostenible? escalará para servir a toda la sociedad o estoy proponiendo algo que solo me sirve a mi?

Poniéndonos frikis, una migración de modelos de este tipo se parece mucho a una migración de sistemas informáticos: hay que andarse con cuidado y prever las contingencias. Y entre el grupo de voluntarios de la Casita había bastante ingeniero. Supongo que lo que estaban haciendo se puede considerar una prueba de concepto };P

En fin… cosas para pensar en esta vuelta de vacaciones…

telefono movil versus telefono fijo

¡Ah! ¡Los telefonos fijos! ¿Alguien mas tiene imágenes mentales del típico teléfono familiar puesto en el salón, al lado de la tele? Teníais un Heraldo de esos de ruedecita? ¿O ya os pillo la era digital y pasasteis directamente a tener un Forma?

telefono heraldo de telefonica... el que tenia yo!

Todos esos momentos en los que te tocaba esperar para llamar “tu amiguita” porque claro, siempre hay gente en el salón y tu no vas a arruinar tu imagen de ser duro como el pan de ayer dejando que vean quien lleva los pantalones en esta relacion (“no si yo había pensado… siiii, no si yo lo digo porque… aha… si, bueno pero… si, claro, hacemos lo que tu digas, si…”) O esos otros en los que tu hermana llevaba 2 horas comentando con su amiga (que por cierto vive justo en la calle de al lado) cosas “superimportantes” como que ponerse esa tarde. ¡Con lo fácil que es cruzarse para hablar! Y luego esta, por supuesto, la charla familiar a fin de mes cuando llega la factura. ¡Si es que por servir, te daba hasta tema para la sobremesa!

En fin, desde el Heraldo al Domo han cambiado algunas cosas. Del dispositivo “comunal/familiar” que es un teléfono fijo hemos pasado a depender mas de los dispositivos “personales” que son nuestros telefonos móviles. Tu llamas desde tu cuarto, tirado en la cama, o desde la calle. Decoras tu telefono con las pegatinas que te gustan, el fondo de pantalla que te gusta, el politono de la cancion pestosa del momento… Eso si, hay cosas que no cambian: tu hermana se sigue pasando dos horas colgada del móvil para hablar con la amiga de enfrente… y tu “amiguita” es la que sigue decidiendo que es lo que se hace esta noche

El caso es que estaba pensando en estas cosas después de ver este articulo del Wall Street Journal, donde se discute como las compañias de teléfono estan viendo como poco a poco aumenta el desinteres por tener una linea de telefono fija en casa, a favor de las lineas moviles.

Tiene varios puntos interesantes para reflexionar. El primero de los que a mi me llaman la atención es algo que se da muy a menudo en telefonía: el problema que parece haber con la falta de ideas novedosas. Por que es tan general creer que si una cosa funciona en un campo, va a funcionar en otro? El tema de pensar que tener ringtones y mensajes en un teléfono fijo va a hacer que la gente los prefiera a un móvil es como de broma. Debe habérsele ocurrido al mismo departamento que planifico el tema este de los “portales web para móviles”, que tienen las mismas secciones y los mismos banners… eso si, mas pequeñitos };P

Para distintos dispositivos y/o para distintos perfiles de usuarios, necesitas un producto distinto. Eso es asi de simple. Punto

Por otra parte, la idea de incorporar servicios de agenda si esta bien, pero de novedosa tiene lo justo. Lo que no acabo de entender es como telefonos modernos no implementan una agenda mas “en condiciones” (suelen tener unos 10-30 numeros). ¿Lograra la versión digital reemplazar a la libretita esa que se deja en la mesilla del teléfono? La de los móviles ha desplazado casi completamente a las copias “manuales” así que… ¿quien sabe?

Y por ultimo, otro tema interesante: el asumir que mucha gente prefiere movil hace que las compañías se piensen ofrecer servicios de banda ancha sin necesidad de tener contratada una linea fija. En Orange UK, por ejemplo, hay ofertas con los planes móviles de contrato que te dejan tener ADSL en casa sin contratar linea de voz. El articulo comenta que AT&T también esta probando ese modelo. Al fin y al cabo, si el usuario no lo quiere… ¿por que pagar 20 euros/libras/dolares mas por un servicio que no usas?

conoceis algun sistema de revisiones de codigo sobre subversion?

El otro dia estaba comentando con unos compañeros lo utilisimo que resulta tener un sistema de “code review” (revisiones de codigo, para los que no hablan aragones) en cualquier grupo de desarrollo de n personas (para n>1). Es una cosa de sentido comun que se basa en la maxima de que “cuatro ojos ven mas que dos”.

lolcats

Un sistema de revision de codigo, para que nos entendamos, viene a funcionar basicamente asi: tenemos un repositorio de codigo para mantener nuestro proyecto, el desarrollador A tiene una copia de trabajo en su maquina sobre la que edita, añade, corta, pega y colorea lo que sea necesario. Cuando el conjunto de cambios esta listo para sentencia, lo envia a un desarrollador B, que debe revisar los cambios (normalmente mostrados como un diff sobre la copia del repositorio) y aprobarlos para dar permiso al desarrollador A para enviarlos al repositorio con un bonito submit e irse a casa a ver el futbol de una vez. Un sistema de revision de codigo basicamente “ayuda” a este proceso facilitando que el desarrollador A envie el cambio, que el desarrollador B sepa que tiene que revisarlo, manejar los permisos que B da a A y, en el peor de los casos, asegurarse que A no envia ese codigo sin permiso para irse a ver el futbol antes (*)

El sistema tiene la ventaja enorme de que todas esas cosas que a veces “se nos escapan”, son mas faciles de detectar por un compañero (ya sabeis que el problema de mirar tu propio codigo es que es como tu niño… y claro, a nadie su niño le parece feo) Pero tiene varias ventajas mas, especialmente en equipos: asegura que las convenciones de codigo y la estructura se respetan a traves del proyecto (revisar el cumplimiento de las convenciones es parte de la revision), permite al revisor familiarizarse con una parte del sistema con la que puede no haber tenido contacto antes (y por extension, al equipo tener una mejor concepcion del proyecto en conjunto) y permiten en general una mejor comunicacion de cambios (especialmente si recibimos algun cambio que se integre/afecte/colisione con otro cambio en el que estamos trabajando nosotros!)

Todas las compañias “grandecitas” de desarrollo usan algo como esto: Microsoft antes tenia un sistema sobre perforce (que ahora debe haberse cambiado por Team System), Google tiene g4 y Mondrian… y a estos parece que les va bien asi que, habra que probarlo, no?

Vistas todas estas ventajas, seria inevitable ir recomendando a todos los equipos de amigos, familiares y allegados el usar un sistema de revision, asi que he estado buscando si hay algun proyecto que implemente revisiones de codigo sobre un repositorio de subversion, para probar, pero ninguno de los que he encontrado me convence del todo. De momento los que he visto son:

Los open source:

  • Codestriker: Un poco feillo, pero da el pego. Permite revisiones sobre el repositorio o de diffs. Problemas: la gestion de cambios es solo web (yo preferiria que se pudiera desde linea de comandos), no tiene resaltado de sintaxis y no muestra los comentarios sobre el codigo (es un poco mas dificil de leer)
  • Peer review plugin para Trac: construido sobre el sistema de plugins de Trac. Lo de los comentarios flotantes queda mono pero: solo tiene interfaz web, examina cambios en el repositorio y no hace “diffs” de codigo, sino que muestra el contenido ya cambiado (bastante menos util, y requiere mas esfuerzo para revisar)

Los propietarios:

  • Crucible: otro producto de los de Atlassian (responsables del Confluence wiki), y que al igual que el resto, es un poco caro! Una pinta estupenda, interfaz web y seguimiento de revisiones en hilos. Las cosas que no me convencen: la creacion de listas de revision se hace desde el interfaz web y su sistema de gestion de cambios es un poco distinto al proceso que he descrito antes (incluye, por ejemplo la figura del moderador). Ademas, solo funciona sobre cambios YA enviados al repositorio.
  • Code Collaborator: El mas completito que he visto: interfaz web muy mona, se integra con subversion y perforce, clientes de linea de comandos, web, plugin de eclipse… y gestion de cambios antes de ser enviados al repositorio. No me acaba de convencer lo de separar los comentarios normales y los “defectos”. Y como unica nota negativa: el precio! }:/

Asi que acudiendo a vuestra sabiduria colectiva: alguno conoce algun sistema de revisiones que se pueda montar sobre subversion y preferentemente open source? Y de estos que he encontrado, alguien los ha probado y puede comentar sus impresiones?

(*) NOTA: en el ejemplo, si A quiere irse a ver el futbol ya, que se le hace tarde, siempre puede enviar el cambio a B y esperar a la mañana siguiente antes de enviarlo al repositorio. De hecho, recomendaria no hacer ningun submit pasada cierta hora de la tarde, especialmente si es tarde de Viernes… os lo digo por experiencia! }:P

read “producing open source software”! it’s free!

Thanks to a link sent by Mr. Penyaskito to a .NET mailing list, I have noticed that “Producing Open Source Software”, by Karl Fogel, is available for reading and downloading from the website http://www.producingoss.com/

producing OSS, the cover

I read this book earlier this summer and can definitely recommend it to anyone who wants to get an insight on how open source development works, and in general to anybody who has to produce software as part of a team, as it not only talks about technical/programming/geeky stuff, but also about the important and undervalued subject of team dynamics and conflict resolution techniques.

In one of the presentations I saw recently about how to assemble software teams, there was this snippet saying that most people think being a software developer is mostly a matter of programming and technical knowledge, which is partly true, but a GOOD software developer knows is also a matter of process: knowing how it is, knowing how to make it better (and knowing how to ignore it if necessary, but that requires a master code ninja level).

Anyway, hope you enjoy the reading as much as I did! }:)

NOTA: en breve “copiare” esta entrada, en español, en programancia101

desbloquea tu iPhone!

He tenido un par de mails esta mañana de amigos protestando porque el tema del unlocking de iPhone que comente en el post anterior requiere unas soldaduras y otras cosas feas que, aparte de afectar a la garantia, pueden dejar tu bonito cacharro de 600 400 dolares para bonito pisapapeles… Y que mi supuesto de que cualquier proteccion que se le ponga a un cacharro es facil de saltar es un poco “exagerada”…

Pues para defenderme publicamente: de eso nada! El metodo de Hotz de la soldadura es solo uno de los que ya hay circulando por ahi, y de hecho ya hay metodos por software, que se supone que ni siquiera deberian afectar a la garantia del telefono (aunque si alguien tiene pruebas de lo contrario, que lo haga saber).. ah! y al menos uno de ellos es gratis y con codigo fuente disponible! (ver anuncio de iUnlock)

Jesus Diaz, de Gizmodo, hizo un resumen estupendo del resto de alternativas en este articulo

Y en la misma Gizmodo verificaron ayer mismo que el otro metodo software funciona perfectamente… eso si, teneis que acordaros de desactivar el PIN de la SIM. Teneis toda la info en
How the First iPhone Unlock Went Down [UPDATED]

movistar iphone... el año que viene?

Asi que hala, a disfrutar del iPhone mientras Telefonica termina de negociar traerselo para el año que viene (gracias por el link a Manuel, de MangasVerdes)

tiempos empleados en las distintas fases de un proyecto web moderno

Bueno, ya que es asi de triste, por lo menos hay que reirse de ello…

diagrama de tiempos
(via cubiclemuses.com)

apple, ya empezamos? (o del extraño concepto de “ventaja competitiva”)

Que conste que yo soy una de las personas que creo que Apple lo hizo genial dandole la vuelta a la tortilla del mundo mobile y cambiando el foco de “lo que la operadora quiera” a “lo que haga que el dispositivo mole mas para el usuario”… No les ha salido todo lo bien que podria pero es un primer paso…

los nuevos ipods... son monos, verdad?

Peeeero cuando una compañia hace cosas como alterar estupidamente la aplicacion de calendario del Ipod Touch para que no se puedan añadir contactos (ver noticia original en Gizmodo) para crear una “ventaja competitiva”, uno no puede dejar de pensar que esto es obra de algun malvado departamento de Marketing

Y si, seguro que se os ocurren otras compañias tristemente famosas por autolimitar su software para poder crear lineas divisorias (imaginarias) entre los componentes de una gama de productos… pero puede que, como yo, no os esperarais esto de Apple

En fin, esperemos que esto se solucione pronto y vuelvan al significado ingenieril de “ventaja competitiva”… que viene a ser “algo nuevo y chuloso que introduce esta nueva version” en vez de “algo que ya funcionaba, pero que hemos quitado para hacer la version antigua mas deseable”.

P.S: Si ademas… esta comprobado que para cualquier barrera que se le ponga a un dispositivo siempre hay un chaval adolescente con suficiente tiempo libre };P

update: por cierto, que Apple acaba de anunciar que ya han vendido un millon de iPhones

20 años de GSM

Pues si, un 7 de Septiembre de hace 20 años unas cuantas compañias se pusieron de acuerdo para definir un estandar para comunicaciones moviles bajo este bonito nombre de Global System for Mobile communications. Desde entonces han cambiado unas cuantas cosas, desde la incorporacion de servicios de datos a la variedad y difusion de los nuevos terminales (que deberia ser dificil de predecir teniendo en cuenta como eran los antiguos, como los de esta galeria, aunque claro, despues salieron cosas mas monas, como el DynaTac)

Martin Cooper, de Motorola, con un terminal DynaTac de 1973

En fin, que GSM es un estandar pesado, complejo, con muchisimos parches (especialmente los de servicios de datos)… pero que: a) da mucha pasta y b) parece ser que aun dara pasta algunos años mas. Asi que merece la pena echarle un ojo a algo de documentacion sobre el asunto:

  • Articulo de GSM en Wikipedia
  • 3GPP, el cuerpo de cuerpos de estandares que regula GSM y otros temas relacionados (disponibles en bonitos documentos de zillones de paginas)
  • Signaling System 7, que regula la parte del servicio movil una vez llegas a la base station

P.S: por cierto, tambien resulta que se han anunciado esta semana los ganadores del concurso de justinguitar sobre el uso mas rarito de una guitarra, y uno de los finalistas ha decidido que con un tuning adecuado y gracias a DTMF… puedes darle a tu movil el rock que necesita! Si es que saber como funciona un movil sirve para todo! };P

Chaos Communication Camp, the video

Andrei has made a video summarizing the CCC London Chapter experience during this last Chaos Communication Camp.

While I was talking with some of my friends this week about what I’ve done in the summer it was a bit difficult for some of them to understand how cool this event was, and specially when I said that I thought this would be superinteresting even for non-geeks, just because of the general ambience… I think Andrei really nailed it to show that “general ambience” here

Hope you like it!