Novedades en el escritorio: Xfce 4.4.0 y KDE 3.5.6 han sido liberados

La versión 4.4.0 del entorno de escritorio Xfce ha sido recientemente liberada. En su página, nos invitan a un recorrido visual por sus nuevas prestaciones.

Para quienes no lo conocen, Xfce se trata de un entorno de escritorio liviano para GNU/Linux y otros sistemas tipo Unix, pero no obstante con interesantes prestaciones.

También ha sido liberada la versión 3.5.6 dede KDE , auqnue naturalmente esta versión tiene sólo pequeñas modificaciones y correcciones de bugs, pero habrá que esperar a la 4.0 para ver cambios de fondo (que prometen ser interesantes. ya hay disponible desde noviembre una versión para ir probándolo)

Existen muchos lenguajes de programación, tantos como para entrar en crisis. Los hay para todos los gustos: simples o complicados, de alto nivel o de bajo nivel, compilados o interpretados, modernos o arcaicos, legibles o crípticos,…

(Aunque en muchos casos la elección del lenguaje de programación depende del tipo de programa, que se tenga en mente, y del entorno en el cuál ese programa va a correr. C seguramente es un lenguaje adecuado para escribir un sistema operativo, pero probablemente no lo es para escribir una aplicación de alto nivel orientada a la web)

Hoy quiero comentarles sobre mi lenguaje de programación favorito: Python.

Python es un lenguaje interpretado, de muy alto nivel, que es muy popular en la comunidad de software libre. Python es un lenguaje potente y a la vez relativamente simple, y fácil de aprender. Fue creado por Guido Van Rossum.

Python es utilizado en múltiples aplicaciones, entre las que se me ocurre mencionar: el manejador de listas de correo GNU Mailman, Portage (el manejador de paquetes de Gentoo), el programa para compartir archivos Bittorrent,  el sistema de álgebra computacional Sage, el sistema de control de versiones Mercurial y el servidor de aplicaciones para web Zope. Como puden ver con esta pequeña lista, las aplicaciones de Python van desde la administración del sistema, a las aplicaciones de alto nivel orientadas a la web.

Para los que deseen aprender Python, les recomiendo el libro How to Think Like a Computer Scientist. Learning with Python , escrito por Allen B. Downey, Jeffrey Elkner y Chris Meyers (disponible en línea). Hay una traducción al castellano.

En la Cafeconf 2006 asistí a una interesante conferencia sobre Python de Alex Martelli,quien es miembro de la Python Software Foundation y trabaja, para Google como “Über Tech Lead”.

El título de la conferencia era “What is Python, and Why it matters” (¿Que es Python y Porqué importa?). En la conferencia destacaba algunos aspectos de la filosofía y el diseño de Python. Me sorprendieron el énfasis que hizo en las similitudes que hay entre la filosofía de C y la de Python.

Y comentó una curiosidad, Python tiene su propio Zen. Para conocerlo, basta tipear “import this” en el interprete python (o hacer click aquí).

Publicado en Desarrollo. 3 Comments »

Free Culture

Aprovechando estos días de vacaciones, estoy leyendo el libro Free Culture (Cultura Libre) de Lawrence Lessig, profesor de derecho en la prestigiosa universidad de Standford, y uno de los mayores expertos en temas de propiedad intelectual y “cyberderechos” a nivel mundial. Entre otras cosas, Lessig es fundador de la inciativa Creative Commons, y es miembro del directorio de la Free Software Foundation

El libro pone sobre el tapete la discusión sobre la “piratería” (que muchos preferimos llamar copia ilegal, ya que es más exacto), las redes de “p2p” etc.

La prosa de Lessig es cautivante. Abunda en casos reales y en datos muy interesantes sobre el origen de las regulaciones de copyright (derecho de autor) que permiten entender mejor los actuales debates sobre estos temas.

Además permite aprender cosas interesantes sobre el sistema legal anglo-norteamericano de common law.

El libro está libremente disponible bajo un licencia de Creative Commons (Atribution – Non Comercial).

Además es una excelente oportunidad para pefeccionar el inglés porque hay una versión en audio.

Para los que prefieran leerlo en castellano, hay una traducción, por Antonio Córdoba.

Filezilla es un cliente FTP en modo gráfico que es software libre, y que es muy fácil de usar gracias a su diseño en dos paneles; en uno de los cuáles se muestra la máquina local (cliente) y en el otro la remota (servidor). Entre otras carácterísticas, vale destacar que soporta también el protocolo SFTP, y tranferencias simultáneas múltiples. Originalmente pensado para la plataforma Windows, su próxima versión 3.0 (ya está disponible la beta 4) funcionará también bajo GNU/Linux, gracias a la librería wxwidgets para creación de interfaces gráficas multiplataforma.

Ya existe un paquete para la versión “testing” de Debian. También existe un ebuild para Gentoo, aunque aún no está incluido en el árbol de portage, pero pueden obtenerlo del sistema de seguimiento de bugs de Gentoo.

Aquí pueden ver una captura de pantalla de Filezilla 3.0 beta 4 funcionando en mi sistema GNU/Linux.

Captura de pantalla de Filezilla 3.0 beta 4

Axiom es un sistema de álgebra computacional con capacidades similares a las de Maple o Mathematica. Puede realizar operaciones simbólicas tales como derivar,integrar, desarrollar en serie de Taylor, etc.

No es un software cualquiera: Está en desarrollo desde 1973. Originalmente Axiom fue desarrollado por investigadores de IBM bajo el nombre de Scratchpad, y aunque anteriormente era un producto privativo, ahora es software libre ( Axiom se distribuye bajo una licencia de BSD modificada), y se puede descargar su código fuente desde el sitio Savannah de la Free Software Foundation.

Lo que me ha parecido muy atractivo de Axiom es que su sistema de tipos de datos es muy cercano a la manera de pensar de los matemátcos . Tiene ‘Categorías’ como por ejemplo anillo o monoide asociativo, y se puede escribir algoritmos polimórficos especificando por ejemplo, que se puede aplicar el algoritmo a matrices con coeficientes en un anillo y despes usar el algoritmo para distintos anillos (como por ej. losenteros, o los reales en punto flotante). No he visto nada similar en otros sistemas de álgebra computacional.

Axiom viene con abundante documentación . Es más: otra cosa que me pareció interesante es que estáescrito usando literate programming , una técnica introducida por Donald Knuth al desarrollar TeX, que consiste en que cada módulo delprograma contiene también su documentación legiblepara humanos, de modo que la documentación sea completa y actualizada (de hecho cada archivo del programa, es un documentoen TeX)

La liberación de Axiom es una muy buena noticia paratodos los que trabajamos en matemática, o en disciplinas relacionadas, ya que un sistema de álgebra computacional de esa potencia era algo que le estaba faltando al software libre.

Vean también la página en Wikipedia sobre Axiom

Software libre para las escuelas argentinas: Nace el proyecto ALBA

Ya se encuentra disponible para su descarga la versión 1.0b del
Proyecto Alba

Según nos cuentan sus realizadores… “El proyecto ALBA es un proyecto de desarrollo de Software Libre (bajo GPL) para la realización de un Sistema Informático Abierto de Gestión Unificada para Unidades Educacionales, que brindará una herramienta para mejorar el trabajo cotidiano en las escuelas.

Pensado para nuestras propias instituciones educactivas a partir de información relevada mediante entrevistas a responsables del sector, el software propuesto contempla un conjunto de módulos que pueden clasificarse en: Gestión de las Unidades Educacionales (establecimientos, ciclos, calendarios, etc.), Gestión de Alumnos (Legajos, seguimientos, consultas, etc.) y Gestión de Docentes (Legajos, horarios, etc.)”

Sin duda, la educación es un campo estratégico para el desarrollo del software libre. Por ello, desde estas pá¡ginas, felicitamos por la iniciativa a la gente de la empresa OPEN, que ha desarrollado y liberado este software bajo la GPL.

Novedades del Desarrollo del GCC

El GCC no es un proyecto de software libre más. Es algo así­ como el corazón del proyecto GNU, ya que sin un compilador libre no podrí­a haber un sistema operativo 100% libre.

El mismísimo Richard Stallman escribió la versión original del GCC, que fue liberada en 1987.

Aunque originalmente era un compilador de C, actualmente el GCC es una colección de compiladores para distintos lenguajes: C, C++, java, fortran, objetive C y Ada (Existen también Front Ends para otros lenguajes; por ejemplo GDC para el Lenguaje D).

Lo que hace realmente notable al GCC es que es un compilador portable, que funciona en más de 20 arquitecturas diferentes. Esto se debe a que el GCC representa el programa internamente en tres lenguajes intermedios (RTL, GENERIC y GIMPLE) antes de generar el código assembler, y es capaz por ello, de realizar optimizaciones independientes del lenguaje original y de la arquitectura para la cuál el programa va a ser compilado.

Sigo habitualmente por curiosidad el desarrollo del GCC, y pruebo la versión experimental (en SVN).

Una muy buena noticia para la comunidad de software libre, es que el GCC, proyecto vital para el desarrollo del software libre, está siendo activamente mejorado y goza de buena salud.

En los primeros días del año 2007, nuevas mejoras fueron anunciadas:

(Fuente: Pá¡gina del GCC: gcc.gnu.org )