Microsoft Techdays y vacaciones

Published 23 weeks, 1 day ago
Fri Jan 25 2008

You said I should get professional help
It always makes me cry
I know I'm just an amateur
But I've gotta try


Amateur, by Nada Surf


Habemus website para el TechDays, el evento a finales de Febrero en Madrid en el que Microsoft presentará el Windows Server 2008, el Visual Studio 2008 y el SQL Server 2008. Aunque no tiene confirmado el calendario de sesiones, está confirmado que tendrá unas 30 sesiones a elegir, lo que hace que a priori parezca un evento como mínimo intenso.

Por otro lado, anuncio de forma oficial algo que venía cociéndose (al menos en mi cabeza) desde hace unos días. Lo dejo momentáneamente. Me tomo un respiro. Picacódigos se va de vacaciones indefinidas.

Yo, por desgracia, no.

Y no, ya sé que no, ni la frecuencia ni (qué coño) la calidad de los posts de este blog justifican que el picacódigos se vaya de vacaciones. Sin embargo creo que es lo mejor para todos que me tome un respiro: llevo literalmente semanas autocensurándome posts por exceso de negatividad. Y no es bueno (aunque sí rentable, ¿no es cierto, GdM?) llevar un blog exclusivamente para soltar bilis. Mucho menos cuando esa bilis puede ofender a amigos directos que quiero que sigan siéndolo, aunque sea en la distancia. Como me dijo una vez mi abuela, si no tienes nada bonito que decir, cállate la boca.

Por otro lado no tengo tiempo para crear los posts didácticos que creo que debería tener este blog, y cuando me pongo a hacerlos empiezo a pensar que quién soy yo para tratar de enseñarle nada a nadie, cuando debería estar recibiendo clases a diestro y a siniestro en lugar de intentar impartirlas. Me entra un bloqueo de escritor técnico, en plan en cuanto vean mi código se van a dar cuenta de que soy un fraude. Y literalmente siento pánico de verme envuelto en otra trifulca como la que tuve sin quererlo con los Ingenieros de Primera.

Ya sé que no se puede agradar a todo el mundo. Ya sé que nadie nace aprendido y que todos tenemos derecho a cometer errores. Pero también sé que no os merecéis un post chorra estilo no actualizo porque estoy hasta las cejas de trabajo. Lo estoy, pero no es excusa.

Volveré, claro que sí. Lo que no sé, sinceramente, es cuándo y en qué condiciones. No me borréis de vuestro lector de feeds habitual aún, ¿ok?

Un bonito WTF

Published 31 weeks, 4 days ago
Mon Nov 26 2007

Para empezar la semana con alegría.

Están el equipo de calidad de mi trabajo depurando los últimos errores de una de mis aplicaciones, que entra en producción ya mismo. La cosa va bastante bien, ha pasado las pruebas de carga con nota, todo perfecto. Excepto una pequeña espinita que, de tan pequeña, tuve un tiempo ignorada en pro de errores más gordos. Hasta hoy.

La jefa de calidad, al teléfono, añade hoy a la conversación un "Y comprueba el error de las descripciones nulas, que sigue ocurriendo.". A lo que respondo: "¡No puede ser! Lo he comprobado y vuelto a comprobar y a mí me funciona!". Odio dar ésa respuesta en concreto, pero en este caso era cierto. Recordaba claramente el error: en caso de tener el campo Descripción a NULL dicho campo aparecía como tal en la página aspx, en lugar de aparecer vacío o con un texto alternativo; así como recordaba claramente haber picado la triste línea de código necesaria para impedirlo de una vez por todas y para siempre. No es que sea un error muy complicado de corregir, vaya.

Así que pruebo con uno de mis registros, funciona bien, mando un pantallazo y suelto aquello de en mi servidor funciona. La responsable de calidad me larga otro pantallazo, con el error, diciéndome pues en el mío no.

Tiramos de Toad a ver qué leches pasa, porque esto no es de código. Y efectivamente, no lo es. Vistos desde Toad los registros en cuestión, vemos que efectivamente tienen el campo Descripción a NULL. Pero no a nulo sino a "NULL". Vamos, que el contenido del campo no es un valor nulo, sino una cadena de caracteres "N", "U", "L", y "L".

Mis carcajadas se han debido oír hasta en Cuenca.

Office space

Published 41 weeks, 1 day ago
Thu Sep 20 2007

Mi bloguero favorito, Jeff Atwood, habló hace unos meses de su oficina. Con fotos. Si en su día no lo visteis, no os lo perdáis porque de verdad merece la pena ver como se trabaja en una empresa en la que los desarrolladores importan.

Hoy no he podido evitar acordarme de las condiciones de trabajo de Jeff:

My office space

Tened en cuenta que lo que estáis viendo es sólo mi mesa, pero estoy en un despacho en el que trabajamos 12 personas. Las condiciones de abarrotamiento son evidentes, aunque por suerte temporales: el mamotreto que veis a la izquierda es un escáner Canon DR 6080 que tengo que devolver en cuanto termine de hacer unas pruebas con él. Comparadas con las mías, las condiciones de trabajo de Atwood son como comparar el hostal La Pepa con el Ritz. Y seguramente haya gente que esté peor que yo: yo al menos tengo plantas y luz natural.

Es evidente que no todos podemos trabajar con un despacho como el de Atwood: no hay, literalmente, sitio. En el caso de algunas empresas, tampoco hay dinero. Pero sí que se puede hacer un esfuerzo extra por mejorar las condiciones de todos nosotros, sí que los empresarios podrían hacer un esfuerzo para mejorar nuestro office space. Y como hablar es gratis, me permito hacer unas cuantas sugerencias.

  • Dobles monitores.- Cada vez surgen más testimonios que aseguran que dos buenos monitores planos aumentan maravillosamente la comodidad (ergo, la productividad) del usuario. Es lógico a nada que lo pensemos un poco: todo el tiempo que me dedico a abrir y cerrar ventanas dentro y fuera de Visual Studio, a organizar esas ventanas para poder hacer n cosas a la vez es tiempo que pierdo. Puede parecer poco tiempo, pero al cabo del día se acumula... y se nota. Si no se pueden poner dos monitores, como mínimo absoluto un buen monitor plano de 19 pulgadas. En mi anterior empresa, gobernada férreamente con un puño de hierro que no se abría jamás para soltar un duro, tuve que soportar durante mis últimos seis meses de estancia un monitor de tubo de 17 pulgadas.
  • Sillas.- Si me voy a tirar, como mínimo, ocho horas sentado en la silla; ¿qué menos que sea cómoda? ¿Resistente? ¿Nueva? De nuevo, nos enfrentamos a algo que es de puro sentido común: si un programador está incómodo y tiene que cambiar de postura cada poco rato, difícilmente podrá concentrarse para realizar su tarea.
  • Mesas amplias.- Con sitio para todo. Tengo que tener sitio, como mínimo, para que teclado y ratón estén a una distancia cómoda el uno del otro, para poder utilizar un cuaderno sin tener que mover el teclado de sitio, para poder colocar el monitor a la distancia adecuada y, por supuesto, para poder personalizar mi mesa a mi gusto: con fotos o alguna planta o juguetes o lo que quiera cada cual.
  • Ordenador.- Simple: lo más potente que pueda comprarse. Como mínimo absoluto dos gigas de RAM, el micro más potente del momento, una tarjeta gráfica potente. De nuevo es algo que cae por su propio peso: no estoy pidiendo esto para poder jugar a Quake en la oficina, estoy pidiendo esto para que cada vez que compilo la solución no tenga que quedarme parado cinco minutos enteros esperando a que mi pobre equipo de desarrollo termine. Pero lo verdaderamente peligroso, desde el punto de vista del empresario, es que esos cinco minutos son una invitación abierta para procastrinar: mientras compilamos la solución abrimos un navegador, o el correo, o un lector de noticias y los cinco minutos se pueden convertir fácilmente en diez o veinte.
  • Teclado y ratón a elección del desarrollador.- Así de simple. Yo no sé el resto, pero yo soy muy picajoso con los teclados y los ratones: al fin y al cabo, son mis herramientas de trabajo diario. Y mis gustos en hardware de entrada no tiene por qué ser los mismos que los de mis compañeros. Por lo tanto, en lugar de tener que aguantarse todo el mundo con el mismo equipo (sub)estándar, y seguramente barato, hagamos algo elegante: dejar a cada desarrollador que elija personalmente el teclado y el ratón que quiera, de un catálogo.
  • Software y soporte ORIGINALES.- Esto no debería ser ni siquiera un punto de esta lista pero, desgraciadamente, lo es en muchos casos. Señor empresario, si tiene una empresa de informática, si usted vende productos o servicios basados en ciertas tecnologías y gana un beneficio con ellas, debe pagar por ellas. Así de simple. Llevo más de ocho años y seis empresas en este negocio y sólo he estado en dos empresas con software original, sólo una de ellas con suscripción a MSDN. En el resto , todo pirata: desde los sistemas operativos a las herramientas de desarrollo, pasando por todo lo demás. En muchos casos yo tenía en mi casa más software original que la empresa que me contrataba. Las ventajas son obvias: acceso a versiones recientes del software, acceso a soporte para el software. En una memorable ocasión tenía que hacer una tarea complicada en VB6 para un cliente (algo relacionado con códigos de barras y OCRs), y le ofrecí a mi gerente dos opciones: hacerla yo mismo y reinventar la rueda en el proceso, con las consecuentes incógnitas en cuanto a tiempo de desarrollo y resultado final; o comprar un componente de terceros para resolver el problema con garantías y rápido. Mi gerente encontró una tercera vía: descargarlo de eMule.
  • Biblioteca.- El departamento de desarrollo debe disponer de una biblioteca técnica para uso de los miembros. Se puede hacer de varias formas: previa asignación de un presupuesto mensual, bimensual, semestral o al gusto; se podría designar un comité que se encargaría de recoger las necesidades del departamento (presentes y futuras) y comprar libros para cubrirlas. O confeccionar entre todos los desarrolladores una wishlist, en la cual cada persona podría sugerir títulos y votar los títulos sugeridos por los demás. Cada periodo de tiempo, los x títulos más votados hasta cubrir el presupuesto se compran, y se renueva el ciclo.
  • Área de descanso.- Un área en la cual los programadores puedan relajarse, hablar con otros integrantes del equipo o sencillamente distraerse de lo que están haciendo. Cuando uno está encallado con algo que no sale, con un error que es capaz de ver; el truco más viejo del manual es ponerse inmediatamente a hacer otra cosa: salir a fumar un cigarrillo si se es fumador, acercarse a la máquina de bebidas, leer algo. Aunque aparentemente no estás pensando en el problema, es muy fácil tener un momento eureka cuando estás separado del mismo. O al volver del descanso, inmediatamente ves el problema con nuevos ojos y encuentras una solución que ahora parece obvia. En el área de descanso podrían estar los libros de la biblioteca, por ejemplo. Si se es muy generoso con el equipo, y si éste merece nuestra confianza, incluso podemos tener algo de material recreativo: una consola de videojuegos, una máquina de dardos. Y, por supuesto, máquina de refrescos gratuita.
  • Proyectos personales.- Éste es un favorito personal mío. Cada viernes, todos los viernes, todos los integrantes del equipo de desarrollo dejan de realizar su trabajo normal. Cada programador tiene que elegir un proyecto personal para realizar durante las horas de trabajo del viernes, y a ser posible el proyecto personal no tiene que tener absolutamente nada que ver con el proyecto que está realizando de lunes a jueves. Cada desarrollador tiene completa libertad para elegir el proyecto que quiera, usando la tecnología que prefiera. Un reproductor de vídeo, una programa que compile recetas, un juego de Go, lo que sea. Si un programador no tiene una idea propia que quiera desarrollar, puede ofrecérsele una lista de los proyectos personales en curso para que se una al que prefiera, o puede unirse al proyecto de Open Source de su elección, o puede unirse al...
  • Laboratorio de investigación.- Este equipo dedicará los viernes a investigar y probar nuevas tecnologías. No tienen porqué ser estrictamente nuevas, pero sí que tienen que ser nuevas para el equipo de desarrollo en su conjunto. Por ejemplo, si normalmente el equipo de desarrollo trabaja con ADO.NET, el laboratorio de investigación puede aprender a trabajar con NHibernate. Si normalmente se trabaja con el framework ASP.NET tal y como Microsoft lo presenta, se investiga con la implementación MVC de Castle. O se aprende Ruby On Rails. Al final de la investigación, el equipo será responsable de vender esa tecnología a los jefes de proyecto y gerentes, que decidirán si es aplicable a nuevos proyectos. En caso de serlo, el equipo de investigación dedicará un viernes (o los que hagan falta) a entrenar a otros compañeros en el uso de esa tecnología, según lo requiera el proyecto para el que se va a usar.

Lo sé. Muchos de los anteriores puntos son más adecuados a una software factory, cuando el grueso del trabajo de desarrollo en este país es en las instalaciones del cliente. Pero seguro que, con un poco de esfuerzo, el empresario creativo puede crear condiciones similares también para sus desarrolladores destacados en cliente.

Y no, esta lista no es una lista compuesta por un sindicalista radical, o un amargado picacódigos soñando despierto con una mejora de sus condiciones. Es una lista pensada con un solo objetivo en mente: ganar dinero. Prácticamente todos los puntos de la lista requieren una inversión por parte del empresario, cierto. Pero en muchos casos es una inversión que (debería estar) está asumida: equipos, mobiliarios y software original. El gasto extra en comprar equipos buenos, buen mobiliario y software original se compensa por la falta de pérdidas de tiempo, por la mejora en la concentración y la capacidad de trabajo de los desarrolladores, por el soporte añadido y el ahorro de tiempo en reinvenciones de rueda innecesarias. El presupuesto que un empresario tendría que desviar para permitir que su equipo compre libros o tenga bebidas gratis es ridículo comparado con los beneficios que se obtienen de su trabajo. Y todos los puntos de esta lista traen consigo unos beneficios adicionales nada desdeñables: mejora del conocimiento y preparación del equipo técnico, que lleva a una mejora de la calidad del software, que lleva a una mejor relación con los clientes, lo que lleva a conservar clientes y a conseguir mejores clientes por el siempre útil boca a oreja. Eso por un lado, por el otro todos estos puntos (unidos, por supuesto, a un salario y condiciones a la altura del mercado) traerían de la mano un índice de rotación bajísimo en el equipo de desarrollo. Y sí, señor empresario, ya sé que a usted el índice de rotación de los técnicos le trae al pairo: siempre hay más gente en Infojobs. Pero un equipo se hace con el tiempo, los buenos desarrolladores se hacen con el tiempo y no olvidemos que los clientes, que al fin y al cabo son los que nos dan de comer a todos, ven con muy malos ojos un alto índice de rotación en los equipos de desarrollo.

Incluso los puntos más aparentemente de ciencia-ficción como son los proyectos personales o el laboratorio de investigación son puntos que redundan directa, aunque quizás no obviamente, en beneficio de la empresa. Lo primero, son excelentes motivadores. Por lo menos, son motivadores para el tipo de trabajador que usted quiere en su empresa. Segundo, sus empleados aprenderán tecnologías y métodos que pueden serle útiles en sus próximos proyectos. Tercero, si alguno de sus programadores dedica tiempo pagado por usted a colaborar con un proyecto Open Source, eso puede convertirse en una buena fuente de publicidad para su empresa. Cuarto, ¿quién le dice a usted que el próximo YouTube no sale de un proyecto personal de uno de sus empleados?

Anímense, señores empresarios. Mejoren las condiciones laborales de sus desarrolladores. Ustedes también saldrán ganando.

Schticker

Published 41 weeks, 3 days ago
Tue Sep 18 2007

 Me acaban de llegar los dos Schtickers que compré para personalizar el portátil. No quedan nada mal. Llegan en un sobre grande y rígido, bien protegidas; y me han tardado sólo 3 días en llegar desde los USA. Por desgracia, aunque la pegatina es de la medida exacta en altura, se queda un poco estrecha en los bordes.

Otro gran detalle por parte de la empresa es el hecho de que no te cobran gastos de envío para pedidos superiores a $30, aunque sea un pedido internacional. Bien por ellos.

Uno de los motivos que he elegido es la Gran Ola en Kanagawa, de Hokusai. Siempre me ha gustado esta imagen, aunque el arte japonés no es que me emocione precisamente... pero claro, según el autor del primer vínculo que enlazo, la Gran Ola es un ejemplo de arte muy poco japonés.

De momento, como solución temporal, me va bien. Ahora, no descarto encontrar un equivalente en Madrid a NVous, un taller de aerografía en el que se atrevan con mi portátil.

Hmmm... y después de googlear un rato, algo hemos encontrado. Seguiremos informando.

HTC TOUCH

Published 43 weeks, 3 days ago
Tue Sep 04 2007

Llevo ya casi un mes con nuevo teléfono, un HTC Touch. Tiene todo lo que se puede esperar de una PDA-teléfono hoy en día: en cuanto a hardware incorpora 64 Mbs de ROM y 128 de RAM, lo que puede parecer corto pero se compensa con la tarjeta microSD de 1 giga incluida de serie, micro Texas Instruments a 201 MHZ (sin duda, su punto más flojo), pantalla TFT de 2,8'' a 240x320 de resolución, cámara de vídeo y fotos de 2 megapíxeles, teléfono tribanda GSM/GPRS/EDGE, Bluetooth, Wi-Fi. En cuanto a software, Windows Mobile 6, con Outlook Mobile, Pocket MSN, IExplorer, Agenda, Calendario, Media Player 10, visualizadores de PDFs y PPTs y Office con Excel Mobile y Word Mobile.

Eso por no mencionar el software realizado por HTC para incluirlo en la PDA de serie, que es lo que la diferencia de las demás y lo que ha hecho que muchos lo traten como competencia directa del iPhone o incluso como iPhone killer: el TouchFlo.

TouchFlo es un software que activamos mediante un movimiento ascendente del pulgar y nos muestra mediante una animación ascendente uno de los siguientes tres paneles: contactos más frecuentes, atajos a funciones más usuales y atajos directos a multimedia. Podemos pasar de panel a panel deslizando el pulgar de un lado a otro de la pantalla, con lo que haremos que la pantalla rote y nos muestre el siguiente panel (muy parecido a Beryl en Linux). Para cerrar TouchFlo, bajamos el interfaz deslizando el pulgar de arriba hacia abajo.

Pero mejor lo veis. En efecto, justo debajo de estas líneas tenéis el primer videocast realizado por este humilde picacódigos. Sin guión, completamente improvisado y con una iluminación pésima; aunque realizado después de muchos intentos y con mucho cariño. Sed indulgentes. :)

Nota aclaratoria al vídeo: no he desinstalado la opción de Contactos de Windows Mobile 6 (me he confundido) sino que PocketCM es una aplicación que sustituye la funcionalidad de contactos estándar de Windows Mobile 6.

Como habéis podido ver, tanto el TouchFlo como el plugin para la pantalla Today son ni más ni menos que eso: añadidos al sistema operativo subyacente, que es Windows Mobile 6. Son buenos añadidos, pero no sustituyen al SO con el que hay que enfrentarse tarde o temprano.

En cuanto a la inevitable comparativa con el iPhone, pues yo sinceramente creo que el HTC Touch pierde en algunos aspectos... y gana en otros. No puedo hacer una comparativa a fondo porque, por desgracia, no tengo a mano un iPhone. Pero por la multitud de vídeos disponibles en YouTube, así como los miles de reseñas disponibles por toda la web creo que todos nos podremos hacer una idea.

El iPhone tiene una mejor capacidad de respuesta, y deja en evidencia el peor punto negro del Touch: lo débil de su procesador. Aunque no lo he mostrado en el vídeo, los elementos multimedia (MP3 y vídeos) tardan en cargarse, defecto que podemos achacar directamente al procesador.

Pero en prácticamente todas las comparativas (y los comentarios al respecto) la principal queja de los que afirman que el Touch es una basura y el iPhone es el gadget que revolucionará a la especie humana se centra en el interfaz y el sistema operativo. Se nos muestra que el iPhone es completamente manejable con el dedo, no requiere un puntero. De hecho no tiene un puntero. De hecho no admite un puntero. También se dice hasta la saciedad que el interfaz del iPhone es bonito, vistoso, intuitivo. Puntos todos ellos completamente ciertos.

Pero lo que dichos comentarios fallan en afirmar es que el sistema operativo del iPhone es un subconjunto del OS X específicamente diseñado para este gadget y sólo este gadget. Esto es importante, y ahora volveré a incidir en ello.

Por el lado del Touch, tenemos el feo y maligno Windows Mobile 6. En mi modesta opinión, cualquiera que diga que Windows Mobile 6 es feo es que no ha probado ninguna de las versiones anteriores. Hay que reconocer que, efectivamente, no es tan vistoso como el OS X para iPhone. Pero es que no ha sido diseñado específicamente para el HTC Touch, ni siquiera para HTC, ni siquiera para un teléfono. Es un sistema operativo genérico para multitud de PDAs; de hecho, para una aplastante mayoría de PDAs. Y de todas las PDAS que llevan Windows, la mayoría no tienen pantallas táctiles, y su único método de entrada es el puntero. ¿Para qué entonces diseñar un interfaz con botones grandes para manejar con los dedos? HTC ha ampliado las capacidades de Windows Mobile 6 mediante el TouchFlo, nada más y nada menos, no ha creado un sistema operativo completamente nuevo diseñado a medida de las capacidades de su teléfono.

Y ésta es la principal razón por la cual cualquier comparativa entre iPhone y Touch, sobre todo si la centramos en su interfaz de usuario, es tremendamente injusta.

Pero sinceramente creo que lo que los maqueros consideran la principal desventaja del Touch es precisamente su mayor virtud. Gracias a que Touch lleva Windows Mobile 6 como su sistema operativo, puedo escoger cualquiera de las muchas y muy variadas ofertas de software disponibles en el mercado para mejorar y personalizar a mi gusto el teléfono. ¿Que el Explorador de Windows que viene por defecto con Windows Mobile 6 no me gusta? Sin problema, me instalo Total Commander CE. O PocketCM en lugar de los contactos. U Opera en lugar de IExplorer. En cambio, el iPhone es una plataforma completamente cerrada, que el único desarrollo de terceros que admite son widgets basados en programación Web. Como de costumbre, Apple controla desde el principio hasta el final todos los aspectos relacionados con su producto, lo que me parece muy loable. Pero es algo que innegablemente resta capacidad de maniobra al usuario. ¿Eres usuario de iPhone y no te gusta el teclado que incluye (por ejemplo)? Pues ajo, agua y resina. A joderse, a aguantarse y resignación; como dirían en mi pueblo.

Multitud de usuarios de iPhone (y de Apple en general, intentad cambiar la batería de un iPod, por ejemplo) parecen contentos con esta pérdida de libertad. Me parece muy respetable y me alegro mucho por ellos. Yo no trago.

No quiero terminar sin poner una lista de los programas de terceros que tengo actualmente instalados en el teléfono. Son éstos:

  • PocketCM.- El Pocket Contact Manager es una aplicación diseñada para mejorar la interfaz del manejo de contactos de la PDA. Freeware.
  • PocketCM Keyboard.- De los mismos creadores de PocketCM, un método de teclado alternativo diseñado expresamente para usar con los dedos. Freeware.
  • Total Commander CE.- Uno de los mejores sustitutos del Explorador de Windows. Incorpora un compresor/descompresor de ficheros, entre otras muchas opciones. Freeware.
  • Keepass for PocketPC.- El gestor de contraseñas e información confidencial de código abierto, portado a PocketPC. Imprescindible.
  • XnView Pocket.- Gran visor de imágenes. Capacidad para hacer slides, conversiones de ficheros y algunos retoques. Freeware.
  • PHM RegEdit.- He probado varios y éste es, con diferencia, mi editor de Registro favorito para Windows Mobile. Buscando el link para esta entrada compruebo que el autor tiene más software para PPC y escritorio. Habrá que probarlo. Freeware.
  • Spb Backup.- Spb Software House son de lo mejorcito en cuanto software para PPC. Su backup tiene una característica diferenciadora: guarda los ficheros de backup en formato ejecutable, por lo que después de un hard reset no necesitas reinstalar la aplicación para recuperar el fichero de backup: es en esencia una imagen que ejecutamos para recuperar de forma simple toda nuestra información y programas. Por $19.95 es un regalo.
  • SPb GPRS Monitor.- Como su nombre indica, es un monitor de tráfico GPRS, al que podemos configurar con las tarifas de nuestro operador de telefonía para controlar el gasto con este servicio. Aunque su precio es de $19.95, ésta me ha salido gratis: viene incluida con el software del Touch.
  • DVD Profiler Mobile.- Como compañero natural del DVD Profiler que tengo instalado en el escritorio, gracias al Profiler no volveré a comprar películas repetidas... 'nuff said. No es muy caro ($18,95), pero es prácticamente inútil sin la versión de escritorio, que cuesta otros $29,95.

Y de momento estos programas me proporcionan toda la funcionalidad que necesito en mi móvil. Más adelante, si quiero, puedo buscar e instalar más. O puedo usar el .NET Compact Framework para hacerme mis propias aplicaciones. O usar cualquiera de la multitud de trucos disponibles en el inestimable foro de XDA-Developers (el Touch viene designado como Elf, que era su nombre cuando estaba en desarrollo), y en el foro de TodoPocketPC tenéis alguno de los trucos de XDA traducidos.

En resumidas cuentas, el HTC Touch me gusta. Es un teléfono que para un uso diario va más que sobrado de funcionalidad y capacidades y me veo con él mucho tiempo. Claro que, si este rumor es cierto, a lo mejor cambio de teléfono antes de lo previsto. :)

Actualizando

Published 44 weeks, 3 days ago
Wed Aug 29 2007

En pleno periodo vacacional, compruebo sin sorpresa que llevo casi dos meses sin actualizar el blog. Como de costumbre, no consigo establecer un ritmo de actualización en condiciones, pero en este caso le echaremos la culpa al verano, que siempre en muy socorrido.

Toca poneros al corriente. A ver, ¿qué ha pasado en este tiempo que llevo sin actualizar?

Bueno, lo primero y principal ha sido un cambio de trabajo. Ya no trabajo más para éstos, ahora lo hago para éstos. El cliente, lógicamente, ha cambiado; así como mis funciones. En mi anterior empresa estaba como jefe de proyecto (y único analista, y único programador, y único diseñador, y... en fin, creo que captáis la idea) de la proyectada y ansiada intranet: esa herramienta que, a fuerza de pedir, creo que mi ex-jefe quería que dirigiera la empresa ella solita. El estar como responsable único de todo un proyecto tiene una ventaja principal: tú decides la arquitectura a usar. En mi caso, monté un MVC con ASP.NET y AJAX, con SubSonic como OR/M. Estoy trabajando en un post/tutorial sobre SubSonic, del que prácticamente no hay documentación en castellano, aunque no os puedo prometer cuándo estará terminado para colgarlo. Permaneced atentos.

Otra cosa de lo que me gustaría hablar es de lo rematadamente mal que está dirigida mi ex-empresa. No es de extrañar la fama que tiene, el enorme porcentaje de proyectos que acaban mal, a destiempo o sencillamente no acaban (aunque ése es un mal endémico de la profesión), el espeluznante porcentaje de rotación, sobre todo en puestos de gerencia, las vergonzantes condiciones laborales, en cuanto a sueldos, ergonomía, materiales de trabajo, lo increíblemente chapucera que es su organización, la completa inexistencia de objetivos a medio o largo plazo. Pero no os confundáis: en esa empresa hay grandes profesionales (hasta gente con carrera y todo, no como otros :) y (casi) todos sus problemas emanan de la misma fuente. Me encantaría explayarme a este respecto, de verdad que requeriría una serie de entradas ya que el surrealismo es difícil de explicar; pero francamente le tengo mucho miedo a cierto bufete de abogados...

Pero como se suele decir ése ya no es mi problema. En mi nueva empresa (en la que, de momento, estoy muy bien) vuelvo a estar integrado en un equipo, lo que implica que tengo que afrontar decisiones y elecciones que no son las mías y con las que puedo estar más o menos en desacuerdo, pero es lo que hay. Volver a formar parte de un equipo, en contraste con el año y pico último en el que he estado trabajando en modo Llanero Solitario tiene también sus ventajas: la primera y obvia, un descenso en el nivel de responsabilidad, por lo que si comparamos el nivel de stress de mi nuevo trabajo con el anterior es casi como si estuviera de vacaciones. La segunda ventaja es más sutil aunque más importante: aunque no estés de acuerdo con las decisiones de arquitectura, diseño de BDDs o código que toman en tu lugar, siempre puedes aprender algo de ellas. Yo, por ejemplo, estoy aprendiendo que no me gustan absolutamente nada los ObjectDataSource.

Y siguiendo con las actualizaciones, ayer mismo vi un video que me dejó absolutamente pasmado:

Redimensionado de imágenes inteligente, sencillamente impresionante.

Y para terminar con una nota de humor, ¿quién dijo que Microsoft no sabía hacer anuncios graciosos? (Visto en el blog de Fabio Pedrosa)

ReMIX '07 (II)

Published 56 weeks, 2 days ago
Wed Jun 06 2007

La primera sesión del martes, segundo y último día del ReMIX '07 en Madrid, empezó con la ponencia de Arturo Toledo sobre estándares Web y su uso en Expression Web. Sinceramente, fue un poco aburrida: creo que Arturo dedicó demasiado tiempo a hablar de cosas demasiado básicas como XHTML y CSS y luego le quedó poco tiempo para demostrar cosas con un poco más de fundamento, como las capacidades de Expression Web para las transformaciones XSL. Por desgracia, me enteré ayer por la tarde de lo que ha comentado Jon Galloway en su blog: el formato estándar SVG es incompatible con Expression. Demasiado tarde, por tanto, para preguntar en el ReMIX sobre esto. Afortunadamente, Arturo Toledo estaba repartiendo tarjetas de visita como si fueran caramelos, y fue en todo momento muy amable y nos instó a todos a que lo torpedeáramos a preguntas, dudas y sugerencias sobre la suite Expression; así que le he tomado la palabra y le he preguntado sobre este particular por correo. A ver qué me responde, cuando vuelva de sus merecidas vacaciones. =)

MiGs in Action!Después de la sesión de Toledo, Miguel Jiménez nos dió caña con una sesión sobre AJAX y patrones. Mediante un ejemplo de Accordion picado a mano (es decir sin usar el incluido en el AJAX Toolkit) Miguel nos demostró las bondades de la separación de lógica y presentación, llegando al mejor extremo: encapsular todos nuestros scripts y demás lógica en un extender de control de servidor. También nos enseñó a manipular, y crear, para aquellos controles AJAX que no lo hacen automáticamente, el historial de navegación de la página, usando JavaScript y un control de las futures de AJAX. Un control desarrollado por él llamado UpdateIndicator, necesario porque a veces los controles AJAX responden demasiado bien y el usuario no se ha enterado de que ha pasado algo. Habló también sobre JSON, mashups, consumición de servicios, etc...

 Después de la sesión de Miguel, tocaba una charla sobre cómo consumir servicios de Microsoft como Live, búsquedas, etc. Sinceramente, yo estaba bastante machacado y tenía ganas de que me diera el aire, comer tranquilamente y esas cosas. Así que me escaqueé de la sesión, cogí la Gran Vía para arriba y terminé, como no podía ser de otro modo, en la Casa del Libro:The Pila! donde, claro está, piqué. De arriba a abajo, los libros son:

  • Los viajes de Tuf, de George R. R. Martin.
  • The Prestige, de Christopher Priest. La película me encantó, y me llevaban meses hablando bien del libro.
  • Fight Club, de Chuck Palahniuck. 'Nuff said.
  • The Terror, de Dan Simmons. Me leo todo lo que cae en mis garras de este hombre, y raramente me ha defraudado. Éste es sobre la expedición de Sir John Franklin, en los barcos Erebus y Terror. Promete.
  • The Armageddon Rag, otro de George R. R. Martin, de quien también me leo todo lo que pillo.
  • Por último, ese tomaco con florecillas en la portada no es un manual de horticultura ni una novela romántica, sino lo último del maestro Stephen King: La historia de Lisey. Como casi siempre, demoledor.

Por cierto, qué bien se está sentado a la sombra en un banquito, leyendo con mi cigarrito sin prisas, sin agobios; y viendo a la gente pasar. Ay, por un rato me dió la impresión de estar de vacaciones. Ah, espera: estaba de vacaciones... XD

Pero estoy desbarrando.

Al volver de comer, volvimos a vernos las caras con David Carmona y sus demostraciones sobre WPF. Posiblemente sea porque mi experiencia previa ha sido principalmente con el escritorio y programar para la Web no me gusta y nunca me ha gustado, posiblemente sea porque el resto de las tecnologías presentadas en el ReMIX me van a obligar a estudiar mucho JavaScript, al que odio cordialmente. Vete a saber porqué razón es, pero lo cierto es que las demos de WPF fueron, con mucho, lo que más me ha impresionado de este ReMIX '07. Es más, sabiendo que vas a poder tener en el escritorio aplicaciones con interfaces vistosos, visuales, dinámicos, vivos, en tres dimensiones, que podrán auto-actualizarse (como cualquier otro programa .NET) gracias a ClickOnce, que podrán consumir servicios Web, etc., etc. la duda que me asalta no es si el escritorio está muerto, como dicen Joma y Joel Spolsky; es cómo puede querer cualquiera programar para la Web. ¿Teniendo descargado un lector WPF como el del NYTimes o el de Marca, autoactualizable, con funcionalidad offline, y todo el eye-candy de WPF, quién demonios va a ir a su página web?

Pero sigo desbarrando.

David Carmona nos contó, y nos demostró, cómo hacer enlaces a datos en WPF; cómo hacer bordes que se apliquen a cualquier otro control de nuestra aplicación, cómo hacer propiedades propias para un Canvas (el equivalente a un control Panel en WPF) y hacer que todos los controles que están dentro de ese Canvas adquieran esas propiedades. Al hilo de esto, una demo de lo más simple que me dejó con la boca abierta: creó un control llamado Panel Radial e introdujo un simple control ListBox de los de toda la vida dentro de él. Por estar dentro de un panel radial, los elementos del ListBox se mostraban en círculo, de forma radial. Tan simple como eso. Estuvo mostrándonos algunos controles de teceros ya en desarrollo para WPF (aquí el que no corre, vuela, demonios) y hay auténticas virguerías. En fin, os aseguro que WPF es el futuro. Yo no soy ningún gurú, no soy ningún Spolsky; pero imaginaos el escenario: aplicaciones empresariales con toda la potencia de .NET y toda la capacidad de maniobra (más, incluso) de Flash pero en el escritorio. Se venden solas. Me las quitan de las manos, señora.

Por último y como cierre del ReMIX, David Salgado nos hizo otra contundente demo de AJAX avanzado. Nos cuenta cómo debemos distinguir entre el uso condicional o no del refresco de un UpdatePanel, David DJ! como podemos forzar el refresco de un UpdatePanel mediante triggers, cómo depurar JavaScript hoy mismo con Visual Studio .NET (haciendo alguna instalación extra, aunque Orcas traerá compilación JS de serie) y los nuevos espacios de nombres (Sys.Debug) para JavaScript creados por Microsoft, prototipos, PageMethods, JSON y un montón de cosas más que debo confesar que no entiendo del todo y que hacen que se refuerce mi impresión de que, para mi desgracia, al final voy a tener que aprender JavaScript. Sigh.

Resumiendo, el ReMIX ha sido una buena ocasión para ver por dónde van a ir los tiros próximamente y qué es lo que hay que ponerse a practicar ya. Al turrón, caballeros.

Actualización 08/06/2007.- Arturo Toledo me ha respondido. Ante todo, quiero agradecer y admirar la dedicación, profesionalidad y amabilidad de una persona que se toma el tiempo a responder a preguntas impertinentes estando de vacaciones: ¡gracias, Arturo! Por desgracia, Arturo me confirma lo que había adelantado Jon Galloway: Expression Studio no soporta SVG out-of-the-box. Aunque lógicamente podremos utilizar ficheros SVG en las páginas que diseñemos mediante Expression Web, no podremos modificarlos mediante Blend. No creo que tarde mucho nadie en crear un buen conversor, por otra parte.

Actualización 13/06/2007.- Aunque todavía no hay nada, ésta es la dirección en la que próximamente se colgarán los vídeos que nos prometieron...

Picacódigos el Gris

Published 85 weeks, 3 days ago
Wed Nov 15 2006
Todas las mañanas, cuando entro a trabajar, me encuentro con gente esperando a que los entrevisten para entrar a trabajar en esta santa casa. Y siempre me pasa lo mismo; me entran unas ganas tremendas de entrar en la sala, mirarlos con ojos desorbitados y exclamar: "¡¡Huid, insensatos!!", como si fuera Gandalf en Khazad-Dûm.

Me pregunto por qué será.

Viernes

Published 94 weeks, 1 day ago
Fri Sep 15 2006
Pillad el fallo de ésta portada de la revista Mundo Linux.

He he heeeeeee...

Gracias, Víctor.

Vacaciones

Published 100 weeks, 16 hours ago
Fri Aug 04 2006
Escribo esto desde mi portátil, al que estoy dando los últimos retoques para llevármelo de viaje. Dentro de escasamente tres horas salgo de viaje, rumbo a dos merecidas semanas de vacaciones, en las que espero disfrutar del sol, la playa, la piscina, mis amigos y... la programación. Pero por gusto, por vicio, sin que nadie me diga lo que tengo que hacer o cómo tengo que hacerlo.

Buenas vacaciones a todos.

Hasta los mismos

Published 102 weeks, 4 days ago
Tue Jul 18 2006
Estoy AGOTADO con el tema Windows/Linux, en serio. Llevo unos cuantos días discutiendo en varios blogs y foros y es que no hay manera, no hay nada que hacer. La comunidad libre no tolera la disidencia, y a la mínima que alguien sugiere que está con el Imperio del Mal pues ya es un vendido, un sicario mafioso, un inútil, un facha, etc... Y no exagero nada: me han llamado, con esas mismas letras o insinuándolo, todo eso en esta semana pasada.

Sólo por disentir de la opinión establecida. Sólo por no estar de acuerdo con ellos. Sólo por no querer comulgar con ruedas de molino.

Pues vaya con la comunidad libre. Qué poquito les gusta la libertad de los demás.

Y no quiero prolongar más este tema.

Ésa y no otra es la razón por la cual, y como medida excepcional, los comentarios de esta entrada y la anterior quedan cerrados. Si ellos (¡¡cómo me jode que tarde o temprano todo se convierta en un nosotros contra ellos!!) tienen el derecho a juntarse en manadas y apedrearme públicamente por tener una opinión distinta a la suya, me concederéis el derecho de mandaros a todos lejos, muy lejos y de ignoraros.

Hasta más ver, comunidad libre. No ha sido un placer.

¿Qué has hecho este finde?

Published 103 weeks, 5 days ago
Mon Jul 10 2006
Como los lectores de Velocidad de Escape ya sabréis si leéis también los comentarios, ando estos días liado probando una distribución de MonoDevelop, el IDE para programar con C# en escritorios Gnome. Arranco el Synaptics, un gestor de paquetes de Ubuntu para descargar e instalar programas; y busco "MonoDevelop". Me carga una lista con los paquetes que ha encontrado bajo tal nombre, y yo marco el que parece el principal. Automáticamente, Synaptics detecta que ese paquete principal tiene una serie de dependencias y me avisa de que va a marcarlas también. Correcto, no problemo. Pulso en Aceptar y Synaptics se pone a descargar los paquetes de algún sitio que desconozco y que, de momento, no me importa. Luego se pone a configurarlo, supongo, y voilá! Ya tengo instalado MonoDevelop. Efectivamente, al navegar por el menú de Ubuntu hasta Aplicaciones, Programación veo que se ha añadido un icono de MonoDevelop que al pincharlo funciona y me arranca el entorno de desarrollo. Perfecto. Fantástico. Maravilloso. Nótese que en ningún momento he tenido que hacer una búsqueda de absolutamente nada en Internet, ni preocuparme de ir a ningún sitio como SourceForge a bajarme ningún binario, ni fuente ni nada de nada, que luego tuviera que buscar por el disco duro y hacer doble clic para instalar o, aún peor, tener que recompilar o configurar manualmente o demás zarandajas. Buscar, click e instalar. Una simplicidad tan absoluta que parece Zen: éste es el camino.

Desgraciadamente, también ha sido la notable excepción del fin de semana. Lo primero, el tema de mi tarjeta Wireless, que no he sido capaz de hacer que funcione. De ningún modo; y he mirado Wikis, páginas, tutoriales e incluso he consultado en IRC1. Y aquí es donde se ha hecho evidente uno de los puntos débiles de Linux. Mi tarjeta wireless tiene un chipset Atheros: dependiendo de con quién hablases o qué web consultaras, el chipset Atheros era estupendo para Linux o no funcionaba ni para atrás. Según algunos, era imprescindible utilizar ndiswrapper y para otros no, para otros era el MadWiFi que, incidentalmente, es el que he probado yo sin resultados. Bueno, he conseguido que vea una red que no es la mía ni la de ninguno de mis vecinos, y no tengo ni puñetera idea de dónde sale. Ya es algo. Y yo no hacía más que preguntarme si esa diversidad de opiniones (en cosas que no admiten opiniones, ojo: 2 más 2 son cuatro, un chipset funciona o no funciona) iba a ser la excepción o la norma. Parece ser la norma, y eso se me antoja difícil de tragar para un hipotético futuro nuevo usuario. Ya sé que la culpa es del fabricante de la tarjeta PCMCIA, que no publica drivers para Linux. Pero cuando un fabricante hacía malos drivers para Windows, y esos malos drivers producían pantallazos azules, ¿a quién le echáis normalmente la culpa? Pues eso.

Después, las instalaciones. Como no sabía muy bién que hacer con ese sistema operativo nuevo y flamante, me he puesto a instalarle cosas. Y, como ya he dicho antes, lo de MonoDevelop ha sido un espejismo. No niego que la mayoría de las veces que algo no me ha funcionado (por ejemplo, compiz) haya sido por negligencia mía. Pero un fin de semana de manipular configuraciones, aprenderme el sudo gedit /usr/bin/archivo o el sudo apt-get update pues no ha sido muy divertido. Más que nada por dos razones: la primera, la frustación. Si después de seguir un tutorial de cómo instalar y/o configurar algo a pies juntillas consigues que funcione, pues estupendo: no te importa el tiempo que has tardado en hacer lo que otros consiguen con un doble click, porque al menos te queda la (falsa) impresión de que estás aprendiendo. Y la segunda razón es, también, la frustración: tienes que seguir como la Biblia un tutorial que te dice que ahora tienes que hacer un apt-get, y luego hacerle un alien al RMP para convertirlo en DEB y después editar un script de configuración y después darle permisos de ejecución a ese script,... y jamás se molesta en explicarte qué estás haciendo ni por qué lo estás haciendo. Y así tampoco se aprende.

Miedo me da pensar que me queda por instalar MySQL, Ruby, OnRails, Apache, y un buen montón de cosas....


1.- Vaya desde aquí mi más sincero agradecimiento a la gente del canal #ubuntu en IRC Hispano, que me echaron una mano con paciencia y buen humor. A pesar de ser Windowsero confeso. Si me pilláis una de estas tardes trasteando con Linux, seguramente me encontraréis en ese canal. Actualización 17/06/2006.- A tenor de los acontecimientos de los últimos días, que detallo en el post del 17/06/2006, se cierran los comentarios de esta entrada.

Diferencias

Published 109 weeks, 5 days ago
Mon May 29 2006
A Gates se le puede tachar de hacer presentaciones aburridas (sobre todo siendo proselitista maquero) pero qué queréis que os diga: prefiero mil veces que me aburran en una presentación a que me traten de gilipollas. Pero es que yo soy así de raro.

Planeando el futuro

Published 112 weeks, 4 days ago
Mon May 08 2006
En este excelente artículo, Mark Pilgrim nos habla de sus actuales necesidades de backup de datos y de las que prevee en un futuro. Y considera que la solución va a ser, como mínimo, difícil.

Aunque no tengo sus mismos problemas de espacio, empezaba yo a plantearme lo mismo, así que este artículo me ha venido realmente bien. Sobre todo cuando en los comentarios he visto recomendados los ReadyNAS de Infrant, de los que Amazon es un reseller. A 2,199 dóllares el NAS de 2 Tb en X-RAID me parece muy, pero que muy apetecible. Creo que ya sé en qué me fundo mi próxima paga extra.



Además, es bonito que te cagas.

Vender humo

Published 115 weeks, 4 days ago
Tue Apr 18 2006
Atentos a la oferta de trabajo. Por si acaso retiran o modifican la oferta, copypasteo (las negritas son mías):
Cargo vacante: Comercial
Categoría: Comercial - Ventas
Departamento: DIRECCIÓN GENERAL
Número de Puestos Vacantes: 1
Descripción de la Oferta: 6 MILL ***


RBLE. DPTO. COMERCIAL

Se resposabilizará de todas las acciones comerciales de la empresa.

Será el responsable comercial, y sus funciones principales serán vender mediante realidad virtual.

Debe ser un profesional de vender ilusiones, ya que el producto se está construyendo.

*** JUNTO ESTACIÓN *** PARADAS CADA 15 MIN

DIETA PAGADA


No pasa nada si el luego el producto (en este caso, pisos o chalés) no responde a las expectativas, no pasa nada si luego el producto es una bazofia, incluso no pasa nada si al final el producto no existe. El responsable comercial ya ha cumplido, ya ha vendido ilusiones mediante realidad virtual (más claro, el agua) y ya se ha llevado calentitos los seis millones de las antiguas pesetas (espero).

Esta oferta en concreto es para una inmobiliaria, pero se puede aplicar a nuestro campo: cuántos ejemplos conocemos de comerciales que venden humo en cantidades industriales y prometen a los clientes cualquier cosa con tal de que el cliente firme y ellos hagan su venta y se lleven su comisión. Y cuando digo cualquier cosa quiero decir literalmente cualquier cosa: el pliego original de condiciones de mi proyecto actual especifica que la aplicación Web que estamos construyendo debe ser capaz de conectarse a dispositivos externos para el tratamiento de la información. Sin especificar si esos dispositivos externos se refieren a otros servidores, servicios Web, la PSP del hijo del Director General o la lavadora de su señora. Escenario virtual que puede parecer hilarante, pero que con los pliegos en la mano puede dejar de serlo rápidamente, si el cliente se pone cabezón. Y, por supuesto, el comercial original que firmó estos pliegos ya no está para al menos poder ponerle a parir: él ya vendió en su día las ilusiones mediante realidad virtual, el cliente picó y compró y ahora quiere que esa realidad deje de ser virtual, tarea que no corresponde al vendedor de ilusiones sino a los constructores de software. Que, curiosamente, en la mayoría de los casos no suelen llevarse seis millones, ni cinco, ni siquiera cuatro para arreglar los desaguisados que suelen provocar los vendedores de ilusiones.

Bug en Peeker

Published 117 weeks, 4 days ago
Mon Apr 03 2006
Acabo de darme cuenta de la existencia de un bug en Peeker, mi aplicación para la pre-visualización de imágenes desde el Explorador de Windows.

Para comprobarlo, haced click con el botón derecho del ratón en cualquier imagen de vuestro disco duro, y pinchad la previsualización de la imagen en el menú contextual de Peeker. Se os abrirá, como de costumbre, una nueva ventana con la imagen cargada a tamaño completo. Cerrad esa ventana. Ahora, intentad borrar el archivo de imagen desde el Explorador de Windows. Exacto, no funciona. Dice que no se puede borrar el archivo porque está siendo usado por otro proceso.

Sencillamente lo que ocurre es que al cerrar el formulario de visualización de la imagen a tamaño completo no libero específicamente la imagen cargada, por lo tanto Windows no encuentra el fichero libre cuando intentamos eliminarlo. No es un bug importante, de hecho ya está corregido, pero esto me ha dado que pensar.

Quiero añadir más funcionalidades a Peeker, amén de corregir este y cualquier otro error que pudiera producirse; y no quiero estar cada dos por tres añadiendo una entrada avisando de que hay una nueva versión disponible. Y tengo mucha curiosidad por implementar un sistema de actualización automática de una aplicación Windows, así que espero que muy pronto podáis descargar una nueva y definitiva versión de Peeker que se auto actualizará, para que no tengamos que estar atentos a esta clase de cosas.

Nueva Sección

Published 118 weeks, 4 days ago
Mon Mar 27 2006
Pues eso, que si os fijáis con atención en la barra de la derecha, tenéis una nueva sección: Software. En ella iré colgando (según los vaya terminando) aquellos programillas que puedan tener alguna utilidad. En ocasiones incluirán el código fuente. En otras, no. En todo caso espero que siempre sean gratuitos.

El primero en la lista es Peeker; una extensión de shell para la previsualización de imágenes hecha gracias al componente EZShellExtensions del que hablaba en el anterior post.

Espero que lo disfrutéis.

Actualización 29/03.- Mike Gunderloy ha sido tan amable de comentar la existencia de Peeker! Gracias, Mike!

HP y sus garantías

Published 119 weeks, 3 days ago
Wed Mar 22 2006
Recientemente, he tenido un problema en casa con el disco duro principal de mi equipo de sobremesa. La máquina es un HP Pavillion W5080.es, con un disco duro principal Maxtor de 200 Gbs.

El problema ha venido a ser, principalmente, que el disco duro ha muerto. Al rato de estar funcionando, comenzaba a oírse un sonido de rascado, el LED de lectura del disco duro estaba constantemente iluminado, el equipo reducía su velocidad de respuesta a tiempos desesperantes hasta que finalmente me veía obligado a reiniciar. Y, al reiniciar, el equipo no respondía.

Después de pensar que habían sido virus (y no descarto haberme comido algún virus revienta-sectores-de-arranque en mi breve etapa de beta-tester del IE7, maldita sea su estampa), pues toca formateo del disco duro y reinstalación de todo. Después de hecho esto, vuelta a las andadas: el disco duro sigue fallando, esto no es un problema de software.

El equipo tiene menos de un año, así que llamada al servicio técnico. Primero, al Corte Inglés, donde me dicen que son los de HP los que me tienen que resolver la papeleta. Luego, después de una pequeña labor de investigación (tienen varios teléfonos distintos para atención al cliente) me atiende una abnegada teleoperadora, y la conversación es más o menos como sigue:

Yo.- Buenas, mira tengo un problema con el disco duro. Me ha empezado a ir muy lento, me fallaba. Entonces he reinstalado el sistema operativo y ahora no arranca. Intento diagnosticar a ver qué le pasa con herramientas externas(*) y me da la impresión de que está averiado, habrán fallado los ...
Ella.- ¿Qué sistema operativo dice que ha instalado?
Yo.- Bueno, pues el Windows XP Profesional. Es que el Home no me sirve y...
Ella.- Entonces, ¿no ha restaurado el sistema desde la partición de restauración que el equipo tiene preparada?
Yo.- No. De hecho, desinstalar ese sistema operativo, eliminar esa partición e instalar otra versión del SO fue lo primero que hice al comprar la máquina. A mí el Home no me vale de nada...
Ella.- Entonces, HP no puede responsabilizarse de la garantía de su máquina. HP ha testeado el hardware que pone a la venta con Windows XP Home Edition, y si usted ha instalado otro sistema operativo nosotros no podemos garantizarle que sea compatible.
Yo.- ¡Pero si es el mismo sistema operativo con distintas herramientas!
Ella.- No, es otro sistema operativo.
Yo.- (Cansado de la conversación y oliéndome la tostada) Muy bien, buenos días.

A pesar de sus diferencias, Windows XP Home y Professional Edition son el mismo sistema operativo. El mismo kernel. Las diferencias son las herramientas que te puedes instalar con uno u otro: entre otras cosas, con Windows XP Home no puedes instalar el Internet Information Server. Y supongo que a SQL Server le dará la risa si intentas instalarlo en un sistema operativo no servidor.

Me parece muy bien que los señores de HP se ahorren los CDs (y los manuales) de Windows XP Home original, aunque bien que te los cobran; y te monten una partición de recuperación para que puedas restaurarte el XP Home desde ahí si tienes algún problema. Lo que no me parece de recibo es que tengas que buscar en Internet los drivers porque no vienen con el equipo. Efectivamente, no trae el consabido CD de drivers: están en la partición de recuperación. Si quieres instalar otro SO (un 2003 Server) tienes que pedir el CD de drivers a HP, que te lo envía previo pago de su importe, claro.

Lo que no me parece de recibo es que te digan que un edición (Home o Professional) de un sistema operativo (Windows XP) no es compatible con su hardware. Si les hubiera llamado para decirles que no me funcionaban los drivers de la tarjeta de sonido con una Mandriva(**), pues me podrían haber mandado muy educadamente al guano y con toda la razón del mundo: es un sistema operativo completamente distinto. Pero escaquearse vilmente de un problema de hardware diciendo que es culpa mía y que sus equipos están testeados con Windows XP Homer, pero no con el Profesional me parece de un descaro manifiesto por su parte.

Pero lo que más me duele de todo: ¿cómo es posible que una marca como HP te venda un equipo de tales prestaciones profesionales, luego le ponga un sistema operativo de juguete y espere que nos quedemos tan anchos? ¿Es que sus clientes sólo compran equipos para jugar al Age of Empires o bajarse vídeos porno de Internet? Ya que me he gastado la pasta que cuesta el equipo, ¿creen que no me gastaré un poco más para tener un sistema operativo que me permita hacer lo que quiero hacer? Y, ya que lo estoy pagando, a ser posible con su CD y sus drivers y todo, oiga...

El problema, por cierto, ya está solucionado. Me he comprado un disco duro Seagate de 200 Gigas, lo he pinchado, reinstalado todo y a tirar: llevo unos cuantos días funcionando de nuevo a toda máquina con mi Pavillion y su incompatible Windows XP Profesional. Y a tomar vientos el servicio técnico. Pero eso sí, cada vez que pienso en HP y sus servicio técnico estos días, se me ocurre que el acrónimo HP no significa precisamente Hewlett-Packard.
(*) Concretamente con algo llamado miniPE Windows XP LiveCD.
(**) Precisamente y aprovechando la coyuntura en una de las reinstalaciones intenté instalar una Ubuntu Linux. Instalo el Windows XP, hago una partición de 10 gigas ex-profeso para Linux, arranco con el CD de Ubuntu dentro y a medio camino de la complicadísima instalación me dice que ha habido un problema (que me busque la vida para averigüar qué problema ha sido, Ubuntu no me lo especifica) y que no instala. Y no sólo no instala, sino que además me ha jodido el sistema de arranque de Windows. Así que otra vez... Pero claro, ya se sabe que estas cosas de Linux sólo me pasan a mí, que lo veo con malos ojos. Menos mal que esta vez tengo testigos.

Diseño, Personas, y otras cosas

Published 125 weeks, 1 day ago
Thu Feb 09 2006
Bueno, pues esto ya va pareciendo un blog en condiciones. Añadidos los vínculos a los blogs técnicos que leo habitualmente, añadida una página de Acerca de..., añadidos algunos otros vínculos de interés general, añadido el nuevo estándar de icono de sindicación, para algo en lo que IE y FF se van a poner de acuerdo...

Hoy ha sido un día activo en cuanto a lecturas. Por un lado, a pesar de que ya conocía a Mort, me entero de que también existen Elvis, Einstein y ahora Hugo. Pues sí que estamos bien.

Decidido definitivamente a dejar de ser Mort o hacerme granjero en el intento, qué casualidad que Scott Reynolds ha comenzado a publicar una serie de artículos básicos sobre OOP. Le he pedido permiso para traducirlo al español, y me lo ha concedido muy amablemente.

Próximamente, aquí.

IE7 Beta 2

Published 126 weeks, 2 days ago
Thu Feb 02 2006
Anoche pude por fin (es lo que tiene no tener suscripción a MSDN, que te toca esperar) instalarme en casa la Beta 2 Preview de IE7. Si vais a descargarla y probarla, dos precauciones a tener en cuenta: el sistema operativo tiene que ser Windows XP SP2 o Windows 2003, no funciona en Windows 2000. La segunda, que requiere que vuestro Windows pase el filtro de la validación de software original de Microsoft. Y no, esta vez no se puede ignorar el chequeo y continuar con la instalación.

Me ha gustado, la verdad. Mucho. No lo he probado en exceso, nada más que mi navegación de todos los días cuando llego a casa; a saber, Bloglines, GMail, los links interesantes que me hallan llegado por correo y poco más. Lo voy a probar mucho más en próximos días, porque ya ha destronado a Maxthon como mi navegador predeterminado, así que si veo algo interesante lo contaré por aquí, sin duda. De momento los hard-core users de Internet Explorer tendremos que acostumbrarnos a que Mayúsculas + Click abre un vínculo en una ventana nueva y Control + Click en una pestaña nueva.

Y una cosa curiosa: tenía almacenados en Favoritos precisamente esta dirección de Internet, www.picacodigos.com; pero la tenía guardada sin el http://. Pues IE7 no lo reconocía como un vínculo válido precisamente por eso.

Actualización 08/02/2006: Es muy beta. Me gusta, es funcional y está muy bien diseñado y cuando sea un producto terminado lo usaré sin lugar a dudas... pero por ahora me ha dado demasiados errores. De vuelta a Firefox. Sigh.

Para desinstalarlo, por si acaso encontráis algún problemilla, usad Panel de Control -> Agregar o Quitar Programas, pero debéis aseguraros de tener marcada la casilla Mostrar Actualizaciones. Estará al final de la lista, justo debajo de todos los Service Packs y parches de Windows XP. Lo desinstaláis, reiniciáis la máquina y listo.

Una nueva esperanza

Published 127 weeks, 5 days ago
Mon Jan 23 2006
Bueno, pues después de un tiempo dándole vueltas aquí estoy: nuevo blog, dominio propio, nuevo motor de blog y nuevas ganas de convertir esto en algo más que las divagaciones de un picacódigos estándar.

La idea es hacer de Picacódigos un espacio mucho más técnico de lo que era antiguamente, sin que ello impida el que siga hablando de otras cosas. Me explico: el estar alojado en un servidor y no depender de Blogger ni de ningún otro motor externo me permitirá, además de introducir las entradas habituales en cualquier blog, el colgar entradas más largas con artículos o tutoriales o incluso ejemplos de código.

Ésa es, al menos, la intención.

En todo caso, sed todos bienvenidos a este nuevo alojamiento. Todavía quedan cosas por hacer, páginas por subir, el layout de la página y demás (sobre todo lo notaréis los que abráis esta página con FireFox), y actualizar el blogroll, subir iconitos, enlaces a Last.fm y esas cosas. Pero poco a poco iré haciendo de ella lo que quiero que sea.