miércoles, enero 28, 2009

La arquitectura de plugins del GCC y las licencias

(vía Vía Slashdot) Aunque estoy un poco desconectado de la evolución del gcc, de vez en o aparecen noticias interesantes, aunque en este caso más centradas en las cias de los diferentes componentes y librerías de apoyo que en la técnica en sí mismo. El equipo del gcc acaba de anunciar una nueva excepción al las librerías en tiempo ejecución (runtime) que acompañan al compilador, para proteger las interfaces con las cuales se desarrollarán los plugins.

Cuando se compila un programa con el gcc, pueden incluirse ciertas cabeceras y linkarse contra algunas librerias de tiempo de ejecución que trae el propio lador. Cuando esto ocurre entra en funcionamiento esta excepción:

A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.

  1. Grant of Additional Permission. You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules
  2. No Weakening of GCC Copyleft. The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC.
Esto implica que si desarrollas un plugins que trabajen sobre la representación interna que utiliza el gcc y que no sea compatible con la licencia GPL ("Non Elegible"), no podrás distribuir el código generado por el mismo, puesto que la excepción anterior no se cumple, y por tanto si se distribuye se debe usar la licencia de la librería (GPL). Se puede leer más en la FAQ que los autores del gcc han colgado en la web.

Es la primera vez que veo una licencia libre que afecta a la manera de generar un programa cambia la licencia, porque se podría salvar el estado del gcc para optmizarlo posteriormente con un programa propietario, pero en ese caso ocurriría lo siguiente (de la FAQ):

When we first considered adding a plugin infrastructure to GCC, we were deeply concerned about the possibility that someone would write a plugin that would merely save GCC's internal, low-level compilation data structures to disk. With that done, other software would be able to optimize or otherwise improve that code without being directly connected to GCC. It may have been difficult for us to argue that those programs should be subject to the GPL's copyleft, so we wanted to discourage these sorts of arrangements.

We do that by excluding such output from the definition of Target Code. Because of this, even if someone writes a plugin that saves this information to disk, any programs that change the structures before GCC writes out Target Code will be involved in the Compilation Process. If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL.

Desde mi punto de vista, si esta licencia es válida, abre un peligroso agujero: cualquiera puede poner restricciones en la distribución de un programa en función de que herramientas se utiliza para generarlo: Microsoft podría decir que si un programa no está generado con su compilador no puede linkarse contra las librerías del sistema, supuesto un cambio de licencia.

Actualización

Miguel habla del tema en El sistema de plugins cada vez más cerca de GCC.

Interesante un párrafo que no había leído anoche de la FAQ:

If you did use GPL-incompatible software in conjunction with GCC during the Compilation Process, you would not be able to take advantage of this permission. Since all of the object code that GCC generates is derived from these GPLed libraries, that means you would be required to follow the terms of the GPL when propagating any of that object code. You could not use GCC to develop your own GPL-incompatible software.

Puesto que es la primera vez que veo una restricción en una licencia libre sobre los datos de salida de un programa en función de que el programa esté modificado o no y estas modificaciones estén de acuerdo con la licencia del mismo, porque ya no entra en acción en la distribución, sino en la misma generación del programa con independencia de las fuentes de éste.

Technorati Tags: ,

martes, enero 27, 2009

Novell Suse Studio: Distribuciones Suse a medida para diversos entornos

Novell está trabajando en un producto web que permite crear distribuciones Linux a medida, basadas en Suse, tanto la versión Suse Linux Enterprise como OpenSUSE. Aunque esta posibilidad existe en otras distribuciones (ver Fedora Revisor , por ejemplo), esta herramienta tiene la particularidad de poder probar las imágenes generadas en un entorno virtual que provee Suse a través dla interfaz web y si eres cliente de Novell tener soporte para las mismas.

Admite diversos formatos en función de donde se vaya a instalar la imagen: CD/DVD, bare metal, USB,Xen, VMware,Hyper-V,OVF y Amazon EC2, permitiendo crear una imagen con todo el software que se necesite listo para desplegar en la plataforma que se desee.

Si alguien está interesado en probarlo, se puede ir a SuseStudio y pedir acceso a la herramienta para probarla.

Technorati Tags: ,

lunes, enero 26, 2009

Los problemas de standby de la Wii

Hace poco nos compramos una consola Wii de Nintendo. Para disfrutarla en compañía, es sin duda, la mejor de todas. Sin embargo últimamente venía notando que después de apagarla y dejarla en standby, la consola no se encendía, se quedana congelada. Cuando está activado el servicio WiiConnect24, la consola está activa y se conecta a Internet cada cierto tiempo: la luz de encendido/apagaado está en amarillo, y en caso de recibir algún mensaje, parpaderá la luz azul de la unidad de DVD. Con la consola configurada de esta manera, cada cierto tiempo se colgaba. Todo esto ocurre con la última versión del firmware de la misma, el 3.4E

Buscando información sobre el tema en Internet, he dado con un post en los foros de Nintendo donde mencionan que puede existir ciertas incompatibilidades entre los routers WIFI y la Wii en función del canal que esté usando el router. Dejando el canal fijo en el 11 - preferentemente - o en el 1 parece que estos problemas desaparecen. No he podido probarlo, pero lo dejo aquí como referencia para cuando haga la prueba.

Comentar que una WIFI puede usar 13 canales en Europa. Teniendo en cuenta las especiales características que debe de cumplir la señal WIFI, sobre todo respecto a la atenuación de la señal respecto al centro del canal, lo mejor en caso de inteferir es usar los canales 1,5,9 y 13 para 802.11g

Notas

1Wi-Fi technical information

Technorati Tags: ,

viernes, enero 23, 2009

¿El fin del Microsoft Flight Simulator?

(vía Barcepundit) Parece ser que los recortes de empleo en Microsoft se han llevado por delante ACES Studio, el grupo encargado del desarrollo del Flight Simulator. Según Gamasutra, han despedido a todo el equipo de desarollo del simulador.
Development sources have told Gamasutra that a large portion of the dev house's staff has been let go - with multiple reports indicating that the entire Flight Simulator team has been axed.
Malas noticias para los usuarios de este juego, que tiene una comunidad con muchos seguidores y empresas que lo han usado como base para desarrollar diversos productos para el mundo de la simulación.

Technorati Tags:

miércoles, enero 21, 2009

Notas de Excel y VBA (Visual Basic for Applications)

Introducción

Llevo bastante tiempo que por motivos de trabajo tengo que hacer macros de Excel cada cierto tiempo para tratar la información contenida en las hojas de cálculo. Aunque el Visual Basic1 no es muy santo de mi devoción,he decido crear un post donde voy a ir recogiendo referencias, trozos de código o trucos cuando se usa Visual Basic para aplicaciones con el Excel, para tenernlo como futura referencia Iré diviendo el post en función del tamaño que tenga, para que sea manejable. Mi idea es ir poniendo pequeñas descripciones de lo que quiero hacer y la manera de hacerlo. Esto no pretende ser un curso de VBA para Excel, sino simplemente una referencia. En la medida de lo posible, lo probaré en Excel 2003 que es el que utilizo en el trabajo y Excel 2004 para Mac.

Evitar el parpadeo cuando se modifica desde una macro una hoja de cálculo

A veces desde una macro estamos recorriendo parte de las hojas de cálculo y vamos modificando los datos de acuerdo con nuestros quiterios. Podemos ver un molesto parpadeo conforme se van modificando las celdas. Hay una manera muy sencilla de evitarlo, y consiste en modificar un flag del objeto Application:
Application.ScreenUpdating = False
...
Application.ScreenUpdating = True
El código que se ejecuta entre esas dos instrucciones no actualiza la pantalla, ganando velocidad y evitando el molesto parpadeo que puede producirse.

Referencias

  1. Como encontrar la documentación sobre los modelos de objetos de Excel

Notas

1 Reconozco que si tuviera un poco más de tiempo y estuviera mejor integrado, usaría el Python como lenguaje de script para procesar la información. Aunque es posible su uso a través de las interfaces COM que exporta Excel, resulta muy engorroso.

Technorati Tags: ,

Alguna fotos de estas pasada Navidad y una excursión a Portugal, al Cabo San Vicente

Esta pasada Navidad nos fuimos a mi tierra, Huelva a pasar la Nochebuena. En esta época el Sol declina hacía el Sur, y se pone por el mar. Si el día está claro, se pueden disfrutar de unas excepcionales ocasos por el mar. Sobre las seis de la tarde me bajé a la playa a disfrutar de los últimos rayos del astro rey. Disfrutar la playa de La Antilla en invierno es una delicia: No hay bullicio de los veraneantes, la playa está prácticamente desierta y si tienes la suerte de que el poniente no sopla demasiado fuerte, se puede disfrutar de un agradable paseo.

Atardecer sobre el mar

El ocaso

El resto de las fotos del atardecer están en album de Picassa. Las fotos tienen algunas motas, el objetivo de la cámara necesita ya una buena limpieza :).

El sábado aprovechamos para irnos de excursión ha Portugal, a la zona del Cabo San Vicente y el parque nacional sudoeste alentejano, donde hemos estado otras veces pasando unos días de vacaciones. A pesar del mal tiempo, salimos de La Antilla, tomamos la autopista, cruzamos la frontera por el puente de Ayamonte, y se siguimos toda la autopista hasta (la A-22) la salida de Lagos, que tomamos para coger la N-125 que nos lleva a Vila do Bispo.

En un principio, intentamos ir a una cala salvaje que es la Praia do Murração, pero no acertamos con el carril. Nos metimos por varios de los mismos que llevan hasta los acantilados de la costa, pero el mal tiempo y el mal estado de los caminos no hacía muy aconsejable estar por la zona (en Un viaje a Portugal: La Costa Vicentina y el SurOeste del Alentejo hay algunas fotos de dicha playa). De vuelta a Vila de Bispo, nos fuimos al restaurante A Eira do mel, donde disfrutamos de una excelente cataplana de carne de cerdo y gambas, y de un arroz con marisco como sólo saben elaborar los portugueses. Cominos tranquilamente, cerca de tres horas, y cuando terminamos eran cerca de las cinco de la tarde. Poco podíamos ver, así que tomamos de nuevo el coche y desde Vila do Bispo, tomando la salida que lleva hacia la playa de Castelejo y Cordoama, cogimos un cruce que lleva al alto de Cordoama, desde donde se disfruta una excelente vista sobre las playas de Castelejo y Cordoama:

Praia de Castelejo desde el alto de Cordoama

Praia de Cordoama desde lo alto del alto del mismo nombre

Bajamos de nuevo, y tomamos la carretera que lleva a la Praia de Castelejo. A pesar del mal tiempo que hacía y ser finales de Diciembre, el pequeño restaurante que al final de la carretera de acceso estaba abierto, y aprovechamos para tomarnos un café. Había gente haciendo surf a pesar del mal tiempo y el estado del mar. Bajé un momento a la playa para hacer un par de fotos

Formación rocosa en la playa de Castelejo

Olas rompiendo en las rocas en la playa de Castelejo

Casi de noche, nos fuimos hasta el Cabo San Vicente, a pesar del mal tiempo y que empezaba a arreciar la lluvia y el viento. Nos bajamos a dar un breve paseo y tomar algunas fotos. Como no llevaba el trípode y con la poca luz que había, la única que me salió del faro es la siguiente:

Faro del Cabo San Vicente

Y yo que tenía ganas de disfrutar de una puesta de sol por el mar de las más espectaculares que se pueden disfrutar (en Vacaciones: Algarve tenéis una del sol poniente). En el cabo,aunque sea verano siempre hace muchísimo frío. Recuerdo un día que fui con mi hermana en pleno mes de septiembre, en bañador, y fue irse el sol y tener que poner la calefacción del coche.

Tras anochecer, de vuelta a la Antilla, con un buen temporal de agua que nos acompañó casi hasta la frontera con España.

Technorati Tags: ,

viernes, enero 16, 2009

De excursión por la Sierra de Madrid

Aprovechando la nevada que cayó el viernes pasado, el domingo decidimos hacer una excursión por la Sierra de Madrid, desde Navacerrda y bajar hasta el Vaye del Lozoya, hasta la localidad de Rascafría. Para variar, salimos tarde - a eso de las doce -, por la carretera de la Coruña, desvío hacía Navacerrada por la M-601 hasta lo alto del puerto de Navacerrada. A pesar de ser un día bastante soleado, arriba el termómetro no pasaba de dos o tres grados centígrados. Una vez arriba avanzamos un poco por la M-604, hasta un aparcamiento que nos permitía disfrutar de la vista sobre la Meseta Norte

La Meseta Norte desde lo alto de Navacerrada

Por supuesto la estación de esquí de Navacerrada estaba llena de gente, aprovechando la abundante nieve caída durante las últimas semanas. Desde el mismo aparcamiento, tomamos esta foto:

Pistas de Navacerrada

Continuando por la M-604 llegamos hasta el puerto de Cotos. De ahí tomamos la carretera que sube a la estación de Valdesquí. Como ya era tarde, no tuvimos problemas para aparcar el coche. Nos dimos un paseo por los alrededores de la estación, que estaba llena de gente practicando el esquí, y tomamos alguna foto curiosa, como la siguiente de los carámbanos colgando del voladizo de uno de los edificios:

Carámbanos en el voladizo

De vuelta al coche, bajamos Cotos con dirección a Rascafría, población situada en la zona alta del Valle del Lozolla. Esta población, de arquitectura serrana típica de la Sierra de Madrid. Tiene varios lugares interesantes de visitar como el monasterio de Santa María del Paular, el puente del Perdón, el Parque Natural de la Cumbre, Circo y Lagunas de Peñalara, el Arboreto Giner de los Ríos, la iglesia parroquial de San Andrés Apóstol o antigua casa de postas.1.

El arroyo del Artiñuelo atraviesa la localidad, y con la nevada y las bajas temperaturas nos ofrecían estas vistas del mismo:

Arroyo del Artiñuelo

Arroyo del Artiñuelo

Las fotos están tomadas desde el puente que lo atraviesa a la entrada del pueblo por la carretera que baja de Navacerrada.

Después de comer nos dimos una vuelta por un paseo que está construido entre Rascafría y el monasterio de Santa María del Paular. En la zona existen explotaciones ganaderas - se veía ganado vacuno en las praderas nevadas - y el paseo pasa cerca del Lozoya, en la zona más próxima al convento.

Árbol nevado, paseando entre Rascafría y el Paular

Paseo junto a la carretera entre Cotos y Rascafría

Río Lozoya

Conforme atardecía, comenzó a bajar la temperatura bastante, con lo cual volvimos a Rascafría, para coger el coche e irnos de vuelta a Madrid. En vez de ir hacía la A1, decidimos de nuevo subir Cotos y bajar por la carretera de Navacerrada. Otras veces hemos bajado por el puerto de la Morcuera, aunque con la nevada y el hielo, no pensábamos que estuviese en condiciones para circular por él.


1Podeís ver todo los sitios que se peuden visitar en el artículo de la Wikipedia de Rascafría, de donde he obtenido parte de la información.

Technorati Tags: ,

martes, enero 13, 2009

Estructura de la memoria caché L1 de un Core 2 Duo

Acabo de descubrir hace poco el blog de Gustavo Duarte, una de las secciones más interesantes que tienen es la sección de internals, donde describe diversos aspectos de bajo nivel de CPU o sistemas operativos. Hoy he visto Cache: a place for concealment and safekeeping, que describe la arquitectura de caché L1, en este caso de 32 Kbytes 8 way set asociativo y con líneas de 64 bytes. Una lectura recomendable para los que le gusten la microarquitectura.

Technorati Tags: , ,

lunes, enero 05, 2009

Reino Unido permite a la policía espiar los ordenadores de sus ciudadanos sin orden judicial

Slashdot se hace eco de una noticia publicada por Times Online en la cual se describe la nueva política de las fuerzas de seguridad inglesas que permitirá a la policía espiar los ordenadores de sus ciudadanos sin orden judicial. A partir de ahora, si cualquier fuerza de seguridad del estado considera que se está cometiendo un delito, pueden tranquilamente introducir un troyano o un programa que registre la actividad del usuario, mandando la información de vuelta que permita analizar el posible delito o no. Esto proviene de la transposición de una directiva de la comunidad europea, con lo que realmente, podría ocurrir en cualquier país de la unión.

La ley británica además permite encancelar durante dos años en caso de tener ficheros encriptados y no facilitar las claves a las fuerzas de seguridad. Puede que haya personas que piensen: no tengo nada ilegal, así que no debo de preocuparme, les comento: ¿desearían que la Policía Local de su ciudad les pusiera un GPS para saber por donde van no fueran a cometer un delito?.

Menudo camino que lleva Reino Unido con el control de sus ciudadanos.

Noticia relacionada

Technorati Tags:

domingo, enero 04, 2009

La casta política española y la libertad de expresión

Cualquiera que haya leído las declaraciones de los políticos españoles, las tácticas de barrio bajo que usan para descalificar al adversario o la basura que se vierte desde supuestos programas de debate como La Noria de Telecinco, debería estar curado de espanto sobre la calidad del político medio español. Sin embargo, no es lo mismo lanzar bolas, prometer el oro y el moro, desde un mitin que lanzar un rumor, posteriormente desmentido por el mismo autor, por un periodista poco conocido desde una radio como Intereconomía. Leyendo el blog de Elentir, hace un par de días me enteraba de la denuncia de Carmen Martínez Castro, secretaría de comunicación1 del PP contra Victor Gago. Nos encontramos ante un periodista no mediático, pero que puede servir de escarmiento para aquellos que intenten una crítica un poco más elevada de la cuenta. A Victor Gago se le acusa de un delito de injurias2 por afirmar,y posteriormente rectificar, que desde la sede del PP se han filtrado rumores interesados para dañar la imagen del anterior presidente del PP, José María Aznar.

La denuncia contra Víctor me interesa por:

  1. Demuestra cómo es la mayoría de la casta política española, con independencia de siglas o ideas. Se puede calumniar o injuriar al enemigo político,se puede mentir en un programa electoral con cosas que luego no se piensan cumplir o sobre la situación económica del país, pero no se tolera un rumor de un periodista.
  2. A los políticos españoles les interesa tener a la prensa domesticada. En España, no se ve como un cuarto poder que sirva de contrapartida al político, sino como un conjunto de aduladores que les sirvan de transmisión de su mensaje,como el Gramma cubano o el Pravda soviético. Los periodistas que se salgan de esta línea, son considerados incómodos, y si existe la posibilidad de lecciones ejemplares, se utilizarán para tener al resto domesticado
  3. ¿No existen límites en lo que puede decir un político y sí existe en lo que puede decir cualquiera que no pertenezca a la casta?
  4. El debate político estará siempre marcado por la subjetividad y el juicio de intenciones de los que intervienen en él, por los rumores interesados que parten de unos y otros. Hay políticos que se comportan como damiselas ofendidas cuando un comentario viene de alguien al que pueden empurar tranquilamente pero se comportan como esteras dispuestas a soportar cualquier palo si el que hace el comentario tiene el suficiente carisma, como de hecho, el PP ha demostrado más de una vez.

Este tipo de casos ponen a prueba a la libertad de expresión: Espero que Victor gane esta batalla, porque de seguir el camino marcado por los caciques de los partidos políticos, pronto nos acercaremos al modelo de la dictadura cubana.


1 Aunque siendo un poco malévolo las cualidades de comunicación de la actual cúpula del PP y su relación con el periodismo no afín, tiende a cero.
2 Delito o falta consistente en la imputación a alguien de un hecho o cualidad en menoscabo de su fama o estimación.

Technorati Tags: ,

Reino Unido prepara una gigantesca base de datos con información de sus ciudadanos

(vía Arstechnica) Los políticos no se resisten a controlar la información que se mueve a través de los medios actuales: Telefonía, Internet. El gobierno inglés quiere construir una gigantesca base de datos que permita saber el origen y el destino de cualquier llamada telefónica, correo electrónico o navegación web. La cantidad de información que se mueve es masiva, pero a día de hoy se sabe que las comunicaciones telefónicas tradicional es perfectamente rasteable, y los gobiernos llevan años pensando como extender dicho control a Internet. La excusa, es la de siempre, puede verse en Jacqui Smith plans broad new 'Big Brother' surveillance powers:
The plan would not include recording the contents of people's messages and appropriate safeguards would be put in place, but Miss Smith said it was "vital" to maintain Britain's capacity to combat terroris
En la noticia original se habla como quiere que varias empresas privadas sean las encargadas de gestionar esta gran base de datos, pero lo que me preocupa es la cantidad de información que cada vez más tiene el gobierno de cualquier ciudadano. Parece que en los instintos totalitarios que abunda en dictaduras como la cubano, china o las múltiples teocracias se contagian en Occidente. Me pregunto si las personas que no le dan importancia a que el Estado pueda verte la cuenta corriente, pueda ver tu historial de llamadas o pueda ver tu historial de navegación, aceptarían circular con un GPS en su coche y que la DGT supiera en todo momento donde está y a qué velocidad circula.

Referencias

Technorati Tags: ,

jueves, enero 01, 2009

Linux 2.6.28: ext4

Hace unos días se ha publicado la última versión del núcleo de Linux. Las principales novedades que traen son el nuevo gestor de memoria de las tarjetas gráficas (GEM) desarrollado por Keith Packard y Eric Anholt.

La otra gran novedad es que el sistema de ficheros ext4 es considerado a partir de esta versión estable. Las principales mejoras son el aumento de capacidad hasta 1 exabyte ( 2^20 Terabytes), el tamaño máximo de un fichero pasa a ser 16 TB frente a los 2 Tb de ext3 y desaparece el límite de 32000 subdirectorios que tenía ext3. Aparece una nueva estructura llamada extent, que es una estructura continua de espacio en disco reservado para un fichero, que se describe con ayuda de una simple estructura de metadatos frente a los los sistemas de ficheros clásicos derivados de UNIX que hacen que cada bloque que use el fichero deba de estar reflejado en las estructuras de metadatos. Una nueva optimización que aparece es un sistema de reserva de bloques de disco que permite reservar un conjunto de bloques a la vez en vez de ir reservando un bloque cada vez que se necesite. Además para optimizar aún más, se retrasa la reserva de los bloques tanto como se pueda (Delayed allocation).

Todos estos cambios significan que las estructuras de discos han cambiado, empezando por los i-node, que crece para acomodar los campos nuevos necesarios para la nueva funcionalidad y para extender los campos de tiempo para que tengan una resolución de nanosegundos.

A día de hoy las versiones de los cargadores de Linux (grub) no tienen soporte en las versiones estables a día de hoy para arrancar el sistema desde una partición ext4, con lo cual es aconsejable que la partición donde está el núcleo y el disco ram que carga inicialmente se mantenga en una partición ext3 hasta que se actualicen los correspondientes programas. Además, para usar ext4 hay que actualizar las e2fsprog a la última versión estable.

Puede convertirse un sistema ext3 a un sistema ext4 simplemente usando el comando tunefs (ver Migrate existing Ext3 filesystems to Ext4).

Referencias

Technorati Tags: ,