Archivo para la categoría ‘Opino que...’

Claves

8. Políticas de ascenso basadas en el rendimiento y la creatividad. NUNCA deben estar basadas en opiniones subjetivas. [...]

Una de las claves para mejorar la situación laboral.

Pero me da que no se van a llevar a cabo, porque estas implican a los empresarios… aunque también están las de los empleados (aunque creo que las de los empresarios dependen del dinero que podamos generar los empleados, mientras que las de los empleados no dependen del dinero que nos paguen, sino de como nos traten. De esto se podría hablar largo y tendido…).

Nuevo motor de combustión interna

Eco Motors, una compañía americana de ingeniería, ha desarrollado un nuevo motor de combustión interna que que es capaz de reducir hasta el 50% del consumo de combustible actual. Y, por consiguiente, la contamintación.

Infografía del nuevo motor

Infografía del nuevo motor

Estoy seguro de que esta tecnología no la vamos a ver en nuestros vehículos de aquí a 10 años como mínimo. O nunca. Porque sí, estos tíos son unas máquinas como ingenieros. Un 50% es mucha reducción. No es un típico dos o tres por ciento, como rezan algunas gasolinas más por marketing que por reducción real (si es que reducen algo). Es un 50%. Pero un 50% de reducción de consumo implica un 50% de reducción de contaminación y un 50% de reducción en los beneficios de las petroleras. Y ya te digo que ese 50% se lo van a gastar en presiones para que esto no salga adelante. Y, sino, al tiempo.

De todas formas, esta tecnología no es más que un parche para algo que va a desaparecer. Esto no hace más que alargar la disfrutada agonía de la era del petroleo. Algún día se acabará, no sin antes tener una época de escasez y precios hábilmente desproporcionados, y estos motores no servirán de nada. Si para esa época no tenemos otras alternativas… será una época difícil.

Manifiesto en defensa de los derechos fundamentales de Internet

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

  1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
  2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial —un organismo dependiente del Ministerio de Cultura—, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
  3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
  4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
  5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
  6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
  7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
  8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
  9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
  10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Este manifiesto, elaborado de forma conjunta por varias personas, es de todos y de ninguno. Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.

Yo lo vi en Barrapunto, en Microsiervos y en muchos otros sitios más. Porque eso sí que es un atentado contra nuestros derechos fundamentales. Y todo por dinero, como siempre. Por mantener un negocio de cuatro a costa de todos. Pero lo peor es que nuestro maravillos gobierno de izquierdas, legisladores para el pueblo, ha sucumbido ante las presiones de empresas privadas. Genial.

Analizando GCD

Hace unos meses que Apple sacó a la venta la última versión de su sistema operativo, Mac OS X 10.6 Snow Leopard.

Esta versión es principalmente una versión de, como dicen ellos, afinamiento. No se han incorporado características nuevas sino que se han refinado las actuales dándole al sistema una mayor velocidad y estabilidad. Lo que sí han hecho es incorporar en el núcleo del sistema una tecnología que no se ve pero que sí se nota: Grand Central Dispatch.

Logotipo de Grand Central Dispatch

GCD es una nueva tecnología que lo que hace es distribuir las tareas que tienen que hacer las aplicaciones en tareas más pequeñas para así aprovechar toda la potencia de las máquinas que tienen varios procesadores o varios núcleos por procesador, como viene siendo habitual en los ordenadores de hoy en día, no sólo los Apple.

Esta tecnología viene a solucionar el problema de la escasez de paralelismo con la que contaba Mac OS X, pero, más que por su incapacidad, por la desidia de los desarrolladores a incorporarlo en sus aplicaciones. Aunque tienen sus razones, claro, es bastante complicado sincronizar hilos cuando no tienes un API que te ayude a hacerlo.

GCD añade dos cosas al nuevo sistema operativo de Apple. La primera es lo que se conoce como un pool de hilos, es decir, en lugar de que cada vez que queramos realizar una acción de forma paralela creando un hilo para así aprovechar los diferentes procesadores, lo que hacemos es indicar al sistema que queremos realizar tareas paralelas. Es el propio sistema el encargado de crear los hilos correspondientes y de ejecutarlos con una de las tareas a realizar.

La diferencia con los hilos tradicionales es que los hilos de GCD ni se crean ni se destruyen (esto me suena), simplemente existe una o varias listas de estos hilos (el pool) donde cada tarea se va a asociando a cada uno de estos hilos hasta que termine. Una vez terminada la tarea, el hilo no se destruye, sino que vuelve a la lista correspondiente. Además, estas listas de hilos tienen diferentes prioridades con lo que se puede tener más precisión a la hora de ejecutar tareas.

Lo bueno que tiene esto es que el programador no tiene que preocuparse de nada más que de indicar cuáles son las tareas a realizar de forma paralela. El sistema se encargará de distribuirlas entre las distintas listas de hilos disponibles.

Pero para lograr esto, Apple se ha tenido que sacar de la manga una extensión para el lenguaje C de su compilador Clang. Esta extensión es lo que se conoce en otros lenguajes, como Java o Javascript, como closures. Las closures son funciones anónimas o funciones lambda, algo así como los punteros a funciones de C pero con capacidades extras, como el acceso a variables locales, que se puedan devolver por otra función o que se puedan declarar en línea.

A esto, los desarrolladores de Apple le llamaron bloques. Entonces un bloque sería un trozo de código ejecutable que se parece a una función pero que no tiene nombre (función anónima) y que puede acceder a las variables locales del ámbito donde se ha declarado. Y la sintaxis que han hecho es al mejor estilo de C: austera. Veamos unos ejemplos, aunque la forma de trabajar es similar a Java y Javascript pero con distinta sintaxis:

// bloque asignado a una variable y accediendo
// a una variable local
int b = 3
multiplicar = ^ int (int a) { return a * b; };

// x valdría 6
int x = multiplicar(2);

// declaración de un tipo de bloque
typedef void ( ^ my_block_type)(int count);

// función que repite la ejecución de un bloque n veces
void repeat(int times,my_block_type block) {
for(int i = 0; i < times; i++) {
block(i);
}
}

// declaración en línea (pasando como parámetro
// un bloque completo sin declararlo previamente
// como se hace con los punteros a funciones)
repeat(10, ^ (int count) {
printf(“count = %d\n”,count);
});

Gracias a esta nueva extensión, con apenas trabajo por parte del desarrollador, se puede aprovechar toda la potencia de las máquinas multiprocesador. Y, realmente, cuando se dice con “pocas líneas” es cierto. Basta con identificar las tareas (ese es el trabajo difícil) y usar las funciones dispatch_* de la nueva API pasando como parámetro un bloque de código con la tarea a ejecutar. Es el sistema, de forma transparente, el que se encarga de distribuir las tareas en los distintos procesadores creando los hilos necesarios para ello o utilizando los que están en el pool.

La verdad es que hay que agradecer a Apple que por fin se pusiese las pilas en cuanto al rendimiento de sus sistema, que ya iba bien de por sí, pero siempre puede ir mejor, sobre todo por facilitar el paralelismo de tareas a los programadores. Y aunque esto está muy bien, todavía no he visto por ningún sitio cómo han solucionado el problema de la sincronización/comunicación entre tareas (a parte de la memoria compartida y semáforos, claro), ya que esta extensión es sólo para aprovechar las máquinas multinúcleo.

Y es que, a mi entender, creo que esta solución que tan bien les está yendo, es un parche para un problema que viene de lejos. Venga, va, aquí los abucheos por criticar el Mac OS X. Pero expongo mis razones:

Esta solución crea un pool de threads con los que, a partir de un momento dado, se empiezan a realizar tareas sin la necesidad de estar creando y destruyendo hilos continuamente sino reaprovechándolos. Existe más de un pool con diferentes prioridades para así gestionar mejor las tareas. Esta solución es así porque la forma en Apple que implementó los hilos en Mac OS X no es la de lightweight threads (hilos ligeros) sino la de hilos más parecidos a procesos que a hilos en sí.

Esta solución implica que la creación de cada hilo sea bastante costosa, aproximadamente unos 512 KB por cada uno, mientras que la solución de hilos ligeros, la que implementan BeOS y Haiku (sí, ha salido BeOS, ¿raro en este blog? :) ) es la de verdaderos hilos ligeros, con lo que la creación de los mismos apenas lleva 50 KB (32 KB de memoria de pila y el resto de estructuras internas del kernel).

512 KB por hilo creado es mucha memoria utilizada. Y más teniendo en cuenta la cantidad de aplicaciones y servicios que se están ejecutando en un sistema operativo actual según se inicia. Por pocos hilos que crees estás consumiendo mucha memoria y hay que tener en cuenta que cuantos más hilos (ojo, con un límite), más paralelismo y mayor aprovechamiento del hardware. Y vale que ahora la memoria es barata, pero ¿los nuevos sistemas funcionarán en hardware antiguo? Quizás esto no sea una prioridad para Apple, pero siempre hay que pensar en todo.

Como comenté antes, tampoco sé exactamente como se sincronizan las tareas en Mac OS X, mientras que en BeOS/Haiku tenemos tres mecanismos muy ligeros para ello: semáforos, comunicación entre hilos y puertos. El problema es la complejidad a la que se enfrenta el programador para hacer esta sincronización, aparentemente solucionada en Mac OS X, pero que no debería ser un problema si existe una buena API dentro del sistema que lo facilite.

En conclusión (y ya para terminar este ladrillo de entrada) creo que Apple ha mejorado mucho su sistema con esta característica, tanto para los usuarios, aprovechando el hardware al máximo, como para los programadores, haciendo que con escasas líneas de código aprovechen mejor dicho hardware, pero sigo pensando que la solución inicial de hilos pesados no es tan buena como la solución de hilos ligeros.

La neutralidad de la Red

EU Open Internet

Otra vez volvemos a lo mismo con la neutralidad de la red. Nos la quieren meter doblada con el Paquete Telecom. ¿Y eso qué es? Sencillo. Las nuevas normas de comunicaciones dentro de la Unión Europea.

En un principio iban a proteger al usuario y sólo autorizar a un juez a que capturen las comunicaciones o a que te desconecten de Internet, pero ahora han aparecido por el medio ciertas empresas como la SGAE y sus homólogas en Europa que lo que quieren es imponer restricciones en las comunicaciones para que no les pirateemos “sus” obras. Todo esto se traduce en dinero. Sólo quieren más dinero para mantener su status. Sólo eso. Vamos, un ejemplo de mafia para mantener el obsoleto negocio.

El caso es que a mí estas cosas me tocan mucho los cojones la moral. Y no por la música y películas que me bajo de Internet, no, sino porque, ya de paso, a quién haga esas maldades lo podrán desconectar de Internet. Vamos, que, según ellos, sólo nos estamos bajando multimedia de Internet. Las comunicaciones de correo electrónico, llamadas, videoconferencias, búsqueda de información,… eso no cuenta. Si quieres hacer eso, te jodes; no haber bajado la basura de película española de la mega-actriz presidenta de una de estas asociaciones o el megadisco del cantante que sólo tiene una canción con distinta letra.

¿Y para evitar esto qué podemos hacer? Pues en principio hacer bulto. Esto es, firmar una petición on-line para que alguien (ese uno de los problemas, ese alguien igual no es nadie) lo vea y diga: «Vaya, pues sí que hay gente que quiere libertad». Y esperemos que no diga: «Que les den, yo lo que quiero es pasta».

Lo segundo es distribuirlo por la red, para que gente que no sea de por aquí (del mundo digital, me refiero) también se entere de lo que van a hacer. Porque, tarde o temprano, todos estaremos en el mundo digital. No quedará otra. Y a partir de aquí lo que a cada uno se le ocurra (ojo, nada de quemar coches :) ).

La única noticia que parece buena, después de varias veces que se ha votado que sí a la neutralidad en la red en la unión europea pero, ¡oh, sorpresa!, por alguna causa se va a volver a votar (a ver si esta vez sale lo que quieren las empresas en lugar de lo que queremos todos), es que la empresa Skype, la de la telefonía IP, tiene los mismos intereses que los usuarios en la neutralidad de Internet, por lo que ella misma ha pedido al parlamento europeo la neutralidad. Y menos mal que sus intereses coinciden con los nuestros, porque si no fuese así, dad por seguro que la petición sería otra.

A partir de aquí, toca esperar a que no triunfe la avaricia de unos pocos y sí la libertad de todos. Porque los que no quieren que Internet sea libre, también se beneficiarán de que sí lo sea.

Las ganas de “proteger” tu trabajo estropea el mío

Es gracioso cuando te bajas una plantilla de cualquier gestor de contenidos para tu uso y disfrute (o trabajo, por supuesto) y te encuentras con que no puedes tocarla dentro porque el señor creador de la misma le ha dado por encriptar la parte principal (vamos, todo menos la cabecera) con algo, más o menos, como esto:

<?
eval(gzinflate(str_rot13(base64_decode(‘DZhUDsTJEBKvop0lzII5wmYBFZShmQRuDOefM03tngXNo/6r6//Hv//7n7z+KM+n/rN5zLPtxL/5Zk63 ))));
?>

Pero claro, tú necesitas modificarla para adaptarse a tus necesidades (de eso se tratan las plantillas de terceros, ¿no?) pero ¿cómo?

En principio ves que tiene cuatro funciones seguidas. Lo lógico sería hacerlo al revés, pero… sale lo mismo. Sí, lo mismo pero con otro contenido. Las mismas funciones pero con otro texto. Esto da que pensar… pues hago lo mismo otra vez… y sale lo mismo. ¿Otra vez? Pues sí.

Pero ahora ya te has cabreado y te pones en serio: te haces tu pequeño algoritmo de decodificación con un bucle y alguna función de comprobación y, ¡oh sorpresa!, el código limpio ¡sale en la iteración 50! ¿Qué coño es esto? (los amos de Internet, super geeks ellos, dirían WTF!, yo me quedo con la forma en Español).

O sea que me das tu plantilla con un archivo de 8 KB codificado cuando sin codificar ocupa 2,5 KB y, a parte de eso, cada vez que se muestra se ejecutan ¡200 llamadas a funciones! Y una de ellas es eval() cuyo rendimiento es más que discutible.

De verdad, lejos de querer aprovecharme de tu trabajo, si haces algo y lo publicas con una licencia libre, no pierdas el tiempo codificándolo porque lo único que estás haciendo es estropear mi trabajo al tener más tamaño de archivo del necesario y necesitar mucha más capacidad de proceso de la necesaria. Además, es inútil; si se ve en un navegador, se puede ver en cualquier otro sitio.

Lo que cuesta tu casa (de verdad) y lo que pagas por ella

La gente tiene que saber que el coste de construcción de una vivienda no supera los 60.000 euros.

Rubén Sánchez, responsable de la Plataforma por una Vivienda Digna en una entrevista en fotocasa.es.

Por aclarar conceptos, cuando se construye una vivienda existen dos entidades principalmente que la llevan a cabo: una es la constructora y otra es la promotora.

La constructora se encarga de construir, lógicamente, la vivienda. Esta constructora hace los planos, los presenta la promotora (al cliente, no necesariamente la promotora) y, si son aceptados, compra material, contrata a obreros y construye la vivienda. Una vez terminada, le pasa las facturas a la promotora (o al cliente, repito), ésta abona dichas facturas y la vivienda pasa a manos de la promotora. Más o menos, para una constructora, el coste de construcción del metro cuadrado es de unos 600 €.

Luego, la promotora es la que se encarga de promocionar las viviendas que acaba de comprar a la constructora y de venderlas para sacar sus dineros, esto es, un intermediario de toda la vida sólo que este tiene más poder que el de las patatas entre el huerto y el supermercado (bueno, habría que mirar el porcentaje de beneficio).

¿Y quién se lucra? La promotora, por supuesto. La constructora es como quién cultiva naranjas, se venden al intermediario y te desentiendes. Luego pasa lo que pasa. Otra cosa es ya que promotoras y constructoras sean una sola empresa con lo que yo me lo guiso y yo me lo como. Más beneficios, quizás, al tener más control para poner peores más baratos materiales.

Pongamos, como ejemplo ilustrativo, un edificio de viviendas de 7 plantas con 4 viviendas por planta. Según Rubén Sánchez, el coste de construcción de esas viviendas es de 1.680.000 € (sin contar el coste del suelo, por supuesto, esa es otra historia). Pongamos dos millones de euros por la burocracia y algún que otro servicio.

Entonces tenemos 28 viviendas cuyo coste en el mercado es de unos 207.000 € por vivienda (vivienda media de 90 m2 a 2300 €/m2) con lo que el promotor sacará 5.796.000 € por la venta de los pisos que, quitándole los dos millones de euros de la construcción y algo de dinero de la promoción (tampoco es que se esmeren demasiado) quedan más tres millones y medio de euros de beneficio. Y como en los buenos tiempos esas viviendas se vendieron en menos de un año (¡¡ay que me las quitan de las manos, me las quitan de las manos!!) pues esta promotora (que no suele tener muchos empleados, para qué, con uno llega, no construye, sólo vende. Y si la constructora y promotora son la misma pues mejor, más beneficios) pues se ha ganado 483.000 € mensuales. No está mal. Un mileurista necesita 483 años más de 40 años para ganar eso (483 meses, gracias Lek).

Ahora corregidme. Mirad a ver si he hecho algún cálculo mal o a ver si he metido la pata con algún dato, porque estas cuentas no me cuadran demasiado cuando ahora los constructores están desesperados pidiendo al gobierno medidas para paliar su “gran crisis” del sector porque no pueden mantener sus Audis, BMWs, Porches, el chalé en la playa y las botellas de vino de mil euros. Y no me vengáis con mojigaterías del tipo “todos no son así” o “algunos lo están pasando mal de verdad” porque no me lo creo. Los que lo están pasando mal son sus empleados, no ellos. Y si realmente lo están pasando mal, que lo hubieran previsto, que para eso tienen asesores, porque tontos no creo que sean.

Pero la culpa, en mi opinión, la tiene la gente que paga esos precios y los bancos que les dan el dinero. ¿Acaso necesitas una casa en propiedad tan desesperadamente que estás dispuesto a endeudarte el resto de tu vida? Yo creo que no. Pero ese es otro tema.

Haiku en hardware real (mi ordenador)

Ya están disponibles imágenes .iso para descargar de la primera versión candidata (RC) de Haiku Alpha 1.

Como ya hice en su momento cuando salió una versión previa no oficial en LiveCD, la he probado y, esta vez sí, ha funcionado:

Haiku OS corriendo en mi ordenador (hardware real)

Mis primeras impresiones son que ha tardado muchísimo en arrancar. Hay que tener en cuenta que fue desde un CD, pero, aún así, ha tardado más de 3 minutos.

El interior es igual que BeOS, simple, sencillo y rápido. Las aplicaciones que tiene funcionan bien excepto alguna que me dio algún error (la configuración del ratón, que era USB y él sí funcionó a la primera) y el media_server no consiguió arrancar. Tampoco me reconoció la tarjeta de red (que es Wifi).

En cambio acertó de pleno con la configuración de la pantalla a 1280×1024 y cuando arranqué la tetera (la famosa aplicación Teapot en 3D) conseguía 140 fps. Además, la memoria usada por el sistema era de unos 100 MB al finalizar el arranque y la carga del procesador siempre se mantuvo al mínimo.

Creo que para una alpha 1 es suficiente, pero creo también que les falta mucho trabajo para llegar a la beta. Eso sí, confío en que al sacar esta alpha más gente se anime a probarlo y más gente se anime a desarrollar para él, sobre todo los entusiastas del BeOS. A ver si esta vez hay más suerte.

El día 9 de septiembre de 2009 va a ser un gran día (informáticamente hablando)

Logo del sistema operativo Haiku

Parece que, por fin, después de 8 años de trabajo, va a salir la primera versión del sistema operativo Haiku, el clon libre del desaparecido BeOS.

En principio, después de lidiar con los problemas de licencias, de aplicaciones incluidas o no y de los fallos que pueda tener, el día 9 de septiembre de 2009 saldrá la versión alpha 1 de Haiku. Inicialmente en varios formatos, incluyendo una imagen .iso y una imagen para PenDrive.

Cuando la pruebe en hardware real, ya que hasta el momento mis intentos de arrancar en el portátil han sido infructuosos y siempre la he probado en una máquina virtual, daré mis impresiones, aunque, a priori, tengo que decir que la primera impresión es buena. La impresión es de un sistema bastante estable dada su inmadurez y muy compatible con el antiguo BeOS.

Esperemos que sigan avanzando a buen ritmo solucionando errores y añadiendo drivers (de las cosas más importantes) para llegar pronto a la versión 1.0 y, a partir de ahí, continuar donde lo dejó BeOS y construir un sistema operativo actual pero siempre manteniendo la filosofía y simplicidad con la que había sido construido su predecesor.

Desde aquí mi enhorabuena y mis ánimos para seguir. Ya queda menos para bajarse la imagen y ¡probar! ;)

Nueva asociación

Propongo crear una nueva asociación que se llame Hazles callar.

Una nueva asociación en la que cada vez que estos ultraderechistas, retrógrados y privadores de libertades apoyándose en morales obsoletas e inventadas por los más poderosos para controlar a la población abran la boca, nosotros se la callemos.

Por ejemplo, hablando de las playas, los niños y la familia, lo que tendríamos que hacer es ejercer nuestro derecho al nudismo. Porque esto es bien sencillo, si no te gusta no mires, pero respeta la libertad de ir en bolas de los demás. ¿Acaso os habéis preguntado si su religión le obliga a ir desnudos en las playas? ¿No alardeáis que respetáis a las demás religiones?

O cuando los atacantes se hacen pasar por víctimas. ¿Víctimas? ¿Víctimas de qué? ¿Es que acaso es necesario que vayáis con el culo pegado a la pared? Más bien somos los demás los que lo tenemos que hacer cada vez que sacáis la lengua a pastar. Como asociación deberíamos hacer pasar la marcha del Orgullo Gay por delante de todas las iglesias de este país. Incluso celebrarla dentro. Eso sí sería tolerancia.

Y por descontado, la bajada de pantalones de El Corte Inglés y de Heineken al retirar la publicidad de «Salvados por…», el programa de La Sexta (que sólo decía verdades, por cierto). Nuestra asociación debería proponer que estas dos débiles empresas patrocinen todos los eventos que no les gusten a nuestros amigos.

Y como estas, muchas más. Así que, sólo falta crear los estatutos de nuestra nueva asociación: Hazles callar.

Sois unos mierdas

Ya hace tiempo que lo vi pero al final (tampoco es que este blog lo lea mucha gente) pues no lo puse. Pero en realidad creo que sois unos mierdas por la bajada de pantalones ante una ¿asociación? de gente que no tiene ideología pero promueve la ¿ideología? del humanismo cristiano.

Porque, lo siento mucho, retirar una campaña publicitaria de un programa que dice verdades sobre la iglesia por las presiones y amenazas de una secta asociación es de… hipócritas, porque seguro que luego visteis el programa y pensábais lo mismo que yo y que mucha más gente.

Y como lo pienso, os lo digo.

Productividad y programación extrema

Hace unos días el jefe se empeñó en que una aplicación a la que no le pudimos dedicar el tiempo necesario, sobre todo el tiempo dedicado a calcular el tiempo, teníamos que terminarla para hoy. Cuento un poco como iba:

  • La aplicación lleva parada 1 año (si, 12 meses, de verdad).
  • Estabamos dos para hacerla, dos programadores con experiencia en diseño y desarrollo de aplicaciones.
  • Existía una aplicación previa cuya funcionalidad era entre mala y muy mala con lo que decidimos rehacerla de nuevo desde cero, decisión que siempre respaldaré.
  • La documentación existente, tanto de requisitos como de la aplicación previa era… bueno, ya os lo podéis suponer, ninguna.
  • La aplicación es vía web desarrollada en PHP 5 y MySQL 5. Si, llega y sobra esta arquitectura, sólo que hay que hacerlo bien.
  • Es una aplicación que tiene que mantener pedidos de productos, manteniendo de clientes, proveedores y productos.
  • Tiene algo especial que es que en cada pedido, el proveedor correspondiente tiene que validar si sus productos están disponibles.
  • Al ser vía web, la presentación debe ser más o menos bonita con lo que conlleva el maquetado. Además, para mí una aplicación web no está bien hecha si no genera HTML válido. Y lo genera, por cierto.
  • Lógicamente tiene que tener seguridad y cada usuario sólo puede ver ciertas cosas y realizar ciertas acciones.
  • Resumiendo, una aplicación que no es difícil pero tampoco es trivial, lleva su tiempo.

El caso es que después del año parada, ahora hay prisa por terminarla, de hecho hemos tenido un mes para recoger requisitos (que al final se usaron los anteriores, es decir, a ojo), para planificarla, hacer la documentación y desarrollarla con sus correspondientes pruebas.

De entrada eso es imposible; pero no contento con eso, el jefe, que siempre está haciendo algo, pues me asignó otro tipo de tareas menores de manteniento típicas, pero que llevan su tiempo, con lo que calculo que mi productividad total para esta aplicación ha sido del 50%.

Pero aún no contento con eso tampoco, el señor jefe se empeño en que teníamos que terminarla hoy. Toda no, pero sí la funcionalidad básica, es decir, el mantenimiento de todos los datos, la maquetación y presentación dejando de lado la seguridad por el momento. Y como había que entregarla hoy, el jefe nos dijo que teníamos que echar horas. Horas extras. Horas extras para hacer programación extrema. El cáncer de la programación.

Pero es que yo por ahí no paso. Primero porque no son horas que hay que hacer por culpa de que se jode la productividad de la empresa. La aplicación lleva un año parada. Dudo mucho que corra esta prisa.

Y segundo, y más importante, porque la productividad del trabajador no depende de las horas que eches. De hecho cuantas más horas eches, menor productividad. Porque estás más cansado, porque no tienes tiempo libre y tu humor no es el mismo. Porque si estás cansado cometes errores. Porque si cometes errores tienes que hacer horas para solucionarlos. Y así tenemos a la pescadilla que se muerde la cola y volvemos a la misma mierda. Luego la productivad del lunes trabajando 12 horas es de 12 horas. La del martes es de 9. La del miércoles es de 6. La del jueves de 4 y el viernes a tomar por el mismísimo porque estás hasta los huevos. Te vas a dormir y sigues programando en sueños.

¿Pero tan difícil es hacer entender a los jefes que esto de la informática no es como picar piedra? Que aquí hay mucho que pensar, mucho que diseñar y poco que programar. Que no hay que estar horas y horas aporreando el teclado. Que aquí hay que hacer las cosas bien desde el principio y con eso se ahorran muchas horas extras (muy generalmente impagadas) y sobre todo muchos dolores de cabeza. Quizás me gane mala fama por decir las cosas como son (como en la anterior empresa) pero es que no hay otra forma. Y se lo dije, y pasó por el aro en principio.

La aplicación finalmente se entregó a tiempo pero no gracias a las horas extras (de hecho creo que sólo hicimos un par de ellas) sino a la buena planificación perdiendo el tiempo (es un decir) en hacer la documentación pertinente. Cuando entregamos esta primera fase fue rápido e indoloro. Vale, ok, todo lo que está funciona. Sin problemas, seguimos con lo nuestro. Pero luego por detrás nos enteramos de que dice que sólo está el 5% ¡el 5%! Bueno sí, justo. Y encima se lo dice a los demás en lugar de a nosotros. Puf, es que me pongo negro.

Menos mal que sabemos cómo hacemos el trabajo y como va de verdad, si fuese un tío sin experiencia seguro que se volvía loco. A ver si ahora la terminamos y queda contento, porque aunque la aplicación es perfectamente funcional, de alabos nada. Es lo que hay.

Libertad con OpenDocument

Hace un par de entradas mostraba mi descontento por el uso de formatos propietarios por parte de Microsoft. Pues la verdad es que él no tiene la culpa, al menos no toda.

La culpa la tenemos todos nosotros que usamos sus formatos por el simple hecho de que «es lo que viene instalado en el ordenador» o es «lo que nuestro amiguete informático/friki nos ha puesto pirata».

Pues yo me uno a la iniciativa de Nasete para que esto deje de ser así. Tenemos que tener la potestad sobre nuestros datos y no depender tecnológicamente de una empresa que puede desaparecer. Sí, aunque ahora parezca improbable, ya veremos cuando la gente empiece a darse cuenta de esto: libertad con OpenDocument.

Y para los que no saben de qué coño estoy hablando, OpenDocument es un formato de documentos, tanto de texto como hojas de cálculo pasando por presentaciones, fórmulas matemáticas, dibujos, bases de datos, etc. cuyo formato interno es público y está estandarizado por OASIS, con lo que cualquier aplicación que quiera implementarlo es libre de hacerlo.

Y con esto, lo que conseguimos los usuarios es poder elegir el software que utilizamos para nuestra información, porque ¿por qué tengo que utilizar un software que tengo que pagar y que usa su propio formato cuando existen alternativas libres y gratuitas de la misma o mejor calidad?

Y que los formatos privados los use cada uno en su casita a mí me da lo mismo. Pero que, por ejemplo, las administraciones públicas utilicen formatos que para poder verlos tengo que tener un determinado software que me cuesta mis escasos dineritos… pues no, por ahí no paso. Y no deberíamos pasar ninguno. De ahí esta iniciativa.

Y alguno se preguntará: «¿de donde saco las aplicaciones que manejan estos documentos?». A lo que respondo: «¿pero aún no conocéis OpenOffice.org. Pues ya tardáis.

Actualización 11/12/2006: OpenDocument ya ha sido estandarizado por ISO, exáctamente es el estándar ISO/IEC 26300:2006. Ahora, como dicen en Barrapunto, son los gobiernos los que tienen que adoptarlo y promocionalo.