¿Hay libertad en el software libre?

Aunque el software libre se trata principalmente de libertad, existen algunos casos en los que la misma comunidad restringe la libertad de otros desarrolladores. Este es el caso de Canonical, Novell, etc quienes miran por sus intereses particulares sin tomar en cuenta cómo afectan a proyectos más pequeños de de uno u otro modo dependen de ellos.

Aquí pongo la liga a una entrada en el blog de SiDi, que estuvo colaborando con Xubuntu durante los últimos meses y platica la experiencia que tuvo al tratar con Canonical. Aunque muchos piensan que a traves de ubuntu ha ayudado mucho a la comunidad de software libre, aquí se muestra otro punto de vista que vale la pena conocer. ¿Qué tanto juega justo Canonical con la comunidad? ¿Qué tanto regresa a los proyectos que utiliza para su distribución? ¿Qué gana la comunidad con la existencia de Canonical/Ubuntu?

On Freedom Part 1

Xorg 7.5 Liberado

El 26 de octubre de 2009 fue liberada la versión de Xorg7.5 más correctamente llamado X11R7.5.

Se preguntarán por qué me causa emoción, pues porque trae varias mejoras e incorpora herramientas que cada vez nos acercan más a desaparecer xorg.conf y que X configure todos nuestros dispositivos por si mismo de modo automático y correcto.

Una de las mejoras más importantes es MPX que permite utilizar más de un teclado y/o ratón al mismo tiempo. Esto implica que uno puede trabajar colaborativamente en la misma computadora en aplicaciones como gimp (o en videojuegos ;-) ).

IDP: Lo que xrandr vino a hacer para los monitores, que nos permitió poder conectar un proyector sin temor de no poder proyectar nuestras presentaciones, IDP lo hace para los dispositivos de entrada.

Ahora uno puede definir ciertas propiedades de los dispositivos de entrada “en vivo” con lo que se puede modificar la aceleración del mouse, por ejemplo.

Xrandr 1.3: Se incorporó una función llamada “Projective Transforms” que permite transformar la imagen desplegada en una pantalla para corregir el “efecto pared” que se genera cuando se tiene un projector en una mesa desplegando hacia arriba.

Xorg 7.5 Release Notes

Edit: typo formato

No portar software a Windows

Me he encotnrado esta nota en la red y me parece una propuesta que si bien puede verse un poco radical, me parece que tiene cierta verdad.

Please do not port software to windows

Un chistecillo que me encontré en Facebook

Un ingeniero de Microsoft, uno de Intel y un programador de Linux se encuentran en el baño. El de Microsoft acaba el primero, y a la hora de lavarse las manos lo hace a conciencia, con mucho jabón y agua, y para secarse usa un montón de toallitas de papel, y dice: – Los de Microsoft, lo que hacemos lo hacemos bien. – El ingeniero de Intel, también se lava a conciencia, pero utiliza muy poca agua y muy poco jabón, y para secarse utiliza una esquinita de una toallita de papel. Cuando acaba dice: -Los de Intel, además de hacerlo bien, lo optimizamos al máximo. – El programador de Linux, sin lavarse, mira a los otros dos y dice: -Los de Linux no nos meamos en las manos.

Cualquier parecido con la realidad es mera coincidecia

Surgery

Kernel 2.6.31: Liberado

Después de mucho tiempo en desarrolo, la versión 2.6.31 de Linux ha sido liberada. Como lo he hecho anterioromente, sólo mencionaré los cambios que me parecen más relevantes ya que en realidad son demasiados.

ATI KMS: Después de  que Intel introdujera KMS (Kernel Mode Setting) en 2.6.29,  ATI actualizó su driver “radeon” para incorporar esta tecnología que permitirá, entre otras cosas, iniciar X ¡sin parpadeos en la pantalla! Desafortunadamente el código todavía tiene ciertos problemas de seguridad por lo que estará en el area de “staging” por lo que es probable que las distribuciones no habiliten este driver por el momento.

USB3: Aunque todavía no hay hardware disponible en el mercado que utilice USB3, Linux agregó soporte para estos dispositivos. Para el usuario común esto no tendrá mucha relevancia pero, en definitiva, ayudará a los desarrolladores que pretendan incorporar esta tecnología.

Performance counters: Se agregó un subsistema que abstrae los contadores de rendimiento que se encuentran en los procesadores modernos. Con estos contadores se puede monitorear al procesador y evaluar su rendimiento con respecto a cierto programa que se esté ejecutando. Para poder utilizar este sistema a nivel usuario, se creó una herramienta llamada pref.

CUSE:  Al igual que FUSE lo hace para sistemas de archivos, CUSE trata de crear dispositivos de caracter en el espacio de usuario. Con esto, las aplicaciones pueden crear su propio dispositivo y manejar todos los eventos relacionados con él. Una de las aplicaciones que se le puede dar a este sistema es el de OOS Proxy que usa CUSE para crear los dispositivos /dev/dsp /dev/adsp/ y /dev/mixer en el espacio de usuario para que las aplicaciones que todavía usan OSS puedan abrir dichos dispositivos pero que el sonido sea manejado por algún otro programa que esté utilizando el proxy. Esto, es de gran ayuda para Pulseaudio ya que él se encarga de administrar las diferentes  fuentes de audio generadas en el sistema.

Ext4: Se agregó un parche que hace posible la desfragmentación del sistema de archivos mientras está en uso.

ARM: Se agregó soporte para ARMv6 y ARM v7 en modo big-endian

Todo lo no mencionado está listado en el Changelog.

Juntas semanales

Durante este semestre Agosto-Diciembre del 2009 el GUL va a estar
reuniéndose semanalmente de modo casual. Este tiempo se puede utilizar
para abordar temas de interés común como la planeación de eventos que
tengamos pensados, solucionar problemas con alguna instalación o
simplemente a regocijarnos de nuestra compañía.

Las mencionadas tertulias serán a la hora de la comida para que sea
más fácil acomodarse al horario de todos.

Resumo
Lugar: Cafetería Jubileo.
Día: Todos los lunes a partir del 24 de Agosto.
Hora: 13:00

Un saludo.

PD: No se preocupen, no planeo hacer actividades de aprenderse los
nombres de los demás… ni el deporte que practican. ¬¬

bash-foo #2

Se puede usar:

bash$ !!


para volver a ejecutar el último comando

Ejemplo:


bash$ echo hola

hola
bash$ !!
echo hola
hola

Ahora el enfoque práctico, si lo combinamos con sudo, es la mera onda

bash# touch /tmp/blablabla
bash# exit

bash$ rm /tmp/blablabla
rm: remove write-protected regular empty file `/tmp/blablabla’? y
rm: cannot remove `blablabla’: Operation not permitted
bash$ sudo !!
sudo rm /tmp/blablabla
bash$ echo ‘(:’
(:
bash$

Ya dije

vim-foo #4

Un poquito sore registros:
Básicamente en vim tienes registros para guardar el contenido del portapapeles, esto funciona así:
Digamos que tenemos un archivo que tiene lo siguiente
————-
1 int foo();
2 void bar();
————-
Si estamos en la línea 1, y hacemos

“fyy

Luego nos movemos a la línea 2 y hacemos

V”by

(hace lo mismo, aunque usa otro registro, la razón la dejamos como ejercicio para el lector)

Una vez hecho esto, al ejecutar:

p

vim va a pegar lo último que se copió (yanked)

“fp

va a pegar el registro f, y por último:

“bp

va a pegar el registro b

Existe un registro especial que sirve para copiar al portapapeles de X11 (o lo que estén usando, supongo, aunque no estoy muy seguro).
por lo tanto:

“*yy

copia la línea del cursor al portapapeles (esto también funciona en VISUAL mode y todo eso).

Para más información
:help copy-move
Ya dije.

bash-foo #1

Ok, ahora algo de pequeñas joyitas con bash (y dos con cd)
Algo de expansión de llaves (y luego su aplicación práctica)

bash$ echo {foo,bar,baz}
foo bar baz

[Fácil, no?]

bash$ echo {jam,canci,reggaet,tort}ón
jamón canción reggaetón tortón

Desde luego, también podemos dejar espacios en blanco:

bash$ echo {tu,ru,,,tutu}ru
turu ruru ru ru tuturu

Bueno, finalmente, traigamos algo de utilidad al post

shell$ cp archivo{,.bak}

Y antes de actualizar un archivo

shell$ mv archivo{,.old}

La página de información de bash tiene más información sobre esto.

Ahora las de cd (extra):
Todos sabemos ya que ‘~’ se expande a $HOME, y por tanto cd ~ nos lleva a casa. cd hace justo eso cuando no recibe argumentos.

shell$ cd

2 carácteres menos.. :-)
Ahora, qué si queremos ir a la última carpeta en la que estuvimos

shell$ cd -

*Esto no es un stack, para eso chequen pushd y popd.
Ya dije.

Edit: Esto se debió publicar antes que bash-foo #2.. pero en fin. así pasa cuando sucede.

Este blog funciona gracias a WordPress con el theme GimpStyle diseñado por Horacio Bella.
Entradas y Comentarios feeds. XHTML y CSS válidos.