-->
Oct 13

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

escrito por Miguel

Sep 29

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

escrito por Miguel

Sep 29

Hoy me he levantado con el antojo de jugar al Super Mario World. Así que he buscado un emulador para la SuperNintendo en Linux. Así es como he encontrado ZSNES. Para instalarlo podremos hacer un simple:

sudo apt-get install zsnes

Después en Aplicaciones >> Juegos >> ZSNES. Se cargará el emulador y nos dirá que le demos a la barra espaciadora. Ahora ya podemos cargar juegos en el emulador. Aquí podéis encontrar un buen listado de ROMs para la SuperNintendo.

Si no entendéis qué es un emulador o las ROMs podeís leer este artículo de la Wikipedia que lo explica en detalle. Aquí podéis ver como finalmente he logrado echar esas partidas tan anheladas. Por supuesto se puede jugar a este y a un montón de juegos más de la infancia: mario kart, street fighter mítico…

Si lo vuestro no era la SuperNintendo, estáis de suerte porque en Linux existe una gran cantidad de emuladores para muy diferentes consolas. Basta con una pequeña búsqueda en la shell:

apt-cache search megadrive

Y así veremos como el emulador se llama dgen. Instalarlo y hacerlo funcionar es casi idéntico a lo anterior. No hay excusa para no jugar en Linux.

Technorati Tags:

menefante.gif meneame ico_delicious.gif del.icio

escrito por Miguel

Sep 15

Como estoy algo enfermo y hace tiempo que no escribo porque he estado algo liado. Hoy tiro la casa por la ventana y ahí va el segundo artículo del día.

El otro día en el trabajo, necesitaba sustituir una cadena de texto en varios ficheros. Algo que no me resultó nada difícil ya que cuento con mi amiga la shell para lograrlo. Pero es un buen ejemplo para comentar la filosofía Linux y explicar la potencia de la consola bash.

Lo primero que pensé fue hacer un pequeño script como este:

touch sustituir.sh
chmod a+x sustituir.sh
vim sustituir.sh

#!/bin/bash

# Script que sustituye una cadena $1 por $2 en los ficheros indicados por $3

for i in $3
do
cat $i | sed 's/$1/$2/g' > $i.new
mv -f $i.new $i
done

exit 0

Explico un poco. Este script recibe 3 parámetros:

  • El primero $1 es la frase que se va a sustituir
  • El segundo $2 es la frase por la que se va a sustituir $1
  • El tercero $3 son los ficheros sobre los que va a hacer la sustitución.

así que a partir de ahí lo ejecute con:

./sustituir.sh /path/viejo /path/nuevo *

Este script simboliza la filosofía Unix. Pequeñas utilidades con funciones específicas que se juntan para resolver un problema. Ademaś cada una de estas utilidades es precisa en su cometido, está diseñada solamente para ello. Podéis crearos unos ficheros de texto en temporales y probarlo.

Ahora bien, Linux siempre tiene varias soluciones para lo mismo. Así que hice un pequeño:

apt-cache search replace utility

Y apareció rpl. Una aplicación que hace exactamente lo que mi script y tiene algún modificador extra que nos puede interesar.

sudo apt-get install rpl

man rpl
rpl [-LhiwbqvsRepfdt] [-xSUFFIX] 〈old_string〉 〈new_string〉 〈target_file ...〉

Aquí cada uno se quede con la solución que más le guste. Lo que queda claro es que en Linux podemos escoger.

menefante.gif meneame ico_delicious.gif del.icio

Technorati Tags:

escrito por Miguel

Sep 15

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:

escrito por Miguel