I've sadly missed the discussion about fighting programs last meeting, and would like to continue the idea here. I'd like to ask if anyone would like to pick up the glove and give a lecture, with the angle being something like Interpreters for Fun, Not Profit. I recall playing around with Core War and C Robots, in the early-mid 90's. Even wrote an emulator for Core War, lost in the mists of time :) Core War was an emulation of a machine that executes processes/threads in a shared, cyclic memory space, where each program is owned by a player. Players can spawn more programs, however their CPU time is interleaved between these. Programs can kill other programs by dropping halt instructions in their execution path. Victory goes to the last man Program. C Robots was a simulator of tanks controlled by simple CPUs, programmed by a subset of C. Each tank had a radar, engine, steering and a cannon, which were directly controlled by the loaded program. Again, last tank standing. Another interesting, if different diversion, was Tierra (or one of its descendents, I don't remember which). This was shown to me by a friend, who had used it for his M.Sc. One of the core ideas there was that organisms (automata) were constructed of a an executable digital DNA. When they mated, they would exchange fragments of this DNA, possibly mutating it. An exciting observation was that this gave rise to actual strains or even families of organisms, which exhibited various properties like aggression (e.g. parasitism) and symbiosis. In the latter case, no actual programming language was used for controlling the virtual Petri dishes where the organisms lived - however the virtual machines they consisted of were specifically designed to run their own brand of low-level DSL.
I participated in CodeGuru Xtreme II, a competition with rules similar to Core Wars but with the 8086 instruction set. It was much fun. My group even won, but that was thanks to someone much smarter than me, so I can't take credit.
I'm beginning soon to teach a group of highschoolers assembly language as a representative of said competition (hoping to form a team), and that's where the T-shirts factory email came from, but there's no interesting stories yet (except for that email, which I could definitely title "interpreters for fun, not profit", as it's about an interpreter I wrote :P Also, me and my friends did think up a version of that machine that is a Code Wars variant).
With regards to Tierra, I remember an excellent version called DarwinBots [1].
My general experience with lectures is that they're much more fun to listen to when they're about a subject you dabbled in a bit. Things that previously didn't seem important now do, and you have the ability to gain much more knowledge from someone else's experience when they're about problems you already bumped into yourself.
So I don't think there's much I can lecture about to a crowd that never played these, but my little experience might make for an interesting short lecture about technique right after a Core Wars competition. What say ye?
On Wed, Dec 7, 2011 at 12:17 AM, Alex Arnon <alex.ar...@gmail.com> wrote: > Hi List,
> I've sadly missed the discussion about fighting programs last meeting, > and would like to continue the idea here. I'd like to ask if anyone > would like to pick up the glove and give a lecture, with the angle > being something like Interpreters for Fun, Not Profit. > I recall playing around with Core War and C Robots, in the early-mid > 90's. Even wrote an emulator for Core War, lost in the mists of > time :) > Core War was an emulation of a machine that executes processes/threads > in a shared, cyclic memory space, where each program is owned by a > player. Players can spawn more programs, however their CPU time is > interleaved between these. Programs can kill other programs by > dropping halt instructions in their execution path. Victory goes to > the last man Program. > C Robots was a simulator of tanks controlled by simple CPUs, > programmed by a subset of C. Each tank had a radar, engine, steering > and a cannon, which were directly controlled by the loaded program. > Again, last tank standing. > Another interesting, if different diversion, was Tierra (or one of its > descendents, I don't remember which). This was shown to me by a > friend, who had used it for his M.Sc. > One of the core ideas there was that organisms (automata) were > constructed of a an executable digital DNA. When they mated, they > would exchange fragments of this DNA, possibly mutating it. An > exciting observation was that this gave rise to actual strains or even > families of organisms, which exhibited various properties like > aggression (e.g. parasitism) and symbiosis. > In the latter case, no actual programming language was used for > controlling the virtual Petri dishes where the organisms lived - > however the virtual machines they consisted of were specifically > designed to run their own brand of low-level DSL.
> Any interesting stories in this space? Anyone?
> Cheers, > Alex.
> -- > --------------------------------------------------------------------------- -------------------------- > You received this message because you are subscribed to the Google > Groups "sayeret-lambda" group. > To post to this group, send email to sayeret-lambda@googlegroups.com > To unsubscribe from this group, send email to > sayeret-lambda+unsubscribe@googlegroups.com
> I participated in CodeGuru Xtreme II, a competition with rules similar > to Core Wars but with the 8086 instruction set. It was much fun. My > group even won, but that was thanks to someone much smarter than me, > so I can't take credit.
> I'm beginning soon to teach a group of highschoolers assembly language > as a representative of said competition (hoping to form a team), and > that's where the T-shirts factory email came from, but there's no > interesting stories yet (except for that email, which I could > definitely title "interpreters for fun, not profit", as it's about an > interpreter I wrote :P Also, me and my friends did think up a version > of that machine that is a Code Wars variant).
> With regards to Tierra, I remember an excellent version called DarwinBots [1].
> My general experience with lectures is that they're much more fun to > listen to when they're about a subject you dabbled in a bit. Things > that previously didn't seem important now do, and you have the ability > to gain much more knowledge from someone else's experience when > they're about problems you already bumped into yourself.
> So I don't think there's much I can lecture about to a crowd that > never played these, but my little experience might make for an > interesting short lecture about technique right after a Core Wars > competition. What say ye?
> On Wed, Dec 7, 2011 at 12:17 AM, Alex Arnon <alex.ar...@gmail.com> wrote: > > Hi List,
> > I've sadly missed the discussion about fighting programs last meeting, > > and would like to continue the idea here. I'd like to ask if anyone > > would like to pick up the glove and give a lecture, with the angle > > being something like Interpreters for Fun, Not Profit. > > I recall playing around with Core War and C Robots, in the early-mid > > 90's. Even wrote an emulator for Core War, lost in the mists of > > time :) > > Core War was an emulation of a machine that executes processes/threads > > in a shared, cyclic memory space, where each program is owned by a > > player. Players can spawn more programs, however their CPU time is > > interleaved between these. Programs can kill other programs by > > dropping halt instructions in their execution path. Victory goes to > > the last man Program. > > C Robots was a simulator of tanks controlled by simple CPUs, > > programmed by a subset of C. Each tank had a radar, engine, steering > > and a cannon, which were directly controlled by the loaded program. > > Again, last tank standing. > > Another interesting, if different diversion, was Tierra (or one of its > > descendents, I don't remember which). This was shown to me by a > > friend, who had used it for his M.Sc. > > One of the core ideas there was that organisms (automata) were > > constructed of a an executable digital DNA. When they mated, they > > would exchange fragments of this DNA, possibly mutating it. An > > exciting observation was that this gave rise to actual strains or even > > families of organisms, which exhibited various properties like > > aggression (e.g. parasitism) and symbiosis. > > In the latter case, no actual programming language was used for > > controlling the virtual Petri dishes where the organisms lived - > > however the virtual machines they consisted of were specifically > > designed to run their own brand of low-level DSL.
> > Any interesting stories in this space? Anyone?
> > Cheers, > > Alex.
> > -- > > --------------------------------------------------------------------------- -------------------------- > > You received this message because you are subscribed to the Google > > Groups "sayeret-lambda" group. > > To post to this group, send email to sayeret-lambda@googlegroups.com > > To unsubscribe from this group, send email to > > sayeret-lambda+unsubscribe@googlegroups.com