Hace 2 años | Por nomeves a microsiervos.com
Publicado hace 2 años por nomeves a microsiervos.com

Está versión del Juego de la vida, llamada simplemente Game of Life de alguien que firma como Copy está escrita en JavaScript, de modo que se puede ejecutar directamente desde el navegador. En la parte de izquierda hay botones para centrar y encuadrar la imagen, hacer zoom o desplazarla, algo que también se puede hacer con el ratón. Es una forma rápida de explorar el autómata celular más famoso de la historia.

Comentarios

omegapoint

#9 te vas a tener que conformar con el hersbalife

EmuAGR

#9 Yo espero que tarden, estoy consiguiendo pingües beneficios minando Hashlife 2. lol

pendejo1983

#4 se hace para que ocupe menos, no por evitar que otros lo lean. Seguramente el código esté disponible en github sin minimizar

I

#5 ¿Para que ocupe menos no está el gzip?

pendejo1983

#11 el uso de una técnica no excluye a la otra

I

#14 Sí, pero puede hacerla irrelevante. Estaría bien saber el tamaño total real de una librería 'minificada+gzip' y su comparación con sólo gzip, a ver si merece la pena estar complicándose la vida con los 'minificadores' y los dolores de cabeza que causan.

pendejo1983

#17 Puedes hacer que el minify se haga en el deploy de modo automático, no tienes que verte en nada. Yo uso ambas técnicas a la vez pero es cierto que no he medido el ahorro total

I

#23 El problema no es que sea 'auto-mágico', el problema es que a veces la 'minificación' rompe el código. No es que sea habitual y generalmente pasa con código y librerías viejas, pero me ha pasado en algún proyecto que la versión 'normal' funciona y al pasarlo por el 'minificador' deja de funcionar.

EmuAGR

#11 GZip no se lleva bien con HTTPS, tengo entendido que se puede extraer información de comunicaciones cifradas cuando van comprimidas.

I

#18 Me imagino que el problema vendrá de que si siempre se comprime antes de encriptar, vas a tener siempre cabeceras y patrones de gzip que facilitarán el ataque.

EmuAGR

#20 Known-plaintext, correcto. Más info: https://en.wikipedia.org/wiki/BREACH

tamat

yo hace tiempo que programé un version web usando la GPU, tengo varias configuraciones interesantes como una maquina de turing:

https://tamats.com/apps/conway/

D

No entiendo por qué ofuscan el código javascript

view-source:https://copy.sh/life/

Cantro

#2 ¿no estará minificado?

D

#3 no sé, como se diga

Cantro

#4 son cosas distintas. El código ofuscado busca ser ilegible. El minificado busca reducir el ancho de banda consumido al ser descargado, así que puede eliminar indentados, saltos de línea, etc

meneandro

#2 Uno de los factores para una rápida carga de una web en el cliente es el tamaño de los archivos, y los espacios son completamente inservibles porque al parser le importan un comino. Normalmente se usa una herramienta que "minifica" el código antes de pasarlo a producción. Evidemente, se trabaja y prueba sin minificar, esto no se hace para torturar a nadie o evitar que te copien.

Y no hablemos ya de las ventajas que trae la minificación en la parte del servidor, el tema económico y energético están directamente relacionados con el aumento de eficiencia, el ahorro de ancho de banda, etc. o sea, si en lugar de servir una página puedes servir dos y/o si en lugar de ocupar toda la red ocupas una fracción, con el tiempo te ahorras una pasta.

D

#12 Yo pensaba que el ejemplo de esta web era con finalidades didácticas, además el código html sí que está ordenado, se ve que en ese punto no les importa el tema de eficiencia en la ejecución.

meneandro

#25 Pero una cosa son los fuentes en github, donde está lo didáctico y otra la web. Es como recibir un exe y pensar que eso no es didáctico, que es una faena tener que estar descompilando y averiguando qué hacen esas instrucciones en ensamblador...

Boleteria

Esta muy bien que usen Javascript para demostrar que el Hashlife es rapidisimo y puede hacer milagros hasta en lenguajes de mierda

selina_kyle

No entiendo nada, que hay que hacer??

Raziel_2

#8 Nada, es una simulación de cómo se podría haber formado la primera célula. No me acuerdo exactamente de las reglas que rigen la "evolución", pero si recuerdo que son extremadamente simples.

I

#10 Emm... no tiene que ver con la 'formación de células (vivas)', al menos no directamente, ni es una simulación de una 'célula viva'.

El juego simula la evolución de 'células' con dos estados (viva-muerta) y unas reglas muy simples de cuándo una célula muere o cuando vive en función del número de células vecinas. La simulación viene a manifestar que a partir de reglas simples pueden aparecer comportamientos complejos no previstos en esas reglas simples. La relación con las 'células vivas' viene por comparación de que a partir de las reglas 'simples' de la física/química apareció la auto-organización y la vida.

meneandro

#8 https://es.wikipedia.org/wiki/Juego_de_la_vida

"...cada célula tiene 8 células "vecinas", que son las que están próximas a ella, incluidas las diagonales. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de las células evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente en cada turno, siguiendo estas reglas:

Una célula muerta con exactamente 3 células vecinas vivas "nace" (es decir, al turno siguiente estará viva).
Una célula viva con 2 o 3 células vecinas vivas sigue viva, en otro caso muere (por "soledad" o "superpoblación").
"

PD: en los juegos de populous (en el 2 al menos) tenían unos hongos que funcionaban de manera similar al juego de la vida de Conway. Podías "programar" armas como flechas que iban propagándose por el escenario y arrasando lo que se encontraran por delante. Lo malo es que eran fáciles de desarmar, bastaba cambiar los relieves del terreno para contrarrestarlas.

alpoza

Siempre me quedo embobao mirando como evoluciona y los patrones que se forman