miércoles, 21 de enero de 2009

Acertijo Booleano II: La solución

Muchos habéis sido los lectores que comentasteis el último post (3, contándome a mí) pidiéndome la solución. Pues bien, vamos a hacer un poquito de ingeniería inversa.

La situación es la siguiente:


Se observa una especie de sistema hidraúlico alimentado por un tubo que surte de agua a alta presión (en la parte izquierda de la imagen). Además, aparecen dos válvulas que controlan el recorrido del agua mediante dos posibles posiciones: abierta o cerrada. Por último, en la parte derecha de la imagen, se puede ver dos fuentes abastecidas por el caudal de agua que circula por las tuberías.

Si se analiza el sistema como una caja negra con dos entradas (las válvulas hidraúlicas) y dos salidas (las fuentes de pie), se dan las siguientes situaciones:

1. Las dos válvulas están cerradas: El agua se bloquea por los tacos de las válvulas y las fuentes aparecen secas.


2. La válvula de la izquierda está cerrada y la de la derecha, abierta: El agua fluye por una de las tuberías y sale por la fuente de la derecha.

3. La válvula de la izquierda está abierta y la de la derecha, cerrada: El agua vuelve a burlar a los tacos y se escabulle de nuevo hacia la fuente de la derecha.

4. Las dos válvulas están abiertas: En este caso, es de la fuente de la izquierda desde donde comienza a brotar el agua.


Este funcionamiento se puede resumir según tabla:

__Válvula I__Válvula D__Fuente I__Fuente D__
___cerrada____cerrada____seca______seca______
___cerrada____abierta____seca______emanando__
___abierta____cerrada____seca______emanando__
___abierta____abierta____emanando__seca_______

Se deduce entonces que, para que la fuente de la izquierda esté emanando, deberán estar abiertas tanto la válvula de la izquierda como la de la derecha.
En cambio, para que la fuente de la derecha emane, podrá darse que la válvula izquierda esté cerrada y la derecha abierta, o también que la válvula izquierda esté abierta y la derecha cerrada.

Si se formaliza la parrafada anterior, se tendrá que:

F1 = a b
F0 = no(a) b + a no(b)

Siendo:

a -> la válvula izquierda está abierta
b -> la válvula derecha está abierta
F1 -> estado de la fuente izquierda
F0 -> estado de la fuente derecha

Total, que resulta que el sistema hidraúlico está implementando un sumador de un bit. ¿Cómo te quedas? ¿No son preciosas las ideas por las que se rige la informática? ¿No van acaso más allá de los transistores, los cables, las mantisas y el PCFutbol? Juzgad vosotros mismos, compañeros.

martes, 20 de enero de 2009

Acertijo Booleano

He hecho una visita a XP para utilizar el, bajo mi punto de vista, mejor producto de microsoft hasta el momento: el Paint.

Aquí está el resultado: un acertijo Booleano. Venga lectores míos (que sé que sois cienes y cienes y sos da vergüenza de escribí), decidme que os sugiere.


sábado, 17 de enero de 2009

Pío, pío

Parece que se ha puesto de moda llorar en twitter. Aquí un poco de twitter:


pizarro



--------------------------------------------------------------------------------
Comiendo en la politécnica (una samoa, que está suave).Me estoy cagando. al voltant de 10 minuts ago from winnie
--------------------------------------------------------------------------------
Cagando en la politécnica. al voltant de 5 minuts ago from winnie
--------------------------------------------------------------------------------
@lomo, me he quedao peor. al voltant de 1 minut ago from winnie
--------------------------------------------------------------------------------

viernes, 16 de enero de 2009

El hombre nuevo

Recuerdo con ternura mi primer año de carrera: creía que estudiar informática equivalía a programar juegos de aventura gráfica, de los buenos, de los del tío Lucas.

Nada más lejos de la realidad. Aun así, tengo buenos recuerdos de aquel año. Recuerdo el día en que me hablaron por primera vez de John Von Neumann, estaba en clase y un alguien en la fila de atrás susurró a su compañero de pupitre: <<Neumann, el hooombre nuevo>>. No sé quién pronunció esa frase, pero debe de ser poco menos que Dios.

Aquí, una de las universidades donde trabajó Yoni:


Ver mapa más grande

¿Quién ganó la 2GM?

¿Los aliados? ¿Los nazis? No, fue Alan y lo hizo desde aquí:


Ver mapa más grande

Apología de lo artesano

Un buen día, un compañero artesano se tomó la molestia de adaptar la música del Let it be de los Bitels a una letra-homenaje al C de Thompson y Ritchie. Este es el resultado:

Letra original (The Beatles):

When I find myself in times of trouble
Mother Mary comes to me
Speaking words of wisdom, let it be.
And in my hour of darkness
She is standing right in front of me
Speaking words of wisdom, let it be.
Let it be, let it be.
Whisper words of wisdom, let it be.

And when the broken hearted people
Living in the world agree,
There will be an answer, let it be.
For though they may be parted there is
Still a chance that they will see
There will be an answer, let it be.
Let it be, let it be. Yeah
There will be an answer, let it be.

And when the night is cloudy,
There is still a light that shines on me,
Shine on until tomorrow, let it be.
I wake up to the sound of music
Mother Mary comes to me
Speaking words of wisdom, let it be.
Let it be, let it be.
There will be an answer, let it be.
Let it be, let it be,
Whisper words of wisdom, let it be.


Letra de la versión (un genio):

When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
"Write in C."
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers"
"Write in C."
Write in C, write in C,
Write in C, write in C.
LISP is dead and buried,
Write in C.
I used to write a lot of FORTRAN,
for science it worked flawlessly.
Try using it for graphics!
Write in C.
If you've just spent nearly 30 hours
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, write in C,
Write In C, yeah, write in C.
Only wimps use BASIC.
Write in C.
Write in C, write in C,
Write in C, oh, write in C.
Pascal won't quite cut it.
Write in C.
Guitar Solo
Write in C, write in C,
Write in C, yeah, write in C.
Don't even mention COBOL.
Write in C.
And when the screen is fuzzy,
And the edior is bugging me.
I'm sick of ones and zeroes.
Write in C.
A thousand people people swear that T.P.
Seven is the one for me.
I hate the word PROCEDURE,
Write in C.
Write in C, write in C,
Write in C, yeah, write in C.
PL1 is 80's,
Write in C.
Write in C, write in C,
Write in C, yeah, write in C.
The government loves ADA,
Write in C.



Sin octetos no hay paraíso

Hay quien piensa que decir byte equivale a decir octeto, permitidme que me cague (en el buen sentido de la palabra) en esta afirmación.
Y ya que hemos entrado en contexto, imaginaos un ordenador como una pequeña y entrañable criatura que se dedica a comer y cagar. Apretad un poco más e imaginad cada mordisco que esta criatura da a la comida: con cada uno de ellos estaría procesando un byte (bite, bocado).

Entonces, estamos de acuerdo en que no come lo mismo un bocabuzón que un bocachancla. Es por eso que no es lo mismo un byte que un octeto.

Magia en la piedra

Se hace de obligada referencia al hablar de artesanía (qué osadía por mi parte!) el gran libro The Pattern on the Stone, de William Daniel Hillis. Este capitán (porque no se merece menor grado) dedicó 223 páginas a explicar al mundo que él se dedica a hacer grabados en la piedra, mientras la gente cree que diseña circuitos digitales. Y es que a la informática hay que tratarla con mimo, hay que alimentarla con amor... ¡a la informática hay que pasársela por la piedra, joder!
Dadle una oportunidad a este genio y pedidle el libro al amazón: http://www.amazon.com/Magia-Piedra-Spanish-Daniel-Hillis/dp/8483062569 .

Hacedlo por la piedra, compañeros!

Bienvenida

Hay quien dice que la automatización es cosa de máquinas. Desde este humilde blog, la voz del artesano intentará demostrar lo contrario.
Bienvenidos, pues.