Image via Wikipedia
As a musician and a software geek, let me tell you that mistakes must happen. The question isn't "am I going to make a mistake?" The question is "when I make my usual mistake, [how] will I recover gracefully?"
Thursday, June 25, 2009
On Mistakes
I am the love child of Daffy Duck and Goofy
First of all, if my life was made into a movie, I would spend the rest of my life attempting to destroy all extant copies of the movie. Too embarrassing.
Image via Wikipedia
If you could mix Daffy Duck, Donald Duck, and Goofy, that would be a pretty close character to me. Make him look like Porky Pig, and you got something there. The plot would be like the ol' Tom and Jerry cartoons: I tease and torment my wife at the beginning, and then I am pummeled and punished back all throughout the rest of the cartoon. My daughter would join in a bit, helping mommie put the silly man back in his place.Image via Wikipedia
My wife works (hard, very hard), and drives our daughter to & from summer day school 30 minutes away, and cooks up a storm 5 days a week. And she still found time to make me a big bowl of yummy oatmeal before I woke up. I always am amazed the distance between the life I deserve and the life I have. I would thank God, but I think She would prefer I work harder on myself to close the gap. Get on your knees to ask for help, and offer gratitude.Wednesday, June 24, 2009
Foot in Mouth disease: Everyone else's answer is much better than mine...
I am not a big fan of my nasty stinky mouth. I am that stereotypical nerd that blurts out sociopathic garbage. The only reason a few people still hang around me is that I take all criticism of myself seriously - I really try hard to give it a fair hearing, and if somebody has a beef with me, I am willing to meet them more than half-way to understand their viewpoint. Also, I much prefer open hostility to faked smarmy niceness - a fake smile really puts me on edge, and I can much better deal with somebody who openly hates me. Err, so I am just talking around the Plinky prompt... I am much better now that I am trying to build my self-esteem from an authentic place. Grouchiness can lead to "foot-in-mouth-disease" as well. Self-absorption leads to grouchiness.
Image via Wikipedia
I tell my daughter to think once, think twice, think three times before saying something that isn't a compliment to somebody. And if you cannot say anything nice, then don't say anything at all. My daughter rightly thinks: "Do as I say, not as I do" And Steven Covey talks about being loyal to those not present - don't ever talk about anyone behind their back.Image via Wikipedia
If it is any consolation to those I may have offended - my wife can really lay into me if I say the slightest thing from the corner of my stinky mouth, about her. Instant Karma - Yeeouch...Monday, June 22, 2009
Why "We Three Kings" make me cry? Never been beat up by Wise Man or Camel!
Image via Wikipedia
I am not 100% sure about these song selections. I am in a very different place now than I was even 2 years ago. My emotions are all focused on making my everyday life match my highest aspirations, so I have very little emotional energy left for where music can take me emotionally. During the dark times of my life, the music I listened to was too self-absorbed, and I threw them all away a long time ago, because I just couldn't risk wasting any more time.This song is the only one that can make me cry. I have no idea why. I don't have any strong sad feelings about Christmas or Christmas music. Must be the melody. If I had some musical ability, I could state what it was unique about that melody.
There Is A Light That Never Goes Out by Smiths
I don't cry, but I do feel very melancholy. The first quarter century of my life was quite lonely - I had things to share, but I hadn't yet processed that I was on a unsustainable self-destructive path when it came to my relation to the outside world. There is nothing like *almost* hitting rock bottom to change self-destructive behaviors. I still have some unsustainable self-destructive behaviors, but I traded up to a better set of garbage behaviors, and I am self-aware and working on them daily.
Image by Victor V via Flickr
This song captures a feeling of self-imposed isolation.
Brian Wilson by Barenaked Ladies
Again, no waterworks, but a feeling of melancholy. Again, a song about isolation. My isolation was profound during my collage years. I desperately wanted help. But my foolish pride kept me from examining my personal faults. I was playing an elaborate game to preserve my self-esteem, even though that self-esteem was fraudulent, and destructive. Bleh..
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Brian Wilson via last.fm
Lying in bed, just like Brian Wilson did...Thursday, June 18, 2009
Teeth falling out in my dreams
I cannot muster the effort to remember my dreams, but I can tell you some recurring themes and snippets:
Image via Wikipedia
Teeth feeling loose or falling out, or having to pull them out. I hate this one. My mind must be telling me to floss more often.~~~~~~~~~~
~~~~~~~~~~
~~~~~~~~~~
Image via Wikipedia
High school friends, going back to high school because failed one credit, going back to college because failed one credit. Annoying. I am always optimistic that I will be able to handle myself better, knowing what I know now, I guess that is good.[Check out this cool high school plaque from Korea!] I have a lot of dreams where I have to control a car from the back seat (somehow working the steering wheel from back there, or quickly maneuvering into the drivers seat). Or driving, but instead of the normal view out the front windshield, for some strange reason I can see my own car, far ahead of myself, and I have to control it much like a remote control car, from a long distance, and with great difficulty.
My dreams feel a lot like my life: overcomplicated by my attempts to cope with my own run-away anxiety. I hate it. The situations are so complicated, I must admit they are quite interesting. Sometimes I look forward to sleep just so that I can ruminate over the peculiar situations I experienced in my dreams when I finally wake up.
Image via Wikipedia
Heh, there comes a time when you finally out-grow scary movies, because, compared to the pressures of your grown-up life, being chased by a serial killer or monster would be the most relaxing thing to happen in a long time. That realization is why I don't have nightmares like that, like I did when I was a kid. Being tortured by a serial killer would be a nice break from things exploding at work, and my lovely wife lowering the boom when I screw up at home.Wednesday, June 17, 2009
My sixth grade daughter is already smarter than I am... but here goes...
Image via Wikipedia
I wonder what would happen if the Plinky server droids broke into my house, and questioned my daughter directly about how good, or how lame, her old dad is when it comes to giving life lessons. Robotic metallic Plinky server droids, eight feet tall, menacing over our dining room table, where we work on school's homework every week-night, asking my daughter about her estimation of my parental skills. I may end up getting zapped on the butt with a laser gun, because I run off my fool mouth. (I have caught my daughter rolling her eyes more than once...)Problem SolvingOne thing I suffered from as a kid was "learned helplessness". I just saw, too soon and too often, why my problems were completely hopeless. So when my daughter senses a problem, I try to just calmly talk her through some viewpoints where she, herself, can see the logical first steps to solving the problem. Does it help her? My wife and my daughter are strong women, so their complaining about a situation is usually an attempt at initial stress release, before they roll up their sleeves and dive in to solve the problem themselves. So I wouldn't be surprised if my daughter said I just run my mouth. She would not be the first to so accuse me.
Getting Along with PeopleThe social skill of meeting people, not half-way, but *MORE* than half-way. And getting a friend by *being* a friend. My daughter just points out how I don't seem to have too many friends. (Hmm, she has got a point there...)
Hard work counts more than smartsI had a little bit too easy a time when it came to schooling. A casual observer might mistake me for somebody with brains. But anyway you slice it, you can find a lot of failures that are long on brains and short on hard work. And if you think you have met a successful man who didn't have to work hard, just wait, the situation will soon reverse itself. My daughter points out that for somebody who claims to see the value of hard work, I do a pretty tiny amount of it. (Grr...) She has got the brains, and the hard work, already, so I am confident she will go far.
People with a sense of entitlement never go farI am not sure I have ever said this to my daughter. I repeat it to myself, over and over, but I don't think I have ever had reason to say it to her.
KISS: Keep It Simple, StupidUh, I have never said this to my daughter. My wife says it to me, repeatedly. My daughter has picked it up from my negative example. (Sigh...) I complicate everything I touch, to the point that simple tasks get so complicated I have to abandon them in despair. This Plinky prompt is getting more depressing...
Always be improving your morals and integrityI talk out loud to my daughter on this, about my own challenges, because I know that I have to actively work on improving my morals and integrity. I guess that is a pretty good way to express this, by honestly and openly working on this yourself, as a parent.
Image by NJLA: New Jersey Library Association via Flickr
Neatness in homework countsI will stop here, because, at last, I have arrived at something where my daughter still has a way to go. Messy, messy writing. Her problem is that she can get good results just rushing and powering through the homework, but I hope she can learn to take time, because the care will pay off.
StratPlayer on "Self-Reliance"
Jess said:Loudon Wainwright III via last.fm
Years ago a singer song writer named Loudon Wainwright III wrote this lyric: My father thinks I’m no good for nothing I’ll never amount to much But he doesn’t know my secret weapon I can count on myself in the clutchImage via Wikipedia
My first wife always looked for someone else to see her through the tough times. All of my children grew up with that ethic. They have been in trouble all their lives.
There's a song by The Hives where they say "You get what's given to you", and it's about the kind of people who blame everyone else for their problems and have this sense of entitlement they present to the world. My mother is like that. I hope it didn't spread.My comment:
Image by L Lemos via Flickr
The scariest, for me, is when I know darn well nobody is coming to my rescue, but I still act like I can goof off today, because tomorrow something will take my problems away. I have to work really hard to internalize the idea that nobody is coming to my rescue, ever. But I better not overdue my worry, half of "count on myself in the clutch" is not blaming anyone else. If it was easy it would hardly be worth doing.Tuesday, June 16, 2009
Tod Browning's "Freaks"
Image via Wikipedia
A friend on Plinky, StratPlayer, wrote a post on the examination of human cruelty that is Tod Browning's "Freaks". Written poetically:This isn’t a goodie, it’s a diatribe a harangue on mans inhumanity to man. It is as inhumane as any genocide or nuclear device. All the same well done.My comment: I'm not 100% in agreement. I hear what you are saying about cruelty, but there are two sides to the coin. Some carnival freaks appreciated their lifestyle. In the modern politically correct world, people with profound physical disfigurements are now supposed to stoically and noiselessly blend into the walls - is it dignity or is it facilitating being ignored?.
Image via Wikipedia
I hate the concept of "you must be a silent humorless sexless sinless quiet noble potted plant, so we can feel virtuous about pitying you for a few moments, before we completely forget and ignore you". If I was a freak, I would work hard to be the best and most disturbing freak I could be. If I wasn't constantly being chased by villagers carrying torches, I would know I was underachieving.Monday, June 15, 2009
Dive Into Python 3 - httplib2
Image via Wikipedia
People are so terrified to learn a new library, because of a lack of unallocated healthy plastic brain neurons, and because they are terrified of their meagre mental gifts being so publicly obvious, that they have to publicly use all the the odious tools of the Art of Controversy to denigrate it. "EasyInstall" and "Eggs" in Python seem to suffer the worst from this - EasyInstall is hardly perfect, but it helps smart people with tricky Python packaging problems, and it will certainly play a part, in some future incarnation, to the issue of Python packaging for all who wish to do it well. Because of that, and because of Python programmers with a lack of unallocated healthy plastic brain neurons who are terrified of theirImage via Wikipedia
meagre mental gifts being so publicly obvious, you get a lot of trash talk and irrational criticism of the "EasyInstall" library. (Phillip Eby's personality is no help here, and I am hardly his best apologist for his personality defects, but the man does some good work.) The Reddit comments of Mark Pilgrim's "httplib2" write-up is the nittiest of nit-picking, and conflating of pertinent issues. Some idiot was trying to argue that local disc caching is sometimes higher latency than caching on a local network call. I guess some weird local network with a massive RAM cache and only a single workstation user. Dumb stuff. Then some idiot complained that httplib2 does too many "correct" things by default, and it was interfering with him writing a mobile device application, badly.Image via Wikipedia
All you can do is call it like you see it, and hope the silent crowd of competent developers recognize the garbage comments for what it is. And maintain healthy brain tissues.Run a lingerie shop while blushing, stammering, hiding from wife
LINGERIE 2009 085
Having a store is difficult, in any economy, because of the fixed expenses, especially rent. That is why the Apple store is so impressive. I admire Steve Jobs for pulling it off. Took my daughter there to buy a colorful case for her iPod Touch, and the store was packed, and people seemed happy and employees where easy to find. I searched around for a extended battery for her iPod, and she planted herself in front of a workstation running a kid's game. Very well run store. The other stores we visited at the mall just didn't seem to have the same amount of product being moved. It is all about Gettin' Paid, Baby!
If I had a store, it would have to be a labor of love, where even if I wasn't moving tons of product, the store would be full of enthusiasts, which is nice. Maybe a knife and cutlery store, where I also do reasonably priced sharpening, while patrons wait. The mechanics of a properly sharpened knife or cutting tool are interesting, and sharp knifes are less dangerous than dull knives, because a dull blade leads to excessive force to cut leads to the knife slipping and stabbing leads to somebody getting really hurt. People instinctively treat a well sharpened knife carefully, as well. Maybe a very large selection of protective covers for all kinds of cutlery, so people could walk in with their nice cutlery, get it sharpened while they wait, and leave with a snug fitting protective cover, so their knives stay sharp and safe in the drawer. And they would also walk out with new cooking utensils, because they browse while they wait.
My wife always talks about opening a restaurant. She is a very fine cook, of many different types of food, of many different types of cuisine, and instinctively knows how to cook efficiently so that the courses of food get in front of the patrons at the right time. But if any customer complains, she will cleave their head open with a butcher's knife. (My baby is a little sensitive to criticism.) Probably best to serve from a open window on the side of a building, so people take their yummy food and split, or otherwise focus on take-out. Reduce the chances of homicide of complaining customers.
Friday, June 12, 2009
Jp Calderone knows how to override __eq__. Do you?
Image via Wikipedia
How to override comparison operators in Python Jp Calderone goes into much more detail than just how to write proper "__eq__" and "__ne__" methods for your own Python classes, but it is surprising how well hidden the details for correctly implementing "__eq__" and "__ne__" are. I believe the issue is less critical in Python3, because it does the correct thing when only "__eq__" is implemented. Here is the sample code:class A(object): def __init__(self, foo): self.foo = foo def __eq__(self, other): if isinstance(other, A): return self.foo == other.foo return NotImplemented def __ne__(self, other): result = self.__eq__(other) if result is NotImplemented: return result return not resultIf you want an immutable object that can be used as a dictionary key, you will want to implement "__hash__", along with "__eq__" and "__ne__". If you are implementing inequality comparisons - Be Careful - supply the full complement of inequality comparisons and take care when using "NotImplemented". The default implementations of "less-than __lt__" "less-than-or-equals __le__" "greater-than __gt__" "greater-than-or-equals __ge__" aren’t very useful - they compare by address using id(). This default inequality comparison can introduce intermittent bugs in your comparison code. If there is no meaningful comparison between different types or classes, raise a TypeError, so there is no risk of falling back on the terrible default inequality comparison implementation. This problem will be fixed in Python3. The fastest and most complete solution is this code from Raymond Hettinger - Python Cookbook recipe 576685: Total ordering class decorator.
def total_ordering(cls): 'Class decorator that fills-in missing ordering methods' convert = { '__lt__': [('__gt__', lambda self, other: other < self), ('__le__', lambda self, other: not other < self), ('__ge__', lambda self, other: not self < other)], '__le__': [('__ge__', lambda self, other: other <= self), ('__lt__', lambda self, other: not other <= self), ('__gt__', lambda self, other: not self <= other)], '__gt__': [('__lt__', lambda self, other: other > self), ('__ge__', lambda self, other: not other > self), ('__le__', lambda self, other: not self > other)], '__ge__': [('__le__', lambda self, other: other >= self), ('__gt__', lambda self, other: not other >= self), ('__lt__', lambda self, other: not self >= other)] } roots = set(dir(cls)) & set(convert) assert roots, 'must define at least one ordering operation: < > <= >=' root = max(roots) # prefer __lt __ to __le__ to __gt__ to __ge__ for opname, opfunc in convert[root]: if opname not in roots: opfunc.__name__ = opname opfunc.__doc__ = getattr(int, opname).__doc__ setattr(cls, opname, opfunc) return clsFor a lower tech solution, consider using this Mixin class for inequality comparison special methods [from Fuzzyman: http://www.voidspace.org.uk/python/articles/comparison.shtml]
class RichComparisonMixin(object): def __eq__(self, other): raise NotImplementedError("Equality not implemented") def __lt__(self, other): raise NotImplementedError("Less than not implemented") def __ne__(self, other): return not self.__eq__(other) def __gt__(self, other): return not (self.__lt__(other) or self.__eq__(other)) def __le__(self, other): return self.__eq__(other) or self.__lt__(other) def __ge__(self, other): return not self.__lt__(other)
Image via Wikipedia
[Aside & Plug] Let me take this opportunity to give a plug to the book IronPython in Action, by Michael Foord (Fuzzyman) and Christian Muirhead. The publisher, Manning, has a great service to Python Programmers on the book's website:Image by Michael Foord via Flickr
Python Magic Methods I was a little disappointed (and surprised) that this great Python magic methods reference didn't give more tips about "__eq__" and "__ne__". But, otherwise, this is all great material and this is all new material, not just a re-hash of the original on-line Python docs. The best summary I have seen; even better than Alex Martelli's Python in a Nutshell.Wednesday, June 10, 2009
[Public Service Message] Jury Nullification: Please inform yourself about this fundamental right
[Public Service Message] Jury Nullification: Please inform yourself about this fundamental right
First a public service message... Please inform yourself of the right of Jury Nullification. This is a fundamental right you posses as a juror, that doesn't get a lot said about it. If the law is unjust, you have the right to acquit - to say "Not Guilty" - even in the face of the defendant's violation of the letter of the law.
Image via Wikipedia
You can read more about Jury Nullification here: http://www.law.umkc.edu/faculty/projects/ftrials/zenger/nullification.htmlt http://en.wikipedia.org/wiki/Jury_nullification I will not lie - exercising your right to Jury Nullification takes guts. I have never yet practiced jury nullification. In my jury duty career I have only had the guts to admit to the prosecuting attorney during jury selection that I could not find any defendant guilty of a drug offense, even if the defendant was a drug dealer (which was the nature of this trial). I was excused, and all I did was make the jury selection for this particular drug trial slightly harder to complete. I felt a little conspicuous back in the juror duty waiting room, when I returned, because the majority of people in my area are very conservative, and I don't welcome people pointing at me behind my back. But in the end, I felt not too bad, because through the whole process I was simply being completely truthful. If I was a twelfth juror, I am not sure I would have the guts to be the lone holdout and have the wholImage via Wikipedia
e weight of the trial proceedings on my shoulders. So, what I did was a compromise, by being truthful to the prosecuting attorney during jury selection. But no matter what your personal values, it is important to not throw away your right to Jury Nullification, without some consideration first. After consideration, you can proceed as you see fit. OK, done with the public service message...The book I would take if I had jury duty today would be Judea Pearl's _Causality: Models, Reasoning, and Inference_, because I have to review the book again (and review the notes I wrote in the margins in my own copy). It is a very difficult book - I was only able to read about six pages a day. The book is about Causality -- effect following cause. We take the concept for granted, but it has been on shaky ground since David Hume in the 18th century. But now, because of researchers like Judea Pearl, it is on solid footing. Here is the 5 minute summary: Write down all the possible causes and effects on a piece of paper - we will call these "points". Draw arrows from things you think are direct causes to the things you think are direct effects. Now you will have a bunch of "points" and "arrows" between those points. Look for loops - search for any "loops" that can be made by tracing your finger from point to point, always tracing your finger from arrow tail to arrow head. Are there zero loops? If so - good! - you have a description of causality, and you can use this diagram to understand the casual effects and interactions. Now, how can you tell if your diagram is, in fact, representative of the real world? Well, on the points of the graph, there is a "DO operation" linked with a manipulation you can do in the real world. Manipulations can be like fixing different variables in a scientific experiment, or like making a careful experiment that isolates the object of interest from anything that might mess things up. Consider these points: (A) Lawn Sprinkler near sidewalk; (B) Rain cloud over sidewalk; (C) wetness of sidewalk; (D) slipperiness of sidewalk; (E) number of people falling on slippery sidewalk Consider these arrows: (A -> C); (B -> C); (C -> D -> E) Draw it, run finger over graph, cannot find any loops - good! - ready to begin. We will try the DO operation on (C). On the graph, I just set "wetness" to "very wet" or "very dry" or whatever, and make a prediction. In the real world, I can either water down the sidewalk with a garden hose, or shield the sidewalk from the sprinklers with a tarp and shield from rain with a canopy and dry the sidewalk with a towel then a hairdryer. If the predictions match between the graph and number of people falling on the slippery sidewalk, I feel good that I have a graph representative of the real world. (This is a dumb example, because humans can handle the casual analysis of this situation with no problem. It only gets interesting as the graph gets more complicated.) Check the book out of your nearest university library (there is a 2nd edition coming out soon, but I wouldn't worry about it - no major revisions). Read only the last chapter, which is the text and slides from an informal lecture Judea Pearl gave. It is enough. The rest of the book is very difficult, or at least it was for me. I will probably have to read it two or three more times, on top of already reading it once carefully, to fully understand everything developed. My copy is heavily marked up, and I think I made a lot of mistakes, because I needed to think through it all more. So you probably don't want to borrow my marked up copy (not that I would actually lend it to you - the guy who lends out my books is sick today :P )