Het downloaden van klingeltöne, Download von klingeltöne, Het downloaden van klingeltöne, Descargar tonos, Téléchargez des sonneries, scarica suonerie, Beltonen downloaden, Nedlasting av ringetoner, Download ringtones

Archive for the ‘Software Libre’ Category

Ubuntu, impresoras idénticas, udev

Tuesday, February 22nd, 2011

Hace un tiempo, en la empresa de mi viejo, compramos dos impresoras Samsung ML-1665. Son impresoras láser y se están utilizando para imprimir facturas. La máquina de la caja, a la cual están conectadas, tiene Ubuntu 10.04. Después de seguir un excelente howto para instalarlas, la primera fue detectada correctamente y comenzó a funcionar a la perfección.

Al conectar la segunda impresora, exactamente igual que la primera, la detección fue también satifactoria. Aunque surgió un pequeño gran problema: al imprimir sobre ésta última, la impresión se realizaba sobre la primera. Observando la configuración de ambas, me percaté de que tenían exactamente el mismo Device URI.

La solución fue bastante rápida: editar el archivo /etc/cups/printers.conf, y cambiar el device URI, que era algo así como “usb:/Samsung…” por “file:/dev/usblp0″, y la otra impresora por “file:/dev/usblp1″. Con esto el problema fue resuelto y todo comenzó a funcionar como uno esperaba. Aunque no tardó en surgir otro inconveniente.

(more…)

Gtk3 y HTML5

Wednesday, November 24th, 2010

Hoy me encontré con un impresionante video en el Planet GNOME:

Ojalá los bindings para Mono no se retrasen mucho.

Si usás Buildbot con Mercurial…

Saturday, November 28th, 2009

… y la versión de Buildbot es la 0.7.11p3 (la última al momento de escribir este post) y Mercurial 1.3.1, que son las versiones que están en Karmic, quizá tengas un problema cuando el Build Slave intenta bajar el código del repositorio para comenzar el ciclo de compilación/testing.

Arquitectura de Buildbot

Arquitectura de Buildbot

Buildbot permite configurar de varias formas el modo en que va a obtener el código fuente del proyecto y cómo realizará las actualizaciones subsiguientes. Por ejemplo, el modo “update” hace que las operaciones de checkout/update se ejecuten en el directorio de trabajo, y no en uno independiente, como en el modo “copy” o “clobber”, que mantienen un directorio separado y limpio del repositorio (en el caso de Mercurial, “copia de trabajo” en el caso de Subversion) y hacen una copia del mismo para realizar la compilación (esto asegura que siempre se compile todo y que no influyan archivos generados en procesos anteriores, además de otros problemas menos comunes pero que existen).

El problema que estuve teniendo es cuando utilizo Mercurial. Al intentar traer el código fuente, Buildbot entra en un bucle infinito donde realiza el checkout (clone), borra el directorio, otra vez clone y asi… me pareció rarísimo el comportamiento. Versiones anteriores de Buildbot con versiones anteriores de Mercurial funcionan bien.

En uno de los pasos para realizar el checkout/update, Buildbot verifica si ha cambiado la URL del repositorio. Si esto es así, entonces hace clobbering, o sea, vuelve a bajar todos los cambios (checkout) y obviamente no realiza un update, aunque el modo no sea “clobbering”. Para saber si dicha URL ha cambiado, ejecuta un “hg paths default” en el directorio de trabajo y lo compara con la URL asignada en el archivo de configuración central del Build Master.

El bug está en que al ejecutar “hg paths default” Mercurial 1.3.1 devuelve el password oculto con asteriscos:

$ hg paths default 

http://miltondp:***@url.mi_proyecto.com/path/al/repo

… y, obviamente, la URL asignada en el archivo de configuración está completa (sin el password oculto). Al compararse ambas, son distintas, y por lo tanto siempre se hace clobbering.

(more…)

Gtk+: trabajando con TreeViews

Monday, June 22nd, 2009

edicion-treeview1

Este post puede ser útil para los que utilicen el widget TreeView de Gtk+ (no importa el lenguaje mientras haya bindings), y necesiten activar por código celdas en modo edición. Hay algunas cuestiones a tener en cuenta.

Para el Proyecto Final de Carrera estamos desarrollando un sistema de nivel operativo, con funciones de facturación y demás. Necesitamos manejar un TreeView con campos editables, y al finalizar la edición de uno de ellos es necesario dar el foco a otro campo en modo edición, listo para que el usuario comience a cargar datos sin tocar el mouse.

(more…)

sl: Steam Locomotive

Wednesday, May 6th, 2009

¿Nunca escribieron LS o sl cuando en realidad quisieron ejecutar “ls” en la terminal? Bueno, si les pasó, habrán visto que en Ubuntu salta el siguiente mensaje:

$ sl
El programa «sl» no está instalado actualmente.  Puede instalarlo escribiendo:
sudo apt-get install sl
bash: sl: orden no encontrada

La primera vez que lo vi me pareció extraño, así que instalé el paquete “sl” como me sugería. La descripción del paquete es esta:

Correct you if you type `sl' by mistake
Sl is a program that can display animations aimed to correct you
if you type 'sl' by mistake.
SL stands for Steam Locomotive.

Me imagino que tendrán ahora la intriga de qué es lo que pasa si ejecutan “sl”. Simplemente tengan cuidado :P

Netboot install con dnsmasq

Thursday, April 9th, 2009

Tengo en mi casa un Pentium III de 800 MHz con 128 MBs de RAM. Es de César y la vamos a utilizar para el proyecto. No tiene lectora de CD y no tiene soporte para bootear por la red. Les muestro en este post lo que tuve que hacer para instalar Ubuntu Server en una máquina así, de esta forma si lo tienen que hacer se ahorran trabajo.

(more…)

Mono C# Shell

Thursday, February 12th, 2009

El otro día necesitaba saber bien cómo funcionaba el método Remove de la clase StringBuilder en Mono. Entonces hice lo siguiente:

miltondp@wasabi:~$ csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> using System.Text;
csharp> var a = new StringBuilder("Milton");
csharp> a.Remove(a.Length-1,1);
Milto
csharp> a.Remove(a.Length-1,1);
Milt
csharp> a.Remove(a.Length-1,1);
Mil
csharp> a.Remove(a.Length-1,1);
Mi
csharp> a.Remove(a.Length-1,1);
M
csharp> a.Remove(a.Length-1,1); 

csharp>

Si, funcionaba como me lo imaginaba :) Esta shell para C# está disponible en la versión 2.2 de Mono.

Mercurial Queues: una aplicación simple

Thursday, January 15th, 2009

Hace un tiempo comencé a leer un poco sobre esta extensión de Mercurial: Mercurial Queues (Mq). ¿Para qué sirve? Bueno, imagínense que tienen una instalación de WordPress con ciertas modificaciones que le han hecho. Supongan que la versión del CMS que están usando es la 2.6.5. Quieren actualizar a la 2.7 pero sin perder los cambios, y que la migración sea sencilla. Bueno, Mq les permite mantener estos cambios personales como parches, que pueden aplicar, modificar, quitar, reordenar… De esta forma, con una serie de pasos, pueden actualizar fácilmente el código “de fondo” (o sea, de WordPress 2.6.5 a la 2.7) y reaplicar esos parches sobre esta nueva base. En este post pueden ver el ejemplo desarrollado.

(more…)