El economista camuflado es un libro de divulgación sobre economía. Da la impresión que es un libro surgido a rebufo del éxito de Freakonomics, y si en este el tema central era el funcionamiento de la economía en base a los incentivos, El economista camuflado se centra en el funcionamiento de los mercados, los sistemas de fijación de precios y el análisis de ciertas políticas económicas relacionadas con los mismos. El libro va de lo particular a lo general, comienza preguntandose por el alto precio del café en los Starbucks y termina por hablar de la evolución de la economía en China.En la primera parte del libro, el autor intenta explicar el funcionamiento de algunos casos o situaciones reales desde el punto de vista de un economista. Los primeros capítulos están dedicados a explicar como aprovechar el poder de la escasez para poder fijar unos precios mayores que los competidores o la manera que tienen los supermercados para cobrar mas por el mismo producto.Antes de entrar en las arenas movedizas de las políticas económicas hay un par de capítulos que me han gustado mucho, y son los dedicados al pinchazo de las empresas tecnológicas en bolsa y el de las subastas de licencias de telefonía móvil.En la segunda parte, el autor se dedica a analizar cual es el mótivo de la pobreza en algunos paises pobres y que han hecho algunos de ellos para salir de esta pobreza. La verdad es que al autor le importa poco el tema de las sweatshops e incluso llega a decir que la alternativa es peor a ellas. El autor, que trabaja en el Banco Mundial, argumenta claramente a favor del libre comercio y de lo malas que son las políticas proteccionistas, sin tener en cuenta en ningún momento que lo que hay detrás de determinadas prácticas son personas que sufren las consecuencias de estas políticas.En un mundo globalizado como el actual, creo que es bueno leer libros como este para entender un poco mejor el debate sobre economía y mercados.
José Luis Sánchez
REALbasic
Cuando compré el iMac comencé a mirar como programar para OS X. Uno de los entornos de desarrollo disponibles que me llamó mucho la atención fue REALbasic, que es un producto con unas capacidades fuera de lo común, consistentes en poder realizar software multiplataforma simplemente compilando un proyecto dado indicando la plataforma para la cual se quisiera tener el ejecutable. REALbasic puede generar aplicaciones para entornos Windows, Mac y Linux. El entorno es un IDE no muy pesado, con unas opciones claras y bastante sencillo de utilizar. El lenguaje que utiliza es una evolución de BASIC orientado a objetos y el acceso a datos puede ser con una versión propia de SQLite o bien se puede conecta a distintos servidores SQL.

REALbasic es un producto comercial desarrollado por una empresa llamada REALsoftware y con sede en Austin – Texas. Existen dos versiones de REALbasic, una standard y otra denominada profesional. La edición standard incluye en entono de desarrollo en una de las plataformas soportadas, la generación de ejecutables para esa plataforma y el acceso a bases de datos SQLite. El precio de la edición standard es de 75 € en las versiones para Windows y Mac. La edición standard para Linux es gratuita. La edición profesional sí permite realizar ejecutables para las tres plataformas soportadas y añade además conectividad con diversos motores de bases de datos relacionales, encriptado AES 256 para la base de datos SQLite, depuración desde un equipo remoto, controles contenedores, auto-detección de aplicaciones en red, sockets y soporte de SSL. La edición profesional cuesta 400 €.
Desde mi punto de vista el entorno tiene carencias, sobre todo la falta de un generador de informes aunque existe un componente de terceros denominado On-Target Reports que cuenta con conexión para su uso con REALbasic. Sin embargo, lo que menos me gusta de REALbasic es su modo de distribución: cada tres meses lanzan una versión del producto, empaquetando en ese momento las funcionalidades que tienen disponibles. No hay un planning de versiones que diga qué estan haciendo o que características van a implementar en cada versión sino que lo anuncian un par de semanas antes de lanzar cada versión. Cuando compras una licencia tienes derecho a actualizaciones durante seis meses, y luego hay un plan de actualizaciones que sale más económico que ir pagando cada vez. Uno de los puntos fuertes de REALbasic es su documentación. El producto se entrega con varios manuales muy completos y multitud de programas de ejemplo.
Uno de los puntos a favor de REALbasic es cuenta con una comunidad bastante activa. Existen unos foros donde los programadores comparten experiencias y plantean problemas que encuentran en sus desarrollos. Existen multiples componentes de terceros que añaden extensiones y funcionalidades al entorno de desarrollo, entre los que destacan los plugins de Monkeybreadsoftware. El contrapunto de los plugins comerciales se encuentra en RBDevZone que aglutina tanto noticias sobre REALbasic y plugins gratuitos. También hay una publicación bimensual llamada RBdeveloper y recientemente se ha formado la Asociación de Profesionales de REALbasic.
Hay muchos blogs en inglés de desarrolladores de REALbasic, pero no he encontrado apenas sitios en castellano que hablen sobre este entorno de desarrollo. Mi intención es usar la versión de evaluación hasta conseguir un cierto dominio del lenguaje y realizar algún pequeño programa para uso personal. Si esto fructifica compraré la edición standard para Mac y liberaré los programas como software libre.
a vueltas con los libros de programación
El lanzamiento de StackOverflow, el nuevo proyecto conjunto entre los supergurús Joel Spolsky y Jeff Atwood ha recibido varios post de sus autores a modo de justificación. No cuentan exactamente en que va a consistir el sitio, pero si que es un sitio de preguntas y respuestas que va a estar relacionado con el aprendizaje de la programación. Según Spolsky los programadores hemos dejado de leer libros y el mercado de libros es muy pequeño comparado con el creciente número de programadores. Atwood da una vuelta de tuerca más, justificando ese bajo nivel de lectura en varios motivos como el bajo nivel de los libros que se editan actualmente, la inversa relación entre calidad y número de páginas, y el abuso de la formula aprende en 24 horas.
Creo que problema no es tanto la mala calidad de los libros de programación, sino el tipo de libros que se editan. A groso modo yo hago la siguiente división entre libros relacionados con la programación:
- Libros específicos. Son los libros de lenguajes o de sistemas. Cuando los compras sabes que están destinados a quedar obsoletos en un cierto tiempo, pero los necesitas para el día a día o bien para aprender algo nuevo. La mayoría de libros que se publican pertenecen a esta categoría, y son los que se compran más habitualmente, pero también son los más facilmente reemplazables por tutoriales o por manuales descargados de internet. Los últimos libros que he comprado pertenecen a esta categoría, y son Mac OS X Leopard y Beginning REALbasic aunque con este último se me ha ido la mano. En otro post contaré porqué.
- Libros de metodologías. Desde los clásicos de ingeniería de software a los de metodologías, UML o pruebas de software.
- Los libros de buenas prácticas. Aquí englobo desde los libros de diseño de interfaces, Peopleware, Pragmatic Programmer, No me hagas pensar y similares. Este grupo de libros es cuantitativamente mucho menor que los anteriores y se editan pocos libros de este tipo. Para mi la falta de este tipo de lecturas es la gran carencia de la mayoría de los programadores.
- Libros de temas colaterales. Si quieres dedicarte a vender software debes aprender de cosas como economía, marketing e incluso sociología. Ultimamente se han puesto muy de moda libros de economía como Freakonomics o El economista camuflado. Precisamente estoy leyendo este último y el próximo que tengo ya comprado para leer es La economía Long Tail, que creo que es casi de lectura obligatoria para cualquiera que se dedique a vender algo en internet.
Yo no tengo nada claro cual es el problema con los libros de informática en Estados Unidos, pero si que hay cosas que me llaman la atención sobre el mercado de los libros de informática en España. Lo primero es que la mayoría de libros editados son del grupo 1 y 2 citados anteriormente. Apenas hay libros del grupo 3 editados en castellano, y si quieres leer alguno lo tienes que hacer inevitablemente en inglés, y esto es algo que no entiendo porque los libros de este grupo no tienen una caducidad tan acusada como los libros de lenguajes o metodologías. Los libros del grupo 4 sí se traducen en su mayoría, pero por editoriales que no editan libros de informática. Sobre las editoriales que editan libros de informática casi mejor ni hablar. No se quien elegirá los titulos a publicar pero desde luego a mi me parece alucinante la proliferación de títulos sobre Photoshop y otras herramientas de diseño gráfico. Se ve que se venden bien, porque todos los meses hay novedades sobre la versión 200X HIJK del programa de marras. Pero lo de traducir los libros de buenas prácticas ni se les pasa por la cabeza.Así que entre una cosa y otra no queda más narices que ir a morir a Amazon, donde por cierto en vez de ir a comprar libros a veces parece que vaya a pescar. Muchas veces puedes encontrar libros a menos de un tercio de su precio de tarifa, con lo que antes de comprar un libro siempre hago varias incursiones para ver su cotización. Ahora mismo mientras escribo esto he comprado un libro de 39,95$ por 11,95$, con lo que puesto en casa me cuesta al cambio menos de 16€. En España los precios de los libros son fijos, y no conozco ningún sitio donde hagan descuentos con lo que todavía te puedes encontrar libros de Windows98 a su precio original.
lanzadores de aplicaciones
Un lanzador de aplicaciones es basicamente una alternativa al menú de inicio de Windows o a la carpeta de aplicaciones de OS X y permite arrancar aplicaciones mediante el teclado. Es un programa residente que se activa con una combinación de teclas y mientras escribimos el nombre de la aplicación que queremos arrancar nos muestra una lista de aplicaciones candidatas por ese nombre. Es un tipo de aplicación que no se usa habitualmente, pero que una vez te acostumbras a usarla se te hace comodísima.Comencé a interesarme por los lanzadores de aplicaciones cuando tuve mi iMac. Enseguida me di cuenta de que una de las aplicaciones que más pasión suscitaba entre los maqueros era una llamada QuickSilver. La primera idea que uno se lleva de QS es que es un lanzador de aplicaciones, pero con esta aplicación se pueden hacer muchas cosas más como manipular ficheros y aplicaciones. En la web de los desarrolladores de QS hay un montón de enlaces a tutoriales que explican como sacar todo el provecho de la aplicación, y se puede hacer con ella cosas tremendas. Yo la uso a un nivel muy básico, pero QS me ha permitido no usar el dock como lanzador de aplicaciones y tenerlo despejado, con unicamente las aplicaciones que tengo en funcionamiento.


Lo más parecido a QS que he encontrado para Windows ha sido Launchy. No es tan potente ni versátil como QS pero cumple su cometido. Lo único reseñable es que a diferencia de QS, a Launchy hay que ayudarle para que haga bien su cometido aunque la verdad es que los problemas con que se encuentra son culpa de Windows . Mientras que en Mac las aplicaciones tienen que estar en la carpeta Aplicaciones del Finder, en Windows las puedes tener en cualquier carpeta del disco duro y se pueden haber añadido a la carpeta de programas del menú inicio o no. De ahi viene la necesidad de configurar las rutas en que Launchy tiene que buscar los programas, pero una vez hecho esto el programa funciona a la perfección. El aspecto visual de Launchy tampoco está tan logrado como QS, pero algunos de los skins que trae son agradables.A mi nunca me han gustado los escritorios llenos de iconos, como tampoco me gustan las mesas llenas de papeles. Pienso que es imposible encontrar un icono cuando hay docenas de ellos en el escritorio colocados sin ningún criterio ni orden. Siempre he tenido un escritorio lo más despejado posible, con unas pocas carpetas que contienen accesos directos clasificados por temas. Con los lanzadores de aplicaciones estoy reduciendo drasticamente el contenido del escritorio y cuento con una manera fácil y cómoda de acceder a las aplicaciones.
fondos de escritorio maqueros
No llego a entender el motivo, pero hay determinados fondos de escritorio que únicamente puedo usar con Mac. No se si al resto de switchers les pasa lo mismo, pero cuando encuentro un fondo de escritorio con motivos maqueros o de algún sitio de un maquero, no puedo usarlo en Windows. Algo dentro de la cabeza me lo impide, sin que llegue a entender el motivo. Así que ahora tengo separados los fondos de escritorio que uso en uno y otro sistema.
Los fondos de escritorio que más he usado en Mac son los que aparecen a continuación. Como se ve, hay profusión de logotipos de la manzana.

Apple Grunged de Psychopulse

Apple Modern de Flarup

Apple Retro de Flarup

Apple Retro de Diegocadorin

ArtyFarty de HicksDesign

Secret Weapon de Psychopulse
cleartype y fuentes para programar
Una de las cosas que me disgusta es ver un PC con Windows que tiene las fuentes borrosas. El motivo habitual es que se le ha cambiado la resolución de pantalla a mayor, porque con la resolución óptima las letras son muy pequeñas. Las letras en monitores LCD se ven en condiciones óptimas al máximo de resolución que admiten, y si les cambias la resolución a mayor entonces se ven borrosas. El motivo es que al cambiar la resolución a mayor el pixel no coincide con el tamaño de un punto de resolución y la tarjeta se las apaña a su manera para mostrar las letras de la pantalla con lo que aparecen los llamados dientes de sierra. La solución pasa por usar el sistema de anti-aliasing de Windows y poner fuentes grandes en el sistema. El anti-aliasing en Windows se ajusta mediante un powertoy llamado cleartype tuner. Con esto se consigue tener las letras más grandes y con una mejor calidad que cambiando la resolución de pantalla. En Genbeta explican como usar este powertoy.


En el mundo Mac esto es mucho más fácil. Por defecto el efecto de anti-aliasing – que en algunos sitios se traduce por suavizado o alisado – de fuentes está activado, lo cual desde mi punto de vista es un acierto. En el mundo Windows el 80{480d580d36768405d93963bdd82c570c8132a231e8d2b870ef0b18322d1f72b2} de los usuarios ni saben lo que es el suavizado de fuentes, con lo que pierden la oportunidad de mejorar la visión de su sistema. Otra cosa que llama la atención es la diferente manera en que se aplica el suavizado de fuentes en Windows y Mac. Mi admirado Spolsky habló sobre ello y también se pueden encontrar otros post interesantes sobre el tema como este de CodingHorror.Para mi la personalización del entorno de trabajo es un tema capital, y como paso mucho tiempo con un editor el tema del tipo de letra es fundamental. No es sólo tener el anti-aliasing activado, sino usar una fuente que sea clara y que facilite la lectura del código. A raiz del post de CodingHorror sobre fuentes de letra para programar comencé a usar Consolas y para mi esta fuente es imbatible. La uso tanto en Windows como Mac y para mi es elegante, clara y bonita como ninguna otra fuente que haya usado antes para programar.

libra
A través de Genbeta he conocido Libra, un programa de catalogación personal con una pinta estupenda. Para entendernos es un Cuaderno de Bitácora con una interfaz espectacular. El programa presenta los ejemplares de nuestras colecciones como si los tuvieramos expuestos en una estantería, mostrando las carátulas o las portadas de cada uno de ellos. La introducción de datos se hace de manera automática: el programa lee el código de barras del libros, disco o video y se conecta con Amazon para recuperar los datos del mismo. Además tiene varias opciones para importar/exportar datos, y por si fuera poco es gratuito para uso personal. Una pasada, ¿ verdad ?

La realidad es que Libra es un clon para Windows de Delicious Library. Para los que no lo sepan, Delicious Library es una de las killer app del universo Mac. Es LA aplicación de catalogación personal del mundo Mac, con todos los premios del mundo mundial. Una auténtica pasada de aplicacación que exprime el API de Cocoa como pocas. La versión 2 promete ser ya la repanocha. Y lo mejor de todo es que es una aplicación original, en que los programadores han exprimido al máximo su creatividad para crear una interfaz totalmente rompedora.

Cuando veo una aplicación como Libra, la sensación es agridulce. Por una parte reconozco el mérito del desarrollador, pero por otra parte no me parece nada bien que se clone un programa. Si un programador quiere demostrar su valía debe hacerlo con una aplicación que muestre sus dotes técnicas y que sea original. Spolsky dice que los buenos programadores, aquellos a los que debes contratar, son los que hacen las cosas de manera elegante y son capaces de terminar las cosas. Clonar un programa no me parece nada elegante.
A mi me clonaron un programa y no me sentó nada bien.
un mundo sin fin
Para todos los lectores de Los pilares de la tierra el libro Un mundo sin fin es una cita ineludible. En este libro la trama sigue estando centrada en Kingsbridge, una imaginaria ciudad inglesa surgida alrededor de una catedral y su priorato. En esta ocasión los protagonistas son Merthin, hijo de un caballero convertido en pensionista del priorato tras sufrir el robo de todo su dinero, y Caris, la hija del comerciante de lana mas importante de la ciudad. El libro presenta los mismos ingredientes que Los pilares de la tierra, es decir una gran documentación sobre la época y sobre los oficios de la misma, unos personajes con los que el lector se identifica rapidamente, y una trama que gira alrededor de la vida de esos personajes con algunos giros sorprendentes pero que no se separan en exceso del argumento central. Es un libro que se lee fácil y que no se hace pesado pese a us más de mil páginas, pues la secuencia de acontecimientos se sucede con la suficiente rápidez como para mantener el interés del lector. El único pero del libro es que se parece demasiado a Los pilares de la tierra, y que el autor sigue abusando en exceso del tópico de personajes buenos que son muy buenos y de personajes malos que son muy malos.Para mi ha sido una buena novela, que no pasará a los anales de la literatura, pero que hace pasar buenos ratos con su lectura. Una novela sin grandes pretensiones, recomendada si no se tiene otra cosa mas interesante entre manos.
despliegue
El despliegue de software – deployment en inglés – es el conjunto de actividades que permiten que un determinado software se pueda usar en cualquier máquina. Muchos programadores no saben lo que es el despliegue y otros muchos confunden el despliegue con preparar un paquete de instalación de su software mediante programas como InnoSetup o similares. También existe determinado tipo de software, de acuerdo a los cinco mundos de Spolsky, que no necesita despliegue. Los programadores que hacen software interno o empotrado rara vez tendrán que preocuparse por el despliegue de su aplicación. Pero si alguna vez lo tienen que hacer, casi seguro que se meterán en un buen lio.El despliegue no comienza cuando se termina el programa, sino que debe comenzar precisamente con el comienzo del mismo. Una de las partes que más dolores de cabeza dan en el despliegue es la parte de creación de bases de datos o estructuras de datos del programa. Para que el despligue de una aplicación sea correcto debe incluir procedimientos automáticos de creación de la base de datos que vaya a utilizar, y esto debe planificarse cuidadosamente desde el inicio de la aplicación.
Hace poco hablaba con un amigo que trabaja en una empresa pública. Resulta que han hecho una aplicación interna muy buena y se la han premiado como una mejora de los procedimientos administrativos. Esto ha hecho que se conozca la exstencia de la aplicación y se la pidan de otras organizaciones similares, y ahí ha empezado su calvario. Ahora están desmontando la aplicación, pues tiene un fuerte acoplamiento con otras aplicaciones internas y no tiene sistema automático de creación de las bases de datos que utiliza. El problema de todo esto es que nunca pensaron que su aplicación iba a salir de su organismo, y no pensaron jamas en términos de despliegue. Moraleja: no importa que tipo de software hagas, piensa siempre que algún dia querrás distribuir tu aplicación. Piensa en terminos de despliegue.
Con el despliegue debes asegurarte de que tu programa va a funcionar en cualquier ordenador que cumpla unos requisitos mínimos de máquina y de sistema operativo. La creación de directorios, copia de archivos, registro de componentes, activación del programa y creación de enlaces en el menú inicio o en el escritorio debe ser completamente transparente al usuario. No hay nada más frustrante que descargarte una aplicación y tener que hacer tu los ajustes a mano para que funcione el programa y que después de un buen rato de pelearte con la aplicación no consigas hacerla funcionar. A mi me ha pasado más de una vez y se te queda muy mal sabor de boca. Si quieres evitarte problemas de despliegue tienes que intentar que tu aplicación sea autocontenida en la medida de lo posible, y que no tengas que recurrir a instalar otros componentes de terceros y menos aun que estos componentes de terceros se tengan que configurar a mano.En alanit todos los programas están hechos pensando en el despliegue. Cuando un programa arranca lo primero que hace es comprobar que existen todos los ficheros de datos necesarios para funcionar, y si alguno no existe se crea automáticamente. La instalación de nuevas versiones es no agresiva, si existen ficheros de datos del usuario el programa de instalación no copia los ficheros de datos que el programa trae por defecto. Y por supuesto, ningún paquete de instalación no se llama setup.exe.
qué pc compro ?
Mi amigo Miguel Angel Folgado se ha lanzado a la blogosfera con Qué PC compro ? En su blog habitualmente hace comentarios sobre ofertas de PC de diversos canales de distribución, resaltando sus características y sus carencias. También tiene artículos de ayuda muy buenos como ¿ Qué monitor compro ? o ¿ Qué antivirus compro ? donde hace un auténtico despliegue de conocimientos para abordar en profundidad los temas que trata. Es un blog a seguir, pues sus opiniones provienen de un gran profesional.Como a mi me gusta hacer rabiar a Miguel Angel, le digo siempre que el mejor PC que se puede comprar es un Mac