Re: TIB: Novelties
[Prev][Next][Index][Thread]
Re: TIB: Novelties
Hello,
What is the piont a a program that radomly makes programs?
Josh:)
On Thu, 19 Feb 1998, Tavis Segura wrote:
>
> Hi, everyone!
>
> I'm still trying to set up Aim to support wind, and now I just need a
> few more finishing touches before I upload it to a home page, YES, a
> home page. Before I finished, I just decided to play around with a few
> other (theoretical) ideas on the TI-92:
>
> 1) Has anyone made a self-replicating program? Or a program that could
> spontaneously create its own programs?
>
> I have a simple program named 'replica' that takes its name as a
> parameter. That is: replica("replica") DISCLAIMER: replica is
> NOT considered a virus; thus far, viruses do not exist in BASIC
> and is (in theory) impossible within the limitations of TI-BASIC.
> At worst, this might be considered a Trojan, but it has yet to
> crash or damage the calc in any way whatsoever.
>
> Here's the program listing
> (as usual, -> is the store command,
> and /= is the inequality test)
>
> :replica(self)
> :Prgm
> :Local self,x,y,t
> :lbl top
> :"" -> t
> :rand(8) -> y
> :For x,1,y
> :t&char(rand(26)+96) -> t
> :EndFor
> :If gettype(#t) /= "NONE"
> :goto top
> :CopyVar #self,#t
> :#t(t)
> :EndPrgm
>
>
> The parts before and including the For..EndFor loop are used to
> create a 1-8 length string of lowercase characters, saved as 't'.
> Then the program tests if there is a variable that happens to have a
> name exactly like t. If not, it copys itself to that new variable
> name and executes the copy. This is a very rudimentary program; if
> you run it, keep it in a separate folder to make cleanup easy. This
> program is quite limited, but it only took a matter of seconds to
> write the first time.
>
> 2) Could a pair of linked TI-92s automatically determine a "host"
> and "client" based on the order the communications started?
>
> So far, this project has been unsuccessful and might even be
> impossible, but it's a work in progress.
>
> contact()
> Prgm
> Local t
> Lbl top
> Try
> Try
> 0 -> t
> SendCalc t
> PxlText "Connected with host",1,1
> 2 -> t
> Else
> ClrErr
> PxlText "Waiting for calc",1,1
> GetCalc t
> Text "Connection established",1,1
> 1 -> t
> EndTry
> Else
> ClrErr
> 0 -> t
> EndTry
> 0 -> ok
> If t /= 0 Then
> Return
> Else
> Dialog
> Text " Connection failed!"
> Text " Try again?"
> EndDlog
> EndIf
> If ok=1
> Goto top
> 0 -> t
> EndPrgm
>
> I just noticed when I typed that the program did not continue normally
> when t=2, but I think the main problem is in the nested 'Try'
> statements. More ideas are being formulated.
>
> Tavis
>
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
>
Follow-Ups:
References: