[Stackless-sprint] Intruduction

Christian Tismer tismer at stackless.com
Tue Mar 2 05:48:31 CET 2004


"""
Please allow me to introduce myself, I'm a man of wealth and taste
I've been around for a long, long year, Stole many a man's soul and faith
And I was 'round when Jesus Christ, Had his moment of doubt and pain
Made damn sure that Pilate, Washed his hands and sealed his fate

CHORUS: Pleased to meet you Hope you guess my name
But what's puzzling you Is the nature of my game
""" (1)

This was Stackless 1.0, continuations and blasphemy, starting 1999.
Yes, I mean the song, I think it really applied to me.
Stackless was an extremely difficult approach, since I supported full
continuations. (Will give an extra session on that if you like).
Short after that, Stackless Microthreads were created.
Funnily, CCPgames wrote their first version of the EVE online
game on top of microthreads.
In those days, I felt I had to support continuations, as the
strongest possible concept that IS had ever created. This is
still true, but I also did the biggest harm to Stackless,
since Guido hates continuations. If I had had an approach
like today, chances for some integration would have been
much better. But I was greedy and snotnosed. Then, Stackless
fell into some agony for a while.

In 2002, I started over, with a rigorous new 2.0 design.
This happened in a cafe, after cake and three cans of coffee.
Much simpler, brute-force hardware stack fiddling.
Just great for porting, a new Python version took < one day.
I went to Rejkjavik and ported the CCPgames EVE application
to Stackless 2.0, with great success - things were about four
times faster. This was also the birth of tasklets and channels,
both concepts were stolen from Limbo, with its attractive simplicity.

At the same time, I got a contract with a US firm to support them.
After I failed to port their application, I started to merge
1.0 features back into Stackless, in late 2002. Later on they
claimed this had been my primary task, but this is not true.
This turned out to become Stackless 3.0, and unfortunately, they
never adopted it, but began to write their own minimalist
Stackless Python.

Not to mention a small contract with TwinSun.com for thread pickling.
This has become a major application of Stackless, today. It also
has become a major porting problem today, as I feared it:
Pickling is part of Stackless, but newer Pythons grow more and more
objects which need pickling, and this costs a lot of resources.
But I love it, anyway.

----

Enough of that history stuff.
I have to tell you something crucial about my person.

Well, there was one continous thread throughout my life:
When I was a boy, I loved to work on my toy railway. This lasted for
many years, and my biggest fear was to get this thing ready, at
one day. This has been one of my problems with Stackless, too.
The result:
- Almost no documentation
- special methods which nobody can understand
- almost no tests (well, Bob did a *good* job meanwhile)
- very few examples
- it never gets really ready, upto now
As a summary, Stackless has been a very egocentric project,
making it into an exception that a company adopted the
technology, although it is said to be really useful.
But who would take the risk?

By this sprint, I'm trying to get rid of my toy railway behavior.
As a friend likes to say: "Try to get mature before becoming senile".
I want to share what I know, I want to get help with documentation
and examples, and I want to create a broader basis of people
who know about Stackless and how it works. After all, it is not
that hard! Just a bunch of simple ideas and their consequences
for the coding.
I very much hope this sprint will create the critical mass to make
more companies take the risk of using Stackless Python.
Finally, I want to start an Alliance of supporters, which makes
companies confident to join the club. They should join by spending
money or by human resources. Make a Stackless basis of five people,
and we are all set. This is what it needs. Now the sprint seems
to make a basis of more than ten people, which is even better!

Ok, and finally I would love to see a subset of Stackless
to go into the Python kernel. HaaHaa, good joke :-))

Happy to see you all next Wednesday -- chris

(1) The Rolling Stones - Sympathy For The Devil
-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  mobile +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/



_______________________________________________
Stackless-sprint mailing list
Stackless-sprint at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-sprint



More information about the Stackless-dev mailing list