LibreTab… not?

In a perfectly orchestrated marketing campaign for a 100% free-libre tablet called Spark that will run KDE Plasma Active, Aaron Seigo writes today about the problems they are facing with GPL-violations.

Apparently, every Chinese manufacturer is breaking the GPLv2 by not releasing the sources for their modified Linux kernel. Conversations and conversations with Zenithink (designers of the Spark), Synrgic (designers of the Dreambook W7), etc have arrived nowhere. To the point that CordiaTab, another similar effort using Gnome instead of KDE, has been cancelled.

I have to say I am very surprised at the lack of the kernel sources. What is the Free Software Foundation doing? Why don’t we seek ban of all imports of tablets whose manufacturers don’t release the full GPL source?

Apple got the Samsung GalaxyTab imports blocked in Germany and Australia for something as ethereal as patents covering the external frame design. We are talking about license infringement, which is easier to demonstrate in court.

China may ignore intellectual property but they cannot ignore business, and no imports means no business. Let’s get all GPL-infringing tablet imports banned and we will get more source in two weeks than we can digest in two years. Heck, I’m surprised Apple is not trying this in court to block Android!

HTML5 for everything?

Apparently HTML5 applications are the best thing after sliced bread.

HTML5 is the first platform any mobile vendor supports: iPhone, Android, Windows Phone, BlackBerry, Symbian. All of them.

Windows 8 is said to promote HTML5 as the preferred application development solution.

I used to look kindly at that. But about a month ago I started to get worried: is HTML5 good for everything?

Long-lived applications

In military, industrial, warehouse management, medical, etc is not rare that bespoke applications are developed and stay in use for many years (and I really mean many: 10, 20 or even more!) with barely an update. It’s not rare that those applications only receive very small updates once very 5 years. Those applications, not Angry Birds, are what keeps the world running: troops know what supplies they can count on, iPhones are manufactured, FedEx is able to deliver your package and your doctor is able to check your health.

But now that everybody seems to be moving to HTML5 webapps, what happens when my warehouse management application is a webapp and the additions in the newest browsers make the webapp no longer work?

Are vain upgrades the future?

Say my webapp is released in 2014 and it works fine with Firefox 14.0 and Chrome 26.0, the newest browsers when I release the application in 2014. Fast-forward to 2020 and Firefox 14.0 and Chrome 26.0 do not even install on Windows 10 computer! What’s the solution?

Should the customer pay for a huge update and redesign to make it work with Firefox 27.1 and Chrome 41.0 in 2020?

A virtual machine with Windows 8 and Firefox 14.0? A portable Mozilla Firefox 14.0 on Windows 10 in 2020 to be able to use that line-of-business application that only requires a small update once or twice every 5 years? How are the virtual machine and/or Portable Firefox 14.0 different from or better than a fat client? What’s the advantage? I’d say none!

Native applications usually do not have that kind of problems because APIs are much more stable. You can still run Win16 applications on Windows 7!

You don’t believe me? We may soon be developing for 76 browsers!

While HTML5 may be fine for applications which are updated very often, it makes me feel very uneasy to see it used in environments where applications will be rarely updated, such as SCADAs, warehouse management, control system, medical records, etc.

A solution is needed

It looks like that choice of technology is going to make those applications much more expensive in the medium and long term, paying for “adaptations to new browsers” (sorry, I resist to call “update” or “upgrade” to something that adds zero value other than being able to run on a newer browser).

Or maybe it’s about time to define actual “HTML5 profiles”. ACID3 seems to be too weak of a profile: two very different browsers may pass ACID3 yet a webapp would work with one browser and fail with the other due to bugs, missing features/added features, etc.

Something needs to be done.

Problemas de la Economía española (II) : NO especialización

Hace un par de meses Martín Varavsky se preguntaba porqué apenas hay premios Nobel españoles. No es la primera vez que lo hace, ni el único.

Llevamos años escuchando que la productividad de las empresas españolas es muy baja. Que tenemos demasiadas vacaciones, demasiados puentes, que trabajamos poco. Y sin embargo la realidad es que estamos más horas que ningún otro país en el trabajo, y que cuando uno echa cuentas, no hay tantos festivos ni vacaciones con respecto a otro país. ¿Qué falla?

Igual frío un alfiler que coso un huevo

Pues creo que tiene algo que ver con que el 99% de las empresas españolas son PYMEs, muchas de ellas incluso microempresas (menos de 10 trabajadores y 2 millones de euros de facturación).

En España tenemos fundamentalmente empresas pequeñas y muy pequeñas que intentan dar servicio de todo y a todos.

Cuando uno se pone a mirar los epígrafes del IAE en los que está dada de alta una empresa, se queda a cuadros: es habitual que una empresa de pinturas esté dada de alta (y “ejerza”) también en actividades informáticas, electricidad, albañilería y pequeños trabajos de construcción, construcción de bicicletas y hasta en astrólogos y similares si se tercia.

Como dice la sabiduría popular, el que mucho abarca poco aprieta: el resultado de querer hacer de todo es trabajadores no especializados que igual pintan un pared, que instalan un router o le hacen una estantería de madera a medida, se la pintan y se la instalan.

¿Qué hay de malo en esto? Que se pierde mucho tiempo formándose en lo básico de cada cosa, y por tanto la productividad es bajísima. Y ojo, que no es que le eche la culpa a las PYMEs por querer hacer de todo, es que muchas veces uno se ve obligado: o lo hago, o no me encargan la “faena”.

“Lo siento, no está en mi área de responsabilidad”

Comparemos con lo que ocurre en otros países. Por ejemplo, Alemania, que parece ser el summum de Europa ahora mismo.

En Alemania hay fundamentalmente empresas medianas y grandes. Tener mucho personal se traduce en tener personal especializado, que no pierdee tiempo formándose en lo básico, sino perfeccionando y avanzando en los aspectos más remotos. ¿Qué es esto? Alta productividad. Soluciones únicas y extraordinarias. Patentes, royalties y Premios Nobel, entre otros.

Claro, que las empresas grandes tampoco son la panacea:

  • Suelen ser muy inmovilistas. Nadie se arriesga a proponer o intentar algo que tenga la más mínima posibilidad de resultar fallido, porque le condena al ostracismo. Experiencia personal: trabajar para empresas grandes desde fuera me ha permitido llevar a cabo esos “golpes de Estado” sin temor a que me corten la cabeza.
  • Esa alta especialización a veces lleva a situaciones absurdas en las que nadie quiere mojarse. Típico problema con los alemanes: en una situación en la que se requiere un 40% de conocimientos de X, un 40% de conocimientos de Y y un 20% de conocimientos de Z, va uno a pedirle ayuda al experto en X, al experto en Y y al experto en Z y todos y cada uno de ellos responden “ah… pero es que aquí hay una parte que se sale de mi área de conocimiento, no puedo ayudarte”. Preguntas quién puede ayudarte, y o se pasan la pelota de unos a otros, o directamente te dicen “otra persona, yo no”. Y se quedan tan frescos. Palabrita del niño Jesús que esto me ha pasado ya bastantes veces.

El equilibrio

Las empresas grandes tienen los recursos para cubrir todo el dominio del problema con personal especializado y poner a gestores para coordinar a esos expertos.

Las empresas pequeñas tienen menos burocracia, arriesgan más (muchas veces inconscientemente) y pueden innovar más rápido.

Creo que en España las PYMEs “genéricas” deberían asociarse y formar empresas más grandes, no necesariamente una única empresa, sino un consorcio u otro tipo de asociación empresarial estrecha, de forma que actúen como una única empresa de cara al cliente. En lugar de hacer cada indio la guerra por su cuenta, hay que echar mano de la formación en tortuga.

Con esto dejaríamos “vía abierta” a otro tipo de PYMEs, las hiperespecializadas, aquellas que serían expertas en una única cosa. De esta forma conseguiríamos gran productividad y retorno en forma de patentes, que es justo lo que sucede en EEUU e Israel.

El problema: no puede haber empresas pequeñas especializadas si no tienen clientes. ¿Quiénes son sus clientes? Normalmente empresas grandes que se dan cuenta de que tienen una necesidad concreta y pueden permitirse pagar por una solución externa. ¿Tenemos empresas grandes en España? Pocas, muy pocas, casi se cuentan con los dedos de una mano.

Hace falta un “balance saneado” de empresas pequeñas ultraespecializadas y empresas grandes que puedan contratar a esas empresas pequeñas ultraespecializadas para que haya un beneficio mutuo.

Este es, en mi humilde opinión, el verdadero problema de la baja productividad española, la falta de premios Nobel españoles y la escasa importancia de España en tecnología, y en casi cualquier cosas más allá del ladrillo y el turismo de sol y playa.

FOSDEM 2012

Yup, one more year I’m attending FOSDEM

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

If you are coming, feel free to add yourself to the KDE wiki page.

If you are coming to the beer event on Friday but you don’t know anybody, make sure you bring something that identifies you as a Qt/KDE hacker! In any case, a lot of us will be around the KDE booth in the K building.

I will also spend quite some time at the CrossDesktop DevRoom, which is being run by Christophe Fergeau and myself this year.

FOSDEM 2012 CrossDesktop DevRoom: deadline extension

FOSDEM is one of the largest gatherings of Free Software contributors in the world and happens each February in Brussels (Belgium). One of the developer rooms will be the CrossDesktop DevRoom, which will host Desktop-related talks.

Are you interested in giving a talk about open source and Qt, KDE, Enlightenment, Gnome, XFCE, Windows, Mac OS X, general desktop matters, mobile development, applications that enhance desktops and/or web?

We have extended the deadline for a few more days, until January 8th. If you want to submit a talk proposal, hurry up!

I have to say I am very surprised to see very few Qt/KDE talk proposals. Is there nothing interesting the Qt and KDE world have to say to 5,000+ people?

There is more information in the Call for Talks we published a couple of months.

If you are interested in Qt/KDE, come visit us at the KDE booth. If you add yourself to the KDE FOSDEM 2012 wiki page, we will be able to better organize the usual dinner on Sunday and/or smaller meetings for “special interest groups”.

 

Problemas de la Economía española: subvenciones a la NO I+D+i

En mi opinión, en España desde hace ya unas cuantas décadas hay subvenciones para absolutamente todo. Se ha perdido totalmente la cultura del esfuerzo y todo el mundo quiere un “premio de consolación” que sea casi tan bueno como el primer premio, lo cual resulta nefasto. ¿Para qué intentar ser el mejor si el segundo va a tener casi lo mismo con el 10% de trabajo?

Un ejemplo de esto es la investigación, desarrollo e innovación: en lugar de fomentar la I+D+i de verdad y exigirle resultados (dentro de lo que se puede; obviamente la investigación básica por definición no puede garantizar resultados), subvencionamos acciones supuestamente de I+D+i que no son otra cosa que reventa de resultados de I+D+i de otros países. De la falta de medios para la I+D+i real ya hablaremos otro día.

Un caso concreto

Pongamos que la Agencia Espacial Española quiere que sus agentes Mortadelo y Filemón sean capaces de reparar los satélites y naves espaciales españolas en órbita.

Tal como andan las cosas hoy en día, el Gobierno de turno pondría un porrón (porroncito, que ya se sabe que para Ciencia hay bien poco dinero) de millones para subvencionar que algunas empresas (las de siempre, vamos, pero de la corrupción ya hablaremos otro día) investigaran el tema. Investigaran. Si además llegan a algo, albricias y loanzas.

El modelo estadounidense sería “ligeramente diferente”: iríamos a esas empresas y les diríamos “te compro un soldador robotizado para juntar fistros con trócolas en el espacio exterior. ¿Que no lo tienes? Pues búscate la vida porque cuando lo tengas de lo compro. Es más, aquí tienes un adelanto (no subvención: esto ya es parte del pago). Y ojo, que quiero que la tecnología sea tuya, no me vale que me revendas algo que han hecho los alemanes, rusos o japoneses”.

La diferencia

Modelo americano “compro cuando lo tengas“: si el precio por el que se va a vender el soldador espacial de fistros es 100, yo te doy ahora 30 de adelanto, cuando me enseñes una soldador de fistros en tierra otros 20 y cuando me des el soldador espacial de fistros te doy otros 50. Coste total = 100. Además, la tecnología es estadounidense y se va a vender a otros países y se va a cobrar royalties, implantación, etc. A medio-largo plazo, negocio redondo.

Modelo español “compro lo que tengas“: si tienes un producto que haga X, te lo compro. El coste total es 100 + las subvenciones que se dan. Puede ser 120, 150, 200 ó 200.000. Nótese que da igual que el producto sea propio o que seas revendedor, así que no se incentiva en absoluto que sea tecnología propia, con lo cual mayoritariamente se revende tecnología extranjera. Negocio redondo a corto plazo para que el amiguete de turno pegue el pelotazo.

Creo que la diferencia quede clara y no hace falta preguntarse porqué España anda como anda.

Corolario

Ejemplo claro de esto: las subvenciones a la energía fotovoltaica.

En España subvencionamos instalaciones, así que se ponen placas fabricadas en China con tecnología alemana.

En USA se compran placas solares que produzcan electricidad a 6 cént/kWh, que no existen, así que están obligando a las empresas de allí a ponerse las pilas en investigación.

 

Reminder: FOSDEM 2012 CrossDesktop DevRoom Call for Talks

FOSDEM is one of the largest gatherings of Free Software contributors in the world and happens each February in Brussels (Belgium). One of the developer rooms will be the CrossDesktop DevRoom, which will host Desktop-related talks.

Are you interested in giving a talk about open source and Qt, KDE, Enlightenment, Gnome, XFCE, Windows, Mac OS X, general desktop matters, mobile development, applications that enhance desktops and/or web?

Hurry up and submit your proposal, deadline is December 20th!

There is more information in the Call for Talks we published one month ago.

If you are interested in Qt/KDE, come visit us at the KDE booth. If you add yourself to the KDE FOSDEM 2012 wiki page, we will be able to better organize the usual dinner on Sunday and/or smaller meetings for “special interest groups”.

 

Crackear ReCaptcha

Origen

El spam y los contenidos robados son un problema cada vez mayor en la web. Para evitar el spam en los comentarios en blogs, foros, etc, hay dos fórmulas populares:

  • Pedir al usuario que se registre, con lo cual una gran mayoría de usuarios reales desisten y nuestro sitio web se queda sin valiosas contribuciones
  • Pedir al usuario que escriba una secuencia de letras y/o números distorsionados tal que así:
    El nombre técnico de eso es “captcha

Esta segunda estrategia es la más usada, porque no ahuyenda a los usuarios reales pero sí a los robots, que son incapaces de resolver el captcha.

 

¿Los robots son incapaces de resolver el captcha?

Pues depende del tipo de captcha. El que hay ahí arriba es relativamente sencillo de resolver con un poco de procesado de señal: eliminamos el ruído, eliminamos las líneas de cículos y al final nos queda una imagen limpia con el 3163.

Hay, sin embargo, un tipo de captcha que por definición es imposible de resolver: el ReCaptcha.

 

Cómo funciona ReCaptcha

Recaptcha pone 2 palabras:

  • Una de ellas ya la tiene el sistema resuelta (bien porque sí se puede resolver vía OCR, bien porque se saca de una base de datos de correspondencia “garabato – palabra”)
  • La otra es una palabra que ningún OCR ha sido capaz de reconocer

El orden de las palabras es aleatorio: unas veces la que se puede reconocer está a la derecha, otras a la izquierda.

La idea es que un humano es mejor que un OCR, así que será capaz de reconocer ambas palabras.

El sistema recaptcha sabe cuál es la que ya está resuelta y esa se usa de palabra de control:

  • Si me resuelves bien la que yo conozco, entonces es que eres un humano y tomaré en consideración la otra
  • Si la palabra de control la fallas, no te hago ni caso

Es decir, el sistema Recaptcha da por resuelto el captcha simplemente con acertar una de las dos palabras (con resolver la palabra de control ya es suficiente). El problema es que no puedes saber cuál es la palabra de control.

Vamos, que por definición es imposible resolverlo mediante reconocimiento de caracteres (OCR).

 

Cómo romper ReCaptcha

La única manera de romper un recaptcha sería:

  • Aprovecharse de que resolviendo la palabra de control el captcha se da por resuelto
  • Tener una base de datos de imagen – palabra de control
  • Tener infinito tiempo, porque vas a tener que comparar todas las imágenes una a una (por supuesto, se puede optimizar, pero tampoco demasiado).

Nótese lo de “infinito tiempo”. ¿Entiendes ahora porque todos los sitios que usan recaptcha hacen que caduque a los 20, 30 ó 60 segundos?

Otros usos de ReCaptcha

Lo mejor de todo, que no había dicho ahí arriba, es que las palabras del recaptcha están sacadas de fallos en el OCR al escanear libros, documentos, etc de bibliotecas, periódicos, etc

P. ej. Google Books se pone a escanear un libro y luego Google usa todos los fallos de reconocimiento como captchas en Blogger y así puede terminar el escaneo de todos los libros a coste cero. De hecho, están haciendo esto.

 

KDE eV Sprint

Here I am, with 9 other people, at the KDAB office in Berlin. We are in the KDE eV sprint, talking about promo stuff, eV stuff, corportate membership, future, etc. Really interesting stuff.

Most of us (including our intern Inu) spent the morning trying to improve Join the Game, others went to define a policy for what to publish in the donors page, thank you page, etc

I’d say it has been very productive. Everybody came with very nice ideas; some of them we will finish here, others we will need ask for help from some community members (especially from artists!)

The sprint continues tomorrow.

 

FOSDEM 2012 – CrossDesktop DevRoom Call for Talks

FOSDEM is one of the largest gatherings of Free Software contributors in the world and happens each February in Brussels (Belgium). One of the developer rooms will be the CrossDesktop DevRoom, which will host Desktop-related talks.

We are now inviting proposals for talks about Free/Libre/Open-source Software on the topics of Desktop development, Desktop applications and interoperativity amongst Desktop Environments. This is a unique opportunity to show novel ideas and developments to a wide technical audience.

Topics accepted include, but are not limited to: Enlightenment, Gnome, KDE, XFCE, Windows, Mac OS X, general desktop matters, applications that enhance desktops and web (when related to desktop).

Talks can be very specific, such as developing mobile applications with Qt Quick; or as general as predictions for the fusion of Desktop and web in 5 years time. Topics that are of interest to the users and developers of all desktop environments are especially welcome. The FOSDEM 2011 schedule might give you some inspiration.

Please include the following information when submitting a proposal: your name, the title of your talk (please be descriptive, as titles will be listed with around 250 from other projects) and a short abstract of one or two paragraphs.

The deadline for submissions is December 20th 2011. FOSDEM will be held on the weekend of 4-5 February 2012. Please submit your proposals to crossdesktop-devroom@lists.fosdem.org

Also, if you are attending FOSDEM 2012, please add yourself to the KDE community wiki page so that we organize better. We need volunteers for the booth!