A very nifty, somewhat trip-hop unpop band consisting, more or less, of Matt Mahaffey. Most of their music feels rather thrown together, but is nevertheless always impressively sonically creative. The thrown-together quality is in the end a good thing-- it feels free, like Matt is just doing whatever he feels like, and in the end when he tries he creates some of the most carefully sculpted music you've ever heard. He has thus far released three albums, the very-well-critically-received Subliminal Plastic Motives, the mail-order-only the Half-Baked Serenade, and the recent Breakfast with Girls. Self deserves way more attention than it gets-- it's unbelievably innovative stuff (the hidden track on Half-Baked Serenade was using drum n bass influences back before drum n bass was a word), and at the least interesting.

If you have the time, go to his website at spongebath records and download the the mp3 there of "kiddies". Do it. Just trust me on this.

Also, in Objective C, an omnipresent, messageable language-level variable always equivilent to a pointer to the object owning the method currently being run. (This is identical to the this reserved word in C++.) You are expected to call all methods in the current object with messages to self, as opposed to (as you usually see done in C++, but really shouldn't be doing anyway) directly calling the method locally.

Self is actually an argument passed by the hidden objc_msgSend() function. See Objective C Messaging.

See also super.

Python, meanwhile, rather than making the object running the current method a "hidden argument" and giving it a language-hardwired name, simply chooses to make it a normal argument-- a method's "owner" will always be automatically passed to it as its first object. Thus, whatever you name the first argument in a given method will be equivilent to self in ObjC or this in C++. By convention, most Python programmers will name this first argument self-- Guido Von Rossum, the creator of Python, names it "self" in all the sample code in the Python documentation, and most people just follow his example-- but the programmer can name the self-like argument anything at all that they like ("this", for example) and can even vary the name of the self-like argument from method to method.