bitácora de Rawsock
Snobs
"La arrogancia (en Ciencias de la Computación) se mide en micro Dijkstras" - Alan Kay
Friki^2(2)
Pillado de por ahí. 5 Puntos para el primero que pille la referencia :
#include "kenshiro.h"
using namespace HokutoShinken;
void Kenshiro::HyakuretsuKen( const Foe &my_foe)
{
my_foe << "AAA~";
for(int i = 0; i < 100; i++){
my_foe << "TA";
}
my_foe << "~WATAAAA!!"
// Foe should be already dead
this->uniCodeTalk(L"おまえはもう死んでいる");
// Pause and wait for the exploding head
sleep(3);
}
Gran semana para los cabezas visibles.
Por un lado Marquitos se suelta la siguiente perla :"Microsoft está o estará en el mismo lado que nosotros en lo que a patentes respecta". No se puede negar que Marquitos nació con la vena de astronauta, todavía sigue en la luna de Valencia..
Por el otro, Novell se nos pone revolucionaria de bote, apuntándose a una chachi campaña de la EFF contra las "patentes abusivas". Es decir, sólo aquellas patentes que tienen las llamadas "Patent Trolls", que utilizan para sangrar a las grandes empresas. Las patentes de las grandes empresas son todas buenas, se han gastado chopocientos muchillones de dolares para sacarlas, como media, y suelen ser muy innovadoras . Como la del IF NOT de Hasefroch.
Alguien tendría que explicarles a estos dos pichoncitos que todas las patentes de software son abusivas.
Stallman Nakamura
Vía este tipo listo que ha tenido la grandísima idea de mandarle una Katana a Richard Stallman. Las fotos están en el post original o si sois muy perros podeis verlas aquí. Esperemos que no haga como en el cómic y vaya al encuentro de su sangriento destino en Redmond. Aunque por cómo agarra la espada, no creo que nos debamos de preocupar ...
... todavía.
Referencias cruzadas.
Sabes que la documentación de un proyecto está algo mal, cuando la mejor manera de enterarte como van las cosas es mirando código ajeno o examinando directamente el código fuente original. En mi caso: he aprendido más sobre Bullet mirándome el código fuente de Blender (que utiliza Bullet como motor de física) que la documentación oficial, tutoriales incluidos.
No me quejo, sin embargo. Considero que saber leer código fuente es una habilidad esencial para todo buen programador, y el software libre nos proporciona una enorme biblioteca de donde leer de todo.
CMake: ¿Bye bye autotools?
Hace unos mesecillos tuve la oportunidad de poder utilizar autotools para montar el sistema de build de una práctica bastante grande. El resultado final es el que la mayoría de vosotros podeis ver cuando os bajais un .tar.gz : ./configure && make && make install. Pero el esfuerzo inicial para montar un proyecto en autotools es considerable : documentación atrasada, una comunidad de usuarios que se pasa ficheros .m4 sin saber muy bien que hacen, incompatibilidades entre versiones y una sensación en general de no saber qué cóño se está haciendo realmente. Eso sí, una vez montado está muy bien.
Pero no es oro todo lo que reluce. Por ejemplo se supone que el tema de generación de Makefiles se maneja desde los ficheros Makefile.am. Sin embargo, como no especifiquemos que Makefiles queremos generar en el configure.in, no se crearán. Estas dependencias mutuas entre distintos programas puede volver loco a más de uno, sobre todo si varios desarrolladores utilizan distintas versiones de automake, autoconf y libtools.
Me enteré de la existencia de CMake por el "enemigo" : KDE se pasará a CMake. Por curiosidad, traté de recrear la estructura de proyecto de la práctica con CMake. En menos de 2 horas ya tenía el tinglado funcionando. Incluidas unas reglas muy raras para generar los Unit Test, que utilizan CxxTest que a su vez utiliza Python o Perl (a elegir). En el caso de Automake, en 3 días no pude crear esas reglas y acabé utilizando un script-Makefile propio que daba asco verlo.
Toda esta experiencia la estoy aplicando al sistema de build de mi proyecto de fin de carrera: un wrapper libre sobre varios motores de física como Bullet u ODE. Uno de los requisitos del PFC impuestos por el tutor es proporcionar ficheros de proyecto para Visual Studio y que el proyecto compile en esta plataforma. Y aquí CMake entra al rescate de nuevo, ya que no sólo genera Makefiles estándar, sino que también puede generar archivos de proyecto para Visual Studio, Borland y KDevelop.
Es un gustazo dejar de lado el horrible IDE del VS (o cualquier IDE, en general), abrir un Vim como $DEITY manda, personalizado a tu gusto, y lanzar a compilar el proyecto desde ahí. Si, justo, estoy utilizando Visual Studio como un sistema de build, nada más :P.
¿Significa la existencia de CMake el fin de autotools?. Ni de coña. A pesar de ser un proyecto maduro, CMake todavía tiene algunas carencias. Aunque la comunidad que está detrás de CMake tiene fama de ser muy abierta a las opiniones externas. Por ejemplo, muchos cambios pedidos por la gente de KDE están siendo atendidos con gusto por la comunidad de CMake, tal y como se explica en el artículo de LWN mencionado ut supra.
Eso sí, si estais pensando en hacer un proyecto Multiplataforma en C/C++, CMake es recomendable al 100%. En cuanto tenga tiempo, moveré todos los miniproyectos que tengo (engine 2D incluído) a CMake, si el resto de Vacas Espaciales me deja ;).
Novell does Europe
Siguiendo con su política de "¡Si no pasa nada, tontines !" mientras la comunidad se moviliza, Novell ha soltado dos parrafadas de Márketing enfocadas en Europa. La inglesa y la alemana. Destaco de la parrafada inglesa :
"The patent cooperation agreement enables Microsoft and Novell to give customers assurance of protection against patent infringement claims. It gives customers confidence that the technologies they use and deploy in their environments are compliant with the two companies patents."
Alguien de dirección debería decirles a Marketing lo del No-Acuerdo. Mas bien, ese parrafo parece cortado y pegado de la FAQ que Novell borró rápidamente de su página corporativa. Fijo que no recibieron el memorándum. También obvian el pequeño, mínimo, nimio, microscópico, y cuántico problema :
Las patentes de software y métodos de negocio son ILEGALES en Europa, cacho besugos. ¿Qué rabanos haceis soltando el mismo FUD en el viejo contiente?. ¿No tenemos bastante con la comida basura, el creacionismo y los furries?.¿También nos quereis colar las patentes?
Pero claro, si solo reconocen a la Euro Patent Office como órgano legistlativo en Europa, es medianamente comprensible.
Donde dije digo, digo "acuerdo"
Otra cartita de aclaración de Novell. Se recomienda la BSO de Benny Hill para su lectura, amplifica bastante la sensación de ridículo . Destaco :
" ... This agreement is at the heart of what IT users demand ..."
" ... Our interest in signing this agreement ..."
"... so a patent cooperation agreement was included as a part of the deal ... "
¡Aleluyas, Albricias, Chupiflautas y Chupicarambolas!. ¡El famoso No-Acuerdo ha cambiado de forma!. Un par de declaraciones subidas de tono de Ballmer más, y los de Novell confesarán haber matado a Manolete.
Pues con todo el respeto, señor Ron Hovsepian, no deberían haber firmado un acuerdo que da la oportunidad de decir al Señor Lanzasillas que Novell son los únicos que han pagado el impuesto de la Camorra.
Lo cachondo es la respuesta de Hasefroch, donde se desmarcan totalmente de la opinión de Ron y cuestionan si realmente en Novell entendieron el acuerdo, o simplemente están mintiendo para que la comunidad no se los coma con picatostes.
En fin, se veía venir. Más info en Groklaw.
Bye bye 6.001
Me entero leyendo comp.lang.lisp que piensan retirar 6001: Structure And Interpretation of Computer Programs del programa de Ciencias de la Computación del MIT. Por las mismas razones que el currículum de Ciencias de la Computación en España más parece un curso intensivo de sobateclismo: faltan "ingenieros", mucha gente se deja la clase porque es "dificil" , etc, etc ...
Yo solo dí parte de este curso en forma de La asignatura de LPP en mi carrera, y me cambió la vida. Me parece irónicamente lamentable que una institución de tanto renombre como el MIT decida cepillarse esa asignatura en pos de convertirse en otra fabrica de "ingenieros".


