[EVALUATION] - E04 - Leadership! Google, Guido van Rossum, PSF

S

skip

Hans> But if it did, imagine how cool that would look on the developers
Hans> resumes... :)

+1 QOTW

Skip
 
J

John J. Lee

Harald Armin Massa said:
Allow me to quote Greg Stein:
"Ha! Guido would quit in a heartbeat if you tried to make him manage
people. That just isn't where he's at. He's absolutely brilliant and
loves to write excellent code. Great. We're gonna let him do just that
:)"
[...]

Guido may or may not realise it, but he seems to have been managing
people (in some sense of 'managing', anyway) quite successfully over
the past decade or so.


John
 
S

skip

John> Guido may or may not realise it, but he seems to have been
John> managing people (in some sense of 'managing', anyway) quite
John> successfully over the past decade or so.

Sssh! Don't tell him! Hopefully the PSU won't find out and
 
I

Ilias Lazaridis

Martin said:
Ilias Lazaridis wrote:

Well, I mean that you should know before the others that Guido is
working for google otherwise such a publication is a bit late :),
nevertheless better late then never.

I operate only based on publically available information.

Possibly you have something missunderstood (or I have explained missleading)

here is the actual diagramm:

http://lazaridis.com/efficiency/graph/index.html
yup
<cut>

ok.

[I will answer to the other messages of this thread later]

..
 
M

Martin P. Hellwig

Ilias Lazaridis wrote:
<cut>
I'm suspecting that we have different definitions (or at least the
implications of that) of used terms.
I think it's important to first define these definition in a form
acceptable to both of us.

In the link you gave, the title was "Efficiency Management".
Now I believe that in _most_ implementations the words in the titles are
mutual exclusive. So my first question is, please define "Efficiency" my
second one is, please define "Management".
 
I

Ilias Lazaridis

Martin said:
Ilias Lazaridis wrote:
<cut>
I'm suspecting that we have different definitions (or at least the
implications of that) of used terms.
I think it's important to first define these definition in a form
acceptable to both of us.

In the link you gave, the title was "Efficiency Management".
Now I believe that in _most_ implementations the words in the titles are
mutual exclusive. So my first question is, please define "Efficiency" my
second one is, please define "Management".

"
* The terminology is not yet aligned to commonly used business or
standards organisation terminology [like e.g. ISO].
* This will happen after the process definition has finalized.
"
source: http://lazaridis.com/efficiency/process.html (V 0.8c - alpha)

-

I am a few steps from having the final diagramms ready, then I can align
the terminology (e.g. asking for feedback, thus people can detect
existent constructs and suggest terminology changes)

I'll send you an email with some details (thus we don't discuss this
off-topic in public).

..
 
I

Ilias Lazaridis

Anton said:
Robert Kern wrote:



Your friends work for people who would never hire me. My resume sucks,
but I'm not a bad person or a mediocre programmer. They sold out.


Right here.

This requirement is really funny.

I thought google is somehow different.
I do. Experience here is an eufemism for having worked for the man.

I think I understand your thought.

Although I have very much experience, I have not "worked for the man":

http://lazaridis.com/resumes/lazaridis.html

which would mean that Google would not hire me.

[No problem, it's their lost.]

[...]
Ok. That's a bit harder. I suppose we agree that if we have an
intelligent program that is more intelligent than a human and have this
program design an even more intelligent program than things start to
accelerate pretty fast?
ok

Now the combination of a programmer with a tool (program) that can be
used to make a better tool. This gives a better human-machine
combination, which then can be used to further improve the combination.

=> high evolutive system

http://lazaridis.com/core/system/evolution.html
I don't think I have completely proven my point now, but since the
danger is very real and big, coming close is already reason enough to
watch this carefully. Why hasn't it happened yet with lisp? I don't
know,
http://lazaridis.com/core/eval/lisp.html

why didn't the world get destroyed by all out atomic warfare?
Couldn't it have happened?

Of course.

But we should focus on that it don't happen in future.
If we create AI why would AI keep us around if we ourselves won't even
hire people that do not comply to absurdly specific preconditions?
Don't we let our poor people starve in the undeveloped countries or
even in our own cities? If we want to prove we belong to the next world
we should start now. Open work communities where everyone can start
working and get paid. The same thing as open source code or usenet but
now with money for everyone.

Very nice thoughts - but just thoughts.

You should act.

As a first step, you should have your thoughts collected on a website,
thus you can point to them.

And then comes the difficult thing:

Transforming thoughts to real-life actions.

I'll contact you via email, thus this thread remains 'clean'.
Anton

'sorry, I don't want to start a flamewar, but I really believe what I
wrote here'

..
 
M

Michael Schneider

Congratulations to Guide,

Mike
Guido at Google: a message in THE public forum c.l.p.

A confirmation by Martellibot, that Guido is IN FACT sitting 15m
distant from him; and everybody in Python knows where Martellibot has
his desk.

Can it get more official than this?

yeah:
a confirmation by Greg Stein @ Google within slashdot, that Guido is
working at Google.

I am sure that more people in the Python community are reading c.l.p.
and /. than the washington post, the people affected have been
informed.

I guess that's as formal and official as it can get.

And concerning Guido, Python, community and leadership:

Guido is the designer, the creator of Python. He has nearly unlimeted
trust in his design decisions: we all know, that he is THE gifted
language designer. His proclamations are accepted because he has proven
over time that he knows what's best for the language.

Allow me to quote Greg Stein:
"Ha! Guido would quit in a heartbeat if you tried to make him manage
people. That just isn't where he's at. He's absolutely brilliant and
loves to write excellent code. Great. We're gonna let him do just that
:)"

So, Google with their geek-version of the Playboy-Mansion, free massage
parleurs, free lunch and dinner and best recruitment tactics on the
planet and the known universe will not be able to make Guido manage
people.

Somehow the Python community managed itself through the years... Python
grew healthy and steadily; forked less then usual, inspired other
languages and got faster and faster and faster.

Maybe only mediocre and less ideas need a great leader. Maybe a great
idea can lead for itself?

Harald

--
GHUM Harald Massa
persuadere et programmare
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
 
M

Martin P. Hellwig

Ilias said:
Martin said:
Ilias Lazaridis wrote:
<cut>
I'm suspecting that we have different definitions (or at least the
implications of that) of used terms.
I think it's important to first define these definition in a form
acceptable to both of us.

In the link you gave, the title was "Efficiency Management".
Now I believe that in _most_ implementations the words in the titles
are mutual exclusive. So my first question is, please define
"Efficiency" my second one is, please define "Management".

"
* The terminology is not yet aligned to commonly used business or
standards organisation terminology [like e.g. ISO].
* This will happen after the process definition has finalized.
"
source: http://lazaridis.com/efficiency/process.html (V 0.8c - alpha)

-

I am a few steps from having the final diagramms ready, then I can align
the terminology (e.g. asking for feedback, thus people can detect
existent constructs and suggest terminology changes)

I'll send you an email with some details (thus we don't discuss this
off-topic in public).

.

> Ilias Lazaridis wrote in email:
> Hi,
>
> just point me to a website you are related to (your personal one,
your business one, ...) and I'll initialize the process, as defined in
the draft-document:
>
> http://lazaridis.com/efficiency/textual.html
>
> -
>
> What I need at this point:
>
> - Website adress
> - your requirements & constraints for my processing
>
> .
>

Hey,

I respond on your "private" mail and list in one and to both, I don't
regard this as off-topic because it is still in regard of your OP,
although that post can be seen as a bait to go OT.

I didn't ask you for making an analyze, I asked you for your definitions
because I think they are not the same as used in my contexts.

Now definitions like the ones in the dictionary are all fine and such
but it still doesn't say what the strings are, for example communication
is a word used to describe the process of information transfer (by
whatever means, could be smoke signals or drum sounds for my part).
Information transfer is a broad term raising immediately the question:
"Transfer? ..... In what direction?"
The answer depends on the situation, if both parties are equal in terms
of information authority, the transfer will resemble a dialog i.e. two way.
If both parties are not on par in terms of information authority, the
transfer will resemble a monolog i.e. one way.
Now this is taken in the extremes, in reality there are usual more than
2 parties and the information authority can vary on the subject while
the subjects are still related with each other (no wonder why there is
so much miscommunication).

An interesting note is that to describe the relation of communication I
have to use another term, "information authority", this term is IMHO
very important and very difficult because you can not define this term
in such a way that it's acceptable for all involving parties without
being authoritative on that specific information piece. Unfortunately
these kind of situations are all but rare just take a look at
http://en.wikipedia.org/wiki/Bootstrap .

Which leads to the interesting question, when is someone authoritative
on information without the use of ipsedixitism.
The answer is IMO actually quite simple: Never, your only authoritative
if others accept you as being authoritative, of course this can be
enforced by various means, like the use of hierarchy or religion.
However more modern organization revert to the use of democracy
(everybody has an equal vote) or play along (if you don't like, you are
not enforced to stay, so accept it or beat it) because if you let
people decide for them self who is authoritative for them it's easier
for that authority to be accepted as such.

Now I don't say that I'm right here and you are not, actually I'm still
puzzled about what your intention of your original post was anyway.
Thus what I said above should also apply to myself, so I do not have the
authority by myself to say that I'm authoritative to say that I'm right
and you are not, but what are your reasons to assume that you are
authoritative over me? (This is a genuine question and not intended as
rhetorical)

So the sum it up my unanswered question to you so far are:
- What is your definition of "Efficiency"
- What is your definition of "Management"
- What is you definition of "Communication" (to compare it with mine above)
- What are your reasons that I should accept you as authoritative on the
subject of "Efficiency Management"?
- What has all that to do with Python except for that Guido is related
to Google and Python?
 
I

Ilias Lazaridis

Martin said:
Ilias said:
Martin said:
Ilias Lazaridis wrote:
<cut>
I'm suspecting that we have different definitions (or at least the
implications of that) of used terms.
I think it's important to first define these definition in a form
acceptable to both of us.

In the link you gave, the title was "Efficiency Management".
Now I believe that in _most_ implementations the words in the titles
are mutual exclusive. So my first question is, please define
"Efficiency" my second one is, please define "Management".

"
* The terminology is not yet aligned to commonly used business or
standards organisation terminology [like e.g. ISO].
* This will happen after the process definition has finalized.
"
source: http://lazaridis.com/efficiency/process.html (V 0.8c - alpha)

-

I am a few steps from having the final diagramms ready, then I can
align the terminology (e.g. asking for feedback, thus people can
detect existent constructs and suggest terminology changes)

I'll send you an email with some details (thus we don't discuss this
off-topic in public).

.

Ilias Lazaridis wrote in email:
Hi,

just point me to a website you are related to (your personal one,
your business one, ...) and I'll initialize the process, as defined in
the draft-document:

http://lazaridis.com/efficiency/textual.html

-

What I need at this point:

- Website adress
- your requirements & constraints for my processing

Hey,

I respond on your "private" mail and list in one and to both, I don't
regard this as off-topic because it is still in regard of your OP,
although that post can be seen as a bait to go OT.

You should not reproduce private conversation on public media.
I didn't ask you for making an analyze, I asked you for your definitions
because I think they are not the same as used in my contexts.
[...]

Making an small analysis can assist you to understand the terminology
(and me to align the terminology). You are free to reject this.

As I am free to terminate the discussion here.

Feel free to contact me with private email (after a few hours).

Thank you.

..
 
C

Chris Smith

John> Guido may or may not realise it, but he seems to have been
John> managing people (in some sense of 'managing', anyway) quite
John> successfully over the past decade or so.


John> John

Just you shush!
If he hears you, he'll return to being a newt!

Chris
 
I

Ilias Lazaridis

Martin P. Hellwig wrote:
[...] - (complex elaborations)
So the sum it up my unanswered question to you so far are:
- What is your definition of "Efficiency"

http://lazaridis.com/efficiency/definitions.html

(as stated on the website, any feedback is welcome. But please not
within this thread).
- What is your definition of "Management"

I have none (I use internally the hellenic word, which explains/defines
itself)
- What is you definition of "Communication" (to compare it with mine above)

I have none (there was no need for me to define, and at this point its
not a priority).
- What are your reasons that I should accept you as authoritative on the
subject of "Efficiency Management"?

a) The process itself

you can verify it on my website.


b) Rate the public application/verification of the process

this is difficult, as the major evaluations (NetBeans, Eclipse) are huge
and complex to follow (google archives)


d) Reference Customers

(they are not available yet)


c) Initiate a Free Website Review (the simplest way):

http://lazaridis.com/services/index.html

and rate the results

- What has all that to do with Python except for that Guido is related
to Google and Python?

Python is still on my list of possible languages for a long-term project.

Thus I am still evaluating it.

This thread here is part of a python evaluation:

http://lazaridis.com/core/eval/index.html

..
 
A

Alex Martelli

Anton Vredegoor said:
Google's not a nice company (yeah, I know I'm posting from a google
account). If you look at their job requirements it's clear they will
only hire people with long backstabbing histories.

Such as...? Guido van Rossum? Greg Stein? Vint Cerf? Ben Goodger?
Please DO share your insider-information about the "long backstabbing
histories" of each and every one of these people, I'm sure it will be
most fascinating (as well as useful for self-protection to future
potential victims), and, after all, they ARE all rather public
figures... TIA!


Alex
 
I

Ilias Lazaridis

Alex said:
Such as...? Guido van Rossum? Greg Stein? Vint Cerf? Ben Goodger?
Please DO share your insider-information about the "long backstabbing
histories" of each and every one of these people, I'm sure it will be
most fascinating (as well as useful for self-protection to future
potential victims), and, after all, they ARE all rather public
figures... TIA!

Alex

The employees you've mentioned should have most possibly the basic
google employment requirement: BS or MS... [1].

This requirement from Google exists in nearly all other IT companies.

Without BS or MS you cannot have a "long back reaching history" - and
thus experience.

This is the main objection of Mr. Vredegoor.

-

I assume that Mr. Vredegoor uses the term "backstabbing" incorrect. Most
possibly he meand just something like "back reaching".

Possibly he can confirm.

btw: I don't understand exactly what Mr. Vredegoor means by "having
worked for the man".

Possibly he can clarify concisely.

-

Mr. Martinelli, you seem to know python.

May you can showcase how to overcome some of the limitations
(limitations in context of the evaluation template):

http://lazaridis.com/case/lang/python.html

My Best Regards.

-

[1]
(copied from within this thread):
"""
Requirements:

* BS or MS in Computer Science or equivalent (PhD a plus).
* Several years of software development experience.
* Enthusiasm for solving interesting problems.
* Experience with Unix/Linux or Windows environments, C++ development,
distributed systems, machine learning, information retrieval, network
programming and/or developing large software systems a plus.
"""

..
 
A

Alex Martelli

Ilias Lazaridis said:
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).
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.

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.

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"...
May you can showcase how to overcome some of the limitations
(limitations in context of the evaluation template):

http://lazaridis.com/case/lang/python.html

re: #LIMITATION: automated get/set methods via var-name not available
see the 'property' built-in.

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.

"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.

"#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.

The notation you choose, setattr(Object, "meta", "Some meta
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.

It IS true that in Python you cannot set arbitrary attributes on
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.

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



Alex
 
I

Ilias Lazaridis

Alex said:


note: Anton Vredegoor said:
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.
Let's wait for him to confirm or deny; I thought he did mean what he
said.

yes, I've become curious.
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.
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:
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:

http://lazaridis.com/case/lang/ruby/base.html

-

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.

..
 
A

Anton Vredegoor

Alex said:
Such as...? Guido van Rossum? Greg Stein? Vint Cerf? Ben Goodger?
Please DO share your insider-information about the "long backstabbing
histories" of each and every one of these people, I'm sure it will be
most fascinating (as well as useful for self-protection to future
potential victims), and, after all, they ARE all rather public
figures... TIA!

No insider information is necessary, the job requirements make it
absolutely clear (at least to me) that Google is a company with an
elitist culture, just like most universities. In fact I am convinced
that universities (and this time I have extensive, first person and
historic information) are elitist.

We can discuss that if you want but to me it's appararent that *titles*
are a strong indication of elitism. Further more I am convinced that
universities spend about 95 percent of their effort into maintaining
the hierarchy (socializing the students), and spend almost no time on
creating new knowledge. A kind of 'piltdown' phenomenon.

Also when considering this massive scientific fraude (because that's
what it is) it is very illustrative to use the same deconstructing
methods that Randi, if that's not the name of a beverage, no:

http://en.wikipedia.org/wiki/James_Randi

uses to discredit paranormal phenomena. For example, careers are
"construed" because scientific success is credited to persons higher in
the hierarchy and mistakes are the faults of research assistents or
students. Only if this system breaks down we see reports of "scientific
fraude" in the media, which according to me is more a sign of the
social network around the scientist collapsing than it is a sign of
their research data being any more "fabricated" than other scientific
data.

There is a lot of this inbred and invisible corruption everywhere in
our societies and I tried to name it by using the term "working for the
man" by which I meant throwing away ones own moral compass and
confining ones efforts to further the interests of a small sub-system
(like soldiers) and thereby stabbing oneself and the rest of humanity
in the back (figuratively) and often not even sparing coworkers in
order to please the master.

Why is this not absolutely clear and apparent? Because when trying to
"feed ones wife and children" it is almost impossible to do so without
*proving* that one has *experience* in working for these corrupt
entities (and possibly having become corrupt oneself) and doing a lot
for the community but still being blind to the faults of ones employer
does count as condoning corruption, at least in my world.

Most people can survive (without damaging their souls so to speak) when
working for corruption themselves in this way, but sooner or later one
is asked to corrupt others (defending one's title during a promotion,
leading a community and so on). This is the crucial point where
corruption definitively occurs: where silence is not enough anymore to
keep one employed.

The human brain can withstand extreme amounts of conficting sensory
data and still maintain a sense of continuity and order while from all
sides things seem to fall apart. Such continuity is highly valuable
because it is the only thing that keeps chaos at arms length. The same
thing can be applied to whole societies (see for example the state
American politics is in now). So that is the reason these kind of
things normally are swept under the carpet.

However for *me* personally, because I am deserted by my government,
the university community, friends and family, and left to fend for
myself, there is no pressing need to keep up the facade so I can
finally see it for what it is.

I hope this answers some of your questions about my position. Anyway, I
think its better to talk about positive things, like trying to convince
google to hire any and all people who can program irrespective of their
corruption history. For example to help manning their commercial "ask
google" service. I read that nowadays people can get payed for playing
*games*, by taking the virtual personae of people who don't have time
to play themselves.

Oh, and here [1] is another job posting, which seems a lot better than
the Google example IMO, but which still misses a plan for what to do
when thousands of programmers would apply and which also misses a
mission statement for what they plan to do to save the world community
from becoming slaves to a select group of elitists hiding behind
webservices. The junior/senior divisioning in the job offerring below
worries me too. Well I guess it's a step by step process, but if it
were my call (which it obviously isn't, and maybe deciding on the basis
of this data is premature anyway) I'd rather have Guido working there
instead of at google.

Anton

[1]

(snipped from http://www.python.org/Jobs.html)

Posted 19-DEC-2005

Job Description: Senior and Junior positions available. We're building
a small team of outstanding, hard-working engineers dedicated to
solving interesting problems, writing great code and having a lot of
fun doing it.

Run by an engineer, this work environment is a meritocracy. You will be
working on a redesign and rewrite of an existing PHP web application
using a more deserving language/platform as well as developing new
features. This is a high volume system - if you dig concurrency, you
will not be bored. Must be able to handle the excitement.

Requirements: We're looking for great engineers, so we don't care about
your age or education. Python and SQL a must, PHP a plus, C a big
benefit, don't mention Java <0.5 wink>. Understanding of performance
and scalability issues, networking, event driven and multi-threaded
programming models and Async I/O are Good™. If you've used Twisted,
call us right now.

Work conditions: Onsite in NYC strongly preferred, but don't let this
deter you - we can work with remote folks under the right conditions.
Competitive compensation - we know what good people are worth. Flex
time - relaxed culture - getting the job done is all that matters.

What Python is used for: Python/Twisted as middleware/app server.
 
A

Alex Martelli

Ilias Lazaridis said:
" * BS or MS in Computer Science or equivalent (PhD a plus). "

This referes to an _academic_ degree.

Ah, I see. It depends on the job; for example,
<http://www.google.com/support/jobs/bin/answer.py?answer=23641> phrases
the requirement in a more explicit way:

* BS in Computer Science or equivalent experience.

so it's obvious that instead of the academic degree "equivalent
experience" is accepted, while other job offers are very specific in
requiring SOME degree. I had always taken the shorter "or equivalent"
as standing for the same concept, "or equivalent experience", as is
spelled out for some jobs, rather than like, say,
<http://www.google.com/support/jobs/bin/answer.py?answer=23604> which is
very specific about requiring:

* A BS degree in mechanical, electrical or industrial technology.
Very few companies make an explicit statement about non-academic applicants.

It seems Google does not.

It seems we do, for some but not all of our job openings -- that "or
equivalent experience" being the key, where it appears (and, in my
personal opinion the shorter "or equivalent" not being poles apart - but
that's a separate issue of interpretation).

Of course, a candidate who's not already a legal resident of the country
where they want to work may face other issues, visa-related ones, that
are not decided by Google but rather by governments and legislatures of
the various countries involved. I know I did have, among other things,
to document my academic history to the satisfaction of the US Government
(not of Google;-) to obtain my visa, once Google had extended me an
offer, and I believe that getting a visa would have been an even bigger
hassle if I did not have a degree (still, it's _possible_: my compatriot
Roberto Benigni does not have an academic degree, yet he did manage to
get visas to come collect his Oscar prizes, act in Jarmusch's "Coffe and
Cigarettes", and so on;-).
Mr. Martelli, I apologize for naming you like an soft-drink.

Thanks: if I have to get mis-spelled, I prefer the alternate
mis-spelling "Martel", which at least refers to a potable cognac!-)
Can you (or some reader) sent (or fill in) the relevant code?

# within file talker.py, class Talker: (take care of indentations)

def __init__(self):
self.name = ''
self.age = 0

def setName(self, value):
self.name = value

def getName(self):
return self.name

def setAge(self, value):
self.age = value

def getAge(self):
return self.age

zName = property(getName, setName)
zAge = property(getAge, setAge)

Normally, we would name the properties just 'name' and 'age' (and pick
different names for the internal attributes, such as '_name' and
'_age'), but in this case you're already using the plain names for the
attributes, so I've made up different varnames for the properties.

At any rate, with this class definition,
john.zName = 'John Doe Python'
john.zAge = 19
perform the calls to setName and setAge respectively.

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

You can surely define a custom metaclass with methods that call
inspect.whatever, or directly perform whatever introspection you
require; it just seems strange to me to put this functionality in the
metaclass. At any rate, SOME code will need to execute to perform this
task, so "without code" cannot be accomplished. (Looking at your
evaluation of Ruby I note there's a LOT of code for this corresponding
case, indeed through inspect, despite the 'without code' specification).

Depending on what exactly you mean here, a simple dir() may in fact
suffice. For example:
.... def __init__(self): self.zap=23
.... def zapper(self): return self.zap
.... ['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__',
'__hash__', '__init__', '__module__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__',
'zap', 'zapper']

The issues are obvious: you only get the names ('zap' and 'zapper' are
both just names here, no immediate indication of what's an instance
variable and what's a method instead) AND you get all the special names
as well, which clutters the results. Obviously (if you don't want
special names) you can easily filter this list of strings at a purely
string-processing level, and to distinguish methods from non-methods
takes just a little introspection. What module inspect does is provide
simple functions to perform such menial tasks -- nothing mysterious or
magic, you can read inspect.py to see the Python code in question.
I assure you: the level is totally appropriate.

My point is that whether you call:

setattr(zap, zip, zop)

or

zap.__setattr__(zip, zop)

is a syntax trifle. The semantics are the same (setattr is defined to
call the __setattr__ method, net of "legacy" issues with oldstyle
classes), so the difference boils down to where exactly you're placing
what punctuation (parentheses, commas, dots), names and decorations in
the statement; describing such merely-syntactical minutiae of
punctuation-placement as "OO" vs "not OO" is making a mockery of the
whole concept of "object orientation".

Python has many similar cases, in which prefix or infix syntax is
defined to internally call specified method. For example, in Python,

a + b

IS "an OO operation" -- it calls a.__add__(b), or, if warranted,
b.__radd__(a), indeed forming a typical 'TemplateMethod' Design Pattern
-- even though it's clothed in infix syntax. And similarly, e.g., for
setattr, which is clothed in prefix ("functioncall") syntax instead.
I did not choose it.

Someone has posted it.

It's quite correct, it's just that there are alternatives.
=> Object.meta = "Some meta information"
=> can be used instead of setattr(Object, "meta", "Some metainformation")

I'd put it the other way 'round, since assigning to Object.meta is the
simpler and most common approach (for an attribute name that's fixed).
setattr is generally used only when the attribute name is computed at
runtime (a variable or expression), because in that case there is no
more direct syntax for the task. getattr, in addition, has another use
case: you can provide a "default value" so that, if the attribute is
absent in the object, you get the default value rather than having to
field an exception (AttributeError). IOW, instead of:

try:
mymeta = Object.meta
except AttributeError:
mymeta = "No metainfo available"

you can code the simpler:

mymeta = getattr(Object, 'meta', "No metainfo available")

This is a reasonably frequent use case, since nobody particularly likes
using four "atomic actions" (try, etc) to express the unitary concept
"give me the 'meta' attribute, IF available, otherwise a default".
=> #LIMITATION: Cannot add arbitrary attributes to arbitrary objects.

Correct. In particular, Python has a concept of IMMUTABLE objects:
objects which, once created, cannot be altered in any way. In
particular, you cannot add attributes (or change existing ones, etc) in
such "immutable", aka "constant", objects.

If any language you evaluate lacks the concept of immutable objects, be
sure to note the reciprocal "LIMITATION: cannot define immutable,
constant objects".

Python could do better (since some objects are mutable and still don't
support attribute-setting -- function objects for example used to be
that way, though that limitation was removed a few versions ago), but
giving up the important concept of "constant"/"immutable" objects would
not be right, so (given the inherent contradiction between having
something immutable and being allowed to add stuff to it) I dearly hope
it will never be possible to alter EVERY object.

Again looking at your evaluation of Ruby, it seems this point is
incorrect there: in Ruby, it's possible to ``freeze'' an object, making
it constant/immutable; once you've done so, you can't then "add
arbitrary" [[or non-arbitrary, for that matter!-)]] "attributes" to it.

If you consider it a limitation that "unchangeable objects cannot be
changed" (which, to me, is a mere DEFINITION of "unchangeable"!-), you
should record the alleged limitation explicitly in both cases.
=> possible workaround: use dict.


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.

You mean something like...:

Talker.meta = "Class meta information"
john.meta = "Instance meta information"
Talker.sayHello.meta = 'method meta information"

You can't do that on an integer, because an integer is immutable; you
can't do it on 'Talker.name', because there IS no such thing as
'Talker.name' (if that's a limitation, it's also a limitation that you
can't do it on 'rumpelstiltskin.meta' either, and the reason is just the
same: there IS no such thing as rumpelstiltskin in this code).

There's no need to define this 'meta' attribute anywhere, it just
springs into existence when you assign to it.

Once you've set these, you can "print Talker.meta" etc etc.

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

Hope I've done that in the few cases where I understood what your
intentions were, but there must be more in which I didn't, such as the
strange "without code" specification.
Thank you for taking the time to answer.

You're welcome.


Alex
 
A

Alex Martelli

Anton Vredegoor said:
...
No insider information is necessary, the job requirements make it
absolutely clear (at least to me) that Google is a company with an
elitist culture,

Absolutely yes, in terms of who we want to work at Google: we DO want
GREAT people. And we don't keep this a secret, either: right up there
at <http://www.google.com/jobs/>, we say "our strategy is simple: we
hire great people". Rather than hiring a LOT of people, we prefer to be
extremely, obsessively selective, and try to hire ONLY a few people,
ones who we can convince ourselves do deserve that adjective, "great".

This does mean that we definitely tend err on the side of caution, and
FAIL to hire some people who are also great, just because we can't
determine with sufficient certainty that they indeed are -- I've seen
this happen more than once, and deeply regret it (for both Google and
the person), but I have no idea how we could do better without relaxing
our extremely elitist standards (we do debate these issues internally
all of the time, trying to do better, but have found no magic wand yet).

But this has nothing to do with "only people with backstabbing
histories", which looks like an unsupported, generalized insult.
just like most universities. In fact I am convinced
that universities (and this time I have extensive, first person and
historic information) are elitist.

No doubt they try to be, mostly (except where governments or other
institutions "twist their arms" to force them to admit huge masses of
students), but I've met many people with advanced degrees from even the
best/most elitist universities, such as Stanford or MIT, where it sure
looked to me as if the university's attempts to only graduate the very
best have definitely failed.
We can discuss that if you want but to me it's appararent that *titles*
are a strong indication of elitism. Further more I am convinced that

Requiring a certain title for a job is mostly a desperate attempt to
reduce the huge amount of work and effort it takes to hire great people,
whittling down the number of resumes to be considered divided by the
number of hires from the high thousands to the low hundreds. If there
were available infinite resources for the job of hiring/selection, we
could easily interview, say, 6000 candidates for a post, giving each a
week or so of concentrated attention to probe their abilities; alas,
this would require about 120 person-years from our people for the
selection process. So, if nobody at Google did ANYTHING BUT interview
candidates, given that we have a bit over 5000 employees now, we could
hire in the course of 2006 another 40 or so, without doing anything
else. (The numbers are all off the top of my head, but I think they may
be roughly the right orders of magnitude).

This is just impractical: we need to hire many more than 40, AND cannot
afford to have all existing employees do nothing but select new ones.
So, we need to shrink the ratio drastically, on both factors: say 10
instead of 40 hours of selection per candidate, and 50 rather than 6000
candidates being considered per post. So we perform selection in
stages, and most candidates out of those many thousands-per-job are
"weeded out" at the very first stage, e.g. by failing to meet specific
qualifications.

I wish that, as you say, "titles" were indeed strong indications of
excellence. Unfortunately, they aren't, but in some cases they're
better than nothing. Many of our job descriptions, as I pointed out in
another post on this thread, say "BS or equivalent experience" or words
to that effect; if you can show the "or equivalent", and can get past
the first hurdle, then that title is the least of the issues. For
example, if we advertised a job requiring "PhD or equivalent", and among
the candidates were Bill Gates, Larry Page, and Sergey Brin, none of
whom has obtained a PhD to the best of my knowledge, they would surely
be able to display the "or equivalent" based on their accomplishments
and experience, and thus get past that first hurdle.

uses to discredit paranormal phenomena. For example, careers are
"construed" because scientific success is credited to persons higher in
the hierarchy and mistakes are the faults of research assistents or
students. Only if this system breaks down we see reports of "scientific

Can you show that happening for Guido van Rossum, for example, or Greg
Stein? What "hierarchy" were they in, to enable them, as you're
accusing, to take credit for accomplishments that are not their own, and
deflect blame to poor maligned underlings?

You've made a very specific and insulting claim about Google hiring only
people with long histories of backstabbing, and yet it appears that
you're failing to substantiate it. Hurling such accusations (ones which
obviously must involve specific people, since the whole thread, as
indicated by the subject, starts with Guido's working for Google)
without being able to provide any substance is, in my strongly held
opinion, quite reprehensible, and doesn't reflect well on you.

However for *me* personally, because I am deserted by my government,
the university community, friends and family, and left to fend for
myself, there is no pressing need to keep up the facade so I can
finally see it for what it is.

I hope this answers some of your questions about my position. Anyway, I
think its better to talk about positive things, like trying to convince
google to hire any and all people who can program irrespective of their
corruption history.

People who distinguish themselves as outstanding contributors to
open-source projects can generally clear the "or equivalent" hurdle
without difficulty. Do you consider a history of such contributions to
be a "corruption history" and evidence of "backstabbing", too? To
emerge as such an outstanding contributor, titles are irrelevant: all
you need, besides willingness and ability to invest your time that way,
are outstanding technical ability (particularly in design and coding,
but testing and debugging are also very important, and so is a knack for
writing good documentation -- one can become an "outstanding
contributor" through many possible combinations of such skills) AND any
of a wide range of suitable character and personality traits.

To focus on the latter: I would never want Google to hire somebody, no
matter how great a programmer they might be, who can accuse, for
example, Guido van Rossum, of having a "long history of backstabbing",
without any substantial data to back up the accusation, just to vent
their frustration at their personal situation. You DID say that Google
hires ONLY people with long histories of backstabbing, and by the very
definition of the word "ONLY" this means you are accusing me, Guido,
Greg, etc, etc, of having "long histories of backstabbing" -- and after
hurling such insults, and providing NO specific data to support them,
you're hallucinating that you can now switch "to talk about positive
things"?!

One reason I'm so happy we've hired Guido is that, in addition to his
technical excellence, he's just a great guy, wonderful to work with.
Technical excellence is a necessary but not sufficient quality: one ALSO
needs suitable combinations of character and personality, and Guido has
them, in spades. There is an enormous variation of personalities and
character traits at Google (we DO value diversity!), but they all have
in common the fact that they can combine into small, fluid teams which
become even more productive than "the sum of their parts", because
teammates LIKE AND RESPECT AND TRUST each other. I do not see how
somebody whose behavior included such unsubstantiated "backstabbing"
accusations could be productive in this way.


And, about the job-posting you liked better...:
Run by an engineer, this work environment is a meritocracy. You will be

To me, "meritocracy" and "elitism" are close to being synonyms, in most
contexts. "Meritocracy" is defined somewhere on the net as:
"""
A system of government whereby a particular standard of ability is used
as the basis by which political leadership is determined or accrues to
an existing elite.
"""
Note the connection with "elite", which in turn gives us "elitism". I
do like "meritocracy" because it specifically mentions *ability*, but of
course ability (including technical skill, which in turn is enhanced by
appropriate experience, AND 'softer' character/personality issues) is
what a successful firm bases its "elite" on (or tries to; if it fails,
and hires people bereft of sufficient ability, it won't prosper long).


Alex
 
J

Jaap Spies

Alex said:
Absolutely yes, in terms of who we want to work at Google: we DO want
GREAT people. And we don't keep this a secret, either: right up there
at <http://www.google.com/jobs/>, we say "our strategy is simple: we
hire great people". Rather than hiring a LOT of people, we prefer to be
extremely, obsessively selective, and try to hire ONLY a few people,
ones who we can convince ourselves do deserve that adjective, "great".

This does mean that we definitely tend err on the side of caution, and
FAIL to hire some people who are also great, just because we can't
determine with sufficient certainty that they indeed are -- I've seen
this happen more than once, and deeply regret it (for both Google and
the person), but I have no idea how we could do better without relaxing
our extremely elitist standards (we do debate these issues internally
all of the time, trying to do better, but have found no magic wand yet).

But this has nothing to do with "only people with backstabbing
histories", which looks like an unsupported, generalized insult.




No doubt they try to be, mostly (except where governments or other
institutions "twist their arms" to force them to admit huge masses of
students), but I've met many people with advanced degrees from even the
best/most elitist universities, such as Stanford or MIT, where it sure
looked to me as if the university's attempts to only graduate the very
best have definitely failed.




Requiring a certain title for a job is mostly a desperate attempt to
reduce the huge amount of work and effort it takes to hire great people,
whittling down the number of resumes to be considered divided by the
number of hires from the high thousands to the low hundreds. If there
were available infinite resources for the job of hiring/selection, we
could easily interview, say, 6000 candidates for a post, giving each a
week or so of concentrated attention to probe their abilities; alas,
this would require about 120 person-years from our people for the
selection process. So, if nobody at Google did ANYTHING BUT interview
candidates, given that we have a bit over 5000 employees now, we could
hire in the course of 2006 another 40 or so, without doing anything
else. (The numbers are all off the top of my head, but I think they may
be roughly the right orders of magnitude).

This is just impractical: we need to hire many more than 40, AND cannot
afford to have all existing employees do nothing but select new ones.
So, we need to shrink the ratio drastically, on both factors: say 10
instead of 40 hours of selection per candidate, and 50 rather than 6000
candidates being considered per post. So we perform selection in
stages, and most candidates out of those many thousands-per-job are
"weeded out" at the very first stage, e.g. by failing to meet specific
qualifications.

I wish that, as you say, "titles" were indeed strong indications of
excellence. Unfortunately, they aren't, but in some cases they're
better than nothing. Many of our job descriptions, as I pointed out in
another post on this thread, say "BS or equivalent experience" or words
to that effect; if you can show the "or equivalent", and can get past
the first hurdle, then that title is the least of the issues. For
example, if we advertised a job requiring "PhD or equivalent", and among
the candidates were Bill Gates, Larry Page, and Sergey Brin, none of
whom has obtained a PhD to the best of my knowledge, they would surely
be able to display the "or equivalent" based on their accomplishments
and experience, and thus get past that first hurdle.





Can you show that happening for Guido van Rossum, for example, or Greg
Stein? What "hierarchy" were they in, to enable them, as you're
accusing, to take credit for accomplishments that are not their own, and
deflect blame to poor maligned underlings?

You've made a very specific and insulting claim about Google hiring only
people with long histories of backstabbing, and yet it appears that
you're failing to substantiate it. Hurling such accusations (ones which
obviously must involve specific people, since the whole thread, as
indicated by the subject, starts with Guido's working for Google)
without being able to provide any substance is, in my strongly held
opinion, quite reprehensible, and doesn't reflect well on you.





People who distinguish themselves as outstanding contributors to
open-source projects can generally clear the "or equivalent" hurdle
without difficulty. Do you consider a history of such contributions to
be a "corruption history" and evidence of "backstabbing", too? To
emerge as such an outstanding contributor, titles are irrelevant: all
you need, besides willingness and ability to invest your time that way,
are outstanding technical ability (particularly in design and coding,
but testing and debugging are also very important, and so is a knack for
writing good documentation -- one can become an "outstanding
contributor" through many possible combinations of such skills) AND any
of a wide range of suitable character and personality traits.

To focus on the latter: I would never want Google to hire somebody, no
matter how great a programmer they might be, who can accuse, for
example, Guido van Rossum, of having a "long history of backstabbing",
without any substantial data to back up the accusation, just to vent
their frustration at their personal situation. You DID say that Google
hires ONLY people with long histories of backstabbing, and by the very
definition of the word "ONLY" this means you are accusing me, Guido,
Greg, etc, etc, of having "long histories of backstabbing" -- and after
hurling such insults, and providing NO specific data to support them,
you're hallucinating that you can now switch "to talk about positive
things"?!

One reason I'm so happy we've hired Guido is that, in addition to his
technical excellence, he's just a great guy, wonderful to work with.
Technical excellence is a necessary but not sufficient quality: one ALSO
needs suitable combinations of character and personality, and Guido has
them, in spades. There is an enormous variation of personalities and
character traits at Google (we DO value diversity!), but they all have
in common the fact that they can combine into small, fluid teams which
become even more productive than "the sum of their parts", because
teammates LIKE AND RESPECT AND TRUST each other. I do not see how
somebody whose behavior included such unsubstantiated "backstabbing"
accusations could be productive in this way.


And, about the job-posting you liked better...:




To me, "meritocracy" and "elitism" are close to being synonyms, in most
contexts. "Meritocracy" is defined somewhere on the net as:
"""
A system of government whereby a particular standard of ability is used
as the basis by which political leadership is determined or accrues to
an existing elite.
"""
Note the connection with "elite", which in turn gives us "elitism". I
do like "meritocracy" because it specifically mentions *ability*, but of
course ability (including technical skill, which in turn is enhanced by
appropriate experience, AND 'softer' character/personality issues) is
what a successful firm bases its "elite" on (or tries to; if it fails,
and hires people bereft of sufficient ability, it won't prosper long).


Alex


That all been said. My recommandation: hire that man!

Jaap
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,779
Messages
2,569,606
Members
45,239
Latest member
Alex Young

Latest Threads

Top