Cómo instalar Cantor en Ubuntu Karmic

February 8th, 2010

Cantor és una aplicación científica/educativa creada para el escritorio KDE (aunque puede funcionar fuera de éste). Su objetivo es aglutinar y simplificar el uso de otro software matemático, como Sage, Maxima o KAlgebra. El principal problema para usar Cantor ahora mismo es que casi ninguna distribución de Linux actual lo ha incorporado en sus repositorios oficiales ya que es muy nuevo (será lanzado dentro de la versión 4.4 del escritorio KDE).

Por suerte han creado un repositorio PPA en Launchpad, así que “solo” tendremos que añadir el repositorio a la lista de repositorios e instalar cantor. Ahí van los comandos:

sudo add-apt-repository ppa:kubuntu-ppa/beta
sudo aptitude update
#Este paso no es estrictamente necerario, pero lo recomiendo: aptitude safe-upgrade
sudo aptitude install cantor

Cuando he dicho “solo” ha sido porque aparecerán algunos problemas. Resulta que cantor depende de muchos paquetes de KDE4.4, del que solo hemos visto sus versiones RC hasta el momento, y que tampoco ha sido incorporado en ningún repositorio oficial de ninguna distribución. Ésto conlleva que al instalar Cantor, deberemos actualizar multitud de paquetes y en algun momento aparecerán conflictos por resolver (bueno, solo si tenéis alguna aplicación de KDE instalada previamente claro). No puedo dar una explicación estandar para resolver esos problemas, pues cada uno se encontrará con problemas de dependencias diferentes en función al software que tenga o no tenga instalado en su sistema, en todo caso creo que el problema no es demasiado grave (al menos para los experimentados):

Saludos!

Jugando con jQuery

February 8th, 2010

Por motivos varios estoy aprendiendo a manejar la librería jQuery, que sirve para dar dinamismo a páginas y aplicaciones web con una buena mezcla de Javascript, AJAX y CSS, y a modo de guinda, nos abstrae de las incompatibilidades entre navegadores. No voy a escribir una introducción a jQuery aquí porque todavía me falta bastante por aprender, pero sí os dejaré un enlace a una página repleta de “chuletas” sobre jQuery y librerías similares, como Prototype, Scriptaculous o MooTools.

http://www.scottklarr.com/topic/95/javascriptajax-cheat-sheets/

Personalmente la que más me gusta a mí es la de colorines xD, tengo muco de niño pequeño todavía. Saludos!

Linux+ (62)

February 2nd, 2010

Hoy acaban de colgar online el nuevo número (62) de la revista Linux+ , los interesados podéis visitar la página de descarga :) :
http://lpmagazine.org/es/numero-on-line

Quedan pendientes algunos artículos que escribiré en cuanto acabe la época de exámenes:

  • Desarrollo web (libre) con HaXe (habrá más de un artículo)
  • Ética Hacker (habrá más de un artículo)
  • Más trucos para SAGE (y comentarios destructivos hacia Matlab y Octave)
  • Algunas idas de olla sobre política, últimamente me estoy quemando mucho viendo algunas cosas.

Si me dejo alguno después de exámenes, recordádmelo (si queréis, claro xD).

Algunos tips para SAGE

January 16th, 2010

Como es con la práctica con la que se aprende, a lo largo del tiempo usando SAGE+Maxima (para evitar el uso de Maple) he ido aprendiendo algunos truquillos que (os?) pueden resultar interesantes (bien, me lo parecen a mi, y eso es suficiente :) ).

  • Visualización de resultados: SAGE puede funcionar de dos formas distintas, dentro de la línea de comandos y como aplicación web (invocando el comando notebook() dentro de la línea de comandos se inicia un servidor al que se puede acceder desde cualquier navegador convencional). No es difícil imaginar que dentro del modo línea de comandos sería prácticamente imposible visualizar ciertos resultados de forma cómoda, precisamente por eso implementaron el modo web… pero aun así nos podemos encontrar con sorpresas desagradables. Por defecto los resultados se mostrarán solo con carácteres ascii y consecuentemente pueden ser de difícil legibilidad. Hay un comando llamado latex() que transforma la entrada en una salida escrita en formato LaTeX, el problema es que para visualizar eso necesitamos pasarlo a un compilador de LaTeX y transformarlo, el proceso en sí es demasiado pesado y lento.

    La solución viene de la mano de jsMath, que son unas librerías que sirven para visualizar textos matemáticos en páginas web. En Debian y Ubuntu se pueden instalar desde aptitude o apt, yo recomiendo instalar dos paquetes: jsmath y ttf-jsmath. Una vez instaladas sólo habrá que marcar el checkbox Typeset que podemos encontrar en la parte superior de la página web que genera SAGE para trabajar, con ésto obtendremos salidas bien formateadas y con un aspecto agradable :)   .

  • Trabajar con polinomios sobre diferentes cuerpos: Dependiendo del cuerpo sobre el que trabajemos los polinomios se pueden descomponer de diferentes maneras y cuando se evaluan sobre un elemento del cuerpo pueden dar resultados diferentes. Por lo general la gente trabaja sobre el cuerpo de los números reales, otros trabajan sobre los complejos, y otros sobre los racionales, esos casos son los más usuales para los no matemáticos, pero muchos otros nos encontramos con la necesidad de trabajar con otros cuerpos que nos pueden resultar mucho menos intuitivos a la hora de realizar los cálculos. ¿Y como indicamos a SAGE que estamos trabajando con un cuerpo u otro? Ejecutando el siguiente comando, a partir de ese momento estaremos trabajando con el cuerpo indicado:
    R.<x>=cuerpo[]
    donde cuerpo es el cuerpo que queramos (y sea construible dentro de SAGE), para los racionales usamos QQ, para los reales RR, y para los complejos CC, y x es la variable que usaremos para el polinomio. Nosotros podemos construir otros cuerpos, de momento yo sólo he aprendido a construir cuerpos finitos (hay teoremas de isomorfismo que me aseguran que los que construyo son los únicos finitos). Para construir cuerpos finitos utilizaremos el comando:
    NombreQueLeQueramosDarAlCuerpo=FG(número)
    donde número és la cantidad de elementos que tendrá el cuerpo. Podemos probar las diferencias usando, por ejemplo, el comando factor sobre una expresión polinómica, de esta forma:
    factor(x^8-1)
  • Información extra que os pueda interesar: Dado que SAGE es muy extenso y yo he explicado muy pocas cosas, para los que no tengan mucha experiencia o por el contrario, quieran profundizar aun más, os enlazo algunos documentos:

Espero que a alguien le pueda servir ésto :) . Saludos!

Cazador de sueños

January 5th, 2010

Guardaba sus sueños en vasijas de papel para hacerlos volar
pero se los llevó el viento
guardaba sus sueños en cántaros de oro para honrarlos
pero se los robaron
guardaba sus sueños en cofres de acero para que resistieran tempestades
pero se hundieron en un mar de lágrimas
tiró sus sueños en un cajón por no saber qué hacer con ellos
y los perdió entre mil sentimientos
volvió a soñar, porque no se cansaba nunca de ello
y dejó libres sus sueños esta vez
pero huyeron
y corrió tras ellos
y todavía corre, aun los busca,
atrapó algunos…
pero los más huidizos son los más preciosos.

Anatema

December 28th, 2009

Anatema es una novela de ciencia ficción escrita por Neal Stephenson (autor de los también rompedores Criptonomicón o Snow Crash) publicada en 2008 (y en castellano, el septiembre de 2009) (en estos momentos creo que se trata de su última novela). Com siempre que escribo sobre un libro.. lo hago porque me ha parecido genial, pero a éste le voy a guardar un cariño especial, realmente sobresale por encima de muchos otros. Nos encontramos con una narración en primera persona, basada en las experiencias de un joven avoto (por decirlo de alguna manera, una especie de intelectual, tirando a matemático/físico o filósofo) durante una época de grandes convulsiones dentro de su planeta natal. Os pongo la descripción que hace la editorial del libro y luego continúo con la crítica.

El paneta Arbre estuvo al borde del colapso hace miles de años. Los nuevos intelectuales, los avotos, se reunieron en monasterios para iniciar un nuevo tipo de vida cenobítica sin elemento religioso alguno. El ritmo de evolución y cambio de los avotos es lento, mientras el planeta sufre todo tipo de transformaciones.
Ahora, casi cuatro mil años después de la Reconstitución y la fundación del sistema cenobítico, el Poder Secular parece ocultar que hay una nave alienígena orbitando el planeta. Descubrirla, establecer contacto y comprender a esos extraños seres procedentes de otro lugar es el gran trabajo que espera al protagonista, fra Erasmas, discípulo del heterodoxo Orolo.

Al margen de lo que pueda parecer a primera vista, éste libro no explica una simple historia de aventuras, y ni tan siquiera se acerca a lo que la gente suele pensar cuando se piensa en extraterrestres, naves espaciales y/o jóvenes aventureros. De hecho nos encontramos con una trama plagada de reflexiones filosóficas y algunos reflejos del pasado de nuestra historia, de nuestro presente y hasta de nuestro posible futuro combinados todos ellos con gran maestría. Como prácticamente todas las novelas, ésta se dedica a contar una historia ficticia sin ningún propósito divulgativo, pero no por ello se aparta del camino de la reflexión ni se puede decir que no haya muchas fuentes de conocimiento de las que ha tenido que beber el autor para poder escribir esta obra. A lo largo del texto podemos encontrar un montón de referencias a reflexiones de un montón de filósofos y científicos conocidos: Platón, Leibniz, Lagrange, Kant, Husserl, Gödel, David Lewis, Zalta, Linsky, Max Tegmark, Penrose, etc. Obviamente esas referencias se hacen de un modo algo laxo pues el objetivo es entretener y no instruir, pero podemos considerar que “abrirnos el apetito” ya es un logro.

Para los que tengan curiosidad sobre qué tipo de reflexiones se vierten en la historia de fra Erasmas, trata el Platonismo y las variantes de éste, más modernas, que han ido surgiendo a lo largo de nuestra historia, así como sobre la conciencia o el mismo concepto de universo. No puedo explicar mucho más pues rompería el misterio, para los que estén familiarizados con todos los filósofos citados anteriormente puede que les resulte mucho más fácil intuir como avanza una de las subtramas (la de la reflexión de los personajes), pero a mi me resultaría harto difícil explicar eso sin destripar el libro entero.

Sin más que decir, os recomiendo encarecidamente la lectura de ésta perla del frikorro de Neal Stephenson (buscad una foto suya y veréis a qué me refiero).

Los riesgos de abandonar las tecnologías P2P

December 26th, 2009

Aun recuerdo la primera vez que usé eDonkey2000 cuando todavía era un niño, tuve muchas impresiones contradictorias. Por un lado me pareció algo excesivamente complicado… e incluso lento, pero por otro me atrajo muchísimo la idea de compartición. La descentralización que permitía era todo un hito, así como la menor dependencia de ciertas webs, empresas, o personas que se podía conseguir con él. En esa época no tenía ni pajolera idea ni de redes ni de informática en general (aunque sabía ya mucho más de lo que sabe la mayoría de la gente hoy en día, algo que me parece bastante triste). En el momento que apareció eMule ante mi vista salté inmediatamente a él porque era un software netamente superior, más manejable e intuitivo, y estaba por esa época iniciándome en el mundo del software libre.

Soy una persona que tiene mucha curiosidad por naturaleza, y casi siempre que me surge una duda voy presto a intentar resolverla, a buscar el dato que me falta en Internet. Pues bien, la tecnología P2P no escapó a mi curiosidad y me puse a investigar, descubrí las diferentes topologías de red, comprendí la razón de ser de las esperas (las puñeteras colas, la necesaria redundancia en las transmisiones de datos para reducir la tasa de errores.. etc) y muchas cosas más. Entendí entonces que la red ed2k no era lo suficientemente “buena”, que seguía habiendo una gran dependencia. En realidad la red e2dk es semi-centralizada… lo que quiere decir que precisa de servidores (aunque no sean fijos) para realizar las búsquedas y encontrar a otros contactos (más tarde pasaremos a describir los riesgos de la centralización). Durante mis tardes de “investigación” descubrí la red Gnutella (realmente descentralizada) y cuando me estaba planteando saltar los de eMule se pusieron las pilas y añadieron soporte para la red Kademlia (en realidad red Kad, basada en el protocolo Kademlia) que eliminaba la dependencia de servidores. Desde entonces sigo usando eMule… aunque ya seguiré con eso después.

Ahora vamos al quid de la cuestión. eMule se hizo muy popular en su momento, pero rápidamente fue desbancado por BitTorrent y otros del estilo basados en el mismo protocolo (uno muy popular es Ares, que tiene soporte para varios protocolos, en particular BitTorrent). BitTorrent es un protocolo que permite descargas ultrarrápidas sin necesidad de las típicas colas de espera, pero tiene como contrapartida la necesidad de unos servidores llamados trackers para poder realizar las busquedas (a grandes trazos). Después de eso la gente saltó directamente a las descargas directas (Rapidshare, Megaupload, etc) ya que las velocidades de transmisión de las redes actuales permiten descargar grandes bloques de información sin tener que hacerlo a lo largo de varios días, se puede hacer en una única sesión y sin tener que subir datos a la red (las velocidades de subida en España son muy bajas) y ahí está el gran error.

En redes descentralizadas como Kademlia las búsquedas son una tarea sencilla y el material persiste durante mucho tiempo, además éstas redes son resistentes a ataques, si se hace caer un nodo siguen funcionando como si nada hubiera pasado. En sistemas como BitTorrent las búsquedas se transforman en una tarea mucho más compleja y se empieza a depender de servidores, por lo que esas redes son vulnerables ante ataques realizados a nodos estratégicos de la red, también está el inconveniente de que el material desaparece muy rápidamente de la red. En el caso de las descargas directas el problema se torna aún más grande, los ataques pueden tener consecuencias mucho peores, no solo se dificultan las búsquedas al desconectar los servidores sino que además se imposibilita la descarga, además el material tampoco es que dure mucho en esos sistemas. Buscar material alojado en servidores es una tarea de chinos ya que no hay buenos buscadores especializados en eso.

Para que nos hagamos a la idea, los sistemas centralizados son tan débiles que no hace falta ni hacer caer el servidor, con que nuestro ISP bloquee su IP ya es suficiente. Se nos pueden hacer otras jugarretas, como limitar la velocidad de descarga (Parece que Telefónica ya lo está haciendo en algunos casos), registrar de forma mucho más sencilla quién se baja qué (lo que hace peligrar nuestra privacidad y nuestra seguridad jurídica también dependiendo de donde vivamos), etc.

Recientemente la tecnología P2P ha sufrido un “gran parón” (en cuanto a la compartición de datos, en otros ámbitos ha triunfado, como con Spotify), eMule hace mucho tiempo que no añade innovaciones (y nunca ha habido una versión decente de éste para GNU/Linux) y los pocos que tienen novedades son los clientes de BitTorrent… se debería incentivar el desarrollo de esas alternativas, añadiendo soporte para cifrado de las comunicaciones y otras mejoras de seguridad que permitan anonimizar las conexiones, así como mejorar los clientes para GNU/Linux y Mac, que siempre van a la zaga de los existentes para MS Windows. Existen alternativas realmente seguras tales como Freenet o GnuNet, pero casi nadie las usa y por el momento son extremadamente lentas (en parte debido a la poca gente perteneciente a esas redes, alcanzada la masa crítica la cosa sería diferente). Debemos adelantarnos a las leyes restrictivas que puedan aparecer en un futuro y tener a punto tecnologías que nos permitan evadir los sistemas de control autoritario que muchos quieren imponernos. Si no actuamos a tiempo podría llegar el momento en el que los sistemas de control consiguieran impedir la difusión de la tecnología que nos serviría para evadirlos, es una típica carrera de armamento, o levantamos unas buenas defensas o nos acribillarán.

Saludos!

Tivion and Kraken

December 19th, 2009

A finales de septiembre empezó el Concurso Universitario de Software Libre (CUSL), éste año no me presenté por que no tenía claro que pudiera dedicarle tiempo a ningún proyecto y ya tenía los antecedentes del año anterior, pero no por eso he perdido el interés en él.

Entre los proyectos concursantes hay dos proyectos bastante interesantes relacionados con el streaming de video. Estos son Tivion y Kraken, dos proyectos con enfoques muy diferentes y también dignos de atención.

Kraken es un proyecto dedicado al streaming de video vía redes descentralizadas p2p, pero con ciertas innovaciones técnicas que permitirían ajustar dinámicamente la calidad del video al ancho de banda disponible de forma dinámica. Podéis saber más de él a través de su blog: http://matachana.net/kraken/blog/ . Aviso: por el momento solo se trata de vaporware, estudios y documentos, no hay una implementación, aunque parece que el nivel técnico es alto y tiene muchas probabilidades de ver la luz :) .

Por otro lado Tivion es un programa dedicado a ver canales de televisión de todo al mundo a través de Internet, ahora mismo está en su versión 0.03, disponible para Ubuntu (Jaunty, Karmic y la futura Lucid, en 32 y 64 bits) y para Arch. El anuncio oficial de la última release lo podéis encontrar el blog de Shakaran: http://shakaran.es/blog/2009/12/tivion-0-0-3-opiron-liberado/ . Personalmente lo he estado probando y va bastante bién, os lo recomiendo si queréis ver algún programa de televisión en vuestro ordenador y mejor aún, con un programa libre :) .

Saludos!

Integrar visor de PDFs en Firefox

December 19th, 2009

Para los que ya estén hartos de tener que abrir los documentos pdf en una nueva ventana cada vez que se encuentran uno de estos en la web, he encontrado un minitutorial que explica como integrar Evince (el visor de PDFs de Gnome) con Firefox para que los documentos PDF se vean en la misma o en una nueva pestaña sin tener que abrir una nueva ventana. Espero que os sea útil :) .

http://shakaran.es/blog/2009/12/integrar-evince-en-firefox-para-visualizar-pdfs/

Linux+ online :)

December 19th, 2009

Hoy he recibido un newsletter indicando que se puede descargar gratuítamente una versión online de Linux+ (número 61, en pdf), hay algunos artículos interesantes así que la recomiendo: http://lpmagazine.org/es/numero-on-line .

Los que más me han interesado son:

  • Make: compilación inteligente
  • Interfaces gráficas con SDL
  • Programando con inteligenia (artificial)