lunes, 25 de julio de 2011

36 años de la Viking I. El día que visitamos Marte.

Marte visto por la Viking
El 20 de julio de 1976, la sonda Viking I de la NASA tomó tierra sobre la superficie de Marte. Era la primera vez que un ingenio humano tocaba la superficie del planeta rojo con éxito y tomaba fotografías de alta resolución así como medidas atmosféricas y de composición del suelo.

Eran los años 70 y prácticamente no había límite a lo que el ser humano pudiera llegar a lograr. La misión era tan ambiciosa que incluso se realizaron análisis biológicos en busca de posible vida extraterrestre. Aún hoy los resultados son inciertos en uno u otro sentido pero las Viking fueron -- junto con las sondas Voyager que visitaron los planetas gaseosos -- uno de los mayores logros de la tecnología, la organización y la potencia industrial de EEUU.

Uno de los principales investigadores de la misión fué el astrónomo Carl Sagan quien, de forma magistral, supo comunicar a su país y al mundo la necesidad de la exploración espacial como forma de conocimiento de nosotros mismos.

Ahí queda para el que lo quiera ver.



Marte visto por la Viking I

Imágen: The Viking Project/NASA

viernes, 22 de julio de 2011

Adéu al transbordador

No puc resistir-me a reproduir un poema que cita en Daniel Marín al seu blog Eureka com a despedida del darrer vol d'un transbordador espacial.

Disturb us, Lord, when
We are too well pleased with ourselves,
When our dreams have come true
Because we have dreamed too little,
When we arrived safely
Because we sailed too close to the shore.
Disturb us, Lord, when
With the abundance of things we possess
We have lost our thirst
For the waters of life;
Having fallen in love with life,
We have ceased to dream of eternity
And in our efforts to build a new earth,
We have allowed our vision
Of the new Heaven to dim.
Disturb us, Lord,
to dare more boldly,
To venture on wider seas
Where storms will show your mastery;
Where losing sight of land,
We shall find the stars.
We ask You to push back
The horizons of our hopes;
And to push into the future
In strength, courage, hope, and love.

Francis Drake, 1577.

Hasta siempre, transbordador.

jueves, 23 de junio de 2011

Ejecutar scripts mysql a lo Unix

Una forma es

mysql -u root -p -h localhost nombre_bd < script.sql

y otra

cat script.sql | mysql -u root -p -h localhost

lunes, 20 de junio de 2011

Cuidado con el directorio de instalación de django

El directorio de instalación, tal y como indica el manual , lo obtenemos con

from distutils.sysconfig import get_python_lib;print get_python_lib()

y muestra

/usr/lib/python2.6/dist-packages

Peeero, en realidad en ubuntu se instala en

/usr/local/lib/python2.6/dist-packages
o
/usr/lib/pymodules/python2.6/django

¿Cómo podemos saber la localización de este directorio?. Pues usando la librería sys, que mantiene la localización del __init__.py de cada import:

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, os, django
>>> sys.modules['django']
module 'django' from '/usr/local/lib/python2.6/dist-packages/django/__init__.pyc'

Sacado de esta entrada de stackoverflow http://stackoverflow.com/questions/2647862/how-can-i-tell-what-directory-an-imported-library-comes-from-in-python

domingo, 19 de junio de 2011

Opciones para programación con vi / vim

Esta es la config que uso en ~/.vimrc para editar python


syntax on
set number
set expandtab
set tabstop=4
set shiftwidth=4
set nowrap
set foldmethod=marker
set smartindent
set mouse=a
set foldmethod=indent
set foldlevel=99
autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys. stderr=sys.stdout;\ py_compile.compile(r'%')\"

autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z %[%^\ ]%\\@=%m

autocmd BufRead *.py nmap :!python %

map ^T :Texplore <CR>


Para sacar el control+T hacemos ctrl+v y luego ctrl+t.

Con esta configuración:
:make para ver errores de sintaxis.
za hace fold/unflod dentro de un método
:retab cambia todos los tabs por espacios o al contrario, según config actual

Window splits
Para dividir la pantalla y no tener que estar arriba y abajo con el mismo fichero:
Vertical Split : Ctrl+w + v
Horizontal Split: Ctrl+w + s
Close current windows: Ctrl+w + q

Unos cuantos links
Un montón de trucos.
El wiki de los trucos.
El clásico Turning Vim into a modern Python IDE.
Artículo Beginner's guide to Vi Improved

sábado, 4 de junio de 2011

Cambiar tamaño de disco en qemu kvm

Una posible forma es la siguiente, suponemos que el disco inicial es inicial.qcow2:

1.- crear disco de destino del tamaño deseado p.e. 60G
qemu-img create -f qcow2 destino.qcow2 60G

2.- arrancamos gparted con un sistema con los dos discos
qemu -hda inicial.qcow2 -hdb destino.qcow2 -cdrom=gparted.iso -boot d

3.- con el gparted hacemos copiar/pegar de un disco a otro con el nuevo tamaño deseado
(tarda bastante si los discos son grandes)

4.- comprobamos que boota y nuevo tamaño de disco
qemu -had destino.qcow2
hacemos df -h para comprobar nuevo tamaño

Si el nuevo dominio no arranca podemos usar la distribuición rescatux y regrabar el grub en la MBR (gràcies Victor ;-))

qemu -hda destino.qcow2 -cdron=rescatux.iso -boot d

Pasar de VirtualBox a KVM o Xen

Para pasar un disco de vdkm o vdi a qcow2 pasamos primero por raw. Es decir:

convertim vmdk de virtual box a raw:
VBoxManage internalcommands converttoraw aaa.vmdk file.raw

comprbar que boota
qemu -had file.raw

Convertimos raw a qcow2
qemu-img convert file.raw -O qcow2 imatge.qcow2

comprobar que boota
qemu -had imatge.qcow2