Lollicake Recipe

1 packet crushed malt biscuits,
1/2 tin sweetened condensed milk,
1/2 cup chopped eskimo lollies,
4 oz butter, coconut.

Melt butter and condensed mlik. Add lollies and crushed biscuits. Mix together until combined. Roll into log shape. Sprinkle with coconut.

Double the recipe so you dont end up with half cans of stuff 🙂

The Name “Negro”

The Name “Negro”
W.E.B. DuBois
March 1928
Printer-Friendly Version

South Bend, IN

Dear Sir:

I am only a high school student in my Sophomore year, and have not the understanding of you college educated men. It seems to me that since THE CRISIS is the Official Organ of the National Association for the Advancement of Colored People which stand for equality for all Americans, why would it designate and segregate us as “Negroes,” and not as “Americans.”

The most piercing thing that hurts me in this February CRISIS, which forced me to write, was the notice that called the natives of Africa, “Negroes,” instead of calling them “Africans,” or “natives.”

The word “Negro,” or “nigger,” is a white man’s word to make us feel inferior. I hope to be a worker for my race, that is why I wrote this letter. I hope that by the time I become a man, that this word, “Negro,” will be abolished.

Roland A. Barton

My dear Roland:

Do not at the outset of your career make the all too common error of mistaking names for things. Names are only conventional signs for identifying things. Things are the reality that counts. If a thing is despised, either because of ignorance or because it is despicable, you will not alter matters by changing its name. If men despise Negroes, they will not despise them less if Negroes are called “colored” or “Afro-Americans.”

Moreover, you cannot change the name of a thing at will. Names are not merely matters of though and reason; they are growths and habits. As long as the majority of men mean black and brown folk when they say “Negro,” so long will Negro be the name of folks brown and black. And neither anger nor wailing nor tears can or will change the name until the name-habit changes.

But why seek to change the name? “Negro” is a fine word. Etymologically and phonetically it is much better and more logical than “African” or “colored” or any of the various hyphenated circumlocutions. Of course, it is not “historically” accurate. No name ever was more historically accurate: neither “English,” “French,” “German,” “White,” “Jew,” Nordic” nor “Anglo-Saxon.” They were all at first nicknames, misnomers, accidents, grown eventually to conventional habits and achieving accuracy because, and simply because, wide and continued usage rendered them accurate. In this sense, “Negro” is quite as accurate, quite as old and quite as definite as any name of any great group of people.

Suppose now we could change the name. Suppose we arose tomorrow morning and lo! Instead of being “Negroes,” all the world called us “Cheiropolidi,” – do you really think this would make a vast and momentous difference to you and to me? Would the Negro problem be suddenly and eternally settled? Would you be any less ashamed of being descended from a black man, or would your schoolmates fell any less superior to you? The feeling of inferiority is in you, not in any name. The name merely evokes what is already there. Exorcise the hateful complex and no name can ever make you hang your head.

Or, on the other hand, suppose that we slip out of the whole thing by calling ourselves “Americans.” But in that case, what word shall we use when we want to talk about those descendants of dark slaves who are largely excluded still from full American citizenship and from complete social privilege with the white folk? Here is Something that we want to talk about; that we do talk about; that we Negroes could not live without talking about. In that case, we need a name for it, do we not? In order to talk logically and easily and be understood. If you do not believe in the necessity of such a name, watch the antics of a colored newspaper which has determined in a fit of New Year’s Resolutions not to use the word “Negro”!

And then too, without the word that mans Us, where are all those whose spiritual ideals, those inner bonds, those group ideals and forward strivings of this might army of 12 millions? Shall we abolish there with the abolition of a name? Do we want to abolish them? Of course we do not. They are our most precious heritage.

Historically, of course, your dislike of the word Negro is easily explained: “Negroes” among your grandfathers meant black folk; “Colored” people were mulattoes. The mulattoes hated and despised the blacks and were insulted if called “Negroes.” But we are not insulted – not you and I. We are quite as proud of our black ancestors as of our white. And perhaps a little prouder. What hurts us is the mere memory that any man of Negro descent was ever so cowardly as to despise any part of his own blood.

Your real work, my dear young man, does not lie with names. It is not a matter of changing them, losing them, or forgetting them. Names are nothing but little guideposts along the Way. The Way would be there and just be as hard and just as long if there were no guideposts,  but not quite as easily followed! Your real work as a Negro lies in two directions: First, to let the world know what there is fine and genuine about the Negro race. And secondly, to see that there is nothing about that race which is worth contempt; your contempt, my contempt; or the contempt of the wide, wide world.

Get this then, Roland, and get it straight even if it pierces your soul: a Negro by any other name would be just as black and just as white; just as ashamed of himself and just as shamed by others, as today. It is not the name – it’s the Thing that counts. Come on, Kid, let’s go get the Thing!

PHP Code

General:
– code as if whoever maintains your code is a violent psychopath who knows where you live
– code in paragraphs, i.e. group related chunks and separate them by a new line
– indent style uses the K & R style
– columns 100 max, unless workaround (i.e. HTML) is needed
– The use of <?php ?> to delimit PHP code is encouraged, especially for core packages
– Using <? ?> is OK for main PHP files

File Format:
– use the UNIX file format, that is a LF character for end of lines
– make sure there is no whitespace after the last non whitespace character for every line

Comments:
– avoid // for comments in PHP
– comments should start with #
– /* */ style in PHP is OK for multiple lines
– when commenting out code lines add the comment character at the start of the line,
makes it easier to separate form normal comments,

Tabs:
– tab indent size should be set to 4
– tabs should be used for identing only NOT for alignment
– a tab character can only be used at the start of the before any non-whitespace character
– checkout the Smart Tabs vim plugin

function do_something() {
<TAB>$long_variable = foo($baz);
<TAB>$short = foo($bar);
^^^^^^^^^
space
}

Identifiers:
– abbreviations should be avoided, ie $session->initialise() not $session->init()
– common abbreviations are acceptable as long as they are used the same way throughout the project.

Vars:
– hungarian notation is to be avoided for scripting languages
– use all lower case letters separated with underscores, i.e. $first_name
– space on each sides of equal for assignment, i.e. $first_name = ‘John’;

Hashes & Associative Arrays:
– in Perl both $hash{key} and $hash{‘key’} are OK
– in PHP both $array[key] and $array[‘key’] are OK

Constants:
– all uppercase separated by underscores, eg SESSION_TIMEOUT
– in Perl use Readonly instead of constant
– for PHP constants related to a class, prefix with the name of the class they are used in.
for example, the constants used by the Benon_DB package should all begin with “Benon_DB_”.

Strings:
– avoid using double quotes unless necessary
– only simple variables are allowed in an interpolated string
– do not use hashes, arrays, ${var} expressions in interpolated strings

$var = ‘My String’;
$associative_array[‘key’];
$var = “…string… $some_var …more…’.$another_var.’_more stuff…’;
$var = “…string…’.$another_var.’_more stuff…’;
$sql = ‘INSERT INTO mytable (field) VALUES (‘.$db->quote($var).’)’;
$var = “My String\n”;

Control:
– one space on each side of the brackets

for ($i; $i < 10; $i++) {
# …
}

foreach ($arr as $k => $v) {
# …
}

while ($i < 10) {
# …
}

Tests:
– one space on each side of the brackets
– uncuddled elses: return line after a closing curly bracket
– only “if (…) do_something” in ONE line are allowed

if ($a == $b) {
# …
}
elsif ($a == 1) {
# …
}
else {
# …
}

Functions:
– use all lower case words separated by and underscore
– follow the verb/subject rule, ie get_this, do_something, is_ready
– use a space between the function/sub keyword and the identifier
– use arrays as arguments for public functions in core packages
– use PHPdoc http://manual.phpdoc.org

function print_name($first, $last) {
echo $var;
}

foo(‘John’, ‘Doe’);
foo(array(first => ‘John’, two => ‘Doe’));
foo(array(
first => ‘John’,
two => ‘Doe’
));

Classes:
– use CamelCase, i.e. SomeNamespace::SomePackage
– In PHP use an underscore to fake namespace separation, i.e. SomeNamespace_SomePackage
Hopefully one day PHP devs will get a clue and support namespaces 🙂
– For PHP constructors, use __construct not the name of the package
– abreviations are left uppercase, ie “DB” not “Db”, i.e. Benon_DB_Result

SQL:
– keywords all uppercase, ie SELECT FROM blah WHERE name = ‘Joe’;