viernes, diciembre 28, 2012

martes, octubre 30, 2012

Impresora HP con driver hplip en Debian Wheezy 64

Después de hacer "aptitude upgrade" deja de funcionar la impresora.

En Debian no se incluyen los componentes (plugins) privativos de hplip, hace falta bajarlos e instalarlos manualmente desde OpenPrinting, la versión debe coincidir con la del paquete hplip instalado:
# apt-cache show hplip | grep Version:
Version: 3.12.6-3
Como root, ejecutar el plugin:

# chmod a+x hplip-3.12.6-plugin.run
# ./hplip-3.12.6-plugin.run 
Por último, eliminar la impresora y volver a agregarla desde el panel de CUPS (http://localhost:631/), o desde el panel de administración de GNOME.

viernes, octubre 19, 2012

Eagle 6.3.0 en Debian Wheezy 64 bits


/tmp/eagle-setup.7411/eagle-6.3.0/bin/eagle: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
Para instalar y ejecutar CadSoft Eagle en Debian Testing de 64 bits hace falta activar multiarch:
dpkg --add-architecture i386
aptitude update
aptitude install ia32-libs-dev ia32-libs-gtk
aptitude install libssl1.0.0:i386

miércoles, octubre 17, 2012

Descubrir qué dice

0x846347d8680d17dcdee03a322b37de84e0290b770bee5b0f4c5db4c2e5a676ad91496b11fa458e2e4020e1cdf987d539b5e043f12f0e018b2d800fa10e24d5ae27bc1ee1d8adcdb6ebfd32f407d78ab007b10cfbe457cf65eaa34208114141c281b8e903f42be2ab453e32f22218fdf98062c72abf1bf850b1fca334b9074f9876cba2c0c16c607ff5e1c61e869dd9faaf9bd917391eb0a4136ef3a82effe887122f90de7c1ed8cbd8ceea738c80a9f8192e37ad02be9774448c27c16a633d0dea581a7bcbc12b38f2f11e58edf28e304306293a7319a6637862d8e73554b4e4586060cf93f7ebb1dbdcf3b9e9420905899f42e2afaf84471908fc29bef013e13817eb4bfd50f8d7ef17416232df27cab810adf82fce317ff0d996cbb0fb79c45ead9a8918956c3e17cdfe6f40df488d669925af8155784b3f7058f0b6e1532e1bc639dbdc5dde069f6579a40f626170d2e75b73ea0917da215dfbb907e368b47fa6fc50205d226bcc385c7c411354eea023ac34a7191a2862d633cff9ab46f7248fec555e195a9a6784cab352e8183b7f4a45cabb15a0e9275d7c075e63ec1f9d3be4b4a8c91edfb71bb4ad45db324cc1b47edc2d069b40c54dc88c498e57d815f787b63f71d1d34fded04c0389c4e17643c3ac419af2042f913b20a5351025c3e21fd33611de766114fbbcada9f517bf14a6004d77022b95e23eef6554b58bb8c3bca2acdc73a10fe1582f6e608593e524bbb7b03f99337a161b32bfb4bf1fca8cbbe8ae115a82d025e061f563e464eed274942e8b157305ac3de004b7ffa43d47f1637b5b38441489407cfd614cbfd2ffd4332844b0b79ea7f8a8a426aa0f3b0a9bee3f13d1536da84e0ee5a7d9dc305f2976f1335c3f5a5c9b3fceeca369ae3fd5e4c17445dec4f14f542d5885c28231ee3005606a0e973049aa1b7e59c1a37e9ddfec8867d8d651db718eb3df000850908aba87642cf7649c97f21f348a3f75d65cd8dbdc5a37f202372c80ebdb4b99f5e1fe311e2b0e197bb1607e76c9a42c5e35fbe3a7eaea1d358f26d243034de15ad1e9600b472cb982133d640a1a9a79fd25b8e012e68c87ca6d872f3b6e11a1370309df675398a9a0bb53f0a36fa5ef04a9e03db01b052683a00a9810acccc917c8ebc98f4b5879802edce147360e16fd013e0f731da3e99d851723527f9e24343e4244f6a10a32bba4f097cc10ceb4aae58efc8e6305c6662ab3474617434430931356dacac7a6e8b2b310a57eea262da55e2a35f2c519566cb67c48532ad7458cb34f08473d7cf3f7800000000000000000000L

miércoles, octubre 10, 2012

Desinstalar PulseAudio en Debian

(imagen de monkeyislandquotes)

En mi anterior entrada doy instrucciones equivocadas para solucionar los problemas de sonido de PulseAudio. La forma que mejor encontré para que el sonido funcione es desactivar Pulseaudio y volver al viejo y querido ALSA.

Dado que PulseAudio es una dependencia obligada de Gnome (y soy un usuario de Gnome), no se puede desinstalar y solo nos queda desactivarlo.

1. (como root) La forma más directa de desactivar PulseAudio es quitarle al programa /usr/bin/pulseaudio los permisos de ejecución, con el comando: chmod a-x /usr/bin/pulseaudio

2. (como usuario) Si ya se tiene PulseAudio ejecutándose hay que matar el daemonio con el comando:
pulseaudio -k

Con estos dos pasos PulseAudio ya no se va a ejecutar en el sistema. Además, se puede hacer lo siguiente para quitar otras huellas de PulseAudio:

1. (como root) Verificar en el archivo /etc/default/pulseaudio que la variable PULSEAUDIO_SYSTEM_START esté en el valor 0, de forma que Pulse no se inicie como daemonio al iniciar el sistema. De otra forma, editar el archivo y asignarle el valor 0:
PULSEAUDIO_SYSTEM_START=0
Si la variable tenía el valor 1, es necesario detener el daemonio de pulse con el comando: 
/etc/init.d/pulseaudio stop
2. (como root) Verificar que el archivo /etc/asound.conf no tenga rastros de Pulse. Teniéndo el archivo como se menciona en mi anterior entrada, con borrar el archivo o cambiarle el nombre es suficiente.

3. (como usuario) Verificar que el archivo ~/.asoundrc tampoco tenga rastros de Pulse. Al igual que el punto anterior, si solo se menciona a Pulse, con borrar el archivo o cambiarle el nombre es suficiente.

4. (como usuario) Crear el archivo ~/.pulse/client.conf de forma que solamente diga: 
autospawn=no
En caso de existir, borrar todo su contenido y reemplazarlo por lo anterior. Teniendo el anterior archivo de configuración, genera que el daemonio de PulseAudio no inicie.

5. (como usuario) En "Herramientas -> Preferencias -> Configuración de Sistema -> Sonido" de Gnome, desactivar la opción que dice: "Sistema de Sonido PulseAudio".

6. (como usuario) Matar el daemonio de Pulse con el comando: pulseaudio -k

7. (como usuario) Configurar las aplicaciones de forma que utilicen ALSA. En general, las aplicaciones de Debian como VLC, Clementine, etc. vienen configuradas para que utilicen la "mejor opción". Dado que cuando hay un solo candidato hay una sola opción, se debería utilizar ALSA por defecto. De otra forma, configurar las aplicaciones para que utilicen ALSA como sistema de sonido.

martes, octubre 09, 2012

Problemas con PulseAudio en Debian Testing Wheezy

Importante: estas instrucciones no funcionan. Para desactivar/desinstalar PulseAudio en Debian leer mi siguiente entrada. No podía reproducir dos o más sonidos a la vez en Debian. La solución, crear el archivo /etc/asound.conf con el siguiente contenido. Más info en la Wiki de Ubuntu:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

sábado, septiembre 15, 2012

2do Torneo Argentino de Programación



-----------------------------------------

2do TORNEO ARGENTINO DE PROGRAMACION
29 de septiembre de 2012

----------------------------------------
SEDES DE LA COMPETENCIA:

Universidad Nacional de La Plata
Universidad Nacional de Córdoba
Universidad Nacional del Litoral
Universidad de Buenos Aires
Universidad Nacional del SUR

---------------------------------------------------------

El 29 de septiembre se llevará a cabo la segunda edición del Torneo
Argentino de Programación, en el que compiten equipos de 3 estudiantes
cada uno de instituciones de educación superior de Argentina.

El torneo consiste en resolver un conjunto de problemas algorítmicos en un
plazo de 5 horas. La solución a cada problema es un programa que se envía
mediante un sistema especial al jurado, que lo corrige en el momento
mediante casos de prueba secretos (test de caja negra). El equipo se
entera al instante si la solución enviada es correcta, y de no serlo puede
corregirla y reenviarla tantas veces como sea conveniente.

Las sedes del torneo confirmadas son:

- Facultad de Informática, Universidad Nacional de La Plata
- Facultad de Matemática, Astronomía y Física, Universidad Nacional de
  Córdoba
- Facultad de Ingeniería y Ciencias Hídricas, Universidad Nacional del
  Litoral
- Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires -
Universidad Nacional del SUR/UTN Regional Bahía Blanca

Este torneo se enmarca dentro de la competencia ACM-ICPC (The ACM
International Collegiate Programming Contest, auspiciada por IBM a nivel
internacional, ver http://cm.baylor.edu/welcome.icpc ).
Se entregarán certificados oficiales de la ACM-ICPC, tanto de
participación como de posición obtenida.

Las instituciones que así lo deseen (no es obligatorio) pueden usar el
torneo para seleccionar sus equipos para la Competencia Regional
Latinoamericana que se llevará a cabo el 10 de noviembre de 2012 en
simultáneo en Argentina (Buenos Aires), Brasil, Chile, Perú, Bolivia,
Colombia, Venezuela, México y Cuba. A partir de la competencia regional
quedan seleccionados los equipos latinoamericanos que participarán en la
final mundial en San Petesburgo en julio de 2013.
La sede Argentina de la regional contará este año con el apoyo de la
Fundación Sadosky .

---------------------------------------------------

QUIENES PUEDEN PARTICIPAR

Las condiciones que deben cumplir los alumnos que quieran participar son
las mismas de la Competencia Regional Latinoamericana.

Pueden encontrar información sobre las reglas, problemas de ediciones
anteriores de la Competencia Regional, etc. así como otros links de
interés en la siguiente página:

http://www.dc.uba.ar/events/icpc/2012/index.html

------------------------------------------------------

INSCRIPCION:

Llamamos a todos los estudiantes interesados a formar sus equipos y
participar. La inscripción se llevará a cabo del 20 de agosto al 21 de
septiembre a través de la página:

http://icpc.baylor.edu/public/worldMap/worldMap.icpc?contestId=1483

Cualquier duda al respecto consultar a los organizadores.

------------------------------------------------------

ORGANIZACION GENERAL:

Pablo Ariel Heiber (pheiber@dc.uba.ar)

ORGANIZADORES LOCALES:

- Ciudad de Buenos Aires: Alejandro Strejilevich de Loma, FCEN,UBA
(asdel@dc.uba.ar)
- La Plata: Alejandro Santos, Facultad de Informática, UNLP
(alejolp@gmail.com)
- Córdoba: Eric Destefanis, FAMAF, UNC (edestefanis@gmail.com)
- Santa Fe: Javier Godoy, FICH, UNL (rjgodoy@fich.unl.edu.ar)
- Bahía Blanca: Nicolas Alvarez, UNS (nico.alvarez@gmail.com)

--------------------------------------------------------------

Si hay otras universidades o terciarios que quieran
tener una sede por favor contactarse lo antes posible
a pheiber@dc.uba.ar

jueves, agosto 30, 2012

Cómo medir el progreso de una descarga de Jigdo

Jigdo es una muy buena herramienta para bajar imágenes ISO de Debian, pero le falta la capacidad de medir el progreso total de la descarga. Acá dejo un pequeño comando de consola para medir el porcentaje de la descarga a partir del archivo "debian-testing-amd64-DVD-2.iso.list" sabiendo que el paquete que actualmente se está bajando es "xbmc_11". Reemplazar donde corresponda:


$ python -c "print $(grep -n xbmc_11 debian-testing-amd64-DVD-2.iso.list | grep snapshot.deb | cut -d":" -f1) * 100. / $(wc -l debian-testing-amd64-DVD-2.iso.list | cut -d" " -f1)"
98.4463276836

jueves, junio 14, 2012

Open Source

the spirit of open source is usually preferential to those that help themselves!
-- Limor "Ladyada" Fried.

jueves, junio 07, 2012

DjangoDay La Plata 2012 en la UTN


El DjangoDay Argentina 2012 es una reunión de programadores, diseñadores e interesados en el framework web Django, a realizarse en La Plata (especificamente en la UTN FRLP).

Consiste en un sólo día en el que van a haber charlas variadas y un taller para tirar código y aprender un poco mas de Django. Es una buena oportunidad para conocer el framework, conocer gente piola y pasar un buen rato.

Cabe aclarar que el evento es GRATUITO!!!! Les dejo el afiche promocional para que lean más y pueden visitar la pagina del evento! http://djangoday.com.ar Dicho evento necesita una previa registración por razones administrativas!!!

Para la registración pueden ir a http://djangoday.com.ar o bien directamente usando Eventioz en https://eventioz.com/events/djangoday

jueves, mayo 31, 2012

Quiero instalar Debian por un Pendrive USB

La página de Debian no está del todo clara en cómo instalar Debian por USB. Dice algo acerca de un archivo MANIFEST, uno entra a un link y no sabe qué hacer (y sale corriendo a instalar Ubuntu).

¿Cómo lo instalo sin tener que complicarme?

La forma más fácil es bajarse la ISO. Tiene que poder entrar en el pendrive, eso es, el tamaño de la ISO debe ser menor que el espacio total del disco USB. El capítulo del manual está aca, pero todo se reduce a ejecutar el siguiente comando:

IMPORTANTE: Este comando borra todos los archivos que hay dentro del pendrive USB.

# cat debian.iso > /dev/sdX
# sync

Estos dos comandos hay que ejecutarlos como root desde otro Linux, y "/dev/sdX" es el disco USB.  

IMPORTANTE: Verificar tres veces antes de ejecutar el comando para ver si realmente /dev/sdX es el pendrive USB. Si te equivocás de "X" podés borrar tu disco rígido.

¿Qué son los otros links que hay sobre discos USB?

Son para armar el instalador en el pendrive USB de forma manual. El manual explica de forma aproximada cómo hacer.

¿Cómo copio la ISO desde Windows?

Claro, no tenés Linux porque eso es lo que estás intentando instalar. En Windows podés usar UnetBootin. Nunca instalé Debian de esta forma asi que no tengo mucho más para decir.

¿Cómo me bajo la ISO?


Usá jigdo. Insisto imperativamente con esto. Es la forma más rápida de bajarse una ISO de Debian.


¿Qué ISO me bajo?

Si tu computadora es de 64 bits bajá la que dice "amd64". No importa si tenés Intel, es lo mismo (Intel le compró la patente de 64 bits a AMD y le cambió el nombre a EM64T, por eso en Debian quedó el nombre de AMD).

La que dice "ia64" es solo para Itanium, pero es es muy probable que no tengas uno.

miércoles, mayo 09, 2012

Bindings de SDL 1.2 para Python 2 y 3


La invasión de los ajíes mutantes del espacio.


Usando SWIG hice unos bindings para usar SDL 1.2 desde Python 2 y 3.

Por ahora es altamente experimental, no todas las funciones están correctamente bindeadas (por ej. las que tienen parametros de punteros de arrays o de tipo salida), y es muy fácil tirar un segfault de la VM de Python desde código Python.

De todas formas ya está funcionando, y en el directorio "tests" puse dos programitas de prueba. El código está en un repositorio Github:

https://github.com/alejolp/sdl1-python

Cualquier comentario es altamente bienvenido.

martes, abril 10, 2012

Improvisar...

Backup eléctrico

Mi primer guitarra eléctrica (III)



Está afinada con un pequeño programita que hice con FFTW. Tiene puesto un capotraste aproximadamente cerca del segundo traste, por lo que las notas que suenan no son las que van realmente.

jueves, abril 05, 2012

The Tablet Prediction in the 1930s

I've run across a blog post mentioning Arthur C. Clarke predicting the iPad in the 1960s:

In 1964, legendary science fiction writer, inventor, and futurist Arthur C. Clarke predicted the future with astounding accuracy, presaging everything from telecommuting to the digital convergence.

I'm not trying to claim this as false. However, there is an earlier prediction on a similar device, by Vannevar Bush with his "Memex" concept. From the Wikipedia article:

Bush introduced the concept of what he called the memex (possibly derived from "memory extension") during the 1930s, which he imagined as a microfilm-based "device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory."

Which in turn, the "Memex" concept led to the "Hypertext" term coined by Ted Nelson, leading to what we know today as the Hypertext Transfer Protocol, or HTTP for short.

What is most interesting to me is that the prediction about the "enlarged intimate supplement to his memory" is actually true.

jueves, marzo 08, 2012

Consejo de un viejo programador

Qué lenguaje de programación aprendés y cual usás no importa. No te dejes seducir por la religión que existe alrededor de los lenguajes de programación, ya que eso cegará el verdadero propósito de usar un lenguaje como una herramienta para construir cosas interesantes.
Aprendiendo Python de la forma difícil - Zed Shaw.

martes, febrero 07, 2012