[Zope] Giving up in frustration

Andreas Kostyrka andreas@mtg.co.at
Wed, 18 Aug 1999 11:58:13 +0200 (CEST)


On Wed, 18 Aug 1999, LD Landis wrote:

>   Also, I've discovered that some releases of some distributions (e.g. the
>   latest Caldera), are Python 1.5.2 friendly (except I haven't located how
>   to enable 'crypt', and just discovered this morning that threads are also
>   no there)... It is not Zope friendly... (gets ImportError: No module
>   named thread)... I've got work to do... and can't take the time to figure
>   this out right now...  The other guy I'm working with, didn't have the
>   time to even try building Zope (also using Caldera)... but went straight
>   for the binary release...  (Even less likely to "read the source, Luke").
Well, OSS does mean reading the documentation. And to be honest,
the source is the ultimative documentation ;)

Python 1.5.2:
  Well, there are more than enough rpm distributions. I'm doing one
  at the moment for RH6.0 (it will probably also work with RH5.2 :) )

>   Also, if I recall... the Jedi's had to train pretty hard as I recall the
>   story...   I offer these priorities (my order, not DC order):
> 
>    1. Knowing how to use Zope effectively is the most important...
>       "Getting there... I know that I'm in trouble..."  I need to go get all
>       of the current docs (haven't printed any since 1.9 days... course I
>       hope to find ---hint-hint--- some equivalent of a "changes" doc so
>       that I'll not waste any time reading stuff I already have... only to
>       find out that "Oh... that's old"... Maybe the "ZODB3 thoughts"
>       papers of Jim's have become "here's what ZODB3 is"... (hope hope)
> 
>    2-98 other stuff
> 
>   99. Knowing the source exists and is available is the most important...
>       Being able to build from the source is comforting to me... I very
>       much prefer it... HOWEVER... I need to get work done... and so to
>       accomodate #1... I'll use a platform-specific binary release.  (Now,
>       I refuse to use Microsoft anything... but from what I've read in the
>       Zope list... it seems to me that just about anyone using Microsoft
>       based systems is spending mega-bucks for tools, or relying totally on
>       the binary releases)...  So, in short... If I'm going to get work
>       done... for now (Caldera wise), I'm going to rely on a binary
>       release. What this means is I have very little motivation to "read
Well, let's summerize ;)
1.) You get a megacool tool for free.
1a.) You get even a liberal license for this tool.
2.) You get some documentation.
3.) You get free support in form of the Zope@zope.org mailing list.
4.) You are upset, because there is no perfect documentation for every
    method in ZOPE.


>       the source, Luke", cuz... well, just say I wanted to "slip in" a
>       print statement or two... I'm not going to do it... I didn't build
>       it, so I'm not sure that I won't break it, and I don't want to reload
>       it (am not allowed to due to time constraints, etc).
Well, nobody told you to add print statement. But there are a number of
things the source code can clarify even for people not knowing much
python, examples:

1.)
Which class declares absolute_url?

Steps:
  find Zope-src -name \*.py | xargs grep -l absolute_url | xargs less

2.)
Which parameters are needed for absolute_url?
Steps: see 1.

3.) What capabilities/methods does a Folder have?
This one is complicated :(

Steps:
  a) find Zope-src -name \*.py | xargs grep -l "class Folder" | xargs less
     Now you know which methods are added at the Folder class level.
  b) If you want to know all inherited methods, repeat this process
     for all interesting base classes.

To summerize: You can use the source code as a reference documentation
without knowing to much of Python.
And use the power of the Unix environment to get your job done.

And before someone starts asking my sanity, I'd like to point out, that
the Smalltalk system used exactly this as a reference: You could get the
source code of every method in the system.

Ok, the ZOPE source code doesn't have a browser, but there are python
browsers out there. But the standard Unix environment works quite well to
get the basic browsing done.

>   100-(x-1) more stuff
> 
>    x. Having the time to understand the source code that I am able build
>       and use is one thing I am really looking forward to... after I
>       "retire".  Not sure I'll do it then either... Heck... I want to be
Well, than you will never be completely fluent with ZOPE. Hacking the
source code is the "Unix" way of learning by doing. And this doesn't apply
only to ZOPE. (I remember hacking the Linux 1.0 kernel lp driver to
support some very sick printer. Well I don't have this printer anymore :) )

For example, our company did some consulting work for another software
developer, helping these guys to get working with Linux the "correct" way.
The point is not that I've showed them the complete rpm reference, I've
showed them to write simple spec files. Now 2 weeks later, they are only
calling me for the more esoteric features ;)

Consider the same model for ZOPE: You work, you experiment, etc.
When you hit a road block, you try to solve it yourself. And if you cannot
solve, than ask on the mailing list. Sorry, as someone pointed out, Linux
help is usually not an enumeration of steps to be done, but an explanation
what is happening. So don't expect somebody else to be doing the thinking
for you.

Additionally, if you are not capable of learning python in one week (I
don't speak about writing advanced stuff, I mean normal standard python),
or one month (if you have work to do, and can only doit parttime), than
you should perhaps try to get a new job description tag. Sorry to be this
blunt, but here (at our university, and personally), we consider it
important that professionals know how to learn fast new systems, while
knowing example systems (languages, environments) is not that essential.


>       fluent in things like Apache, sendmail, DNS, object brokers, etc, etc
Well, that's something that is expected to be dealt by your administrator.
And every competent adminstrator knows how to deal with this ;)
>       etc too.. Not sure what I want to completely grok at the source code
>       level... Too many interesting paths...
> 
>   On a similar thing... I really enjoyed "Learning Python"... I think that
>   having a similar "Learning Zope" would be wonderful!  I'd buy it...
Well, I've been thinking about doing something like this. The problem is,
that I'm not that sure, that I'd be capable of writing it in English, my
native language being German. :(
>   Also, I think that Learning Python is a helpful addition (I have to try
>   to train people too) as it is much less to "get" than were the other,
>   more exhaustive/ing tomes... Not to mention that both IPWP and PLP are
>   now significantly dated... Even Learning Python had some "datedness" to
>   it, and it is a new book (1.5.2 was not yet final... so not fully
>   reflected)...
Well, 1.5.2 doesn't add that much :)
I'm not sure, I admit, but could it be, that only ZServer depends upon
having 1.5.2 (the asyncio modules)?

Andreas
--
Andreas Kostyrka                     | andreas@mtg.co.at
phone: +43/1/7070750                 | phone: +43/676/4091256   
MTG Handelsges.m.b.H.                | fax:   +43/1/7065299
Raiffeisenstr. 16/9                  | 2320 Zwoelfaxing AUSTRIA