Monday, 26 October 2009

IDL (Virtual Machine) and Condor

At our place we have a nice Condor environment set up, and many people use IDL. Until now, our use of IDL with Condor was limited by the number of available licenses at any given time, until...

Until we discovered the IDL Virtual Machine which lets you run an IDL "executable" file without the need for licenses (see here for an example of how to create such a file).

The problem was that the IDL Virtual Machine is meant to be run interactively in a server with X running and Condor is not particularly well suited for this. But with a little ingenuity, we wrote a script (still in beta :-)) that uses Xvfb and Xautomation to submit condor jobs that will create a virtual X server, then automatically click the "Click to continue" button of the IDL virtual machine, and then do whatever the code is supposed to do. We have tested this, and so far it works quite well. There are some glitches with multicore machines and slow machines, but overall it works without any problems, and now we can submit hundreds of IDL jobs simultaneously to our Condor pool!

More info at SIEpedia

Tuesday, 5 May 2009

Real World Haskell, what a joy!

I just started reading "Real World Haskell" (http://book.realworldhaskell.org/). I'm quite new to Haskell (though not to functional programming), and I must say that it is a joy to read... I hope that in a few days I can start writing "real" programs with it (Project Euler is probably going to provide the content for my programs...)

Wednesday, 29 April 2009

Static IPs in Ubuntu 8.10....

Just configure a new machine with Ubuntu 8.10 (intrepid ibex). Everything went fine, except that one cannot configure static IPs properly. When the machine is booted, then something gets overwritten and it goes into DHCP mode again. Since we leave the machines on all day, this is not a problem (I just created a new network connection with the static IP address, and when the PC boots I just change manually to that configuration), but this would be annoying if we switched off the computers every day... Let's hope that 9.04 has solved this.

Accessing remote files with Tramp and Emacs

In recent versions of Emacs, tramp is already installed by default, and it is a very easy and convenient way of accessing files in a remote machine. All the documentation is at http://www.gnu.org/software/tramp/

Wednesday, 8 April 2009



Progress on this has been definitely slow, but I'm now in position 6 in Spain and in Fortran, nice coincidence...

Tuesday, 9 December 2008

One month in Project Euler

Yesterday it was one month since I found about Project Euler
(http://projecteuler.net/). During this month I've managed to do 69 of the
(as of today) 220 total problems, which has put me in position 18th in
Spain and position 6th for Fortran coders. Not bad... I've basically dealt
with the easier problems, although I've also tackled some of the more
recent ones. In total, it comes at about just a little bit more than 2
problems per day. With the remaining problems one can start to feel the
heat, so I guess the rhythm will go down a bit. My goal is to end the year
2008 going to level 3 (which you get when you solve 100 problems).

Monday, 17 November 2008

Instalación de Puppy Linux en IBM Thinkpad 600

I have an old IBM Thinkpad 600, on which I decided to install the latest Puppy Linux distro. Some things didn't work out of the box, so here is a log (sorry, in Spanish only) of what I did to get it working (a video demo, also in Spanish, of the end result) can be seen at http://es.youtube.com/watch?v=7gAosDBNf3g

=================

La versión que funciona es la retro http://distro.ibiblio.org/pub/linux/distributions/puppylinux/puppy-4.1retro-k2.6.21.7-seamonkey.iso

en las opciones de boot simplemente pongo puppy pfix=ram

La "no retro" me daba al tratar de correr el LiveCD problemas del tipo:
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen

Teclado pongo UK

En el modo de pantalla elegir configurar con Xorg y tamaña de pantalla
1024x768

Tengo una tarjeta PCMCIA de red y conectado a la red del trabajo. Con ésto, corriendo el Menu->Setup->Network Wizard estoy conectado a la red "in no time"

*** Como añadir otra configuración de teclado?

Esto no encontre como hacerlo, aunque teniendo el teclado en spanish sera suficiente.

*** Configurar sonido

Está solucionado siguiendo las instrucciones en http://www.wlug.org.nz/ThinkpadNotes

Lo que hice:
- quité el Fast Boot de la BIOS (pulsar F1 mientras hacemos power-on)
- en las opciones del kernel puse pnpbios=off acpi=off
- luego configurando ALSA con el módulo cs4236 ya parece que lo hace bien
- no puedo tener dos aplicaciones a la vez usando el sonido, pero éso sería ya
pedir demasiado...

Al arrancar de nuevo, ya no me funciona el sonido, así que vuelvo a configurar el alsa sound (y me funciona). Y rebooteo para ver si los cambios se guardan... Pero algo parece que va mal... Puede que sea simplemente que no sabía usar el alsamixer!! Le pongo el Master digital con volumen, y al arrancar de nuevo... se han ido. Al bootear,los parámetros de alsamixer se ponen a 0. Creo un script en /etc/init.d/alsa, que simplemente ejecuta alsactl restore (previamente he corrido alsactl store tras poner los volúmenes más o menos altos). Ahora los volúmenes están bien, pero sólo sale ruido por el altavoz... Hay que seguir investigando..

Al final lo que funciona es, despues de instalar el driver correcto (cs4236), correr el alsamixer para poner los niveles que queramos, entonces correr el alsactl store y (eliminamos el /etc/init.d/alsa) poner en .xinitrc el /usr/sbin/alsactl restore

Con esto, cada vez que abrimos la terminal X se nos ponen los valores como los habiamos guardado y el sonido ya no da problemas.

*** Instalar a disco duro, pero que carge en RAM

Sigo las instrucciones en http://www.puppylinux.org/manuals/puppy-40/english/how-install-puppy/frugal-installation

(en algún momento me desvío un poco, aunque casi igual).

*** Puedo utilizar el disco duro para almacenar?

Sin problema, creamos un enlace simbolico en /root al sitio donde monta el disco, que llamamos datos y asi podemos guardar ahi toda la informacion que queramos.