martes, febrero 27, 2007

Programmers Don't Like to Code

Pues estaba viendo en reddit una pequeña discusión sobre si los programadores les gusta o no programar.

Inicialmente estaba la postura de este donde básicamente dice que los programadores no gustan de programar, sinó mas bien de resolver problemas. Que si los programadores disfrutaran realmente programar no disfrutarían tanto una buena librería :P

Por otro lado estaba: este otro y el título es mas que diciente...

Esto que dice resulta interesante.

A lot of companies and managers like to fill the programmer's life with lots of other stuff, like meetings and status reports and requirements analysis and writing test plans and fighting environment issues and begging for decent computers.


Pues bueno...

Cuando decidí estudiar sistemas fueron básicamente 2 las motivaciones.

1. Resolver Problemas
2. Aprender de Muchas Áreas (Multidisciplinaria).

Resolver Problemas. Tal vez ahí es donde encuentro la mayor satisfacción, sin embargo, a diferencia de lo que pensaba el primer blogger yo creo que la etapa de codificación es de por si otra etapa de solución de problemas.

Por un lado esta la etapa "abstracta"... llámese hacer pseudocódigo, diagramas de clases, de flujo, modelos formales o en mi caso simplemente obsesionarse con el problema y no prestar atención en clase, rayando cosas que solo yo entiendo en la hoja de atrás del cuaderno. En esta etapa la solución al problema resulta ser "ideal" y en cierto sentido platónico pura :P. Aquí es donde tal vez menos estress me dá.

Después de llegar a una posible solución sigue una etapa de verificación. Para mi esta etapa sería hacer un programa que realmente funciona (en el caso de modelación formal podría uno arrancar a hacer demostraciones... que cool :D). Aqui ya surgen otro conjunto de problemas de tipo técnico

Que lenguaje utilizo? (lo cual contempla: en cual lo hago mas fácil, rápido, eficiente y bonito)
Que librerías uso? (Cuales puedo ya existen, cuales se manejar, cuales me toca aprender, cuales me toca hacer)

Después de la parte de solución técnica de herramientas... echando código sigue oootra etapa de solución de problemas. MATAR BUGS. Nada mas satisfactorio que encontrar que la bobada que le estaba tirando a uno el programa y que al corregirla hace que funcione. A veces la obsesión misma no me deja dormir, sueño con puro código y al otro dia el sueño me ha revelado el problema.

en fin.

sábado, febrero 17, 2007

Primera computadora cuántica (comercial)

Pues si... Después de buscar mucho rato, POR FIN! un buen articulo al respecto. (esos imbéciles de slashdot solo son capaces de hacerse publicidad a sus pobres blogs).

Pues bueno, algunos apartes (los que a mi me gustaron) de la entrevista a David Deutsch sacada de aquí

WN: Can you talk a little about the importance of simulating quantum systems, and give an example?

Deutsch: Yes. Whenever we design a complex piece of technology we need to simulate it, either in theory by working out the equations that govern it, or as a computer simulation, by running a program on the computer whose motion mimics that of the real system.

But when we come to designing quantum systems, we're going to have to simulate the behavior of quantum super positions, which is, in Many Universes terms, when an object is doing different things in different universes. On a classical computer you'd have to work out what every single one of those was, and then combine them in the end with the equations governing quantum interference.

...

WN: For your purposes, the importance of quantum computing is in the general case more than in the specific-use case.

Deutsch: Yes. The fact that the laws of physics permit themselves to be simulated by a quantum computer is a deep fact about the nature of the universe that we will have to understand more deeply in the future.

...

WN: That's actually D-Wave's stated goal as well: essentially 1,000 qubits in two years. Do you think engineering-wise, and this is not completely within your realm, they will be able to maintain enough coherence at that level to create a practical computer.

Deutsch: As you said that really isn't my field. Maintaining coherence itself isn't quite enough. They've got to maintain coherence in the operation that I spoke of; that is, the arbitrary superposition, the arbitrary entanglement, and so on....

I don't know. The technologies I've seen so far have got way fewer than 1,000. They've got way fewer than 16. I always have to ask whether the claimed number of qubits are qubits that I would count as qubits by these stringent criteria, or whether it's merely two-state systems that can in some sense act in a quantum way. Because that's a much more lenient criterion.



Y si... aquí es cuando uno se llena de escepticismo y espera que se hagan las pertinentes verificaciones que el método científico manda
Sera que si alguna vez la computación cuántica reemplaza la convencional seguirán existiendo los casos de uso?

domingo, febrero 11, 2007

Puro Odio!

No se hasta que punto tengo el síndrome de...

all work and no play makes jack a dull boy all work and no play makes jack a dull boy all work and no play makes jack a dull boy

La verdad si se hasta que punto. Y no me importa...

Reviso Correo y veo una duda de uno de los estudiantes de monitoria

From: estudiante inepto cualquiera
subject: Ayudaa!!

Monitor, a ver si me podías ayudar con los ejercicios 6-9 y 38... gracias, mandámelos al correo antes del martes.

No se hasta que punto cada vez creo que la actitud servicial con la que comencé fue desplazada por la de Diego Neurótico. Los ejercicios por los que me preguntó resultaban ser unos sobre crecimiento de funciones, y como precisamente estos resultaban ser tema no explicado en clase Le repondí a ese estudiante de la forma mas críptica posible. (BUAJAJAJA) (realmente no fue críptica, pero creo que igual no entenderá)
Ayer por ejemplo dando el tutorial de circuitos lógicos sucedio lo siguiente.

Diego: "Mira es muy fácil... El sumador básicamente es esto.
B0 + B1 = C R

Solo se genera carry cuando B0 = B1 = 1 (i.e 1 + 1 = 10)
Y R solo es 1 cuando los valores de B0 y B1 son diferentes (i.e 1 + 0 = 01 y 0 + 1 = 01 )

Que compuertas lógicas podemos asociar?
Fácil! un And y un Xor!"

Persona: "WOOOOOOWWWW vos sos un duro en electrónica"

Hay Dios... siquiera el scope de carrera de esa gente no es (y nunca sera) aplicaciones de verdad.

Y hay otras decepciones...

Pero las dejare para otro día.