Hace 3 meses | Por Charlich a campusmvp.es
Publicado hace 3 meses por Charlich a campusmvp.es

Imagínate que una línea de código pudiera acabar con el negocio de NVidia y transformar la industria de los videojuegos... Pues algo parecido ocurrió en los años 90 con la línea de código que te presentamos en este post/curiosidad.

Comentarios

ccguy

#4 no es de Carmack sin ninguna duda, él mismo lo ha dicho varias veces.

v

#38 No me ha costado mucho. lol

maxmalkav

#41 menos les costó a los del artículo copiar de Quora y pegar en Google Translator. Tú has mirado un par de fuentes, imagino que ya habías leído sobre el tema y has tenido la decencia de razonar con los datos que tenías a mano, todo eso es mucho más tiempo del que han invertido los del "artículo"

v

#44 Pero es que cuando he leído.

"Este simple hack de código lo cambió todo e hizo que SGI perdiese su ventaja competitiva. De repente, un ordenador barato con hardware corriente podía realizar gráficos 3D similares a las estaciones de trabajo que costaban más de 100.000 dólares. SGI tuvo que cambiar de rumbo y centrarse en su negocio de servidores, que posteriormente fracasó. "

Es que SGI estuvo siempre centrada en el negocio de estaciones gráficas (software y hardware 3D). Su mercado era empresas de películas de animación como Pixar (Toy Story se hizo con estaciones de SGI), empresas de efectos especiales para hacer cosas como Terminator 2, ayudar en videojuegos haciendo CGI como las de Final Fantasy VII de PSX, etc.

La fórmula esa sirve para acelerar los cálculos quitando algo de precisión. En las CGI de efectos especiales, películas o CGI de videojuegos no se hacen en tiempo real, por lo que es más importante la precisión de que quede bien a que se haga en tiempo real.

¿Perdió la ventaja competitiva con quién? Es que no tiene sentido la comparación del artículo. Las estaciones SGI no eran para tenerlas en casa para jugar a videojuegos, no era el usuario de videojuegos el que iba a comprar esas máquinas.

Nunca se metió de lleno en el negocio de los videojuegos, aunque estuvo a punto de entrar con Nintendo haciendo el chip para la N64 que luego se decantó por NEC (NEC VR4300).

maxmalkav

#56 debería haber titulado el artículo "¡El hack que los fabricantes de workstations gráficas no quieren que conozcas!".

Una cosa es que a SGI le comieran la tostada por el lado hardware (la mejora y popularización de las CPU Intel) y el del software (la muerte de IRIX y en general de casi todo Unix propieratorio con el ascenso de Linux), y otra muy distinta es que seas una empres multimillonaria porque calculabas muy bien raíces cuadradas hasta que alguien encontró un truqui mejor.

Por hablar de algo positivo .. qué bonitas eran las estaciones de trabajo SGI de los 90

arcangel2p

#58 que Windows (NT principalmente) se volviera lo suficientemente estable y robusto les dio bien duro. Que las acelerador as gráficas no profesionales (3dfx, nvidia y ATI) empezaran a soportar opengl les dio también muy duro. Y que software tradicionalmente disponible sólo en IRIX empezase a lanzarse en Windows y Mac, acabó de rematar.

s

#56 Que yo recuerde buena parte del diseño de la N64 lo hizo SGI, incluyendo el RCP (RSP y RDP).

Acido

#40 #34 #4 #13

Fui a "investigar" un poco...
El artículo meneado dice que se basa en una respuesta de Quora, y da el enlace:

https://www.quora.com/What-line-of-code-changed-the-world-of-programming/answer/Joe-McCracken

Miré esa respuesta de Quora y varios comentarios corrigen lo que dice la respuesta, que no es de Doom sino de Quake... Otro corrige al corrector diciendo que no es Quake tampoco sino Quake III Arena.

La respuesta de Quora vi que es de finales de mayo de 2023, es decir, hace unos 8 meses, y los comentarios que lo "corrigen" dice que son de "hace 8 meses".

¿En qué fecha se escribió el artículo meneado? Pues según mis "investigaciones", encontré que el artículo fue enviado a LinkedIn "hace 3 semanas". En otros sitios vi "4 de enero".

Reconstrucción de los hechos:

* Mayo de 2023 : Un "fulano" que dice ser CEO y tener unos 20 años de experiencia en informática... Escribe una respuesta en Quora, hablando de algo de hace unos 25 años, a modo "batallita" de cuando era joven. Nótese que 25 años son muchos años.

* Mayo de 2023 : Al poco de escribir esa respuesta, otros usuarios de Quora le comentan que dijo cosas mal... El autor de la respuesta, teniendo 8 meses para corregirla no la ha corregido.

* Pocos días después: La respuesta tiene el tipo de características para ser bien valorada por los lectores: relata acontecimientos sorprendentes, lenguaje grandilocuente... Vamos, lo que se suele llamar "sensacionalismo" de toda la vida. Por cómo está escrita, lo asombroso del relato, la palabrota en el código fuente ("what de fuck" / hostias / qué cojones es esto), la mención a un videojuego muy popular (Doom fue más conocido que Quake)... y a un famoso (mítico) programador... El caso es que esa respuesta tuvo miles de positivos.
Nota: dudo seriamente que quien escribió la respuesta de Quora dijese "Doom" a sabiendas de que era Quake... Más bien lo atribuyo a que han pasado 25 años y no se acordaba. Pero resalto el hecho de que decir Doom hace que muchos hayan jugado a ese juego (y no a Quake) y votan positivo "porque les gusta recordar ese juego mítico".
Así se expanden los bulos.
Como dirían los italianos: "si non e vero, e ben trovato" (o algo así) : si no es verdad está bien relatado... Es decir, en las "batallitas" / anécdotas se suele exagerar para que suene todo más espectacular... o a veces no a propósito sino que la mente modifica los recuerdos y las percepciones, amoldándolo a sus deseos.

* 4 de enero de 2024: una web de cursos de programación escribe un artículo, supuestamente con la "resaca" de las vacaciones de navidad...
Nótese que en el enlace de Quora dado en el propio artículo estaban ya los comentarios diciendo que eso no era verdad... pero el autor vería una respuesta de Quora que "le gustó", le pareció llamativa, y se lanzó, sin rigor ninguno, ni verificar ni leer a fondo los comentarios...
Nótese que esa web del artículo está dirigida a programadores, es decir, interesa exagerar, interesa transmitir que un solo programador y con una sola línea de código derribó al gigante SGI y toda una industria... Como David contra Goliat, más o menos. El subtexto o mensaje subliminal es: "señores, aprendan programación con nuestros cursos, y podrán ser semidioses" (algo así, exagerando yo también).

* Finalmente, #0 envió ese artículo a Meneame... Y como ya dije que tiene un lenguaje y unas características digamos "jugosas", atractivas, llamativas, sorprendentes, que pone cachondo al leerlo... Pues fue meneado y llegó a portada.

* Al menos #43 reconoce que meneó sin habérselo leído... Otros lo habrán leído incluso, pero se lo tragaron igualmente.
Se suponía que Meneame era (entre otras cosas) para "filtrar" comunitariamente las noticias, con votos como "errónea", "sensacionalista", etc... Pero ya hemos visto muchas veces que falla.

En las religiones, en la política y en la prensa pasa lo mismo: no triunfa lo que es verdad sino que da un mensaje que gusta, aunque sea mentira. En estos casos muchas veces se busca intencionadamente que sea un mensaje que guste, sacrificando la verdad, manipulando la realidad, es decir, se miente con un fin interesado.
Pero en los bulos hay muchos casos en los que no se hace a propósito, se retransmite algo falso sin darse cuenta.

Y en relación con lo que dijo #38 : reenviar algo cuesta muy poco, escribir una respuesta de Quora con errores cuesta relativamente poco... Pero detenerse a pensar, a contrastar las cosas, "investigar", y separar lo que es cierto de lo que no, suele costar bastante más.

Acido

#37

Al final no era un polinomio (como el de Taylor) sino una división de polinomios, lo que a veces se llama "función algebraica", por estar formada por operaciones comunes (del álgebra): suma, resta, multiplicación y división... Estas operaciones son las únicas operaciones (funciones) que hacen los ordenadores de forma verdadera (en los circuitos), el resto (logaritmos, senos, cosenos... ) no las hacen los circuitos y por eso interesa aproximar las que no hacen los circuitos en una combinación de operaciones algebraicas, más concretamente una "función racional", una división de polinomios (o un polinomio), la cual tiene unos ceros y unos polos.

No era un polinomio, no era persa... Por cierto, palabras como "álgebra" y "algoritmo" sí vienen de un persa, la primera por un libro suyo, basado por cierto en conocimiento que aprendieron de la India, y la segunda de su nombre: Al-Kwarizmi, a veces romanizado como Al-Juarismi.

Esto de la memoria es lo que creo que le pasó al autor de la respuesta de Quora, tal como relaté en mi comentario #76
Algo ocurrido hace quizá 25 años no se recuerda bien, y el cerebro rellena esa información desgastada por el paso del tiempo, algo así como la restauradora del Ecce Homo de Borja. Nos pasa a todos, a mi también: cuando no se recuerda bien algo nos inventamos la mitad que falta, y a veces sin darnos cuenta de que es invento nuestro.

Cc: #1 #18

arcangel2p

#76 es similar a muchos de los artículos que últimamente publican en webedia (xataka, genbeta etc) que se resume en:

El articulista ha visto algo en reddit que le ha hecho un mínimo de gracia, le mete Google translator, y si tienes suerte y ha hecho el esfuerzo de entender lo que ha visto (si es que le ha gustado mucho) hasta comenta algo interesante. Sino, algo de relleno con chatgpt y a correr.

MacMagic

Dado los argumentos de #4 y sobre todo #34 procedo a votar errónea.

Pablosky

#40 Dado a que lo he meneado sin pasar del titular procedo a cagarme en todo por no poder deshacer el meneo

MacMagic

#43 Bueno, lo importante es que hemos aprendido algo hoy, son noticias que extraño mucho en este portal.

l

#34 Tengo que decir que el articulo puede ser mejorable, no lo he leido, pero los comentarios merecen mucho la pena

#4 #31 #15
Me ha recordado a los metodos para multiplicar mas rapido.



Tambien las IA, encontro metodos de optimizar operaciones


#39 No se Hay algun gen superdotado para las matematicas en India, pero tambien habia uno llamado Ramanuhan que era clarividente para las formulas. Creo que saco la mejor formula para sacar los decimales de pi .
No era un calculadora humana, sino que resolvia problemas matematicos que nadie resolvia de forma natural.
https://es.wikipedia.org/wiki/Srinivasa_Ramanujan

#4 No se si han modificado el articulo, pero al leerlo yo ahora pone que de ese Carmack es el comentario del codigo, en el que se basa el articulo, no el codigo en si

N

#4 Eso venía a decir yo. Ese código no es del DOOM, y el renderizador por software de Quake no acabó con SGI. Fueron las tarjetas gráficas de consumo de nVidia y Voodoo, y Quake ahí sí que ayudó mucho ya que corría mucho mejor que en cualquier CPU de la época. Menuda chufa de artículo.

Jesulisto

#18 Hace ya muchos años pero recuerdo que era de un matemático musulmán de Persia.

maxmalkav

#37 ¡gracias por el aporte! Una formula muy concisa y elegante. Aquí hay un post para los muy cafeteros comparando con otros métodos: https://math.stackexchange.com/questions/3886552/bhaskara-approximation-of-cosx

Poca broma con los matemáticos hindúes.

Jesulisto

#39 Joder. A mi me explotó la cabeza cuando lo encontré, y más hablando del siglo VII, poca broma.

JanSmite

#39 Sólo hay que ver el "Acerca de…" de Photoshop: la mayoría de desarrolladores son de origen indio. Y está Ramanujan…

guaperas

#20 nada como una tabla de senos precalculados

Jesulisto

#96 Pues si, si conoces el rango en el que te vas a mover puede evitar un montón de cálculos.

guaperas

#97 en verdad el seno y coseno es tan simetrico que con tener de 0 a pi/2 y sabiendo transponer con el resto del cociente ya tienes todo el rango

pinzadelaropa

#18 recuerdo las series de Taylor como algo mágico

maxmalkav

#24 pues sí, aunque eran razonablemente comprensibles. Las series de Fourier están más cerca aún de la magia negra.

Calomar

#29 A Fourier le tenían que haber quemado en la hoguera. Que malas clases de sistemas no lineales
Eso si, una vez que la entiendes es magia

maxmalkav

#61 miremos el lado bueno: nos ha dado el MP3 (y las barajas de cartas )

arcangel2p

#73 que malo el de las cartas lol

Jesulisto

#73 Joío lol lol lol

Estoeslaostia

#1 Que dices??
...caballerete..no venga aquí a insultar,

Jesulisto

#53 perdone usted por dios

Estoeslaostia

#69

Jesulisto

#70 Yo también te quiero lol

t

#1 perdona, XML o HTML?

Jesulisto

#81 Juraría que era XML

t

#86 Gracias por contestar! Tienes todo la razón (cómo no si eres omnisciente), yo mismo lo usé en Front pero hace ya muuuchos años de eso

apetor

#1 Casi cualquier cosa se puede aproximar por polinomios, cuanto mayor grado, mayor precision. Taylor o MacLaurin. No se que persa seria ese... pero hoy dia, en ingenieria, la forma de hacer eso es con esos polinomios.

m

#1: Con el teorema de Pitágoras se pueden hacer círculos, es la raíz cuadrada de uno menos un número de menos uno a uno elevado al cuadrado. Con eso salen unos semicírculos que lo flipas.

Jesulisto

#99 Coño, ni idea. Gracias

J

#1 En código XML?

a

OpenGL es seguramente el único legado real que aún perdura de SGI.

Bueno. XFS sigue siendo importantísimo, solo superado en fiabilidad y features, que no en rendimiento, por ZFS.

Peka

Recuerdo cuando optimizamos código y queríamos hacer algo en el mejor tiempo posible. Cuando en unos pocos bytes había programas con gráficos.

Wachoski

#2 yo recuerdo a un colega que flipaba con unas demos gráficas con música que ocupaban unos bytes .... Menos que una foto, y que había un submundo "compitiendo" en eso, programadores picados en conseguir meter más en menos .... No sé si seguirá, ya llovió,...

Y sin tener ni idea de programación, era flipante

c

#8 demoscene se llama

Wachoski

#22 eso era!

d

#22 Que tiempos cuando la mitad de las lan partis era hacer esas demos...

Wachoski

#72 pues erais más frikazos que mi grupo, que era quake3 y compartir pelis y porno

MorrosDeNutria

#82 idem

c

#74 yo aprendí lo básico, los típicos fuegos artificiales, las llamaradas y alguna cosilla más.

#8 Mirate los https://js13kgames.com/ y también está shadertoy, que con un par de lineas de código y 3 texturas te hacen cosas que flipas.

subzero

#8 Chiptunes. Aún se siguen haciendo y algunas son una pasada...

https://es.wikipedia.org/wiki/Chiptune

Peka

#8 En la Euskal party, ahora ya es una vergüenza.

l

el 3D venia ya del.Wolfenstein, y habia trucos de calculo.con tablas ya calculadas, multiplicacion desplazando un bit, etc...

S

#5 es que lo de desplazar bits para multiplicar y dividir por 2 es básico en electrónica...

Un código mio para exponenciacion modular en microcontroladores PIC estuvo años en la web del fabricante que puta maravilla de la optimización jeje

l

#9 y tambien habia una forma creo que era calcular raices cuadradas aproximacion con series o algo asi

a

#9 También se podría decir que es algo básico a secas, es el equivalente a multiplicar o dividir por 10 en base 10.

S

#51 a ver... rotación de bits para multiplicar o dividir dudo que se estudie ni en la ESO, así que no diría que es algo básico, es básico si eres electrónico o si has tocado programación a bajo nivel y ya

c

#5 Wolfenstein y doom no son juegos en 3D vectorial. Si no juegos hecho con una técnica parecida al Ray traicing y los escenarios nunca tienen estacias apiladas.

maxmalkav

#25 hablo de memoria, pero recuerdo leer que Doom y otros juegos de esa generación eran 2.5D. Si te fijas en los enemigos no son "entidades" 3D formadas por polígonos, sino "sprites" 2D planos orientados hacia el avatar del jugador y escalados en tamaño dar la sensación de distancia.

En Quake todos los elementos son objetos 3D en el sentido que están formado por polígonos y tratados como tales por el motor gráfico.

Edito: en #30 ya lo habían descrito

l

#48 los enemigos son sprites 2d pero el laberinto es 3D

f

#92 En realidad no es en 3D, porque no te puedes mover por alturas. Es un mapa 2D sobre el que se hace raycasting para representarlo en 3D.

comadrejo

#5 La primera implementación de id software con 3d real fue quake, el primero también en utilizar FPU.

Los juegos anteriores a Quake se consideraban 2.5D y utilizan una técnica conocida como Ray casting https://es.wikipedia.org/wiki/Ray_casting

l

#30 Me parece que la primera version de Quake no le hacia falta usar tarjeta 3D

Acido

#52
Efectivamente, yo jugué al Quake (aunque no fuese la versión III Arena) y mi PC no tenía nada especial... (no tenía una tarjeta especial para 3D).

Pero el comentario #30 dijo FPU, no GPU.
Creo que FPU se refiere "Floating Point Unit", es decir, algún chip que haga operaciones con números reales, expresados en formato de punto flotante... Más conocido como "coprocesador matemático".
Al parecer en videojuegos anteriores como el DOOM no se usaban números de punto flotante sino enteros.

GPU es otra cosa: Graphics Processing Unit, y es lo que tienen las tarjetas gráficas 3D

l

#62 No hacia falta FPU ya que los calculos se hacian con la tecnica de enteros y coma fija.
Yo he jugado en un 286 sin coprocesador al Alone in the dark en este juego se usaban vectores.

Calomar

#52 Seguro que no. Incluso con un 486 dx4 a 100mhz ya se podía jugar a resoluciones modestas

Shinu

#5 Aunque realmente era un juego 2d.

l

La linea no es de Carmack y en su día supe de quien era. Creo recordar que de un genio-matematico o físico de los 70 cuando la computación estaba en la cabeza de los genios contados con lo dedos de las manos.

Uno de tantos porque hay muchos que han contribuido. No obstante no le quita merito a Carmack que el tío sobre sus hombros llevó el peso de la industria y los avances durante una década al menos. Es otro genio sin duda.

En cuánto a los hatajos matemáticos había que cogerlos porque se exprimía cada ciclo de reloj para que maquinas muy modestas trabajasen dando el 100% de lo que podían o como es el caso incluso mas. Al revés de lo que sucede ahora con esta industria de vagos aprovechados y sinvergüenzas y el triunfo de cánceres para la programación estructurada y eficiente como el Java.

v

#15 atajo

arcangel2p

#15 Aquí explica la historia de éste cálculo :

https://en.wikipedia.org/wiki/Fast_inverse_square_root

sillycon

Es una aproximación maravillosa. En mis tiempos noventeros en la demoscene amiguera hacíamos muchas aproximaciones y optimizaciones similares. En muchos casos, si no había una solución mágica como la del ejemplo acotábamos el rango en el que se iba a calcular una fórmula y antes precalculábamos los valores en una tabla. Hay muchas técnicas de optimización.

musg0

#21 La única que me acuerdo es hacer una tabla de 256 valores de senos y cosenos y usar un byte para no tener que preocuparse de comprobar el paso de 359 a 0 cuando estabas haciendo rotaciones o similares

sillycon

#66 un clásico. Haces una tabla de senos y el coseno es la misma tabla +90 valores. Dos punteros y un mod (en este caso un AND) para que sea circular.

xaman

Del artículo:
Esa fórmula es una manera aparentemente "mágica" de calcular la raíz cuadrada inversa aproximada, una operación común para determinar distancias entre vectores en modelado 3D en tiempo real. Este cálculo normalmente requiere una aritmética de punto flotante que es muy intensiva en cómputo, utilizando la fórmula de aproximación original de Isaac Newton.

Wow, entiendo menos que una página de memes argentina lol

j

#10 Es un método iterativo para calcular raíces o ceros de una función y que tiene 350 años. https://es.wikipedia.org/wiki/M%C3%A9todo_de_Newton

Si quieres resolver una ecuación de fórmula f(x) = 0 partiendo de un valor aproximado inicial x1 el siguiente valor aproximado es x2 = x1 - f(x1) / f'(x1).

Por ejemplo para hallar la raíz cuadrada de 101, x, esta cumple que x*x - 101 = 0. f(x) = x*x - 101. Como sabes que la raíz cuadrada de 100 es 10 aproximas la raíz cuadrada de 101 por 10, le aplicas el método de Newton y tienes que la raíz cuadrada de 101 es aproximadamente 10 - f(10)/f'(10) = 10 - (100 - 101) / (2 * 10).

D

#10 Que han descubierto un truco para elevar a -1/2 con pocos cálculos.

frankiegth

#0. Como wallpaper queda estupendo :

maxmalkav

#49 Si te van los video-ensayos largos en Youtube (en inglés), éste está muy bien:



Es sobre un escándalo que salpicó a Bell Labs a principio de los 2000s pero refleja muy bien la crisis en la que se encontraba en esa época después de años de gloria.

Tiene otros muchos de temática similar, el canal merece mucho la pena.

P

Eso ya no ocurre. La programación hoy día (excepto casos puntuales) va más de usar infinidad de librerías, que de hacer cálculos y optimizaciones. Si tu aplicación consume mucha memoria o procesamiento, aumentas los requisitos de hardware y arreglao.

#7 Es que con el hardware que había antes, que se necesitaba lo último de lo último y en un par de años el ordenador ya estaba obsoleto a ahora que hay laptops de 10 años rulando perfectamente ya ha llovido.
Del 96 al 2006 se pasó de infovia a mas o menos lo que hay ahora: mp3, codecs de video, internet con fibra, ...

M

#7 Exactamente, en cuanto salieron herramientas para mejorar el rendimiento de los programadores y hacer mucho más en menos tiempo las utilizamos.

c

#7 es el cálculo que hay que hacer. Si cuesta más la horas de programación que hay que meter que dos años de añadir un slot más de RAM...

R

#7 todo depende. Cuando tu aplicación usa miles de servidores una buena optimización son millones de ahorro

Joder__soy_yo

#7 no es por nada, pero este tipo de cosas son las que, para mí, define un programador mediocre de uno bueno de verdad.

Está muy bien saber teoría, o valorar no preocuparse o gastar recursos en nimiedades, pero también se nota mucho una aplicación optimizada, una que no te haga perder un montón de décimas de segundo en un montón de sitios, y para ello sólo sirven los programadores que siempre le dan una vuelta más a todo.

d

Veo muchos comentarios en plan "no lo entiendo" o "podía haber puesto un comentario". Si entiendes la lógica de los bits, los punteros y las referencias, y tienes una mente analítica, se entiende de un par de vistazos, si me apuras tres. Si no llegas ni a eso, mi consejo es que te dediques a otra cosa...

Acido

#54
Es un comentario de broma ¿no?

TheUglyStranger


Fast Inverse Square Root — A Quake III Algorithm In this video we will take an in depth look at the fast inverse square root and see where the mysterious number 0x5f3759df comes from. This algorithm became famous after id Software open sourced the engine for Quake III. On the way we will also learn about floating point numbers and newton's method.

O

Que yo sepa, la raíz cuadrada ya se puede hacer por hardware desde hace tiempo, ¿no?

h

y lo mejor? que metió eso que mejoró muchísimo todo y no tuvo los SANTÍSIMOS COJONES a poner un comentario útil. En su lugar, se puso a poner soplapolleces de "whadafak?".

Hay personas que de verdad han sido endiosadas para lo que realmente han hecho y otras que al revés, como la gente de Bell Labs.

comadrejo

#19 * You are not expected to understand this.

Ken Thompson - Bell Labs
https://github.com/dspinellis/unix-history-repo/blob/Research-V6/usr/sys/ken/slp.c#L325

h

#36 me callas a medias, no te lo niego. Me refería más a que era algo que ÉL no hizo, que sacó de algún lado. Podría haber escrito un "no lo entiendo pero lo saqué de aquí...".

Y el comentario que mencionas es porque hay que saber en profundidad sobre sistemas operativos y las diferentes optimizaciones (más bien guarradas/truquis a nivel mental sobre la arquitectura) para entender ese comentario. Es útil, pero es como un "aviso a navegantes, es complejo y no hay forma de explicarlo para todos los públicos no expertos nivel 9999".

Para terminar, me he leído un poco el contexto y no apostaría nada, pero creo que ESA parte justamente es para "alinear" el stack a su estado inicial previo a que el scheduler del sistema operativo se lo cepille pero eso, que algo es algo, no es un "yeah, madafaka, número mágico el que tengo aquí colgado".

Saludos!

maxmalkav

#19 los de Bell Labs se tenían que conformar con que les cayese de vez en cuando un Premio Nobel (10 en total, nada mal para una compañía privada)

h

#42 Me he podido leer alguna que otra historia de "becarios" que la verdad, me despiertan mucha envidia de lo interesante que debió ser. Solamente con "Plan9" los puse en un pedestal que espero alguna vez alcanzar o superar.

1 2