Posts Tagged ‘GNU & Linux’

Bash: Como encodear tus archivos .wav a .mp3 con lame y el CLI

Friday, December 7th, 2007

He aquí un bash script que ayuda a convertir tus archivos .wav a .mp3.

Dependencias

  • lame

cd /path/a/tus/archivos/wav && for file in *.wav; do lame -h -b 192 --cbr "$file" "${file%.wav}.mp3"; done

Gedit y su Modelines plugin

Tuesday, August 28th, 2007

Estoy muy contento ya que hice un gran descubrimiento en gedit!

Si conoces a algún old-school coder linuxero, habrás observado que muchos de ellos prefieren no usar tab para indentar. O acaso será me ha tocado escucharlos quejarse mucho de ellos? Sepa la goma!

La cosa es que siempre se han quejado de que, como los tabs son un espacio indefinido, pueden llegar a desfigurar el código.

Por ejemplo, si tu defines, en vim, una anchura de 8 espacios para tus tab, el código hecho con 2 o 4 columnas en mente sobrepasará la barrera de las 80 columnas y eso desfigurará el código ya que, en la mayoría de los casos, lo wrappeará. Esto es pecado para algunos programadores de C.

Bueno, pues lo único que sé es que descubrí algo, y seguramente muchos de ustedes ya lo sabían, acerca de gedit.

En vim, emacs y kate, existe un método para forzar ciertos valores a ciertas opciones, éstos se llaman Modelines. En mi caso, voy a usar algunos modelines de vim para poner un ejemplo.

Digamos que escribiste tu código y lo indentaste para que quedara precioso! Lo hiciste teniendo una configuración de 4 columnas por tab. Bueno, pues a la hora que Piotr, de Russia, donde prefieren 8 columnas por , abra tu código, dirá: “Malditos mexicanos, porrr eso nadie quierrre leerrrr su código, hijos de su mamushka!!” ya que tu código se habrá desfigurado en su monitor.

Para evitar esto, lo que haces es poner unas lineas al final, en las cuales definiras un espacio de 4 columnas para tus tab. Esto hará feliz a Piotr y mantendrá el código de los mexicanos en alto nombre!

Un ejemplo real:

Archivo sin modlines para tí
<?php

if ( $x = 123456 ) {
world_destruction( $x );
} else {
echo ‘Due to a mistype or something else, your password verification returned an error. I’m sorry, world destruction will need to wait.’;
}

?>

Archivo sin modlines para Piotr
<?php

if ( $x = 123456 ) {
world_destruction( $x );
} else {
echo ‘Due to a mistype or something else, your password verification returned an error. I’m sorry, world destruction will need to wait.’;
}

?>

Archivo con modlines para tí
<?php

if ( $x = 123456 ) {
world_destruction( $x );
} else {
echo ‘Due to a mistype or something else, your password verification
returned an error. I’m sorry, world destruction will need to wait.’;
}

/*
vim: set ts: 4
vim: set wrap
*/

?>

Archivo con modlines para Piotr
<?php

if ( $x = 123456 ) {
world_destruction( $x );
} else {
echo ‘Due to a mistype or something else, your password verification
returned an error. I’m sorry, world destruction will need to wait.’;
}

/*
vim: set ts: 4
vim: set wrap
*/

?>

Estas líneas de código, en caso de que no lo puedas ver así, definirán un espacio de 4 columnas por tab y activarán la función “wrap”. Esto podrá ser leido por vim y por Gedit, siempre y cuando actives el plugin correspondiente.

Para mayor información en las opciones disponibles, ve a:

# vim: http://vimdoc.sourceforge.net/htmldoc/options.html#modeline
# emacs: http://www.delorie.com/gnu/docs/emacs/emacs_486.html
# kate: http://www.kate-editor.org/article/katepart_modelines

NOTA:
Al tiempo de escritura de este artículo, gedit solo soporta las siguientes opciones:

# vim: et, expandtab, ts, tabstop, wrap, y textwidth
# emacs: tab-width, indent-tabs-mode y autowrap
# kate: tab-width, indent-width, space-indent, word-wrap y word-wrap-column

Favor de consultar la documentación de gedit
Este artículo fue basado en la versión: gedit 2.18.2

rpmnew substitution

Sunday, August 12th, 2007

I am tired of having to re-write, manually, all the *.rpmnew files that appear when I upgrade. Most of them don’t need to be diff’ed, in my case at least.

For example, I just diff the httpd.conf file and that’s it so, here’s a script to mv *.rpmnew to *:


find . -iname '*.rpmnew' | while read f; do mv -f $f ${f%.rpmnew}; done

Thanks zcat, from irc://freenode/fedora

F7: La “nueva” nueva edición de Fedora!

Thursday, May 31st, 2007

Hoy, al rededor de las 9 a.m. CDT, se publicó la nueva versión de Fedora!

Fedora 7, al cual se le ha eliminado la parte de “Core”, es una edición ambiciosa en cuanto a logros. Han agregado algunas funcionalidades que harán que, las futuras ediciones, sean más flexibles que nunca.

Por primera vez, Fedora, publica varias ediciones de su distro. Por ejemplo, puedes bajar la versión Desktop-GNOME, la cual es un CD de 700 mb que incluye la instalación básica de Fedora con GNOME. De iwal manera, puedes bajar el DVD que incluye muchos más paquetes, o el set de DVDs que incluye TODO (para usuarios que no tienen banda ancha en su localidad.

Fedora, también, permite hacer “Re-Spins” de Fedora de una manera APP (A Prueba de Pendejos), lo cual permitirá que nosotros, los usuarios, liberemos nuestras propias ediciones de Fedora!! Esta flexibilidad permitirá que tenga mi “Fedora Renich’s Edition”, la cual contendrá todos los paquetes que YO quiera que tenga… Esperemos las versiones: A/V, Server, MiCasa, MiChamba, etc en poco tiempo!

Además, cuenta con todo lo más moderno de todo (como siempre) y, pues, la neta, no vale la pena comentarlo mucho… Siempre ha sido “bleeding edge”… nada nuevo en lo nuevo….

A los interesados, visiten: http://fedoraproject.org/ y lean las “Release Notes” o, de plano, aviéntense algún video o slideshows de los publicados en esta página…. cuando esté disponible ya que hay exceso de tráfico en este momento!!… Todos quieren su fedorita!

# Bájalo
http://torrent.fedoraproject.org/

Propuesta: GNU & Linux en las Escuelas de Gobierno

Tuesday, April 3rd, 2007

Una de las cosas que más trabajo me ha costado entender es el por qué…

¿Por qué no enseñan GNU & Linux en las escuelas de Gobierno?

Esta es una pregunta que todos deberíamos hacernos. Siendo nosotros un país Latinoamericano en desarrollo y, en el cual, todos sabemos, no somos potencia ni tenemos un presupuesto inmenso para gastar en la compra de licencias de Microsoft Windows u Office.

Enseñar, en nuestras escuelas, GNU & Linux se me hace un paso obvio y natural para obtener un mundo de beneficios como:

- Reducir enormemente el gasto en la educación en México
- Liberar de la dependencia de productos no gratuitos a las siguientes generaciones.
- Impulsar el conocimiento de este tipo de tecnologías en las cuales los niños pueden desarrollarse y descubrir aptitudes que no tenían.

Como todos sabemos, hay muchas distribuciones de muy alta calidad que han sido diseñadas para estudiantes y educadores. Basta mencionar: Edubuntu, Debian Jr y varias más que seguramente brindarán a los estudiantes y maestros de todas las herramientas que necesiten para la educación.

¿Cómo podríamos hacer esto?

Para empezar, podríamos empezar por capacitar a nuestros maestros en el tema para que, así, puedan, a su vez, empezar a implementar GNU & Linux en sus casas y escuelas. Esto reducirá, en gran medida, el uso de productos piratas en el país ya que, con el software libre, no es necesario piratear para poder usar.

Es bien sabido que muchos paises y empresas empiezan a implementar GNU & Linux como estandard. La verdadera pregunta es, ¿Cuánto nos vamos a tardar nosotros en hacerlo?

Sabemos que FLOSS es la solución perfecta para paises en desarrollo. Sabemos que no hay más soporte en el mundo que para el software libre. Sabemos que las compañías tienen la tendencia a migrar. Sabemos que el gobierno federal apoya oficialmente a las PyMEs para que lo utilicen… Hasta algunos de nuestros ayuntamientos han comenzado la migración!

Por favor! Empiecen a enseñar GNU & Linux en las escuelas ya!

# Referencias
http://www.linux.org/
http://www.linuxinsider.com/rsstory/56656.html