- E04 - Leadership! Google, Guido van Rossum, PSF

Ilias Lazaridis ilias at lazaridis.com
Mon Jan 2 06:03:17 EST 2006

Alex Martelli wrote:
> Ilias Lazaridis <ilias at lazaridis.com> wrote:
>    ...

note: Anton Vredegoor wrote:
>>>>only hire people with long backstabbing histories.
>>>Such as...? Guido van Rossum?  Greg Stein?  Vint Cerf?  Ben Goodger?
>    ...
>>The employees you've mentioned should have most possibly the basic 
>>google employment requirement: BS or MS... [1].
> ... "or equivalent" (I do believe all I named have at least a Bachelor
> degree, but with the undisputable results they've shown afterwards, I
> think they'd all meet the "or equivalent" clause anyway).

"   * BS or MS in Computer Science or equivalent (PhD a plus). "

This referes to an _academic_ degree.

Very few companies make an explicit statement about non-academic applicants.

It seems Google does not.

>>I assume that Mr. Vredegoor uses the term "backstabbing" incorrect. Most
>>possibly he meand just something like "back reaching".
>>Possibly he can confirm.
> Let's wait for him to confirm or deny; I thought he did mean what he
> said.

yes, I've become curious.

>>btw: I don't understand exactly what Mr. Vredegoor means by "having 
>>worked for the man".
>>Possibly he can clarify concisely.
> By all means, let's hope he does.  In the jargon of the American
> underclass, "to work for The Man" meant working for law enforcement
> agencies, and somehow it got widened to "working for ``the system''",
> i.e., in a "socially respectable" job.  Maybe in Dutch it means
> something different.

"socially respectable" would fit.

but let's await his comments.

>>Mr. Martinelli, you seem to know python.
> Sorry, that's a brand of sparking apple cider.  I get my name mispelled
> that way often enough, since I moved to the US, to have become quite
> sensitive about it!-)  In MY name, there is no "in"...

Mr. Martelli, I apologize for naming you like an soft-drink.


Python vs jamLang follows:

>>May you can showcase how to overcome some of the limitations 
>>(limitations in context of the evaluation template):
> re: #LIMITATION: automated get/set methods via var-name not available
> see the 'property' built-in.

Can you (or some reader) sent (or fill in) the relevant code?

> re: LIMITATION: InstanceVarName not available
> since any object at a given time may be bound to any number of names,
> from 0 upwards, and none of them has any privileged relation with the
> object, this will never be solved.  If you think an object should have a
> name with some privileged relation to it, I strongly suggest you switch
> to another language.

=> the limitation "InstanceVarName not available" is true.

(I will change the evaluation-template and move this step to the "Expert 
Reflective Data Access").

> "prints Class Definition (methods, fields), without code
> LIMITATION: no direct access on object-model-level"
> not sure what you mean, but maybe see the 'inspect' module.

=> Clas Definition is not accessible via MetaClasses
(possible workaround: inspect module)

> "#LIMITATION: attribute is not available systemwide in every object
> #LIMITATION: attribute is not on object-model-level
> #LIMITATION: Operation is not Object Oriented
> "
> If you think that the syntax x(y,z) is "not Object Oriented", then again
> I strongly suggest that you switch to other languages (avoiding other
> powerful object oriented languages such as Dylan, Lisp, or O'CAML, which
> also allow usage of function-call notation for THEIR OO power); in other
> words, if you think the mere presence of a syntax like 'y.x(z)' makes
> any difference wrt accessing a functionality versus 'x(y, z)', you're
> clearly evaluating things at a totally inappropriate level.

I assure you: the level is totally appropriate.

> The notation you choose, setattr(Object, "meta", "Some meta

I did not choose it.

Someone has posted it.

> information"), is, at any rate, absolutely semantically identical to
> Object.meta = "Some meta information" -- they will both succeed or both
> fail, and when they both succeed they will have identical effects; thus,
> that point about "not Object Oriented" seems to fall somewhere between
> embarassingly wrong, and crazy-level weird.

=> Object.meta = "Some meta information"
=> can be used instead of setattr(Object, "meta", "Some metainformation")

> It IS true that in Python you cannot set arbitrary attributes on

=> #LIMITATION: Cannot add arbitrary attributes to arbitrary objects.

> arbitrary objects.  The workaround is to use a dict, indexed by the id
> of the object you want to "set arbitrary attributes on"; this has the
> helpful consequence that separate namespaces are used, so your arbitrary
> setting of metadata cannot interfere with the `true' attributes of the
> object in question.

=> possible workaround: use dict.

> I'm unable to understand what you're trying to do in the "extend talker
> code" box following that one.

Someone has posted this code, to solve "Applying metadata (or 
attributes, as you prefere) to Class, Object, ...".

I understand that the poster has send code which does not work.


see the ruby result as a reference:



If you (or any reader) like, please provide the concrete code to solve 
the open limitations (the simple ones, like e.g. get/set).

Thank you for taking the time to answer.



More information about the Python-list mailing list