Archivo por meses: agosto 2006

Canción friki

Samuelito dime tu
que bucles son los que veo yo
Samuelito dime tu
Porqué en los datos voy

Dime porqué reservas memoria así
dime porque yo soy tan feliz
Samuelito nunca yo a ti te suspenderé

Samuelito dime tú
lo que haces con esta función
Samuelito dime tú
porque la pila se desbordó

dime porqué agotaste la pila así
dime porqué soy tan infeliz
Samuelito nunca yo a tí te aprobaré

P.D.: Que conste que no la he escrito yo, es una canción dedicada 😛

Las fiestas de Leganés

Una año más y otra vez fiestas. Siempre me digo que para esta época no tendría que estar en Leganés. ¿Porqué? Bueno, en general, como fiestas, lo que organiza el ayuntamiento, pues no hay nada que decir, son normalitas, como en todas partes. El problema es la gente (más concretamente, las juventudes). Unas personas que creen que el único médio de diversión que existe es molestar lo máximo posible a los vecinos, pues la verdad, como que no.

El problema radica en que si pones ruido toda la noche (con ruido me refiero a poner la música tan alta que para hablar necesites hacerlo a gritos [vamos, lo que hacen en las discotecas y bares musicales*] independientemente del género musical), en zona residencial, sin dejar dormir a nadie, aunque el ayuntamiento lo prohiba expresamente, pues que os voy a decir. Podría comprender que pongas la música ligeramente alta, hasta las 2 ó las 3 (como mucho), estamos en fiestas y hay que divertirse. Pero eso es una cosa y otra es poner la música de tal modo que se escucha en todo el barrio, compitiendo con los demás que hacen lo mismo. Ciertamente desagradable. Y suerte que a mi no me toca trabajar ahora, sino, ya sería la hostia.

Espero que esto se acabe pronto…

*Todo hay que decirlo, no me gusta la música muy alta (razón por la que no me gustan discotecas y otros lugares parecidos). Si consiento ir en ocasiones a estos lugares no es más que porque me gusta estar con mis amigos.

Grata sorpresa de google

Esta mañana, cuando he entrado a mirar el correo, he visto que me ha aparecido un enlace nuevo en las herramientas de gmail (ver imagen).

ya tengo google spreadsheets

Pues sí, ya puedo utilizar la hoja de cálculo de google. Cuando tenga tiempo y ganas, escribiré algo sobre ella (aunque en un primer vistazo, la verdad, es que no se veía que tuvise gran cosa).

Sobre las conversiones «sucias» de C en 64 bits

Esta entrada viene por un comentario realizado por ferdy en un comentario anterior.

Para comprobar si lo que dije funcionaba, he hecho el siguiente programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio .h>
#include <stdlib .h>
 
#define SIZEOF(x) printf( "sizeof( %s ) = %d Bytes (%d bits)\n", #x, sizeof(x), sizeof(x)*8 )
int main( void )
{
        void *ptr;
        int valor;
 
        /* Compruebo que se pueda pasar de entero sin signo a puntero.
        * A grandes rasgos consiste en hacer creer al compilador que el
        * entero es una dirección de memoria. */
 
        valor = 5;
        printf( "Valor inicial antes de la transformacion: %d\n", valor );
        ptr = (void *)valor;
        valor = (int)ptr;
        printf( "Valor tras la transformacion: %d\n", valor );
 
        /* Compruebo que se pueda pasar de entero con signo a puntero.
        * A grandes rasgos consiste en hacer creer al compilador que el
        * entero es una dirección de memoria. */
 
        valor = -5;
        printf( "Valor inicial antes de la transformacion: %d\n", valor );
        ptr = (void *)valor;
        valor = (int)ptr;
        printf( "Valor tras la transformacion: %d\n", valor );
 
        /* Compruebo los tamaños de los distintos tipo de datos. El tipo 'void *'
        * es un puntero. Todos los puntero tienen el mismo tamaño en memoria,
        * por lo que no pruebo todas las combinaciones. */
 
        SIZEOF(void *);
        SIZEOF(char );
        SIZEOF(short int);
        SIZEOF(int );
        SIZEOF(long int);
        SIZEOF(float);
        SIZEOF(double);
        SIZEOF(long double);
        return 0;
}
</stdlib></stdio>

No aconsejo a nadie utilizar este tipo de conversiones de tipos, ya que pueden dar problemas. Además, hacen que el código sea menos legible.

El resultado del código anterior sobre un procesador AMD Turion ML-28 con Debian Sid pure 64 es el siguiente:


Valor inicial antes de la transformacion: 5
Valor tras la transformacion: 5
Valor inicial antes de la transformacion: -5
Valor tras la transformacion: -5
sizeof( void * ) = 8 Bytes (64 bits)
sizeof( char ) = 1 Bytes (8 bits)
sizeof( short int ) = 2 Bytes (16 bits)
sizeof( int ) = 4 Bytes (32 bits)
sizeof( long int ) = 8 Bytes (64 bits)
sizeof( float ) = 4 Bytes (32 bits)
sizeof( double ) = 8 Bytes (64 bits)
sizeof( long double ) = 16 Bytes (128 bits)

De este modo podemos ver que se podría, en teoría, convertir cualquier tipo de dato en puntero y almacenarlo en este (a excepción del tipo ‘long double’).

Como recomendación, es preferible realizar asignación dinámica de memoria para almacenar el entero (que es, supongo, la propuesta de ferdy) y luego transformar el puntero a entero a puntero genérico.

Con esto creo que ya está todo, pero si creéis que falta algo, decidlo.

Desde Vista con… ¿incomodidad?

Bueno, con esto de las vacaciones, poco a poco voy quitandome cosas de la lista de tareas. Una de estas cosas era probar MS Windows Vista Beta 2.

Una de las cosas que más me ha sorprendido es la sencillez de instalación. Ahora pregunta aún meno que las versiones anteriores. La instalación me pareció especialmente lenta y aún no comprendo cómo puede ser que ocupe 8 GBytes de disco trans completar la instalación. Por mucho que miro en los menús, no encuentro justificación a este hecho.

A parte de esto, el diseño gráfico del nuevo Vista me parece… bonito, pero muy cansado. Es de estas cosas que ves y lo primero que te viene a la cabeza es que lo quieres. Pero nada más lejos de la verdad; es extremadamente cansado. Dicho de otro modo, que prefiero el estilo clásico de Windows (el del 2000). Ya que desperdician tanta CPU, podrían haberse preocupado de la elegancia y comodidad (como hacen en Apple) en lugar de tratar de tener algo espectacular y ya está.

Sobre lo que comentan por ahí de que salen constantemente ventanitas para avisar que si es algo peligroso o que sólo quieren tocarte los cojones… pues sí, salen muchas.

En el tema de las herramienas instaladas de serie, decir que ahora parece que traiga algunas cosillas más:

  • Correo
  • Calendario
  • Windows Media Center
  • Más juegos cutres
  • Herramientas de colaboración (que no he podido probar aún)
  • etc.

Aún así, la cantidad de herramientas es muy inferior al de cualquier distribución GNU/Linux y, para nada, justifican 8 GBytes de espacio en disco.

He hallado que en ocasiones se estropean temporalmente los bordes. Vamos a explicarno. Vista trae unos temas para sistemas con aceleración gráfica y otros temas para aquellos sistemas que carezcan de ella (o mejor dicho, para sistemas que tengan mala aceleración). Pues sucede que de vez en cuando, si tienes un tema que utiliza aceleración, por un instante breve de tiempo, se cambia al mismo tema, pero sin. La verdad es que es algo bastante incomodo.

No voy a decir nada más, entre otras cosas porque no voy a decir nada nuevo y porque hay gente que lo cuenta mejor. Simplemente comentar que, a mi juicio, no vale la pena como sistema operativo. Si se supone que el sistema operativo debe ayudarnos a utilizar el ordenador del mejor modo posible (o, por lo menos, yo creo que así debería ser), MS Windows Vista Beta 2 no cumple con este cometido.

Curioso test

Bueno, me he encontrado por ahí un test que trata de catalogarte según tus ideas cientificoreligiosas. El resultado creo (pero esto es mejor que lo digan otros) se parece a la realidad. Siempre puede verse influido por el hecho de que algunas preguntas no las entendía.

Aquí os dejo el resultado que al final tiene un enlace a la web para hacerlo (¿porqué me gustarán tanto estas chorradas?):

You fit in with:
Atheism
Your ideals mostly resemble those of an Atheist. You have very little faith and you are very focused on intellectual endeavors. You value objective proof over intuition or subjective thoughts. You enjoy talking about ideas and tend to have a lot of in depth conversations with people.

40% scientific.
80% reason-oriented.

   
 
Take this quiz at QuizGalaxy.com

De vacaciones… con prácticas

Bueno, supongo que como muchos, estoy de vacaciones. En realidad, no se muy bien como llamarlo. Un periodo de tiempo que te dan libre para que trabajos para septiembre (vale, si apruebas todo no).

Ahora estoy con las prácticas de PL2 (procesadores de lenguajes 2). Mi compañero y yo estamos haciendo un compilador para la Nintendo Game Boy Advance (creo que ya dije algo de esto). A ver si acabamos pronto.

Para todos los que estéis en una situación similar a la mía, animo, por lo menos no tenéis que ir a clase.