Elección de herramientas de Integración Continua

por David Cañadillas, el 27 de April de 2009

La Integración Continua es un concepto ampliamente definido en el que básicamente se pretende automatizar la construcción/compilación e integración del desarrollo de un producto software, para agilizar el ciclo de diseño-ejecución-prueba, detectando de forma óptima los errores, bugs y fallos en dicho proceso de desarrollo.

En el caso de desarrollo de software realizado por un equipo, queremos integrar nuestro código propio con el que finalmente va a ser lanzado. Para la gestión del desarrollo de todo el equipo, la integración de código, su compilación y pruebas habrá que seguir ciertas directrices, que están dentro del concepto de Integración Continua.

Una de las grandes ventajas de la Integración Continua está en el hecho de probar nuestro código “en tiempo real”. Esto está dentro del concepto Kaizen o mejora continua, cuyas ventajas se reducen en gran parte a la reducción de tiempo de integración con una fiabilidad enorme.

Los aspectos a tener en cuenta en la Integración Continua pueden resumirse a:

  • Mantener un repositorio de código
  • Automatizar la compilación e integración
  • Hacer tus propios tests
  • Commits diarios
  • Cada commit debe compilar
  • Compilar rápida y ágilmente
  • Testar en clon de producción
  • Hacerlo fácil
  • Resultados accesibles por parte de todos
  • Automatizar despliegue

Basándonos entonces en estos aspectos es importante poder realizar las tareas necesarias para disponer siempre de una última versión de nuestro código que esté testada y probada. Para ello existen herramientas software que nos proporcionarán un Servidor de Integración Continua que nos facilite la realización de esas tareas basadas en los aspectos anteriormente comentados.

Por ello, es esencial la elección de la herramienta que utilicemos para desarrollar en un entorno de Integración Continua. Esta elección vendrá determinada por ciertos criterios de selección que marcarán nuestras necesidades de desarrollo y el entorno. Estos criterios tratarán de ser lo más objetivo posibles.

Nuestros criterios a la hora de la elección estarán basados en:

  1. Características de la herramienta software, como
    • Integración de sistema de control de versiones
    • Capacidad de manejo e integración de plataformas de construcción y despliegue (Maven, Ant)
    • Metodología de feedback e informes
    • Etiquetado
    • Si soporta dependencia de otros proyectos o no
    • Facilidad de extender
  2. Fiabilidad y rendimiento. Productos opensource nos permitirán hacer pruebas de rendimiento fiables.
  3. “Longevidad” del software. Sin perder la funcionalidad y robustez de una herramienta consolidada y establecida, hay que tener una visión de futuro y pensar a largo plazo (posibilidad de extender nuestro producto o modularlo).
  4. Entorno objetivo. Hay que tener también una visión más allá de la calidad del código y no perder de vista el entorno de producción, trabajo y ejecución. Tendremos que tener en cuenta entonces los sistemas operativos soportados por los servidores, los requerimientos del sistema, el versionado y el soporte de versionado.
  5. Facilidad de uso. Aunque a veces este criterio puede ser subjetivo, el uso de consolas web, configuración a través de edición de archivos, utilización de asistentes o paneles de control vendrán determinados por los usuarios de la herramienta-servidor que va a ser utilizada y administrada.

Estos criterios de selección no deben ser rígidos y buscamos un entorno lo más flexible posible. Pero el exceso de flexibilidad puede llegar a hacer nuestro sistema improductivo y algo caótico, provocando el efecto contrario al deseado y por tanto, algo de rigidez del sistema nos puede ayudar a establecer las líneas adecuadas de actuación.

Por estas razones y según los criterios que hemos expresado para la elección de nuestras herramientas en un entorno de Integración Continua, una buena elección será el uso de Hudson como “CI Tool” (herramienta de Integración Continua) y Maven como “Lifecycle Build Tool” (herramienta de construcción del ciclo de vida).

De forma resumida exponemos las ventajas y características de estas dos herramientas para la gestión de nuestro proyecto de desarrollo de software.

Maven

De forma más detallada a nuestra introducción anterior, Maven es una herramienta de gestión y comprensión de proyectos de desarrollo de software, normalmente en Java, que nos permite compilar, testar integridad y compilación, desplegar, documentar y gestionar las dependencias de código de forma sencilla y extendible.

Maven es una herramienta abierta y libre (pertenece al Proyecto Apache) claramente orientada al trabajo en equipo, siendo esta es una de las principales razones por las que la elegimos como herramienta ideal para metodologías agiles de programación y posterior Integración Continua con otras herramientas software.

La herramienta es compleja pero fácil de usar y muy rápida a la hora de compilar y desplegar proyectos. Entre las ventajas de usar Maven como herramienta de desarrollo en el trabajo en equipo, podemos destacar:

La dependencia entre proyectos no es problema
Un mismo proyecto se puede ejecutar en distintos entornos. Sólo hay que cambiar un archivo de configuración
La integración del trabajo de desarrolladores es transparente
Hay una maximización de la cohesión del código y una minimización del acoplamiento
Fácil reutilización del código

Para los desarrolladores familiarizados con herramientas similares, como Apache Ant, Maven ofrece las mismas funcionalidades, con la diferencia de gestionar las dependencias de proyectos de una forma mucho más sencilla y comprensible, optimizando notablemente el tiempo de desarrollo en trabajos multiproyecto.

El funcionamiento de Maven viene expresado según el siguiente diagrama:

Los cuadros grises son dados por el desarrollador, los rojos por la herramienta, y el marrón es la salida y resultado final (lo que en Maven se denominan Artefactos). Es decir, podemos comprobar que Maven es muy flexible a la hora de poder personalizar plugins para nuestro proyecto y también para gestionar las dependencias y configuraciones con un simple archivo POM (Project Object Model). Pero tampoco podemos olvidar que nos proporciona la rigidez suficiente con su arquitectura y metodología para no perder el foco y que los trabajos multiproyectos no se conviertan en los temidos “dinosaurios” difíciles de gestionar.

En definitiva y en nuestro caso, Maven nos proporciona una solución modular orientada al trabajo en equipo que elimina problemas de herramientas anteriores, como es la compleja resolución de dependencias, a la vez que nos permite integrar el trabajo con otras herramientas de Integración Continua. Es importante destacar para nuestro caso que se dispone de un plugin para proyectos JRuby.

Hudson

Esta herramienta de Integración Continua nos lleva un paso más allá de los resultados de nuestra solución de Ciclo de Vida, que es Maven. Es decir, ya no sólo se trata de paquetizar e integrar las distintas áreas de desarrollo de nuestro producto resolviendo las dependencias de código de los paquetes subdivididos, sino de que la integración sea efectiva, cumpla nuestros criterios de calidad y el tiempo empleado en la detección de errores y su resolución sea el menor posible. Hudson nos proporciona una solución sencilla para llevarlo a cabo.

Hudson es una herramienta libre y abierta relativamente nueva de Integración Continua muy utilizada y de gran éxito en el entorno de desarrollo del software. Su arquitectura basada en plugins y su fácil instalación la hacen una herramienta potente y fácil de usar. El desarrollo de plugins es una característica importante al destacar su flexibilidad.

Podemos comprobar las diferencias con otras herramientas CI (Integración Continua) en este link, comprobando que además de ser una de las más completas, su extensibilidad viene proporcionada por plugins, lo que la hace bastante modular y ligera si no se necesita de amplia funcionalidad.

Podemos comparar a Hudson con una de las herramientas CI más consolidadas actualmente, que es CruiseControl, comprobando que, además de ofrecer mayor amplitud de funcionalidad, sus características vienen determinadas por la instalación sencilla de plugins.

Resumiendo, parte de las ventajas de Hudson vienen determinadas por:

  • Fácil instalación y uso (un fichero WAR es toda la herramienta de instalación)
  • Plugins fácilmente extensibles
  • Soporte completo de Maven, lo que nos facilita enormemente la integración
  • Soporte para entornos “colaborativos” (múltiples equipos y grupos de proyectos)
  • Software Libre 100%
  • Sistema de alertas intuitivo para los desarrolladores
  • Muy pocos problemas “reportados” de esta herramienta

En definitiva, Hudson es una herramienta sencilla, de alta funcionalidad, abierta, bien documentada y con un futuro muy prometedor como CI Tool consolidada, y además, se integra muy bien con Maven. En nuestro caso cubre las necesidades, además de proporcionar un entorno “user-friendly”.

Retratando a un Geek

por David Cañadillas, el 9 de April de 2009

Tras un duro y largo día de curro, ayer me encontré con una gran y grata sorpresa. Nada más y nada menos que un retrato-collage de mí mismo, de todo lo que me rodea y me gusta. Mi chica se toma bastante bien el hecho de que yo sea un geek, y me representa con un humor excelente. El dibujo me parece magnífico y me ha gustado tanto que me he tomado la libertad de postearlo en nuestro blog.

David\'s World

Si os ha gustado el dibujo tanto como a mí no dudéis en agradecérselo a la autora en su MySpace, donde también podréis encontrar magníficos dibujos suyos y contactar con ella.

Un sistema operativo para cada ocasión

por David Cañadillas, el 4 de March de 2009

Mucha gente que me ve con mi MaBook Pro siempre me terminan preguntando lo mismo: “¿Pero Mac OS X es mejor? ¿Y funcionan todos los programas?”… Lo curioso es que no hay una respuesta estándar. Quiero decir, cada usuario tendrá unas necesidades del sistema operativo según su uso diario y funcionalidad deseada, y también el hardware que maneje.

En mi caso he llegado a conocer bastante bien el uso de Windows, Mac OS X y Linux, encontrándome con distintas ventajas e inconvenientes en cada caso. Por eso, siempre digo que hay un sistema operativo para cada ocasión. Nuestras necesidades determinarán cuál o cuáles usar, y normalmente llegaremos a usar más de uno a la vez, ya sea de forma nativa o virtualizada (cualquier software de virtualización es una buena solución).

Me gusta sacar las cosas buenas de cada sistema y por eso resumo de una forma muy breve mis impresiones de uso a cada uno de estos tres: Windows, Linux y Mac OS X.

  • Windows

    Lo que le define: El sistema operativo de Microsoft es el más extendido y utilizado en el mundo, y por tanto para el que se encuentran mayor variedad de software de terceros y drivers. Sus agujeros de seguridad suelen ser bastante conocidos y al ser tan utilizado es el que mayor cantidad de virus y ataques recibe. Windows Vista no ha sido el éxito que se esperaba por parte de Microsoft y a veces puede ser hasta recomendable hacer un downgrade a XP.

    Perfil más indicado: Trabajador corporativo o usuario Enterprise que necesite de buenas herramientas ofimáticas, de email y organizativas en grandes organizaciones o corporaciones. Sobre todo si el trabajo requiere contínuamente editar hojas Excel repletas de macros generadas con Office de Windows, bastante habitual en el mundo de las grandes corporaciones. Otro de los perfiles más indicados es el de los gamers o jugadores avanzados, ya que la mayoría de juegos están optimizados para “correr” de forma nativa en Windows.

    Perfil menos indicado: Si lo único que te preocupa es la seguridad y no paras de ver pr0n no uses Windows habitualmente. Tampoco es muy aconsejable para montar servidores caseros, debido a los problemas de seguridad o la imposibilidad de actualizar a tiempo los parches de seguridad.

  • Linux

    Lo que le define: Evidentemente, su primera característica es el precio, es decir, es gratis. Siempre se está actualizando y la comunidad open source es muy amplia, y siempre encontraremos a alguien en internet que nos solucione nuestro problema. Para sacar verdadero rendimiento a Linux es necesario tener unos conocimientos básicos y ser muy paciente a la hora de configurarlo.

    Perfil más indicado: Usuarios inquietos, con ganas de aprender en el mundo de la administración de sistemas y que estén dispuestos a comerse la cabeza para estar optimizando continuamente su sistema operativo. La seguridad es una de las grandes ventajas al usar Linux, pero siempre y cuando se sepa lo que se está haciendo. El uso de Linux es muy aconsejable para aquellos usuarios que quieran montarse algún servidor en casa o en su pequeña empresa. También es ideal para los amantes del open source que desarrollen software o trabajen con tecnologías de la información.

    Perfil menos indicado: Si no quieres complicaciones, eres poco inquieto, no tienes idea de lo que haces cuando tocas un archivo de configuración y no quieres tirar líneas de comando, olvídate de usar cualquier Linux.

  • Mac OS X

    Lo que le define: Sencillez de manejo, apariencia agradable y multitud de herramientas para el usuario, además de su robustez y seguridad fiable. Podría ser el punto óptimo entre seguridad y manejabilidad. No es un sistema Enterprise y podemos encontrarnos con software no disponible para él.

    Perfil más indicado: Usuarios que no quieren complicarse la vida a la vez que se quieren despreocupar de virus y reinstalaciones. Es muy habitual entre profesionales del diseño y la edición/creación de música. También es muy indicado para aquellos usuarios Linux que estamos hartos de tener que recurrir siempre a la línea de comandos pero que no queremos perderla. Es ideal, por norma general, para los usuarios con altos conocimientos de informática que no quieren complicarse la vida.

    Perfil menos indicado: Los usuarios Enterprise que exijan complejas herramientas empresariales no van a encontrar en Mac OS X a su mejor aliado. Tampoco aquellos que necesiten de Internet Explorer para navegar por determinadas páginas web.

Más o menos creo que estas indicaciones pueden ayudar a quien esté indeciso a la hora de instalar su sistema operativo. Lo más recomendable para los que buscamos siempre la optimización es el uso del que más se adapte a la mayoría de nuestras necesidades y la virtualización de alguno de los otros para ocasiones que se nos presenten.

En mi caso Mac OS X es el que más me satisface, pero es cierto que siempre llevo mis imágenes VMWare preparadas para arrancar Ubuntu y Windows Vista. También tengo instalado Ubuntu Linux en mi Acer Aspire One para “sacarle fuego”. E que no uso actualmente es Windows, pero hace unos meses, cuando trabajaba para una corporación, me era imprescindible para ciertas tareas.

En definitiva, cada sistema operativo tiene su aquel, y siempre que estemos buscando “el mejor” no olvidemos que vendrá definido según nuestro uso y perfil.

Macworld ‘09 impressions: innovation takes time.

por Javier Cañadillas, el 9 de January de 2009

There has been a lot of noise out there regarding this year’s Macworld 2009 Keynote. The Steve Jobs absence, Phil Schiller’s performance, rumors about new products and particularly, Apple leaving the Macworld Expo starting next year.

Worst enemy of the Apple community is our own expectations. It seems we quickly forget how much effort it takes to develop a new product o improve a new one. It was only two months ago that Apple announced a completely revamped line of laptops and their new LED-based cinema display, and some people were hoping to see new products like an iPhone nano (not gonna happen, guys) or a revision of the Mac mini.

But no, instead of new hardware, the Keynote was focused mainly in software. It’s true that comparing with other editions this one was lacking some “substance”, but it is also true that these last three years Apple has done a great effort to put the Mac and iPod/iPhone platforms at the top of the market. This means they have spent a lot of time doing consolidation and that they now need time. Time to come up with something new. And I´m sure this something is coming, and we all suspect what it is. But I´ll talk about it in another post, because there’s enough talk to fill several pages and I’m convinced it’s gonna be a revolution.

But yes, the software. It is very easy forget how important software is for a platform. Apple is all about combining software and hardware in the best possible ways (Alan Kay dixit: “People really serious about software should make their own hardware). Apple’s machines are great, but without Mac OS X and all the software running on top of it that beautifully takes advantage of the underlying hardware, they’re just useless (picture a Macbook Pro running Vista and you´ll understand). That’s why it is so important to grow and mature applications that are key to strengthen Apple’s position in the market. That means office software and home software, or iWork and iLife. Whatever you call it.

I think the most important part of this year’s keynote was to see how Apple is quietly trying to move to the Web 2.0 space with iwork.com. Maybe the product itself will pass without major success, I don’t know for sure. But they have to try to be there, and iwork.com is doing it the right way. I don´t think users, the market and the Internet itself are still mature enough to create a document in the web, but integrating desktop applications with web applications and giving keeping them where they do best is really a smart move. Create a document with iWork, publish and get comments and revisions with iwork.com. Smarter that Google, indeed.

Phil did great (I mean, compare his keynote with Balmer´s one at CES ‘09), and I also believe that now that Apple has major presence as a consumer electronics manufacturer, it makes sense for them to just announce the products at Infinite Loop when they’re ready or just go to something like CES instead of competing for the specialized press mindshare with Macworld.

Why we, iPhone users, are better

por Javier Cañadillas, el 27 de November de 2008

This I tell to myself when I wake up everyday, to cope with the myriad of annoying little things the iPhone has.

You see, we’re better because:

  • We’re rich. We don’t need a crappy phone that’s able to use GPS and maps while is not connected. That’s for losers. We prefer to stay in areas with 3G coverage, just where the money is and we can spend it. Like, a Louis Vuitton store. Can you picture a Louis Vuitton store right in the middle of the savannah? That would be like a safari, and the only Safari we do is our browser.
  • We’re better drivers. We can drive with one hand while scrolling the screen of the Maps application with the other. Yes, the application doesn’t scroll automatically when you drive outside the boundaries of the map displayed in the iPhone but, you know, Apple did that on purpose because they want us to be even better drivers. Show the other guys not having an Apple sticker who’s the king of the road!
  • We’ve got better memory. Copy and paste is for sissies. If any Apple believer can recall every single Steve’s keynote and how many times he said “Boom!” (so say we all), you for sure can remember whatever it is any other lazy Simbian user needs cut & paste for.
  • We’re more disciplined. We don’t need push events nor birthday’s alarms like those sloppy crackberry addicts. Sleekiness exhaled by Apple products makes us disciplined enough to check calendar, mail, twitter and so on on a regular basis and enjoy it.
  • We’re wiser. We need no background execution. That’s losing focus. Apple wants to be living examples of awareness. Parallelizing is not the path. Kill the Buddha!
  • We’re loved and popular. VCards are for people craving to be remembered. iPhone users have such a pose everyone will remember us and every single detail of our contact information forever, no matter how much time of our presence we’ve gifted the guy with.
  • We don’t do porn: we produce porn. Meaning we don’t need useless low resolution MMS messages to send your friends a sneaked picture of your neighbor boobies or the postman ass. We do the real stuff, with Final Cut pro, a Sony HD 1080p video camera and of course, a Mac Pro. And yes, we share it with MobileMe.
  • We’re happier. Apple makes life easier for us. No need to worry about synchronization issues with more than one computer; Apple took care of that making it impossible. Nor getting music from other sources than iTunes, because it’s not possible either. Is there any other way to buy music anyway?
  • We can feel real love. You poor Windows Mobile users will never get it. Because you’ve never endured the needling pain that is waiting for your love to come back from repairs after being forced to reset to factory defaults the memories so happily shared to keep Apple away from the the naked truth of your jailbroken passion. That’s why non iPhone owners will never truly understand “Eternal Sunshine of the Spotless Mind”.
  • We’ve got more money. Yeah, I hate to say it again but it’s true, buddies. Why having a decent flash camera in your phone when you could carry a much better ultra slim point-and-shoot one that shoots hypercool pictures?. Just carrying the phone’s camera with you is so lame, and you guys should know it.

If this doesn’t work, repeat the mantra with me:

There’s no UI but Apple’s touch UI.
Nokia is getting it all wrong.
I don’t really want a Nokia.
Gaaahhhh!!!

What kind of fruit is a Nokia anyway?

Remember the milk for iPhone? No, thanks

por Javier Cañadillas, el 27 de November de 2008

I’m a fan of David Allen’s Getting Things Done (GTD). I also have an iPhone, so for me it’s quite the perfect device for tracking my next actions and projects because it’s always with me.

After trying a bit OmniFocus for iPhone, I decided it was way too complex for what’s needed for a practical GTD implementation, and that synchronization pretty much sucked because an Apple MobileMe account is a must. Following David Allen’s own advice, a simple to-do list will suffice. That’s why I decided to go with Appigo’s ToDo1.

A friend of mine is a great fan of GTD-friendly web application Remember the milk. I decided too to give it a try and I created a free account. I heard that it was possible to synchronize it with ToDo so I thought it would be nice to use them together.

But no. Yesterday, configuring ToDo in my iPhone I discovered that Remember the milk folks force you to have a “pro” account (meaning paying for the service) to have synchronization with ToDo. I guess all because they have their own iPhone application, that only works online2. Bummer, and not the way to go for sure.

Fortunately, there’s another (and no, it’s not Leia Organa): Toodledo. I configured my account there, tested the web application a bit, configured my iPhone’s ToDo app and voilá, synchronization is working perfectly. List management is quite nice, and it even supports bulk task-loading when you’re craving for getting a bunch of task out of your mind.

So, Venera7’s recommendation for GTD with iPhone and your computer: Appigo’s ToDo and Toodledo.

Notas
  1. The only problem I see is that ToDo is US$9.99, a bit overpriced for a ToDo application. []
  2. For people that travel a lot and/or are out of GPRS/3G range, that’s not an option []

Installing Mac OS X (Kalyway) in the Acer Aspire One, aka the MacBook nano

por Javier Cañadillas, el 22 de November de 2008

Or how to turn your Intel based Netbook into a Macbook nano and not spend 1600 euro trying1.

A couple of months ago both crews of Venera7 and El Geek Errante, driven by the geeky rush of the moment, decided to buy the quite sexy netbook from Acer, the Aspire One. The idea was to have something extremely light and portable that could be carried in a small bag with a book and some other small stuff.

The Acer Aspire One has a nice set of features: a 9″ LED backlit glossy screen, 120Gb HD, a really small factor, 2 USB ports, 1Gb RAM (expandable to 1.5Gb), an Intel Atom 1.6GHz processor and an integrated Intel GMA 950 video card. And all for 350 Euro (taxes included). It’s quite easy to find in Spain and I guess in general around the world. We bought our white ones at PC City in Madrid; I guess after that they ran out of stock for the weekend in the white model :-)

We thoroughly evaluated the MSI Wind, the Dell Inspiron Mini, the HP whatevermodelitisthatisverysmall, and the Asus Eee PC. Turns out in terms of features/usability/size the Acer is the best option. Basically, MSI Wind and Dell are too big, HP is too slow, and Asus Eee PC is too crappy and too small (keyboard is for children). Anyway, go to Youtube and see the reviews, comparisons and tour de forces by yourself.

Surprise, I´m not only installing Mac OS X!

Yep buddies, that´s right. I´ll also explain how to repartition the internal disk to have Mac OS X as the main OS and a small Ubuntu partition for Linux stuff (like wireless hacking), install both operating systems, and configure GNU´s Grub to be able to dual boot them.

The plan will be to partition the Aspire One internal disk into three different physical partitions: first one for Mac OS X (110Gb), second one for Ubuntu Desktop (9Gb) and the third one for Linux swap space (1Gb).

I´ll explain all the details in the upcoming sections.

What will work and what won’t

Everything will work charmingly (including the official Apple Mac OS X updates and the integrated webcam) except for the following things (that we´ll try to minimize with different software toys):

  • Sleep: will not work at all. Actually, closing the lid will cause the computer to shut down inmediately, but we´ll workaround it using InsomniaX.
  • Automatic switch between internal speakers and the audio output jack. This one is solvable installing some additional Kernel Extensions, but SoundSource does the trick pretty well anyway.
  • The integrated SD readers. Personally I don´t give a damn about this one, especially when I have more USB slots available than in my MacBook Pro to connect all kinds of external storage.

If you have already googled about the Acer Aspire One and Mac OS X, yes, everything else is working. Amazing, huh? Just wait to see the steps to tune up your little creature!

Hardware you’ll need

  • A working Apple Macintosh Intel2 Machine running Mac OS X or a PC running any version of Linux or Windows (this post will assume you have a Macintosh computer as described. If not, I’ll give some pointers on how to perform the operations described for Mac OS X in other platforms)
  • An Acer Aspire One A120. For a more Apple-ish style, get the white one ;-) As I already said, 350 euro is pretty much the standard price after taxes in almost any store.
  • An Apple sticker. You can get one from one or your Apple products (notebooks, iPods, iPhones…). It’s required to stick it on your Acer Aspire One and in doing so agreeing to the Mac OS X licensing terms.
  • [OPTIONAL] A Dell Broadcom based 1490 PCI Express Wireless Card. US$15 if you get a refurbished one from a Taiwanese dealer at eBay.
    This item is not required unless you want working wireless in your computer with Mac OS X, which I wanted.
  • [OPTIONAL] A 1Gb SIMM module, if you want to take advantage of the wireless upgrade operation to also upgrade your Acer’s memory to 1.5Gb. That I also did. 16 euro in any decent on-line computer store.
  • A >256Mb USB stick, for updating the Acer Aspire ONE BIOS.
  • An external USB DVD drive or a 8Gb USB Stick or an >8Gb empty external USB Hard Disk. Actually, if you have the 8Gb USB Stick or the external USB hard disk, you won’t need the >256Mb USB stick because it’s possible to reuse them for the BIOS update.

Software you’ll need

Upgrading your Aspire One hardware

First of all, as I’ve already said, you don’t need to do this if you don’t want to either upgrade your memory or change your wireless card, although the latter is strongly recommended because it doesn’t make much sense to have a netbook that isn’t able to surf wirelessly, doesn’t it?

So, let’s assume you’re convinced and you’ve already purchased and received all your gear (typically for Spain the Dell WiFi card delivery takes 2-3 weeks).

Now breath deeply: you’ll have to open your Acer Aspire One. Fear not, my friend, because the operation is quite easy. What I’ll do here is point you to the best Aspire One hacking tutorial out there and just make some comments and remarks about what we’re interested in.

The Aspire One hardware hacking tutorial is a video made by TnkGrl that explains in very detail how to open it. Go there, watch it a couple of times, get the necessary gear to open it and follow her instructions while you´re opening your Aspire One.

So go watch it now!: Tnkgrl awesome Acer Aspire One hacking tutorial

My comments to the video:

  • Get an A4 blank paper sheet and using it as a blueprint of your laptop put all the screws there in the same position they were back in the Acer Aspire One. This way you’ll remember were to screw them back. Also, you may write down your notes in this paper, like marking an screw and saying “remember to not screw this one too much” or stuff like that.
  • Get the right screwdriver. For me it means a precision star-shaped screwdriver with enough handle to apply some force. How tightly some screws are screwed is not seen in the video, but because I wasn’t using the best screwdriver out there from the beginning, I was about to totally erode a couple of internal screws before unscrewing them. That’s bad quality prime materials, Asus.
  • You don’t need a credit car for opening the keyboard. Believe me. Despite what’s shown in the tnkgrl video, putting off the keyboard is very easy. Just press gently the tabs noted in the video with a flat headed screwdriver and do some lifting with it and voilá, the keyboard will gently fly into your hands.
  • Pay attention to cable connectors. It´s very easy to unplug and plug them if you follow Tnkgrl´s detailed instructions. Also, don´t forget to re-plug the keyboard flat cable or you will end up opening the keyboard again (as it happened to me).
  • Finally, the model Tnkgrl is opening is the SSD disk one (no regular hard disk) so the internals are a bit different. If you are just upgrading your wireless card you don´t care about what I´m going to point out, but if you’re planning to upgrade your memory this is important: to remove the main board as instructed in the video you´ll have also to remove the small circuit board located right to the main one. This only implies removing the wifi switch and three screws. That´s it.

If the process went OK and the original Linpus that came with the Aspire One is still installed, you should be able to see the upgrades from the OS. Don´t worry now, because we´ll see them as soon as Ubuntu Desktop and Mac OS X are installed.

Updating the Aspire One BIOS

To smoothly install Mac OS X in our computer, we´ll have to update the BIOS firmware with the official Acer BIOS update release 3304 you just downloaded. Here´s the detail of what´s inside the download from Acer:

  • The BIOS update itself: ZG5_3304.FD
  • The MSDOS executable upgrade program: FLASHIT.EXE

The Aspire One is able to boot from external USB devices. Thanks to this, we´ll be able to upgrade our software without having to waste a DVD: we´ll just boot an MS-DOS compatible operating system from an external USB drive that has inside the proper upgrade image files and programs.

Now, for doing a bootable USB drive you have mainly two options: do it with Mac OS X or do it with Linux or Windows. The latter is pretty well documented in the Internet, so I won´t go with this one. Alternatively, I chose to make my life a bit more complicated and fight with the method to create bootable USB drives from Mac OS X. Once again, it´s not difficult, it was just poorly documented until now.

So, we´ll create our FreeDOS bootable USB drive and we´ll transfer the two necessary files for flashing our BIOS. The FreeDOS image will have to have enough room to host the extra BIOS flashing files. That´s the reason I´ve chosen to download a 11.52Mb image instead of the traditional floppy images. Anyway, here are the the steps to follow to create the flashing USB drive and update your Acer BIOS:

  • Go to your Intel Mac computer, open a Terminal and type the following to identify the device assigned to your USB stick:
    $ ls /dev/disk*
    
  • Now insert your USB drive and type the command again
    $ ls /dev/disk*
    

    You should see a new /dev/disk device that corresponds to your USB drive. In my case, it was /dev/disk1 so from now on I´ll assume this is yours too.

    Be careful because we´re going to completely erase the USB drive. If you have data inside it you want to keep, do a backup now.

  • Umount (do no physically extract it) the USB drive:
    $ sudo umount -f /dev/disk1
    
  • Now we´ll copy the FreeDOS image we just downloaded. I´ll assume here the image file is in your Downloads folder inside your home directory. Your mileage may vary, so just remember to change the commands accordingly:
    $ sudo dd if=/Users/javier/Downloads/fd011520.ima of=/dev/rdisk1
    

    The dd command copies bit by bit the FreeDOS image to your USB drive, so now you have a DOS bootable USB drive.

  • It´s time to copy the BIOS update files to the USB drive. Physically unplug it, plug it in again and with the Finder, copy the two files (ZG5_3304.FD and FLASHIT.EXE) to the USB drive root directory. If for some reason the USB drive is not showing up in the Finder, just go to the command line and copy the files with the cp command. Assuming the new Acer BIOS update files are in ~/Downloads/ZG5_3304:
    $ cd /Volumes/Untitled
    $ cp /Users/javier/Downloads/ZGS_3304/* .
    
  • Eject and unplug your USB drive.
  • Shut down your Acer Aspire One and plug the USB drive in it.
  • Boot the Aspire One and press F12 to go to the boot menu. Select the USB drive you just plugged and hit enter. FreeDOS should be starting by now.
  • Now you have a DOS prompt. First thing to do is to backup the current Aspire One BIOS:
    A:\> FLASHIT ZG5_3114.FD /G
    

    This creates a new file in the USB drive root called ZG5_3114.FD containing the actual BIOS. If anything goes south, we´ll always be able to recover our previous BIOS with this file following the instructions you have in Aspire One User Forums

  • It´s time now to reflash the BIOS with the version we downloaded from the Acer website. This is done executing the FLASHIT.EXE program as follows:
    A:\> FLASHIT ZG5_3304.FD /ALL
    

    Wait until the process is over. The Aspire One should restart automatically. When done, hit F2 to go to the BIOS setup utility and check that System BIOS information now points to v0.3304

  • Inside the BIOS setup program, hit F9 to recover factory settings. This step is important so do not miss it.

That´s all.

Installing Ubuntu Desktop and configuring multiboot with Grub

Why install Ubuntu in the Aspire One?

Several reasons: it rocks, it’s perfect for wireless hacking if you’re on the go, and it gives you more control over what’s going on with your laptop. Ubuntu Desktop is a supported operating system for the Aspire One, so it’s only a good idea to have it. Besides, it’ll help us partition the Aspire One internal disk and boot Mac OS X properly.

I won’t go with a lot of detail for the Ubuntu installation in your Aspire One because the process is quite standard and well documented. The only three important steps for me were getting the Ubuntu Installation disk in an USB image, the disk partitioning and, of course, Grub configuration that’s far from obvious.

As I’ve already told you, I don’t have an external USB DVD drive, so what I did to install Ubuntu in my Aspire One was to burn and Ubuntu Live cd with the image you just downloaded from the download lists provided before, boot it in an Intel-based computer (your Mac, for example), and follow the instructions in Ubuntu community forums to create a bootable Ubuntu USB distribution. If it has enough space, use the USB drive you just used for upgrading your bios, or the one you’re going to use for Mac OS X Kalyway installation. It really doesn’t matter because you’ll use the Ubuntu bootable USB drive just once.

So, now you’ve got an Ubuntu bootable USB drive. Boot it in your Aspire One by hitting F12 and selecting the external USB drive to boot and start the installation. In my case, using the Ubuntu installer, I chose manual partitioning of the Aspire One disk. I made three partitions: the first one for Mac OS X, was about 110Mb. Second one was for Ubuntu, 8Gb, and the third one took the remaining disk space for Linux swap. Of course, I proceeded to install Ubuntu in the second partition using the third one as swap. When assigning mounting points to the partition, I told Ubuntu installer to locate boot information in /boot under the root directory in the second partition (the one prepared for Ubuntu). It’s there where we will be installing the PC_EFI boot necessary to boot Mac OS X.

Once Ubuntu is installed, boot it in your Aspire One, and prepare to do some administration to configure Grub as the multiboot program. These are the steps I followed to be able to boot Mac OS X after its installation:

  • Log in into Ubuntu with your regular user and open a terminal. Then go to the /boot directory, create a pc_efi directory and copy there the boot_v8 you got when you downloaded PC EFI v8.0. I’ll be assuming you already have the file in your home directory. If not, copy it from wherever you downloaded it there now.

    $ sudo mkdir /boot/pc_efi
    $ sudo cp ~/boot_v8 /boot/pc_efi
    
  • Now edit the Grub configuration files to tell it to use PC EFI to boot the Mac OS X partition. Edit the /etc/grub/menu.lst and add the following at the end of the file. If you want Mac OS X to boot first, just make sure to put the following lines before the other similar that are there.

    title Mac OS X
    root (hd0,1)
    kernel /boot/pc_efi/boot_v8
    

Now you should be able to boot Mac OS X once it’s installed. I also tried this procedure with Chameleon EFI and for some reason it didn’t work, so PCI EFI is the one I’m recommending here.

Preparing Mac OS X installation

The Aspire One is now prepared for the Mac OS X Kalyway installation. Next steps will describe how to set up your USB drive to get a bootable Mac OS X image. You don’t need that if you have a working external USB DVD to use Kalyway DVD.

  • Go to your Intel Macintosh computer and insert the USB drive you chose (the 8Gb stick or an external hard disk). Just keep in mind you’ll need enough space to copy a DVD image in it.
  • Fire up Disk Utility and select the USB drive. Go to the partition tab for this this drive, select “1 partition” from the drop-down menu and name the device “Kalyway”.
  • Make sure the selected partition format is Mac OS X Extended (Journaled), then click in the “Options” button that’s located below the partition map picture. Make sure MBR (Master Boot Record) is selected and click OK to apply your changes. Disk Utility will create the partition with the specified format and including a MBR.
  • Now we’re going to restore the image of the Kalyway DVD installer you downloaded onto the USB drive. Select the USB drive, go to restore tab, and drag the Kalyway ISO image from the finder to the field that says “Source”. Inside destination field, just drag the USB drive. Now click “Restore” and go to grab a coffee.
  • Eject the USB drive using the Finder and plug it back in.
  • Remember you downloaded OSX86 tools? It’s time now to launch them to make our USB drive bootable. Just be sure you downloaded build 149 (I’m pretty sure the link I posted is the right one, but who nows) because the last versions won’t work for you (I also tried and failed miserably).
    Click the button “Install EFI/Run FDISK”
  • Select “Run Script” when the next window appears and it’ll fire up a terminal window. Enter your administrator password, and then you’ll be presented with the text menu. I used here Chameleon EFI - so I entered “4.” After that it shows you the available disks and partitions. Find your USB drive (mine was /dev/disk3) and enter its number (so in my case it was “3″). At the next prompt, do what it says - do not select “0″ for the partition scheme, most likely select “1″ for the name of the drive you selected (if you followed my instructions step by step it should be “Kalyway”). Now just hit Enter, watch it work, and you’re all set.
  • Eject your USB drive and plug it in your Aspire One. Boot it up and right after it press F11. You should be able to boot right off your USB drive.

Installing Mac OS X

Did it work? Is your USB drive booting? Great, the following is where the rubber hits the road.

  • First of all, take that sticker you were saving for your next car and stick it somewhere in your Acer Aspire One. This is apparently necessary because Apple´s Mac OS X license agreement states that you can only install Mac OS X in an Apple Branded computer. Anyway, if you don´t do it I don´t think anybody will notice it, but still looks fine in the white model, specially the one that’s coming with iPod nanos :-)
  • I guess you did boot your USB drive in the previous section and you’re waiting for instructions. If not, do it now! A lot of text output will scroll in front of you. Just relax and wait for Mac OS X to boot.
  • You’ll be presented a language selection menu: select your preferred language and hit next. In my case, for consistency with other computers I have and also because the information you typically find in the Internet is in english, I chose English. After it, it’ll say “Preparing Installation” for a while.
  • When you get the ‘Welcome’ screen, don’t hit continue straight away! Move your point to the ‘Utilities’ menu, and select ‘Disk Utility’
  • When the Disk Utility application has loaded, click your main drive in the left hand pane (probably the very top entryis your HDD manufacturer’s name’)
  • Click ‘Partition’ on the right hand pane.
  • Select the partition you already prepared for Mac OS X (that would be partition 1) and choose ‘Erase partition’ with the option ‘Mac OS extended Journaled’ selected.
  • Name your partition ‘Macintosh HD’ and click ‘Apply’.
  • Wait for it to do it’s thing, then select ‘Quit Disk Utility’ from the ‘Disk Utility’ menu.
  • You’ll now be taken back to the installer welcome page. Click ‘Continue’.
  • Click ‘Agree’ when the legalese blurb pops up.
  • Choose a destination drive - obviously the one you just partitioned! Click ‘Continue’.
  • This is important! Do not click ‘Continue’ and click ‘Customize, because here’s where we’re going to start ‘hacking’ our installation.
  • Let the options you see in front of you as following:
    • Completely uncheck ‘Language Translations’.
    • Expand ‘Kernels’ and select ONLY ‘kernel_9.2speedstep’.
    • Expand ‘Graphics_Drivers’, expand ‘Intel_GMA’ and select ONLY ‘GMA950′.
    • Completely uncheck ‘Audio_Drivers’.
    • Expand ‘Networks_Drivers’. and select ONLY ‘RTL1000′.
    • Completely uncheck ‘Mobo_Chipsets’.
    • Completely uncheck ‘Thirds_Applications’.
    • completely uncheck ‘Patches’.
  • You done? OK, click ‘Done’.
  • Click ‘Install’ and go and make yourself a cup of hot Cocoa instead of tea! (hey, you’re about to enter the Mac Universe and ruling lands of Cocoa ;-)
  • The install will now take place. To speed it up, I recommend you to click ‘Skip’ the installation DVD check, that doesn’t make any sense either because we’re using a USB device.
  • When the ‘Install Succeeded’ screen appears, hit ‘Restart’.
  • If Grub was correctly configured, after some boot up screens, Mac OS X will now start up for the first time, and take you through the setup wizard.

OK, Mac OS X is now up & running in your Aspire One, but we’re far from finished. Let’s go through the steps necessary to get it ready to use in the following section.

Upgrading your Mac OS X and post-installation steps

Here’s is where we take our Mac OS X to its latest version (at the time of writing this post, it’s 10.5.5) and do some tweaks to have as much as possible working in our personal MacBook nano.

We’ll need to have most of the stuff we listed as software downloads available for the Aspire One so Primo) you have it in an external USB drive that you’ll be plug in into the Aspire One or Secondo) you have now Internet connection from your MacBook nano so you’re able to download it from the Internet.

  • Now that you have booted into OS X for the first time, goto drive name > applications > Utililities > Terminal.

    Currently we are using 9.2 Speedstep Kernel, but we want to use Vanilla Kernel from the original Mac OS X because it’ll allow us to get all the software updates from Apple. We will be installing it in the following steps, but we have to be ready for it. This means we’ll have to make some configuration changes in Mac OS X because for this system vanilla kernel will only support 1 cpu.

    With your favorite editor, edit the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist file to do the following modifications (you could open a Terminal and use vi or just use the Editor program located under ‘Applications’ > ‘Utilities’). Inside the file, look for “Kernel Flags”, put there “cpus=1″ and save the file.

  • Get your Kalyway Mac OS X 10.5.3 Combo Update and run the ‘1_Kalyway_UpdCombo10.5.3.pkg’. This wil upgrade the system from 10.5.2 to 10.5.3 and step through the installation process. Do NOT hit restart when prompted!
  • After the previous installation has completed, run 2_kalyway_10.5.3_kernel.pkg and step through the installation process. Select now the ‘vallina_kernel_9.3′ kernel.
  • When finished, click the ‘Restart’ button you didn’t hit before to restart your MacBook nano and get ready to press F8 in the boot process.
  • When prompted to do so, press F8 to interrupt the Darwin startup. Type ‘update -v’ (without the quotes obviously), and press enter. Your AA1 may reboot a couple of times during this update process.
  • When you have booted back into OS X, you can check the Version details by clicking on the Apple logo on the upper left hand corner> choose about this Mac. Since we are using Vanilla kernel now we can upgrade using Apple original update.
  • Insert now the disk containing the 10.5.4 update, that you should’ve downloaded by now with the rest of the software stuff. Before you run the file, open up Terminal and do the following:
    $ sudo su -
    $ while sleep 1 ; do rm -rf /System/Library/Extensions/AppleIntelCPUPowerManagement.kext ; done
    

    Keep this window open while you run the downloaded update and install it.

  • Double click the MacOSXUpd10.5.4.dmg to mount the image and after the image has mounted, run MacOSXUpd10.5.4.pkg and step through the installation process.
  • Before you reboot, exit the Terminal script by holding down Ctrl and pressing C (Ctrl + C). Close Terminal and hit the button on the Update to reboot your computer.
  • When prompted press F8 and use “-v” to boot without quotes ( a lot of text msg comming out don’t worry system will boot it self soon )
  • When you have booted back into OS X, get the software you downloaded containing the Mac OS X 10.5.5 update. Again, before you run the file, open up Terminal and do the following:
    $ sudo su -
    $ while sleep 1 ; do rm -rf /System/Library/Extensions/AppleIntelCPUPowerManagement.kext ; done
    

    Keep this window open while you run the downloaded update and install it.

  • Double click the MacOSXUpd10.5.5.dmg to mount the image, and after the image has mounted, run MacOSXUpd10.5.5.pkg and step through the installation process.
  • Before you reboot, exit the Terminal script by holding down Ctrl and pressing C (Ctrl + C). Close Terminal and hit the button on the Update to reboot your computer.

    System will take a long time to reboot let the system be until it will restart, so be patient and give it plenty of time. If in case you run out of patience or it will not reboot you have to do hard reboot on the system and use “update –v” steps on boot you’ve already seen here.

Now you’re Mac OS X is Leopard 10.5.5. You’ve got still some steps to perform to get some things running, so let’s go for them.

Making the sound work

  • Get the Paul’s Wind Drivers & Utilities pack you already downloaded into your MacBook nano and select the ‘Sound’ directory
  • Double click on AzaliaAudio.pkg, go through the installation wizard and restart the computer.
  • Now run the installer from the ALC268FIX you got with the software downloads you did, but DO NOT restart the system.
  • Before restarting, make sure you delete the /System/Library/Extensions/ALCInject.kext file.
  • From Paul’s Wind Drivers & Utilities, get the Kext Helper b7 application and drag it to your Applications folder. We’ll be using it a lot because it’s gonna be the tool used for installing Mac OS X Kernel Extensions.
  • Fire up Kext Helper (the application you just installed), locate the HDAEnabler.kext file in Paul’s Wind Drivers & Utilities directories, drag and drop it to he Kext Helper application, insert there your user password, and click on ‘Easy install’.
  • Fix Permissions with Disk Utility (launch Disk Utility, select your partition and then click on “Repair Disk Permissions” in the “First Aid” tab).
  • When repair permissions is done, restart your computer.
  • Goto System Preferences > Sound > make sure that Internal Speakers is selected in Play alerts and Sound effects through.
  • Now that your sound is working, to be able to switch between internal speakers and headphones at your will, install Rogue Amoeba’s SoundSource (the link is also at the beginning of this post).

Fixing the “About this Mac” message

  • Go to Paul’s Wind Drivers & Utilities Pack location in your Aspire One and under Utilities, double click on About this Mac.pkg.
  • Install it following the instructions. There’s no need to restart here.
  • Check that changes were made by going to the Apple logo in the top right corner > About this Mac and checking that it now says “Processor Intel Atom CPU N270@1.6Ghz”

Getting 1024×600 resolution

  • Run the Kext Helper application from your Aspire One.
  • Go to Paul’s Wind Drivers & Utilitis Pack location, and drag an drop the following files to the Kext Helper application: AppleIntelGMA950.kext, AppleIntelIntegratedFramebuffer.kext, AppleSMBIOS.kext, ClamshellDisplay.kext and Natit.kext
  • As before, enter your password and click ‘Easy Install’.
  • Fix Permissions with Disk Utility (launch Disk Utility, select your partition and then click on “Repair Disk Permissions” in the “First Aid” tab) and when finished restart your computer.
  • You can now go to System Preferences > Display to choose a resolution that best fits your needs.

Getting the network plug & unplug to work

  • Install the Realtek RTL810E drivers you downloaded from Realtek if you followed my instructions at the beginning
  • Restart your MacBook nano and you’re all set.

Getting the battery indicator to work

  • Go to the software package you should’ve download by now and unzip it.
  • Inside it, go to the AppleACPIBatteryManager > Build > Release directory. There you should see a AppleACPIBatteryManager.kext file.
  • Fire up the Kext Helper application, drag and drop the AppleACPIBatteryManager.kext file, insert your user password and click on ‘Easy Install’.
  • For safety, restart your Aspire One. When done, you should have a working battery indicator.

Avoiding system shutdowns while closing the lid

This one is really easy. Just install InsomniaX (the link is also in the ‘Software you’ll need’ list) and configure it to fire up every time you start your Mac OS X. This can be done going to System Preferences > Accounts, clicking on your account and going to the ‘Login Items’ tab. There you can click on the ‘+’ button and add InsomniaX to the list.

And that’s all, my friends. You should be able to go to the Apple menu and click on ‘Software Updates’ to get the latest updates from Apple, and also download and install your favorite Mac OS X applications.

Enjoy the fruit!

Acknowledgements

Here’s the list of people that has been done possible this step by step tutorial:

  • Mario Camou, aka “The Doctor”, for beta testing quite everything I’ve documented here.
  • Tnkgrl, for the amazingly great blog she has about hardware hacking the Acer Aspire One.
  • Paul, for his Utilities and Drivers pack
  • Harbot, for the tutorial that helped as base to build this one.
  • Chun Nan, for writing the AppleACPIBatteryManager modifications.
  • The joint El Geek Errante and Venera7 crews, that made this possible thanks to our discussions in our weekly “Chicken Club Sandwich Social Club” geek meeting.
  • To everyone else that I left out of this list. There’s so much work and hacking involved it’s really difficult not to forget someone.
Notas
  1. Yeah, I’m talking about the gorgeous, feature-crippled and extremely expensive MacBook Air []
  2. OSX86 Tools won’t work in a PowerPC based Apple computer; I already tried []

Syncing your iTunes library with rsync (Mac version)

por Javier Cañadillas, el 21 de November de 2008

A couple of months ago I bought a Mac mini to act as Media Center. The mini is connected to a plasma TV and also to my music stereo, so it makes a lot of sense to have my iTunes library there. But it’s not my primary machine, and connecting my iPhone and iPods there is not the best of the ideas because, you know, it’s not exactly a desktop.

So, the best and most comfortable way to manage my iTunes library, sync my iPods and add new songs is doing it from my MacBook Pro. But sometimes the lid is just closed or the laptop is inside my backpack, so it’d be nice to have all the music it has also copied in my always-on Mac mini. Clearly, both iTunes libraries have to be synchronized. And for manageability’s sake, better be it one-way sync (from MacBook Pro to Mac mini) than two-way.

After doing a bit of google research turns out the best and simplest solution is using the UNIX rsync utility included in Mac OS X. rsync does incremental copies remotely, it’s easy to automate, and the incremental copying is so fine-grained that it’s even capable of just synchronizing the part of your files that has changed and not the actual whole file.

This is the process I’ve followed to sync my MacBook Pro iTunes library with my Mac mini:

  • First of all, clean up your destination computer iTunes folder: Go to your destination computer (the Mac mini for me), close iTunes if it was already running, and delete all the contents that are inside your Music/iTunes folder. Now you should have this very folder, but empty.
  • Also, activate the Remote Login. Go to System Preferences > Sharing and check the Remote Login checkbox.

Now configure your primary computer to use rsync. In my case this is my MacBook Pro. Go there, and perform the following steps to write a small script you can launch every time you want to remotely update your destination computer iTunes library with the latests changes you’ve done in your primary computer:

  • Create a directory in your home folder to store your script. For me a good location is always bin/, so just open a terminal a write:
    $ cd
    $ mkdir bin
    
  • Now inside the bin/ directory, create a new file called iTunesSync.sh with the following content:
    #!/bin/bash
    rsync --archive --verbose --rsh=ssh --delete /Users/javier/Music/iTunes/ DestinationComputerName.local:Music/iTunes
    

    The --archive option tells rsync to use a combination of useful syncing options (recursive, copy symlinks as symlinks, preserve permissions, preserve times, preserve group, preserve owner and omit directories when preserving times), --verbose adds more logging, --rsh=ssh tells it to use ssh to establish the connection and --delete to delete anything in the destination computer that’s not in the primary computer (this way we’re making sure no differences remain between the two iTunes libraries).

    Also Do not remember to change your primary computer’s source directory to the one you’re actually using (mine is showing my username), and put the destination computer’s name instead of DestinationComputerName followed by .local (for example, in my case, it’d be Soyuz.local)

  • Give the right permissions to the file you just created to make it executable:
    $ chmod 755 ~/bin/iTunesSync.sh
    
  • Execute it to do the first synchronization:
    $ ~/bin/iTunesSync.sh
    

    The first time you do it it’ll copy the whole library. The process will take more or less time depending on your connection speed and library size.

That’s it. Now open your iTunes in your media center or your always-on computer and enjoy your music! Just don’t forget to run the script every time you add music to your iTunes or from time to time to be able to listen to your freshest acquisitions.

Windows 7 “Aero Shake”, a feature in the right path

por Javier Cañadillas, el 5 de November de 2008

This is a feature of the upcoming version of the Microsoft Operating system, Windows 7, that hasn’t been aired as it should. It’s a way to quickly remove all the clutter present in your desktop to just focus on the application you’re working with with a brief shake of your mouse. Better see it for yourself:

It definitely follows the right path in User Interface design: it’s easy to do, very convenient, productivity oriented, and it doesn’t need fancy hardware (just a regular mouse). For me it’s actually the kind of thing that really makes a difference in usability, in the way Exposé did when Mac OS X Panther was released.

I can imagine a lot of people getting used to this feature and really missing it when using other version of Windows so, way to go this time, Microsoft!

Via Gizmodo

Configurar Ubuntu como servidor AFP

por Javier Cañadillas, el 1 de November de 2008

Ya sabéis sobradamente que en Venera7 somos grandes amantes de los Macintosh. Pero también lo somos de Linux, y en particular de Ubuntu, tanto en sus sabores Server como Desktop. Ubuntu corre en nuestros portátiles Acer Aspire One codo con codo con Mac OS X y el micro servidor que tengo en Baikonur (como llamamos en Venera7 a mi casa, vamos) corre la última versión de Ubuntu server y me sirve de centro de descargas, conexión externa y otros.

Hace poco actualicé la capacidad de disco duro del servidor Ubuntu y ahora tiene espacio suficiente como para que no me tenga que preocupar tanto como antes de estar vaciando los directorios en los que se hacen las descargas. Como muchas cosas de las que veo no me interesa guardarlas para visionados posteriores, tampoco tiene sentido copiarlas por red al Mac mini que me sirve de Media Center para poder verlas en el plasma. Así que la opción clara es compartir estos directorios de descarga en Ubuntu de tal forma que se automonten en el Mac mini y desde allí el VLC pueda acceder a los ficheros tranquilamente.

Ya que es principalmente Mac OS X quien va a montar el directorio compartido, el protocolo que me he planteado es Apple´s Filing Protocol (AFP). En Ubuntu el demonio que implementa AFP es Netatalk, que no viene instalado por defecto en la versión Server (ni idea si lo está en Ubuntu Desktop). En principio, tratándose del genial sistema de paquetes de Debian, instalar Netatalk sería tan sencillo como hacer un apt-get install netatalk, pero por lo que voy a explicar ahora no es tan sencillo.

Netatalk viene por defecto compilado sin soporte para SSL. Lo que significa esto es que en la conexión AFP desde el Finder de Mac OS X al recurso compartido Ubuntu el usuario y el password irán en claro. No big deal si lo estáis haciendo en una red interna en casita suficientemente securizada, podréis pensar. Tal vez, pero es que además Mac OS X Leopard viene por defecto configurado para no aceptar tal tipo de conexiones en claro. El resultado es que Netatalk, tal y como viene configurado, no funcionará con Mac OS X Leopard a no ser que alteremos la configuración del mismo.

Personalmente yo creo que cifrar la conexión es una buena cosa, y no cambiar la configuración de Leopard para bajar el nivel de seguridad también, así que lo que se impone es compilar Netatalk para incluir soporte SSL, y hacer una pequeña configuración del mismo para que lo tengamos funcionando con nuestros ordenadores Macintosh lo antes posible.

El siguiente tutorial paso a paso está sacado de diversas fuentes que he ido googleando por ahí. Mi impresión es que no hay ninguna que deje bien claros cuáles son los pasos concretos a seguir, y por una cosa o por otra, el resultado es que la conexión AFP no va. Tras gastar una tarde trasteando he conseguido que funcione, así que si seguís los pasos y tenéis las mismar versiones que yo todo debería ir bien.

Las condiciones de contorno

  • En el lado servidor: Ubuntu server 8.04.1, kernel 2.6.24-19. En el fichero /etc/apt/sources.list, comprobar que los debs de código fuente Universe están activos. Si no lo están, descomentadlos.
  • En el lado cliente: Mac OS X Leopard 10.5.5 Intel.

Descargar, compilar e instalar Netatalk

  • Conectarse a la máquina Ubuntu, obtener las fuentes de netatalk e instalar algunos paquetes necesarios:
    $ cd ~
    $ mkdir src
    $ cd src
    $ sudo apt-get build-dep netatalk
    $ sudo apt-get install cracklib2-dev fakeroot libssl-dev
    $ sudo apt-get source netatalk
    $ cd netatalk-2.0.3
    
  • Ahora compilamos Netatalk con el cifrado habilitado:
    $ sudo DEB_BUILD_OPTIONS=ssl dpkg-buildpackage -rfakeroot
    

    La compilación llevará un rato, así que hay tiempo para hacerse una taza de café ;-)

  • Si el paso anterior ha acabado sin errores (habrá algunos warnings, pero podemos ignorarlos), tendremos generado en nuestro directorio ~/src un paquete .deb recién horneado que podemos instalar en nuestro Ubuntu:
    $ sudo dpkg -i ~/src/netatalk_2.0.3-9_i386.deb
    
  • Para prevenir que Ubuntu nos machaque nuestro paquete Netatalk personalizado en futuras actualizaciones, lo ponemos en estado hold. Esto lo podemos hacer con:
    $ echo "netatalk hold" | sudo dpkg --set-selections
    

    ¡Y ya está! Con esto tenemos instalado Netatalk.

Configurar Netatalk

Ahora vamos a configurar Netatalk para activar sólo los servicios que queremos, compartir el directorio home del usuario, y tener la autenticación correcta. Para ello vamos a ir tocando diferentes ficheros de configuración:

  • Editamos el fichero /etc/default/netatalk y cambiamos los servicios que figuran al final del mismo para que acabemos teniendo algo así:
    ATALKD_RUN=no
    PAPD_RUN=no
    CNID_METAD_RUN=yes
    AFPD_RUN=yes
    TIMELORD_RUN=no
    A2BOOT_RUN=no
    

    Básicamente lo que hemos hecho es activar sólo el servicio AFP y el demonio necesario para que no se pierdan los metadatos en el directorio compartido por el hecho de que nuestro sistema de ficheros Linux no está formateado en HFS+.

  • Lo siguiente es configurar la autenticación correcta en AFP. Para ello, añadimos al final del fichero /etc/netatalk/afpd.conf la siguiente linea:
    - -transall -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh
    

    Fijáos que afpd.conf, salvo por la linea que hemos añadido, es como un fichero vacío, ya que todo lo que tenemos en él son comentarios.

  • Para terminar con nuestra configuración, sólo nos queda especificar el directorio que queremos compartir. En mi caso se trata del home de mi usuario, así que lo que tengo que hacer es modificar la última linea del fichero /etc/netatalk/AppleVolumes.default para que ponga lo siguiente:
    ~/ "$u" allow:javier cnidscheme:cdb
    

    No olvidéis en vuestro caso sustituir el usuario, javier, por un usuario válido de vuestro Ubuntu.

  • El último paso es hacer que el demonio AFP de Ubuntu se entere de los cambios de configuración. Para ello, lo reiniciamos así:
    $ sudo /etc/init.d/netatalk restart
    
  • Ahora podemos irnos a un ordenador Mac y pulsar Comando+G en el Finder. En la ventana que nos aparece, ponemos afp://<Dirección IP del servidor Ubuntu>, y el Finder nos debería pedir autenticación. Ponemos las credenciales usuario y password del usuario que comparte su directorio home y voilá, hemos montado el recurso compartido por AFP y autenticación por canal cifrado.

Instalación y configuración de Avahi

¿Avahi? Pues sí. Este es un paso opcional, pero bastante conveniente. Se trata de emular los servicios Bonjour disponibles en Mac OS X para que podamos ver el volumen compartido en la barra lateral del Finder, igual que ocurre con otros recursos Apple. Avahi es la implementación Open Source de Bonjour que nos va a permitir hacerlo.

  • Instalamos Avahi y la librería mDNS necesaria con el instalador de paquetes de Ubuntu. Afortunadamente en este caso no nos va a hacer falta ninguna modificación:

    $ sudo apt-get install avahi-daemon
    $ sudo apt-get install libnss-mdns
    
  • Para que Avahi funcione correctamente, hay que editar el fichero /etc/nsswitch.conf y añadir el servicio mdns al final de la linea hosts. La linea hosts entonces tiene que tener la siguiente pinta:

    hosts:  files mdns5_minimal [NOTFOUND=return] dns mdns4 mdns
    
  • Ahora tenemos que decirle a Avahi que servicios queremos que publicite en la red. En nuestro caso se trata exclusivamente de AFP). Esto se hace en un fichero que tenemos que crear nuevo llamado /etc/avahi/services/afpd.service que debe de contener sintáxis XML.

    Lo mejor, descargarse un fichero válido (créditos a Disgruntled.com por hacer público el fichero de configuración):

    $ cd /etc/avahi/services
    $ wget http://www.disgruntled-dutch.com/media/afpd.service
    
  • Por último, igual que hicimos con Netatalk, tenemos que reiniciar el demonio Avahi para que coja los cambios:

    $ sudo /etc/init.d/avahi-daemon restart
    

    ¡Y listo!

He probado el volumen montado reproduciendo video con Quicktime + Perian en una red Gigabit Ethernet y con una conexión Wireless 802.11n y no hay absolutamente ningún problema de latencia, así que en principio creo que el montaje de recursos por AFP es más que adecuado si lo que estáis utilizando para ver vuestros ficheros son Macs.

Escritorio Movistar para Mac OS X

por Javier Cañadillas, el 29 de October de 2008

Uno de los servicios que más estoy utilizando ultimamente es la conexión de datos 3G tarifa plana que los operadores de telefonía ofrecen a particulares y empresas. En mi caso, mi empresa la pone a disposición de los arquitectos que estamos en proyectos y con una movilidad alta. Ya que en muchos clientes conseguir salida a Internet sin restricciones es complicado, disponer de un módem 3G es muy útil. Siempre y cuando, claro, sea un módem soportado en la plataforma sobre la que uno trabaja. Este es el caso del módem USB Novatel MC950D que tanto Vodafone como Movistar suministran con sus planes de datos para conexión 3G.

Si vuestra plataforma de trabajo es Mac OS X, estáis de suerte: Movistar dispone de su aplicación de conectividad 3G, Escritorio Movistar, con los drivers para el módem que os he nombrado. En su versión Mac OS X está disponible para su descarga desde aquí. Sólo hay que navegar un poquito en esta página y seleccionar la descarga del escritorio Movistar 6.5 para Mac OS X.

Googleando no encontré ningún lugar salvo un foro de Macuarium donde se pudiera acceder al enlace directamente, así que creo que sólo por eso el post merece la pena.

Curiosamente, por mi experiencia con mi portátil del trabajo Windows Vista, la versión Mac OS X funciona mucho mejor que la versión Vista (sorprendidos que levanten la mano).

Gran problema de la investigación española

por David Cañadillas, el 23 de October de 2008

Estamos en crisis, o por lo menos eso es lo que no paro de leer en las noticias y de oir en la boca de la gente. Bancos que se vienen abajo, el paro que sube, gobiernos inflando dinero, y todo añadido en nuestro país al hundimiento de las inmobiliarias y los síntomas de reventón de la burbuja que veníamos arrastrando. Es un pánico un poco exagerado para muchos y no tanto para otros… llamémoslo crisis entonces.

La cuestión es: ¿de dónde recortarmos en épocas de crisis? No soy economista, tampoco político, ni tampoco empresario o autónomo. Pero por la parte que me toca hay cosas que no entiendo. Se está empezando a plantear en ciertas comunidades autónomas aplicar los recortes en el sector de la educación, y más concretamente en la educación universitaria con la excusa de la crisis. No puedo evitar simplificar las relaciones: falta de confianza financiera que lleva al hundimiento de los bancos y la economía, afectando al paro, ahorros familiares, hipotecas, créditos… en definitiva, no hay dinero y el estado interviene para que no ocurra el caos.

Sin embargo, en estas épocas de crisis, la educación y el presupuesto universitario siempre lo vi como el último recurso. Soy de los que piensa que la educación es el último saco a vaciar, ya que hablar de educación es hablar de futuro, es hablar de progreso y avance. Y en el caso universitario la Investigación y Desarrollo es esencial en estos períodos de vacas flacas, esencial en el sentido de que si no se recorta, tras la mala época y apriete de cinturón tendremos profesionales y empresas que producirán progreso y desarrollo.

Pero no quiero analizar la crisis ni tampoco ser alarmista en el recorte de presupuesto para educación. Lo que me ha llevado a escribir este post es el verdadero problema del I+D en España, y más concretamente en el mundo universitario. Sólo que en épocas de crisis como la actual es fácil darse cuenta de lo que está pasando.

En las universidades españolas se investiga, se tienen laboratorios, talleres, departamentos, fundaciones colaboradoras con el desarrollo, empresas “inyectoras” de dinero, etc… hay, por lo menos, gente interesada en que se invierta en I+D, ya sea por beneficio propio o simplemente por mejorar el sistema educativo, empresarial y social. ¿Es suficiente? Por supuesto que no. ¿Y con los recursos empleados, se consiguen los resultados esperados? Aquí está la clave: ¡NO!

Y ahora, precisamente con la crisis, es donde se ve perfectamente. Antes de esta etapa presupuestaria recesiva, la Universidad invertía parte de su presupuesto en medios y recursos de investigación, colaboraba con empresas, ampliaba infraestructuras para laboratorios y nuevos espacios de investigación. Igual es en la actualidad, incluso con la amenaza de la falta de dinero en el horizonte. Esto no ha cambiado.

¿Y los problemas? O más bien, ¿y los resultados? Pues más bien los de siempre. Es decir, nuestros investigadores se van o se enquistan en la estructura educativa superior, perdiendo entonces muchos de ellos la motivación inicial y la esperanza de hacer algo importante. ¿Es entonces la falta de dinero de la siempre nos hemos quejado desde la Universidad? Bueno, siempre ha sido un factor a tener en cuenta y no ha ayudado no tener el presupuesto en investigación que poseen otros.

Pero lo curioso es que habiendo épocas de menor presupuesto, menor capacidad de recursos y mayor desmotivación por razones económicas (pensemos en un investigador con una hipoteca en la actualidad, por ejemplo), los resultados son muy parecidos. ¿Por qué? A mí se me ocurre una razón bastante visible y razonable: la pésima forma que tenemos de emplear los recursos que tenemos.

Las grandes empresas de este país que apoyan la investigación en la Universidad tienen una capacidad enorme de generar dinero y negocio, pero luego no se preocupan por cómo se emplea ese dinero invertido en investigación. Lo mismo ocurre, a mi parecer, en la universidad. Parece que tenemos un don para derrochar, lo que nos lleva al pánico cuando no lo tenemos. Sólo hay que pasarse por muchos de los laboratorios de investigación y ver problemas tan típicos como malas conexiones de internet, puestos incómodos, desorganización de material, falta de climatización, etc.. sin embargo, y por otro lado, ves cómo muchos de los equipos empleados son de última generación y con capacidad suficiente para trabajar con ellos.

Un ejemplo que hoy he sufrido en mi piel en el laboratorio en el que empiezo mi proyecto. Dispongo de un ordenador Quad-Core de 3GHz con 4GB de RAM, 500GB de disco duro, monitor 21″ panorámico… un “pedazo de pepino”, como diría alguno, para lo que necesito. Sin embargo, tras instalarme el sistema operativo sobre el que voy a trabajar y que empecé a actualizar, me doy cuenta de que la conexión a internet es extremadamente lenta, teniendo que emplear más de dos días para poder bajarme una actualización de 300MB. !¿Qué demonios?!

Pues increíble pero cierto. Resulta que el edificio de la universidad en el que trabajamos, dedicado exclusivamente a laboratorios de investigación, posee una conexión realmente deficiente, y sin embargo no es por falta de equipos o dinero empleado. Tras alguna conversación que otra llegas a la conclusión de que el problema está en no haber considerado esencial ese problema inicialmente. La verdad es que no me lo podía creer, sobre todo teniendo en cuenta lo indispensable que es hoy una día una conexión decente a internet, y sobre todo si tu trabajo tiene que ver con el Software y las tecnologías Web.

Cosas como esta son las que vas aprendiendo conforme te introduces en el mundillo. En definitiva, una falta de organización y pérdida del foco muy imporante, además de la desmotivación contagiosa que sufre el mundo universitario. Es algo que tiene remedio, pero de lo que es muy importante darse cuenta. Estamos obsesionados con la falta de presupuesto y dinero, que también tiene gran importancia, pero creo que estamos olvidando el gran problema de la investigación y desarrollo de este país.

Por tanto, un mensaje muy importante que debemos tener en cuenta es cómo utilizar nuestros recursos y saber organizarlos. No vale de nada estar continuamente pidiendo dinero cuando aún no sabemos utilizarlo, y mucho menos gastarlo cuando no nos preocupamos de su correcta utilización a la que estaba destinado. Tanto el sector privado como el público, y la Universidad, son responsables de la utilización de recursos de investigación en I+D y es un esfuerzo que debemos hacer, sobre todo en períodos de recesión económica.

Impresiones sobre los nuevos MacBook Pro

por David Cañadillas, el 14 de October de 2008

Hace tres horas más o menos terminó el evento donde se han presentado los nuevos portátiles de Apple, el MacBook de aluminio y el renovado MacBook Pro y mis impresiones en general no han sido malas. Es un cambio, nadie lo puede dudar, aunque nos han vendido un poco la moto con la carcasa unibody.

No digo que la carcasa no sea una mejora, todo lo contrario. Nadie duda que estas nuevas formas de la “envoltura” del portátil son una revolución, nos ahorra problemas de piezas y nos permiten un diseño robusto y ligero, pero que no nos engañen haciendo parecer al equipo más caro, porque incluso los procesos de fabricación de este tipo de carcasas son hasta más baratos que los anteriores. Simplemente es una optimización de la fabricación de sus portátiles que nos aportan el valor final de hacer el equipo más “agradable” y compacto de diseño, a la vez que de mejor calidad.

Pero bueno, no me quiero enrollar y tampoco creo que debería numerar las características de estos rediseñados equipos, para eso siempre podremos ir a la web del fabricante. Lo que sí me gustaría sería comentar los pros que aportan gran valor y los contras que lo reducen, a mi parecer, del nuevo upgrade de los nuevos portátiles Mac.

Como grandes aportaciones al nuevo diseño veo las siguientes:

  • Nuevo trackpad: Evidentemente, si es más suave y admite nuevos movimientos multi-touch, las ventajas para la usabilidad son innegables
  • Nuevo teclado: Creo que todos los que hemos usado los nuevos teclados de Apple estamos de acuerdo en la ventaja del teclado que ya usaba el MacBook Air
  • Mejores prestaciones: Ya iba tocando actualizar la gráfica, aumentar el disco duro, la RAM de serie… en definitiva actualizar las prestaciones del equipo
  • Pantalla más delgada: Es todo un acierto apostar por pantallas de LED finitas y quitar los enganches del anterior MacBook Pro, tal y como ya hicieron en el MacBook
  • Diseño en general: Todavía no he visto a los chicos de Cupertino hacer malos diseños de ordenadores, y este no es una excepción
  • Más ecológicos: Aunque es cierto que no solemos ver de primera mano las ventajas de un equipo solidario con el medioambiente, me parece una gran apuesta pensar en esto. Sobre todo porque la producción de los nuevos procesos unibody ahorran mucho gasto inútil de material y energía en la producción

¿Y como contras?

  • Eliminar el Firewire 400: Es verdad que pocos lo usan, pero más inútil me parece la ExpressCard y la han mantenido
  • No eliminar la ExpressCard: Hubiese sido mucho más útil tener uno o dos USB más en ese espacio, y mucho más en un portátil como el MacBook Pro
  • Añadir una tapa para quitar la batería: Nos dicen que el nuevo diseño nos elimina multitud de piezas y nos añaden una que vamos a estar quitando y poniendo… no lo entiendo
  • La reducción de precio del MacBook: ¿Cómo? ¿Que sólo bajan $100 un equipo ya obsoleto? No comment

En definitiva, creo que los nuevos diseños y prestaciones están muy bien, pero me molesta mucho que esto sea en detrimento de puertos de connectividad del equipo. Aún así, cuando tenga los recursos financieros suficientes y vaya a jubilar a mi actual MacBook Pro no dudaré en comprarme uno.

Como todavía no he tocado físicamente el equipo, del cual seguro me enamore cuando lo haga, creo que las impresiones de gente que lo ha estado “toqueteando” pueden ser bastante útiles, así que echad un vistazo a lo que nos cuentan los chicos de Gizmodo.

Yo también odio el Reggaeton… otra vez

por David Cañadillas, el 12 de October de 2008

Ayer sábado tuve la suerte de pasar la tarde con una persona excepcional, tomando unas cervezas y hablando de todo tipo de cosas, entre ellas una que me motivó a volver a publicar un post de éxito (llegó a causar polémica) de la antigua Venera7, la cual perdimos por problemas de backup a la hora de migrar.

No es tan usual que me encuentre con gente que opine sobre el género musical Reggaeton de forma tan contundente y similar a mi manera de pensar. ¡Es magnífico! Por ello, y gracias también a un foro que citó mis palabras del post “Yo también odio el Reggaeton” os adjunto mi pequeña “disertación” de hace tiempo:

Parece que el Reggaeton se ha convertido desde la primavera prácticamente en un movimiento de masas… de “ciertas masas”, más bien, ya que no todos nos incluimos. Pero hay una cosa que la verdad no entiendo muy bien. Resulta que cuando vas a un garito de marcha y te ponen Reggaeton ves que las chicas son las más dadas a ponerse a bailar este tipo de “música”. Y cuando en programas musicales he visto el trasfondo del Reggaeton he visto lo siguiente: uno o varios tíos, rodeados de múltiples tías buenorras, en su mayoría mulatas, y con movimientos sexualmente sugerentes.

¿Y las letras? … cosas como: “Dale don dale…”, “Dame más gasolina, me gusta la gasolina…”, “Dale con el látigo…”, etc… todo esto en el contexto anterior comentado, claro. Entonces yo llego a la siguiente pregunta: ¿Acaso el sexo femenino no se ha dado cuenta del trasfondo sexista que hay en el Reggaeton? Resulta que retiran un anuncio de Fanta en la televisión porque el colectivo de los Boy Scouts se siente ofendido y ninguna asociación feminista se siente ofendida por los vídeos musicales del Reggaeton. No sé, hay cosas que no entiendo. Ni una cosa ni la otra.

Y otra cosa más, ¿os habéis fijado que la base rítmica del Reggaeton es la misma en todas las canciones, y suenan prácticamente igual? ¿Por qué esa gente que tanto critica al “Bakalao” porque siempre suena igual luego les encanta el Reggaeton? ¿Será que se liga más bailando el Reggaeton? Bueno, estas preguntas siempre me las he hecho y tal vez no haya una buena respuesta. Menos mal que por donde yo me muevo no se escucha el Reggaeton, y a fin de cuentas… Yo también odio el Reggaeton

Estas palabras las escribí hace tres años más o menos y, aunque tal vez ahora tuviera más palabras que aportar a este degénero musical, mi esencia de pensamiento hacia él es la misma. Por ello prefiero dejar las palabras originales tal y como salieron en aquel momento.

Los amantes del perreo que intentan desmerecer mis palabras siempre me salen con lo mismo: “seguro que lo has bailado alguna vez”. Sólo puedo contestar de una forma: “todos hacemos cosas estúpidas a lo largo de nuestra vida, y no por ello nos arrepentimos”.

Gracias a los chicos del post que guardaron mis palabras y a la magnífica compañía de mi tarde del sábado, he podido rescatar y reeditar este nuevo post. En definitiva, y no me cansaré de decirlo… ¡Yo también odio el Reggaeton!

La creatividad de los Lego Mindstorms

por David Cañadillas, el 11 de October de 2008

Me encanta la mezcla perfecta que Lego ha conseguido entre la robótica y el juego constructivo de bricks con sus Lego Mindstorms. He sido siempre un apasionado de Lego y también de juegos parecidos, y lo mejor de todo es que conforme pasa la edad la pasión a este tipo de juegos no se pierde.

Recuerdo cuando los primeros Mindstorms que salieron fue uno de los juegos, por llamarlo de alguna forma, más esperados para aquellos amantes de la tecnología que no olvidamos los buenos momentos que pasamos con nuestros cubos de piezas multicolor. Nada como Lego y autómotas para estimular la creatividad de un techie. Sólo tenemos que comprobar las cosas que se pueden hacer con la última versión de Lego Mindstorms NXT, como esta Fat Boy bike que nos enseñan en Gizmodo:

No he tenido aún la suerte de poder comprarme algún kit de Lego Mindstorms ni tampoco de disponer de mucho tiempo para sumergirme en este mundo que echo de menos. De todas formas no deja de ser increíble las cosas que se pueden hacer con estos cacharros.

Pagina siguiente »