You are currently browsing the category archive for the ‘programación’ category.

Alan Perlis once said: “A language that doesn’t affect the way you think about programming, is not worth knowing”.

Leída en este interesante artículo: “Teach Yourself Programming in Ten Years”

Puede que algunos leyerais ya mi anterior artículo “Aprendiendo a programar Python en Linux” e incluso que os sirviera de algo. Pues bien, estos días he desempolvado el Python para programar el algoritmo del Simplex para Investigación Operativa.
Para ello tenía que recordar el poco Python que sé y después encontrar un IDE más completo que PyDev. Digamos que mi relación con Eclipse ha terminado como el rosario de la Aurora.

EL PYTHON PERDIDO

Asi fue como encontré la página “Python 2.5 Quick Reference” de Richard Gruet que me vino genial, ya que recopila para la última versión de Python las funciones, técnicas, sintaxis y demás historias que puedas necesitar para empezar con Python. Así pues el primer paso estaba salvado y con éxito. Además si no sabes programar Python, pero si algún otro lenguaje puedes arriesgarte y no leerte un libro entero.

La segunda misión era algo más complicada. Sabía perfectamente que hay infinidad de IDEs para Python. De todos estos probé nuevos: eric, Komodo IDE, PIDA, SPE y WingIde. Me llevaría bastante tiempo analizarlos a fondo y ni mucho menos los probé como para hacer un review de cada uno.

COMIENZA LA BÚSQUEDA

Leer el resto de esta entrada »

El otro día estaba leyendo UbuntuLife (blog que visito casi a diario), cuando me topé con este artículo sobre expect, que voy a complementar con otra herramienta, autoexpect.

EXPECT

Resulta que ya conocía esta herramienta de hace unos años. Expect permite crear scripts que responden a la shell, a la consola de comandos, siendo casi interactivos. Con él podemos hacer un script que se conecte a un ftp y espere a que el ftp le pida datos de usuario y contraseña. El script estará programado para responder cuando se le pregunte, pero no antes.

Antes a la hora de hacer un script para esto, la gente solía recurrir a hacks como:

ftp dirección
sleep 5
echo "mi usuario"
sleep 5
echo "mi password"
...

Esta solución puede fallar (dependiendo de si el ftp está saturado, tu ancho de banda…), además no es eficiente, ni elegante.

AUTOEXPECT

Ahora bien, en su día descubrí que existía una herramienta llamada autoexpect. Esta herramienta es un shell script (no un binario) que permite generar scripts de expect sin tener ni idea de cómo se programan, ¡genial!

Mucha gente desconoce….

Leer el resto de esta entrada »

Como muchos habréis notado las actualizaciones brillan por su ausencia. No es que me haya cansado del blog, ni mucho menos. Se debe a que entre el trabajo, la universidad y la poca vida social que intento tener, no tengo casi tiempo para publicar nada. Así que me estoy convirtiendo en un blogger de fin de semana, eso sí, espero que el contenido sea de la misma calidad. Me gusta pensar que me estoy convirtiendo en uno de esos blogs que sacan poco a la luz pero muy bueno.

El artículo de hoy va sobre vim (mi editor de textos favorito, del que ya he hablado alguna vez). En próximas semanas publicaré algún que otro artículo con trucos y consejos sobre cómo usarlo, incluso puede que me anime a hacer un videotutorial (ya que creo que para el que no lo ha usado nunca, puede resultar lioso y llevarle a pensar que no vale la pena manejarlo, lo cual es un gran error).

Alguna vez habréis tenido en vuestras manos dos textos que en un principio eran iguales, pero a uno de los dos se le han hecho pequeños cambios y queréis saber cuáles son. vim tiene un modo bastante desconocido en el cual nos permite ver estas diferencias fácilmente. Este truco me lo enseñó JJ, un colega del trabajo y me dejó muy sorprendido.

Abrimos una terminal en Aplicaciones >> Accesorios >> Terminal (Nunca digo cómo se abren y luego me tachan de extremista). Si no sabéis usarla, deberíais (ya sé que alguno pensará, a mi me gusta MAC OS X porque no tengo que usar terminal. Sí pero tampoco puedes hacer lo que yo sin ella). En Internet hay muchas páginas donde podréis encontrar los listados de comandos más usados y para qué sirven.

Tengo dos ficheros de texto que se llaman uno y dos, que contienen un texto que he escrito. El texto dos ha sido modificado sutílmente. Me dirijo al directorio donde están los textos y hago:

vim -d uno dos

es equivalente

vimdiff uno dos

siendo uno -> El primer fichero de texto
siendo dos -> El segundo fichero de texto

La opción -d viene de diff (Sacar las diferencias). Es parecido a usar el comando diff, pero más visual. Ahora veremos ambos textos en la shell, en dos ventanas verticales marcando las diferencias. Como a mí me gusta más verlo en horizontal hago.

vim uno
dentro de vim doy tecla Esc y luego :splitdiff dos

El resultado es el siguiente:

Este modo puede servir para un montón de cosas y es como todo en Vim, muy configurable. Podéis leer más en la documentación online de Vim (el manual más completo que existe a mi juicio), en la sección diff.

¡Hasta el próximo capítulo!

Technorati Tags:

menefante.gif meneame ico_delicious.gif del.icio

Pinchar sobre la imagen para agrandar

Esta es la fotografía de los Linux kernel hackers, sacada de cactus digital. Mi interés por el desarrollo del kernel de Linux (aka Linux), su funcionamiento y programación va en aumento desde hace meses. Estas son las principales mentes detrás de Linux (El kernel) y su labor se organiza en torno a la lista de correo LKML (Linux Kernel Mailing list).
Es grande la admiración que tengo por algunos de estos genios programadores, cuya labor es fundamental para poder tener un sistema operativo flexible, que mejora incesantemente y que se adapta rápidamente.

Nos suenan nombres como Linus Torvalds, Alan Cox, Avi Kivity (KVM), Rusty Russell (lguest, ipchains…), Ingo Molnar (famoso por el CFS Common Fair Scheduler de los 2.6.x), Con kolivas (exdesarrollador famoso por sus parches destinados al usuario de escritorio), Andrew Morton, Rik van Riel (promotor de kernelnewbies)… y muchos más.

Si quieres leer como es la vida de un kernel hacker, puedes leer el blog de Dave Jones y visitar su página personal para conocer sus parches al kernel y otros proyectos de software libre que desarrolla.

En la web de kernel-labs (Página española sobre el desarrollo de Linux, con howtos de interés). Tenemos una sección dedicada a algunos de los más famosos kernel hackers, donde podréis leer sus nombres, a qué se dedican en el núcleo y visitar sus páginas web personales.

kerneltrap.png

Por supuesto si te interesa estar al día sobre las mejoras, desarrollos y modificaciones más importantes al kernel de Linux, no te puede faltar KernelTrap en tu lector de feeds.

Espero que aumente vuestro interés no sólo por como usar Linux, sino por cómo funciona y cómo mejorarlo.

Technorati Tags:

menefante.gif meneame ico_delicious.gif del.icio

En esta web, Bestechvideos podremos encontrar una extensa videoteca con más de 1000 vídeos sobre nuevas tecnologías. Con esta magnífica fuente de conocimientos podremos ponernos al día en lo que al mundo IT se refiere, aprender a utilizar aplicaciones visualmente, asistir a conferencias, documentarnos y en definitiva aprender no sólo leyendo, sino viendo y oyendo. Además muchos de los vídeos están grabados por algunos de los más eminentes expertos en su campo.

La web cuenta con un buscador que funciona perfectamente y en seguida podremos estar viendo el contenido que más nos interesa. Yo por ejemplo he encontrado un vídeo que habla sobre las tecnologías disponibles en Linux para clustering, que es un tema que me interesa especialmente.

Esta es para mí una de las mejores páginas que conozco con videotutoriales y screencasts, genialmente ordenados. Espero que os sea tan útil como a mí.

menefante.gif meneame ico_delicious.gif del.icio

Technorati Tags:

Este artículo pretende guiarte en el aprendizaje autodidacta de un lenguaje de programación que me fascina, Python. Listaré libros que recomiendo leer, dónde encontrarlos, referencias en Internet para profundizar y consejos sobre que IDE utilizar, en qué librerías desarrollar tu interfaz…
Las palabras más importantes están remarcadas para ayudar la lectura. Es muy recomendable visitar los enlaces que se han añadido para profundizar.

Resulta que cuando acabé el curso empecé a aprender Python, un lenguaje multisistema al que le tenía ganas desde hace tiempo. Resultó que el lenguaje era sencillo, extremadamente rápido a la hora de programar y potente, no como Perl del que tanto estoy cansado de que me vendan.

Si no sabes programar y quieres empezar a aprender, en mi opinión este es un buen primer lenguaje para hacerlo siempre que no tengas pretensiones de hacerte tu propio sistema operativo o un módulo de Linux. Si ya programas algún lenguaje como fue mi caso, no tendrás ningún problema en aprenderlo. A mí personalmente me sorprendió su orientación a objetos en comparación con la del C++ a la que estoy acostumbrado.

DOS BUENOS LIBROS QUE HE LEÍDO Y RECOMIENDO

Beginning Python

Podéis bajarlo de blueportal gratis. Allí podréis encontrar …

Leer el resto de esta entrada »

Raúl González (alias Zootropo) y dueño del blog mundogeek que leo a diario. Saca a la luz Weather Wallpaper, un programa que nos pondrá un fondo de escritorio según el tiempo que haga en nuestra ciudad y además aporta datos meteorológicos. Podemos compilarlo desde las fuentes o bajarlo en un .deb si usamos un distribución basada en Debian como Ubuntu.

Viene todo muy bien explicado en la página del autor. Para configurarlo con nuestra ciudad necesitaremos el número ICAO de la estación de nuestra ciudad, y tengo comprobado que no todas funcionan. Mi ciudad, Burgos, no funciona.
Es una buena iniciativa y un programa práctico y original, desde aquí mi apoyo a Raúl para que siga desarrollándolo e implemente mejoras:

  • Predicción meteorológica de próximos días.
  • Otro sistema de obtención de datos climatológicos para ciudades pequeñas.
  • Mapa del mundo donde elegir nuestra ciudad para configurar el programa.
  • Muchas más.

Un saludo

menefante.gif meneame ico_delicious.gif del.icio

Technorati Tags:

Bueno estos días he estado y voy a estar un poco ocupado. Vuelvo a la capital para seguir trabajando y pronto empezará también la Universidad y entonces no habrá tiempo para nada. Aunque Septiembre va a ser un mes muy jugoso en artículos y espero que algunos causen sensación.

Las chuletas son pequeñas guías de referencia en un tema que nos pueden venir muy bien para no tener que recordar tal ingente cantidad de comandos, modificadores… y encontrarlos más rápido que con una página man. Además puede que algunas cosas que se citan no las conozcas y al mismo tiempo aprendas lo más interesante de una aplicación.

Una Chuleta, “Reference Card” como las llaman en inglés, que no le puede faltar un linuxero es la Debian GNU/LInux Reference Card. Está traducida a un montón de idiomas y un formato ideal para que la imprimamos y la podamos llevar y consultar fácilmente, como se puede apreciar en el gráfico:

reference card

Otra muy buena página de chuletas es refcards que tiene chuletas de los principales proyectos del software libre y sus lenguajes de programación. También muy útil como consulta.

Se gana mucha productividad imprimiéndolas y teniéndolas a mano en vuestro lugar de trabajo y con el tiempo poco a poco ya no nos harán falta.

menefante.gif meneame ico_delicious.gif del.icio

Technorati Tags:

Aunque ya escribí un artículo sobre esto estos días en el trabajo me estoy cruzando con mucha información que tiene que ver con los Desarrolladores Debian. Por eso hoy voy a hablar un poco más de ellos.

swirldebianmini

Los Debian Developers (DDs) o Debian maintainers son voluntarios encargados de empaquetar sofware para el sistema de paquetes de Debian. Es decir que se encargan de generar y mantener los tan importantes .deb. El gestor de paquetes es dpkg y sobre este se construye apt. Su brillante trabajo hace posible disponer de un gestor de paquetes que no tiene rival en otras distribuciones: rpm (RedHat), ebuilds (Gentoo)…

En el anterior artículo incluí algo de información sobre los conocimientos que se presuponen en un candidato a Debian Developer, el periodo de prueba, las partes del proceso, el tiempo medio para lograrlo…
Es importante remarcar la dificultad del proceso y que los Debian Developers son un grupo elitista formado por gente con una fuerte base de programación y conocimiento de Linux.

He encontrado un gráfico que resume el “Debian development Process”, es decir, la tarea que suele desempeñar un DD. También podéis bajaros la versión DIA del fichero.

Leer el resto de esta entrada »