Ubuntu and Community Testing

During Ubuntu Developer Summit (UDS), held last week (May 9-13) in Budapest, Hungary, a very interesting program was discussed. It’s the Ubuntu Friendly program. The end product of Ubuntu Friendly should be a way for people to find out whether a particular computer system can run Ubuntu properly (it’s friendly!). This has many possible uses, not the least of which is to enable people to choose a system on which Ubuntu has a good chance of working without much tinkering by the end-user. This is important in a world where most people compare a preinstalled Windows system (which has had most of the dirty driver installation/enablement work done by the manufacturer) with a from-scratch Ubuntu installation, where Ubuntu is expected to pick up all the hardware and work adequately with it.

Due to this last scenario/requirement, in my opinion, installing Ubuntu is already a much cleaner/friendlier experience than installing Windows; on my laptop, a Samsung QX410, Ubuntu has a few glitches which require manual configuration (touchpad, hotkeys), but the system is immediately usable out of the box. The same can’t be said of Windows, where a plethora of device drivers are required for even the most basic devices to even work. However, since the system is purchased with this work already done, to the user’s minds, the Ubuntu experience is not as polished as the Windows one.

I digress. So the Ubuntu Friendly program seeks to award Ubuntu Friendly status to those laptops the community finds work well with Ubuntu. This in a way replaces the Ubuntu Ready program, where manufacturers were responsible for running the tests on their systems. It also complements the existing Ubuntu Certified program, where hardware is tested in-house by Canonical, under more stringent standards, and an official Canonical-sanctioned certificate is issued to machines that are deemed certified, as in, work with Ubuntu out of the box.

Needless to say, there’s a lot of interest from the community in this Friendly program; it’s a win-win situation where the community can contribute valuable testing and results, and the world becomes a better place through what will be a large list of systems that the community has identified as being “Friendly” to Ubuntu.

During UDS, the sessions where this program was discussed had great success; attendance was good, and I was glad to see people from outside the Hardware Certification team in Canonical participate. Yes, there was a lot of interest and participation from community members too. There were a lot of valid concerns and good ideas being talked about, and even though an extra session was scheduled for this program, they all ran out of time with people still wanting to participate.

All in all it’s a very interesting program, one that hopefully will take form quite soon. If you’re interested in seeing what this is all about, here’s the blueprint with a more formal description of what is being planned.

The myth of better device support on Windows

It’s long been argued that peripheral support in Linux is far inferior to that under Windows, and that this has been a factor for Windows’ dominance in the desktop. More and more, the myth that Windows has any kind of technical superiority leaves place to the fact that marketing, and being bundled with nearly every PC sold worldwide, are Windows’ only keys to its widespread adoption. And here’s a story to prove that point.

I bought a printer (HP Photosmart C4780). It’s one of those cheap, $50 numbers that eat through ink like crazy. So I come home, wondering if I’ll have to install 500 MB of crap as included in the bundled CD to get the printer to work with my Mac at home.

As is usually the case with the Mac, I just plugged it in and it worked, both the printer and the scanner, without a hitch or problem.

I then proceeded to do the same on a freshly installed Ubuntu 10.10 laptop. Same story, the printer just worked, and Ubuntu even recognized it when being plugged in, no need to install drivers or anything.

Now, on Windows the printer wouldn’t have worked at all without installing a boatload of crap, HP is notoriously bloaty when it comes to their bundled software.

The usual wisdom is that hardware manufacturers care more about Windows, and ship all their hardware with drivers and stuff to make it work. It would seem, then, that the burden is on Apple and Linux distributions to provide drivers and support to most hardware. It would seem like a daunting task. But they do it, and the end result is that Mac OS and most Linux distros include drivers for everything, right out of the box. This puts them a step ahead of Windows, when it comes to ease of use, at the cost of maybe a slight bloat. Still, my Ubuntu installation is much leaner than the 16-GB behemoth that is Windows 7.

So there you have it, the myth of better hardware support on Windows, finally debunked.

Now, if I could only get the braindead wireless support on the HP printer to work…

Flash Sucks

¿A world without Flash?

I’ve always been a hater of Macromedia/Adobe Flash. Now that the entire Apple-Adobe controversy has rekindled the debate of whether the web is a better or worse place because of Flash, I realized why it is I don’t like Flash.

Also, I realized most technically-inclined people dislike Flash too, because they recognize a lot of its shortcomings, unlike the layperson who only cares about the web being pretty, full of animations and beeps and stuff.

Now, before I begin, let me state this: I’m griping about Flash as a web content creation platform/tool. I couldn’t care less about its use as a mobile development tool. A lot of bloggers have expressed more informed opinions on this topic.

For me, a true flash hater, what Flash does is take control away from the end-user, the consumer of content, and give it to the content creator, the designer.

If you’re the designer this is all fine and dandy; you can control exactly what the user sees, you can tell your application to be exactly this many pixels wide, this many pixels high, and how to look and behave down to the pixel and the microsecond. This is why designers love Flash; it not only lets them work in a familiar environment and with familiar tools, but it also gives them complete control about how and what the user sees and can do.

By the way, don’t be fooled; a designer that claims to know web design but uses only Flash is not a web designer. Flash was created to allow designers (Adobe’s primary clientele) to be able to say (untruthfully) they can design web sites.

A flash-only website. Click it and weep.

The problem is, the web wasn’t meant to be this way. Fundamentally, the kind of content the web was created for, was meant to empower the user. This is why the web browser was designed from the very beginning to not impose those very parameters (width, height, fonts, and so on); the content should adjust to whatever the user’s agent can display. So web content reflows to adapt to your browser; it should degrade for those systems that for any reason lack a certain capability (think Lynx and visually-impaired users). It should also allow me, the user, to alter how it looks and is rendered. This is why I can disable cookies, javascript, replace or even remove altogether the CSS used to format my content, decide not to display images, and so on. Even the most complex non-flash web page consists of text and images; and with a bit of cleverness I can get both the text and the images and incorporate them in the rest of my workflow; paste them into a document, translate them, email them to someone else, the possibilities are limitless since web content is delivered to me as-is, as bytes I can not only look at, but also manipulate as I would any other kind of information on my computer.

This freedom is lost on a Flash-only (or mostly) website. What’s worse, instead of the content being, well, content, stuff I can get out of the browser and process and manipulate in other ways, it becomes merely an image, a photograph or a movie trapped in the clutches of the Flash plugin. I can’t copy the text, I can’t scroll except through the provisions the designer made for me, I can’t easily extract the audio or the images, and I’m basically limited, not by the constraints of my browser, but by those set forth by both Adobe through its display plugin, and the designer. And let’s face it, most designers are also clueless about user interfaces and ease-of-use, unlike the people who designed my web browser, which is rendered mostly useless on a Flash site.

It is this loss of freedom that makes Flash so dangerous, and why I think it would be a good thing for Flash to disappear eventually.

Flash adds nothing of true value to the Web, as we could all live happy without all the animations, all the desktop-apps-masquerading-as-web-apps made in Flash (write a Web app from the ground up, it’s not that hard), all the stupid content that forces me to work its way instead of my way, and luckily, thanks to the advent of HTML5, the one thing for which Flash has proven to be indispensible (web video) we won’t need it even for that. Because, let’s face it, web video was Flash’s killer application; everything else that could once be done only in Flash is now doable in AJAX, CSS and Javascript. And honestly, if Flash had been such a good technology for those things, we would have stayed with it and not bothered with anything else.

If anything, the existence of so many alternatives to Flash and whatever it can do, is evidence that the world at large truly does not like Flash.

Gobierno de México: Ocupándose de las cosas que importan

Muchas naciones, entre ellas México, han recorrido un largo y tortuoso camino para lograr su independencia, defenderse de otros países, y lograr un poco de avance y desarrollo. Toda la sangre y todo el sudor derramados en nombre del país hacen que para mucha gente el concepto de “patria” sea sagrado e intocable, y se llegue a extremos insospechados para defenderlo.

En México hay varios artículos de la constitución y otras leyes que proveen un marco jurídico para garantizar que la patria y sus símbolos sean respetados. Por ejemplo el artículo 33 de La Constitución dice



Los particulares podrán usar la Bandera Nacional en sus vehículos, exhibirla en sus lugares de residencia o de trabajo. En estos casos la Bandera podrá ser de cualquier dimensión y con el escudo impreso en blanco y negro. El particular observará el respeto que corresponde al símbolo nacional y tendrá cuidado en su manejo y pulcritud.

Estas leyes que suenan completamente razonables han sido sin embargo tergiversadas por el actual gobierno de México. Sobre el mismo sobran expletivos pero me los voy a ahorrar, no vaya a haber una “ley para proteger la imagen del gobierno contra víboras y tepocatas” en la cual vayamos a caer.

En lugar de eso me voy a remitir a los puros hechos. Primero, “El gobierno mexicano investiga si el cantante hispano-francés Manu Chao violó el artículo 33 de la Constitución mexicana, que prohíbe a los extranjeros inmiscuirse en asuntos políticos al hablar de terrorismo de Estado“. Lo que hizo Manu Chao fue llamar a la matanza de Atenco en 2006 “terrorismo de estado”. Exactamente cómo constituye esto “inmiscuirse en asuntos políticos”, siendo que la declaración se dio en el contexto de un concierto y no corresponde más que a un comentario sin ninguna intención de injerencia en la política o quehacer en México, queda completamente sin explicación. Así pues, el gobierno mexicano busca una “sanción” por un comentario político. Supongo que el siguiente paso será tener micrófonos en todos los restaurantes porque la política es un tema habitual de conversación y es un hecho que el pobre desempeño histórico del gobierno mexicano, y en particular de  los gobiernos panistas que azotan con el fuete de su incompetencia al país desde el año 2000, siempre deja mucho de qué hablar, y no siempre en los términos más halagadores.

Desde luego que el gobierno mexicano no dijo ni pío sobre la reciente visita de Hillary Clinton, que obviamente viene a inmiscuirse, no solamente como observadora; tampoco sobre la visita del presidente francés Sarkozy, que fue un escándalo en ambos países por las impropiedades que se cometieron por ambas partes. No, esto se hace contra un artista y no persigue otro fin que dar la impresión de que “el gobierno sí hace algo”.

El otro caso quizá deja un poco más de duda: Empresa editorial es sancionada por violar la Ley sobre el Escudo, la Bandera y el Himno Nacionales, en un video publicado en Internet. Como parte de un “comercial artístico”, alguien portando una bandera de México se roba algo. Desde luego la Secretaría de Gobernación se rasga las vestiduras y se lanza con todo contra la empresa productora del video, que inmediatamente recula y lo retira en medio de profusas disculpas, todo ello no obstante que la ley en cuestión es completamente ambigua y deja a la completa interpretación de (quien más) la autoridad los conceptos de “respeto”, “manejo” y “pulcritud”.

De nuevo es aplicar criterios distintos para alcanzar un impacto mediático y una impresión de “estamos trabajando”. La bandera de México se ha visto en infinidad de lugares y personas que cometen crímenes, la pregunta es, ¿por qué la SG no persigue a los asaltantes que visten ropa con banderas de México?

La conclusión que se puede sacar de estos dos artículos es la de una desesperación por parte del gobierno, que incapaz de obtener resultados en los rubros realmente importantes (seguridad pública, economía, migración, derechos humanos) queda reducido a encontrar estas “leyecitas” obscuras y cuyo fin, quizá alguna vez loable, se utiliza ahora para coartar la libertad de expresión y para dar al gobierno algo qué hacer, contra gente legítima y honesta, en lugar de dedicarse a combatir a los verdaderos criminales.

Java: what’s the point?

What’s the point of being type-strict if you can typecast anyway?

What’s the point of being object-oriented if the language is so byzantine it forces you into procedural hacks every second step?

What’s the point of having such a huge class library when at the end of they day, your Java implementation doesn’t behave consistently? (j2me, i’m talking to you and your Hashtable and Vector classes and their lack of toArray).

What’s the point of the compiler being so pesky and anal if it can’t even catch scope-related variable disappearance? in a method, a variable declaration will override an instance variable. I mean, if the compiler complains about *everything* else, why in hell doesn’t it complain about THIS?


ColdHeat soldering tool – don’t buy it!

coldheat proHow nice to begin the new year with disappointment. I bought a ColdHeat pro soldering tool, thinking I might use it for quick soldering jobs, since using the wired soldering tool is a bit of a ritual.

I made the fatal mistake of not reading the  reviews online (such as this and this), which warn that the ColdHeat might not, well, live up to the hype.

As it turns out, the reviews are pretty accurate. The ColdHeat turns a simple task, such as soldering two wires together, into an absurdly difficult affair. Something that would take even me, a pretty inexperienced solderer, a few minutes with the wired iron, turned out to be impossible with the ColdHeat. Maybe it’s just that I’m dumb; but the fact remains that the ColdHeat plainly didn’t work for me.

About my only consolation is that the thing was pretty unexpensive!


Perros malos, muy malos! se subieron al segundo piso de periférico y tuvo que ir a sacarlos la policía.

Perritos en periférico


La completa destrucción de mi página antigua es buen momento para poner wordpress, sobre todo ya que esta versión aparentemente puede manipular también páginas con contenido arbitrario que es lo más común que tenga yo en mi página.