SPUG: Special Meeting: The Horror That Is SelfGOL

David Dyck dcd at tc.fluke.com
Tue Aug 7 13:09:37 CDT 2001

On Sun, 5 Aug 2001, Colin Meyer wrote:

> >From the description at: http://yetanother.org/damian/events/Extreme.html
> the SelfGOL program: an obfuscated, self-aware, viral quine that can:
>   .  self-replicate,
>   .  rewrite other Perl programs to allow them to self-replicate,
>   .  detect un-rewritable Perl programs,
>   .  execute itself or other Perl programs as cellular automata of
>      arbitrary size (to play Conway's "Game of Life"),
>   .  animate any short text as a cycling marquee banner.
> SelfGOL accomplishes these feats in under 1000 bytes of standard Perl,
> without importing any modules, and without using a single if, unless,
> while, until, for, foreach, goto, next, last, redo, map, or grep.
> To do all that in under 1K of code, it relies on some extreme
> programming techniques, and on many of the obscure backwaters of the
> Perl syntax. This talk explores both.
> In other words, it's everything you never wanted to know about Perl, and
> would have been afraid to ask.

I greatly regret that I won't be able to attend this event, but
I used google to search for references to selfgol
  netscape http://www.google.com/search?q=selfgol%20tar
and found the link below
that contains SelfGOL.tar.gz
-rwx------ damian/staff    996 1999-12-06 17:11 SelfGOL/selfgol

I extracted selfgol and looked at it's source, as well as
   perl -MO=Deparse selfgol
   perltidy selfgol

Trouble is, the program doesn't work as described with the perl
I have installed.  (selfgol -s didn't print out it own source,
and selfgol demo.pl > demo2.pl just printed "No")

Hopefully you will receive an updated selfgol and someone
on the spug list could post it to list for the rest of us.
Take good notes :-)


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
  Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/

More information about the spug-list mailing list