Core Wars

Las "Core Wars" (ó RedCode) son programas escritos en una variante propia de ensamblador, donde luchan por ocupar la mayor parte de la memoria para así, eliminar al programa oponente. Se habló por primera vez de las CoreWars en un artículo de la revista "Investigación y Ciencia" de 1988, por A.K. Dewdney (en el enlace puedes ver el artículo original en inglés).
( DEWDNEY, A. K. Artículo: JUEGOS DE ORDENADOR, en: Investigación y Ciencia. No. 145, 1988. )
Para nosotros tiene mucho atractivo desde hace tiempo, DuenD y yo hemos pasado algunas horas haciendo programitas y simulando batallas usando el MARS (programa que simula el campo de batalla, si pulsas en el enlace verás varias páginas donde descargarlo).
Es todo un simulador de vida artificial, ya que una vez creado el código y ejecutado, tienes que programarlo lo mejor posible para que sobreviva dentro del campo de batalla haciendo varias operaciones, como reproducirse, saltar entre posiciones, eliminarse, etc ... sin ninguna acción exterior. Ni que decir tiene que también son una especie de "virus" ... en un entorno controlado.
Antes de nada, vamos a ver un poco como es el campo de batalla. Los programas no saben donde termina/empieza la memoria MARS. La posición de memoria "0" no es la primera, es donde está el código del programa, la siguiente será la "1", la "-1" será una posición atrás, etc ... La unidad básica de cada posición de memoria (o sea el contenido) es una instrucción (p.e.: MOV 0 1 ). En el ejemplo, la instrucción consta de una operación (MOV), una dirección de origen (0) y una de destino (1). En el ejemplo, MOV 0 1 copiaría el contenido de la posición de memoria "0", en este caso "MOV 0 1" a la posición "1", o sea, la siguiente posición, resumiendo, esta instrucción se copia a sí misma de una posición a otra en cada ejecución del programa. Y hablando de ejecución, MARS ejecuta sólo una instrucción DE CADA PROGRAMA en cada ciclo. Por ejemplo, si el programa A tiene una sola instrucción y el programa B tiene 3 instrucciones este sería el proceso de ejecución:
Ciclo 1: Instrucción 1 PROGRAMA A
Ciclo 2: Instrucción 1 PROGRAMA B
Ciclo 3: Instrucción 1 PROGRAMA A
Ciclo 4: Instrucción 2 PROGRAMA B
Ciclo 5: Instrucción 1 PROGRAMA A
Ciclo 6: Instrucción 3 PROGRAMA B
Vamos a ver un ejemplo de programa "CoreWar" (por cierto, a los programas se les suele llamar "guerreros"):
Guerrero "Trasgo" ó "Imp" (creo) (el más básico de todos):
MOV 0 1
Así de simple, es el de antes, simplemente se irá copiando en cada posición consecutiva de memoria hasta que logre eliminar al programa contrario.
´
Guerrero "Enano" ó "Dwarf":
ADD #4, 3
MOV 2, @2
JMP -2
DAT #0, #0
Este ya es más complejo, sólo comentar que cuando un número lleva delante el # quiere decir que hace referencia al número en sí, no al contenido de la dirección. En el ejemplo, ADD #4 , 3 implica sumar el número 4 al contenido de la posición de memoria 3, en nuestro caso al ser un DAT #0, #0 (DAT asigna el valor 0 al contenido de la misma posición de memoria), quedaría como DAT #0, #4 ... es un poco complejo al principio pero puedes ver una buena explicación en:
Voy a ver si pico a DuenD y a NOP para jugar de nuevo a las Core y publicaremos nuestros guerreros y nuestros resultados.
Sólo pretendo dar una pequeña guía de iniciación con este artículo, si el tema os parece interesante no dudéis en mandarnos un email o escribir algún comentario para ampliar el tema.
Dec 30, 2007
HistoriaRetrocomputervirusCiencia

Un poco de magia ;) , David Chesterfield

Este video me lo comentó mi amigo “Laque” en una cena (a ver si nos vemos más) XD , es muy bueno …

Dec 30, 2007
Humor

24C3 desde "El Geek Errante", #2

Seguimos con nuestro amigo futur3 su visita al 24C3 (que envidia)
http://elgeekerrante.com/24c3-2/
Gracias por la información compañeros, estamos muy atentos, nunca hemos estado tan cerca del CCC.
Dec 29, 2007
HackingSeguridadVarios

¿Harto de no resolver el cubo de Rubik?

Dec 28, 2007
VariosGadgets

24C3 desde "El Geek Errante" ...

El 24C3 es un evento de hackers / hacking organizado por el famoso CCC que se celebra en Berlin.
... Y nuestros amigos de "El Geek Errante" han infiltrado a futur3 en dicho evento ;)
Vamos a seguir sus pasos, no dudéis en visitar:
Dec 28, 2007
HackingSeguridadEventos

Guía 2007 de programas gratuitos y aplicaciones Web

Después de este parón navideño ;) ya estamos de vuelta.
Y directo desde la magnífica 86400 y desde LifeHacker:

http://86400.es/2007/12/27/la-guia-2007-de-programas-gratuitos-y-aplicaciones-web/

en inglés, fuente original:

http://lifehacker.com/software/feature/lifehackers-2007-guide-to-free-software-and-webapps-334568.php

Magnífica lista de programas gratuitos Mac, windows y Linux

Pronto volveremos. Un saludo y felices fiestas.

Dec 28, 2007
Recursos InformáticaVarios

Gregory Colbert, para relajarse un rato ...

Nuestro amigo Juan Antonio ;) nos ha enviado este enlace
La belleza plástica de esta web es impresionante. Como nos comenta Juan Antonio, "Son parte de la Colección de imágenes de un cineasta y fotógrafo canadiense, -Gregory Colbert-, en las que seres humanos y animales establecen una relación de aires casi fantásticos"
A disfrutarla...
Dec 18, 2007
VariosMúsicaCine

Angel of Death 8-BIT Version

Que lo disfruteis!!

Dec 16, 2007
MúsicaRetrocomputer

Mejora el alcance de tu WIFI

Este articulo complementa el publicado por Cybercaronte sobre wifis seguras hace algun tiempo.
Muchas veces nos encontramos con que la cobertura de nuestra wifi es insuficiente para algunas estancias de nuestra casa, y más hoy en dia con la cantidad de interferencias, telefonos Dect, transmisores A/V y sobre todo las otras Wifis del vecindario. Es bastante comun que al explorar el numero de redes inhalambricas desde nuestra casa, la lista sea bastante larga. Os voy a contar un poco más en profundidad un par de trucos para mejorar vuestra cobertura.
En primer lugar bajaros este programa NetStumbler, con el podreis ver las redes inhalambricas que teneis al alcance. Fijaros que cada una tiene un canal, y la potencia a la que os llega. Elegir vuestro futuro canal teniendo en cuenta que este libre, no haya otra red en un canal adyacente inmediatamente superior e inferior (para evitar solapamientos).
Por ejemplo imaginaros que tenemos wifis cercanas en los canales 3 , 4, 6, 8, 9 y 10, la mejor opción seria los canales 1, 12 y 13. Y de estos tres preferentemente el más bajo, el 1.
Si se diera el caso de que no hay un canal libre sin que esten los adyacentes también, elegiremos uno en el que los adyacentes nos lleguen con menos fuerza y menor cantidad de redes.
Luego sólo teneis que entrar en vuestro router y cambiar este parametro por el nuevo.
Otro parametro que nos puede hacer ganar unos dB es cambiar el modo 802.11 a "b only" lo cual nos limitara la velocidad a 11 Mbps (teóricos siempre) en lugar de los 54 Mbps (más teóricos aún) que nos ofrece el modo "g". Si sólo utilizamos la wifi para internet este cambio de velocidad no nos debería afectar para nada.
Otra opción es cambiar las antenas de nuestro router por otras de otro tipo/ganacia. O también podemos fabricarnos una casera. Las hay para todos los gustos y con diferentes objetos (tarteras de cds, botes de aceitunas, Coca-cola, Pringles, caceloras, etc).
Una muy sencilla de la cual ya vimos un video en el articulo de cybercaronte, y con buen resultado ya que la he probado, está en esta página, donde teneis hasta las plantillas para imprimiroslas y recortar. Son unos reflectores que acoplados a nuestras omnidireccionales del router nos harán ganar unos 10 dB convirtiéndolas en direccionales con unos recortes de cartón y papel de plata. Yo me hice dos y os aseguro que funcionan de maravilla.
Os animo a que comenteis vuestros experimentos.
Dec 16, 2007
Recursos InformáticaHardware

Dos retrojuegos míticos, versión PC y gratuitos

Qué decir sobre estos tres juegos, os pongo un enlace donde podéis bajaros los juegos completos y gratuitos para jugar en el PC en Windows, no es un emulador, están adaptados al PC:
Manic Miner
Enlace Wikipedia para saber más del juego:
Y para descárgartelo versión PC:
Jet Set Willy
Dec 16, 2007
HistoriaRetrocomputerJuegosRecursos Informática