16 Exabytes, ¿dónde meto yo eso?

Pues en el disco duro del portátil, dónde va a ser. Hoy, copiando por SMB un archivo de unos 7 GB, me ha pasado esto:

16 exabytes completado

Esto ha ocurrido a mitad de la transferencia, luego sigue copiando y se ha estancado en ese número tan tremendamente grande, 16,777,216.0 TB (TeraBytes). Al final termina de copiar el archivo correctamente.

Debe ser algún problema con el tipo de datos que se usa para representar los tamaños de archivo. El caso es que existe un informe de ese bug en el que se avisa de que ha sido solucionado hace más de 2 años, pero no soy el único: Problema en KDE y mepis6.0.1 dvd,download también han sufrido el problema.

Procedo a enviar un informe de error a KDE Bug Tracking System a ver si pueden arreglarlo. El bug report es el 136334.

Technorati Tags: , , , , ,

Share

Reinstalación de Linux en el portátil

Pues finalmente he jubilado la Gentoo que instalé hace menos de 1 año en el portátil. Es la distribución Linux que menos me ha durado, pero aún así ha durado más que otros sistemas operativos como Windows o FreeBSD. Aprovechando que pedí unos CDs de la última Kubuntu y me llegaron 2 para AMD64 y 8 para PC, he hecho uso de uno de estos últimos. Ya lo he instalado en 3 máquinas: el AMD64 que me compré para casa, el servidor de la división en TID (un Dual Xeon) y el portátil que es un Pentium 4 a 2 GHz.

La instalación sólo me ha llevado menos de media hora incluyendo la definición de las particiones (porque ya estaban hechas). Después vino configurar la Wifi, aunque no me cogía la clave WEP, tendré que investigar un poco porque además el asistente de red inalámbrica que viene en la instalación no me sirve.

Encima, algo que nunca había visto en este portátil eran los salvapantallas OpenGL, ya que nunca había tenido soporte porque la tarjeta es bastante mala (una SiS 651 con memoria compartida). Aún así, al hacer un glxgears -printfps :

1710 frames in 5.2 seconds = 326.794 FPS
1596 frames in 5.1 seconds = 315.679 FPS
1596 frames in 5.3 seconds = 298.451 FPS
1710 frames in 5.1 seconds = 332.768 FPS
1710 frames in 5.3 seconds = 324.141 FPS
1710 frames in 5.2 seconds = 330.115 FPS
1596 frames in 5.2 seconds = 305.223 FPS

Mola 🙂

Ciertamente, lo de Ubuntu y sus derivados es una gozada, ya se la recomiendo a cualquiera, así que si quieres recibirla gratis, pídelas gratis. Todo gratis, que conste, que tengo 150 CDs de una versión vieja muertos de risa en Málaga y no me costaron ni un duro.

Share

Operaciones en punto flotante con Tcl

Una de las cosas no tan buenas de ns2 es que la interfaz usa el lenguaje Tcl (Toolkit command language) para definir las simulaciones y algunas cosas internas como los enlaces. Este lenguaje es interpretado, lo cual es bueno, pero su sintaxis es un poco engorrosa. Por si fuera poco, las operaciones en punto flotante son un poco delicadas, y he experimentado el hacer una división de dos enteros positivos y obtener un número negativo. Por ejemplo, el siguiente código:

set n_nodos 15
set burst_length 40000
set channels 8
set carga 1
set bandwidth 10000
set bw [expr $bandwidth * 1000000]

set mean_time [expr double(($n_nodos - 1) * $burst_length * 8) / double($channels * $carga * $bw)]

Da como resultado: -0.0027923583205257166

Esto lo descubrí al intentar simular una red con enlaces a 10 Gbps (de ahí el bandwidth=10000) con una carga normalizada a 1. De nada sirve colocarle la conversión explícita a double al hacer la división. La opción por la que opté en su momento fue hacer la operación en dos pasos:

set mean_time [expr double(($n_nodos - 1) * $burst_length * 8) / double($channels * $carga * $bandwidth)]
set mean_time [expr double($mean_time) / 1000000]

También es posible convertir a double el factor que multiplica los Mbps en la variable bw y conservar el resto del código anterior:

set bw [expr $bandwidth * double(1000000)]

Share

Más problemas de ns con Debian Etch

Una vez solucionados los problemas de configuración de ns con bash 3.1.x, al compilar me da un error también interesante:

queue/cbq.cc:1002: error: 'cbq_' was not declared in this scope
make: *** [queue/cbq.o] Error 1
Ns make failed!

Al parecer, no se lleva bien tampoco con GCC 4, por lo que he tenido que hacer un downgrade de gcc y g++ a la versión 3.4 para que compile.

Veremos qué nuevas sorpresas me depara el final de la compilación (o el próximo error de compilación).

Share