( picoVerse-:( WooHoo! ) )

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

( picoVerse-:( WooHoo! ) )

kego-2
Here is the short version :

I got all the picoVerse Packages to file into a virgin Dolphin
Smalltalk 2.1 image yesterday.

So I want to publish the picoVerse Packages in one .exe file and right
along with it I want to allow people to download Dolphin Smalltalk 2.1
so they can load and run the picoVerse in it.  I would also like to
find out how to change the .img association so D2 can change it back to
point to D6 again.  And D6 can change it back to point at D2 again.

So what do you say Andy?  Can I do this?

If I can do this then where would be a good place on the web to put
these things out there?  Where do I look for info about how to make a
place where these two files can be downloaded?  I have a domain name
http://www.picoVerse.org .  What do I need to do to allow people to
download these two files?  People seem to do this all the time but I've
got no idea how they do it.










Okay here is the long version :

For 8 years I have not been able to file into a virgin image all my
Packages.  The truth is, it turns out, that I never really tried.  I
was too busy being diverted into a million different things.

So at first I would file into a virgin image all my Packages but then I
saved the image and then for a long time I didn't file into a virgin
image.  And then I became reticent.  I just kept using that old image
and filing into it.  After some years I was afraid to try to file into
a virgin image.  I've always had lots of troubles with that before so I
avoided it.  And there was always something else to do.  Some new
thing.

Yesterday I finally got up my courage and started running

     KEGPackageInstallScript new install.

In one day I had all 148 Packages filing into a virgin image.

As George Jetson used to say-: WOWIE!!!

Now that that monkey is off my back I don't seem to know really what to
do with my internal makeup.  That impediment was such a fixture.

Chris Uppal said that I should try to group the Packages so I have
tried to split up intall into subMethods that install the different
groups.  Possibly they could be grouped even more but all the Packages
are installed mostly in the order they were created so far.  I was too
chicken to mess too much with the ordering for now.

So theoretically I could publish all these Packages now and they could
be filed into a
Dolphin Smalltalk 2.1 patch level 2 virgin image.  Including all the
Smalltalk Generator stuff.

It may seem like a lot of Packages but mostly it is Generator
implementation Packages and the rest of them are examples of Generator
usage.  A lot of them are just ideas that I coded up and never tested.
There are different failed versions of things.  The whole thing is
highly documented with this idea : that the whole thing should be like
a mixed up book that you can read.  For example each of the more modern
Generator implementation methods have extensive usage comments that
tell how with code examples provided you might use that method's
created Generators to do various different things.  Some of the methods
include long rants about this and that.  What can I say, I'm crazy, and
a lot more crazy then than now.  I would get high from typing.  I don't
do that anymore.  I think it might be the meds.  Hypergraphia I think
it is called.  You get high from typing.  So anyway there are a lot of
Packages and a lot of them don't do anything but sit there ready to be
read.  Different ideas and things.  Some Prolog ideas.  Some Lisp
ideas.  I'm working now on a Lisp compiler interpreter in Dolphin that
comes from Smalltalk In Small Pieces that is finally going to work.
And it will implement Macros too.  It is designed to be readable.  What
I hate is these Open Source implementations of Lisp where the inner
workings are all hidden behind a wall of huge complexity.  It is going
to have a test method where if you single step through this test method
it takes you on a tour of the inner workings starting from the initial
simple functionality of lexing and then compiling and then evaluating
on up to the more complex stuff.  I think that all software should be
like this where there is a test method that you can single step through
it and it will take you on a tour of any software Package you should be
able to learn.  And it starts out simple and moves onto complex.  And
shows you everything.  First it will compile Lisp into trees of
Objects.  Later on it could compile to byte codes too.  Maybe you could
have Smalltalk and Lisp together in Dolphin.  In a Package that was
easy to learn like about how to add to it and stuff.  I had this idea
about doing everything in a tree View including the coding.  So you
could colapse and expand the different code parts at will.  Macros are
a sticky issue in Lisp.  How do you make a source level single stepping
debugger with Macros around?  I wanted you to be able to associate a
Forum with anything on the tree View.  The Forum would be a tree View.
Different coders could be linked up somehow over the internet with
Dolphin talking to Dolphin somehow in a distributed way with no central
server?  Can that be done?  I was thinking that maybe there could be a
page somewhere that would list all the IP addresses of the people
connected?  So Dolphin could propagate the Forum stuff across a graph
of nodes?  It would be better if Dolphin Forums were hosted by Dolphin.
 OK enough.

So anyway the picoVerse is kind of designed to be like a mixed up book.
 I wrote it with the idea that a lot of it would be technical but some
of it would be entertaining?  I don't know how entertaining it is.
Maybe not that much.  There are a lot of examples of Generator usage.
That you can single step through.  Everything is centralized in the
MiscScripts Class which is based on the idea of simplified notSmalltalk
textual commands that you select in a Workspace and evaluate to get
them to run.  There are a lot of shell File copy move delete etc
commands like that that work pretty good.  There is an Options trading
system development framework based on Generators that I hope to get
going and I could use help with that.  And with connecting to
Interactive Brokers trading interface.  If we make it then all the
Dolphin Smalltalkers can have it.

So maybe it is a lot of Packages but it's not like there isn't a word
of documentation such that it would be highly opaque to look at.  A lot
of them are like design documents that could be implemented.  There is
a Prolog unification Package for Smalltalk that allows Smalltalk to act
like Prolog.  It also uses Generators.  There needs to be an inference
engine.  I have made several attempts.  I think the continuation
passing style is the way to go but I'm afraid I have yet to really get
my head around it.  Perhaps other hobbyists might have ideas about how
to make it minimal.  It's not a Prolog compiler it's just Smalltalk
acting like Prolog.  Doing Prolog like things.  But in an Object
Oriented way.  So how do you do that?  Are there instances which are
clause bases?  Which specialize in a certain skill?  Do you then make a
network of clause base instances like Actors or mini experts?  Each
clause base has a Dictionary of functor heads and clause bodies?

I can also provide some of my data files that I use Generators on.
There is one that I use with the CBOE daily options table files on the
http://www.BlueChipGrowth.com buy list.  And I have a charting thing
that allows you to see stock price and implied volatility charted
together.  Some options positions can crash when volatility crashes so
that can be an enlightening thing to look at.

So it's a lot of Packages but maybe not so many when you think about
it.
The idea was to make it a picoVerse.  A small universe.  A small
technical story.

So now I would like to publish it.  It's all GPL ed.

It files into Dolphin Smalltalk 2.1 patch level 2.  Right now.

So I was wondering if I could just provide Dolphin Smalltalk 2.1 patch
level 2 right along with the picoVerse so that people could download it
and install it and then load up all the Packages to see what is in
there.  If anyone might be interested.  ( And then you would have to
reinstall your newer Smalltalk to get the .img association you use
back. Perhaps there is a way that Dolphin can change that association
at will back and forth? )

So what I am asking of Andy and Blair is this :

Can I publish my picoVerse Now with Dolphin Smalltalk 2.1 downloadable
along with it so that people can get a look at Smalltalk Generators and
single step through various examples or whatever?  And how could
Dolphin better control the .img association programatically?  So it can
be switched from D2 to D5 to D6 at will?

I want to port these Packages to Dolphin 5 and then to D6 but I don't
know how long that will take.  The graphical stuff is isolated and
small with the idea that it will be easier to port and since Dolphin is
ANSI hopefully the porting would be quick but I don't know if that is
really the case.  I've got other things to do now.  Time is short.
Maybe somebody else can do it.  I'm supposed to get a new machine that
will be able to run D6 here in a couple months or something.  Maybe if
I publish the picoVerse somebody else will port it to D5 and D6?
Perhaps the Generator implementation Packages could be isolated so they
could be used in D6 applications?  It's fine to use GPL stuff in
commercial apps but if you make changes to the GPL code itself then you
are supposed to publish those.

So I want to publish the picoVerse in one .exe file
and right along with it I want to allow people to
download Dolphin Smalltalk 2.1 so they can load
and run the picoVerse in it.  I would also like to find
out how to change the .img association so D2 can
change it back to point to D6 again.  And D6 can
change it back to point at D2 again.

So what do you say Andy?  Can I do this?

It would be good not to have to wait until all the Packages are ported
to D6.


Reply | Threaded
Open this post in threaded view
|

Re: ( picoVerse-:( WooHoo! ) )

Chris Uppal-3
Kego,

> So I want to publish the picoVerse Packages in one .exe file and right
> along with it I want to allow people to download Dolphin Smalltalk 2.1
> so they can load and run the picoVerse in it.  I would also like to
> find out how to change the .img association so D2 can change it back to
> point to D6 again.  And D6 can change it back to point at D2 again.

Probably better not to mess with associations but to start it by explicitly
invoking dolphin2 passing it the correct image file on the command line.  Use a
short cut (or maybe a batch file) with the full command line specified.

BTW, Dolphin's approach to setting associations has changed a lot since D2.  In
fact I think every major version has had a different approach ;-)


> If I can do this then where would be a good place on the web to put
> these things out there?  Where do I look for info about how to make a
> place where these two files can be downloaded?  I have a domain name
> http://www.picoVerse.org .  What do I need to do to allow people to
> download these two files?  People seem to do this all the time but I've
> got no idea how they do it.

Many ISP accounts come with some web-space, but that (if you have it at all)
wouldn't use your nice shiny domain name.

You can buy forwarding services which will "pretend" to host a domain name by
putting up a single webpage at, say, http://www.picoverse.org and using Frames
or some other HTML magic to redirect browsers "invisibly" to your own web
space.  I'd recommend against that -- it works very badly (I know, my own
website was handled by UK2NET for a while with that mechanism).

A more lasting solution is to buy web-space from <someone> who will host the
actual space, and set www.picoverse.org to point to their server (or allow you
to set it yourself).  The chances are that whoever sold you the picoverse.org
hostname are /itching/ to sell you web-space too.  Or there are many third
parties covering a wide range of prices and offered services.  The generic term
for this is "web hosting".


> Chris Uppal said that I should try to group the Packages so I have
> tried to split up intall into subMethods that install the different
> groups.  Possibly they could be grouped even more but all the Packages
> are installed mostly in the order they were created so far.  I was too
> chicken to mess too much with the ordering for now.

Perhaps just grouping them into "core", "examples", "experiments" (plus any
other major categories if you've used the core stuff to build something which
has value independently of the core -- an application of the core)


> So now I would like to publish it.  It's all GPL ed.

Just one note: a fair number of people are relucant or refuse to mess with GPL
(or, to a lesser extent LGPL) software in Smalltalk.  Without an explicit
exclusion clause, the GPL language appears to cover everything in the same
image as the GPLed code.  MIT-style licences are less "scary" unless one
conciously subscribes to the GNU creed and deliberately wish to include the
"viral" aspect of that license.

    -- chris