Month: July 2008

  • [short] Writing Assignment #5

    This is probably too long but oh well close enough.

    Assignment #5: Write a great first half page.

    “You promised.”

    He could hear her voice as he lay
    there with the desert sands burning their way into his wounds. The IED must have
    taken most of him with it. He was surprised he was still conscious. He was so close he should have died instantly. He
    wanted to die now.

    Talia had been insistent though. Just
    before he had left for the war she had gripped him tightly all of a sudden. And she just looked at him her face terrified and
    unwilling to let him go. She’d said it then the words that stayed
    with him even now.

    “Promise me. No matter what happens.
    You won’t give up.”

    That’s what she’d said. He’d laughed
    at her.

    “What are you talking about? When
    have you ever known me to give up.”

    “No!” She cried out with such
    intensity that it had shocked him into silence.

    “Promise me.”  What could he say to that?

    “I promise.”

    Relief seemed to flood into her like a
    torrent and her death grip had loosened.

    “Good.” she whispered over and over again. “good…”

    “Umm? You’re not making any
    sense Talia.”

    She’d shrugged and then just hugged him tightly. Her mysterious gray eyes looked up into his.

    “Now I know you’ll come back to me.”

    But you lied,
    Talia.
    He knew he wasn’t going
    to make it out of this alive. He didn’t even want to. Even if the
    Doctors managed to patch him up somehow he’d be less than half a man.
    And the pain was excruciating. More than anything he just wanted to
    give up.

    “But
    you promised.”

    He
    heard the words in his heart so he kept fighting to take another
    breathe for his heart to beat just one more time. It was crazy but he did
    it. Waiting. But still nobody came for him. Everyone probably assumed
    he was already dead.

    But
    it was because he didn’t give up, just as she asked, that he was still alive when the
    dark shadows came slithering across the sands to claim him as one
    of their own.

  • [short] Writing Assignment #4

    I’m falling behind on my assignments! I better catch up before I fail…

    Class is already in session, but you can still join the fun! ^_^

    Assignment #4: Write a second great line.

    When he finally found her she lay dying but that turned out to be just the beginning of her story and the end of his.

  • Programmer’s Conceit [Rant]

    One
    of the things that makes me hate programming besides the fact that it
    is boring and tedious and rarely accomplishes anything meaningful in
    the world is the fact that all of you SUCK at it.  And by you I mean
    anyone who is not as brilliant a programming genius as me.

    I
    know a lot of you aren’t programmers. That doesn’t matter. You’re still
    a sucky programmer. The day you start programming you will suck at it.
    It’s just a fact of life I have concluded from dealing with many many
    many programmers over the years. I’ll even explain to you why you suck.
    That’s the purpose of this essay. And I promise I’ll try to make it so understandable that even sucky programmers who have never programmed in their
    entire lives can understand.

    I also haven’t
    slept much. So I won’t be my usual pleasant self.  That’s good cuz this
    is Rant day and this is a Rant post. Maybe I will not sleep every
    Tuesday night so that my rants can be all that much more fun for
    everyone.

    There is a lot of evidence that
    you suck at programming. I keep finding evidence everywhere I look. I
    see some piece of software and the design is so mind numbingly stupid I just want to hurt someone.
    And it invariably means more work for me. Almost always more work for
    me. Why me? Because I don’t suck at programming. Sure there’s lots of
    stuff I don’t know, but I don’t suck. Or at least I suck a lot less
    than most of you. Of course I despise doing this work. For as I go into
    it I find more and more sucky programming. And you should see the
    bluging vain on the top of my head as I deal with this kind of hting.
    It makes me want to kick someone so bad.

    Let me give you just three examples of programmer’s folly that have annoyed me of late.

    Example 1:

    Example
    one wasn’t even something I personally was involved in. Rather I was
    perusing a famous website of a fairly popular product. This website had
    various versions of its product based on language. And each page for
    each different language was pretty much identical except that the
    language names were different.

    And here’s the thing I went to one page for “Japanese” and in several places in the text it said “Spanish”. WTF!

    Now
    this bothers me for sooo many reasons. Let me just say a few.  First
    off, this is a public website for a popular product! Where the heck was
    the Quality Assurance? Somebody should have caught that!

    Secondly,
    this almost certainly means basically that every single nearly
    identical page on that system is a copy and paste job of another page.
    Ugh! What unnecessary redundancy! Why can’t they use one of a gazillion
    templating toolkits out there? Why can’t they put the text in a
    database or a separate file and write a script to pull it out and make
    necessary variable replacements?

    Thirdly,
    even if they don’t want to get that fancy and consolidate all their
    pages with the same text so that you only have to update it in one
    place, why the heck don’t they use a damned variable! I mean there’s no reason
    why the wrong word should appear in some places and not in others. Have
    a variable and set it and use that variable everywhere. It’s trivial to
    do.



    All of this is so exemplary of a fault I see sooo often in so many programming
    project.  Just sheer laziness. And an incomprehension of the value of
    VARIABLES!

    Now some of you, trained as you are in the art of being a sucky programmer, might be thinking one of two things:
    1.  It’s faster to have the duplicated pages
    2.  It’s more secure to have duplicated pages

    And
    you know what? Those are ALWAYS the excuse arrogant programmers use to
    excuse their shoddy programming practices.   But sooo very often these
    excuses are invalid. People make concessions for the sake of security
    without first identifying or analyzing the problem at hand. Often the
    tools that exist have *already* been designed to solve that very
    security or speed issue that is worrying you.  The people designing
    large scale programming languages and toolkits are not dumb. Chances
    are these concerns are not as big an issue as you think. Often the
    hardware you are running on is more than capable of dealing
    with the speed and you are at best buying yourself microseconds. 



    All this means is that as general rule you are much better off doing it the RIGHT way first and then when you identify a problem going BACK and altering your system to account for that.

    Furthermore
    in this particular case you can get the exact same perceived benefit
    from duplicated pages while STILL implementing a more sane less error
    prone system. It’s not hard. If the pages are all going to be the same
    except for some textual substitution write a script that takes some
    template page and then CREATES a bunch of copies of that page with text
    correctly substituted and posts those new script generated pages to the
    server. Now the customer sees supposedly secure and fast plain text
    pages but from a maintenance perspective you only have to edit one
    thing and it’s really easy to add new languages.

    You’d
    be surprised how often there is an easy solution like this that nobody
    has ever gotten around to implementing because programmers are lazy and
    not in the good Larry Wall way but in the sucky “I think I’m being lazy
    but in reality I’m creating way more work for myself” way.


    Example
    2: 

    This comes up for me in my jobs ALL the time. When I see it, it
    makes me want to rip someone’s guts out and feed it to them. The issue
    is poor database design.

    I can’t tell you how many times I’ve seen a database with some stupid table that has fields that look like this:
    blah1, blah2, blah3, blah4, blah5, blah6…… blah78353

    And
    each of the blah fields are in fact the same datatype, contain the same
    kind of data. And the numbers from 1 to 78353 or whatever are some sort
    of special code that distinguishes the values.

    And you know that table alone is not so bad but INVARIABLY you find a little later there’s another table that looks like this:

    bleh1, bleh2, bleh3…. bleh78353

    And soon enough there are like a thousand tables like this!

    GAH!!!!

    Why!?!?

    Again
    people will site speed as their excuse and also add in a new fun excuse
    the good old “it’s easier” excuse.  Only it’s not of course. Some minor
    programs that are just selecting out the data are easier. But write
    anything of any level of complexity and it becomes a NIGHTMARE. 

    Of course the obvious way you are supposed to do this is to make one table that looks like this:

    code    blah    bleh   ….
    1
    2
    3

    78353



    Clean. Easy. Simple. Intuitive.



    And if that’s not *enough* of a reason to use this better structure
    consider a simple example. Let’s say you want to write  a script to
    update all the blah values based on some formula.



    If you use the first structure your code looks something like this:



    CASE @MyStupidVariable

        WHEN “BLAH1″  THEN

            UPDATE  dumbtable SET

                blah1 = @NewValue

         WHEN “BLAH2″ THEN

            UPDATE  dumbtable SET

                blah2 = @NewValue





    ETC. 



    I have only one word to say about this kind of coding:

    YUCK!!!!



    Trust me you will understand once you have to write this for 78353 entries.



    You do have another option though you can do something like



    FOR EACH $dumbvarvalue (@dumblistofvalues)

        $mydumbsqlstring = “UPDATE dumbtable SET blah” . $dumbvarvalue  . ” = ?”;

        execute $mydumbsqlstring, @NewValue

    ENDFOR



    What’s wrong with that you ask?



    Well besides the fact that it fundamentally offends my aesthetic
    sensibilities, is exactly the same thing as the above underneath, and
    is slow, there’s also the fact that you are concatenating strings with
    variables!



    Don’t do that!



    Really, it’s bad news. I know everybody does it. I’ve done it. I’ve
    made awesome code that way. But I’m warning you now. It’s bad bad news.



    You see one day someone will do something totally unexpected and find a
    way to set $dumbvarvalue to something you wholly never expected and
    it’ll be something like this:



    “1=1; –

    STEAL ALL YOUR MONEY;

    DELETE ALL YOUR DATA;

    #YOU SUX0RZ

    #I AM L33T”



    And yeah most systems should give you a syntax error when some crazy
    string like this is piped in. But someone will find a way to trick you. To put something you didn’t think to check in.
    And then  guess what? They’ll have all your money, have deleted all your data, and
    told you the absolute truth about yourself: that you sux0rz. This won’t feel good. It’ll feel especially bad
    when you find out it was done by a 10 year old kid from a third world
    country who does all his programming on his specially supped up
    Nintendo DS.



    Have this happen to you once and I promise you you will avoid string concatenation like it’s the plague.



    All of this could of course be solved if you just designed your tables using the alternative method I described above.



    In FACT you can probably do something like this:



    UPDATE smarttable

        SET blah = (some formula in terms of code)



    And that will update EVERY entry in your table to the correct value in
    one trivially easy to maintain line. And it’ll be fast and efficient
    and clean and just make you feel all warm and fuzzy inside.



    Suddenly you’ll realize maybe all those academic boneheads who ramble
    on about the importance of “Normalization” might have actually known
    what the heck they were talking about!



    Oh for the non-programmers out there wondering what “normalization”
    means, it’s just a big fancy way of saying “designed in a manner that
    makes common sense”. And there’s like mathematicians who have fun
    proving that certain database designs make sense to various degrees of making sense. But you don’t need to care about that. Generally if some design makes more sense to you than another, it’s probably the more normalized design. 99 times out of a 100.



    This is just one example, but there are tons of examples of poor
    database design I could site. And I see them all the time. And I don’t
    get it. This is not a particularly creative idea. I think that people
    just wrote a quick table when they only had “blah1″, “blah2″, and
    “blah3″  and then they just kept adding to it as they got more. Next
    they you know they had “blah78353″  and “bleh’s” and “blugh’s” and all
    the rest. All the long people were afraid to redesign for fear of
    breaking old code. And nobody ever stopped and said ENOUGH IS ENOUGH!



    But more often than not sucky programmers like you will stick your
    noses up at my structure and say “normalization is stupid” and call
    people who insist upon normalization “snobs” and talk about how much
    faster and more efficient your janky table structure is than if you
    wasted all your time normalizing it.



    And to some extent I sympathize. I HAVE seen other sucky programmers
    who get so obsessed with normalization that they lost track of the real
    life phenomenon they were trying to solve. And the results are ugly
    indeed.



    But for MOST situations you are likely to come involved in you are
    almost certainly not normalized ENOUGH.  That’s far far far more
    common.



    Unless you are starting with one of those tried and trusted
    denormalized patterns that big data warehouses you, you should almost
    certainly design your database first to be normalized see how it works
    and THEN alter it to make it make less sense whenever necessary in
    order for efficiency. The systems you are using are designed in
    accordance with database theory. Which means they are expecting you to
    normalize your data. Really they are. It’ll probably be faster than you
    think. And it’ll be easier to maintain too. 



    And even if it isn’t I mean what kind of a design process is that to
    say “I think this’ll be faster so I’ll do it this way”. You want to
    have a benchmark. You need to do analysis. You should prove your way,
    your suckier way, is in FACT faster, before you force that implementation upon others.





    Example 3:




    OK so really examples 1 and 2 don’t bother me all THAT much. I mean
    sure lots of programmers never learned database theory and some people
    I guess have a grudge against variables or something. Whatever. I don’t
    care. When you suck in these ways you are only hurting yourself. Well yourself and *me* since I’ll probably end up having to maintain and extend your code. But whatever. I’ll deal.



    But the big way in which you programmers really and truly suck is when you exercise what I call the PROGRAMMER’S CONCEIT.



    Consider this scenario.  You write your beautiful baby of a program.
    It’s awesome, you think! Oh man this is gonna be so great. You tested
    it perfectly.  There are no errors. It’s a work of art. A masterpiece. 




    So you put it out there.



    And then some damnable user comes to you and says something like: 



    “This system is really stupid. I can’t do X!”



    And then more complaints come in:



    “How do I do Y?”



    “What happened to my Z? In the last version I could do Z so easily! You screwed it all up!”



    At this point, and here’s why you suck, you get your back up. You get
    pissed off. You let your pride get in the way of your professionalism.
    And you make the cardinal crime of the programmer:



    You blame the USER




    And that’s cuz you suck. You’re conceited. You think you know better than the user. After all you MADE it!



    How could they be so stupid?
    You think:  I mean there’s
    instructions for how to do X right there! And only an idiot wouldn’t be
    able to figure out Y. And why on God’s green Earth would you want to do
    Z when you can do A, B, C, and D all of which are easier and better
    than doing Z.



    What’s
    wrong with people?



    And then you don’t change anything. You instead yell at the users. You tell them Look right there! Do it this way! You scream in frustration!



    And often you get sick of doing that so you say “Bah. Screw them all.
    Hey boss hire someone to educate the users. My time is too precious to
    be wasted on idiocy like this.”



    And your boss, being a gullible fool will probably do that. And make
    some poor tech support guy’s life a living hell since now that poor
    soul’s entire job will resolve around trying to tell users that they
    are being “stupid” in a polite and nice way without offending anyway.



    How very arrogant of you!



    You’re conceited. It’s the classical programmer’s conceit. I see it ALL the time. Everywhere. Every project I’ve been on.



    Guess what though? If your users don’t know how to use your system, it isn’t their fault! It’s yours!



    That’s your JOB.  If your users aren’t able to *use* your system you should get off your lazy ass and FIX it.

    Your goal is to please the users. It’s not their job to measure up to your expectations of how smart and observant they need to be.  If
    some feature is unintuitive to a number of the users, that’s your
    problem. It’s your fault. And it’s your RESPONSIBILITY. You have to
    make it better. You have to make it more intuitive or you have to find
    a way to educate and/or train the users through your software so that
    they are comfortable with it. So that it serves their purposes. You
    aren’t writing this whatever it is just for yourself you know!



    If you don’t? If you instead try to pass the buck or abrogate responsibility out of some conceited desire to prove how good a
    programmer you are? Well guess what? You aren’t a good programmer. In
    fact you SUCK. Give it up and go do something else. I’d rather have that ten year old with his Nintendo DS on my team than you.



    Now I’ve noticed a lot of organizations don’t even give programmers
    immediate user feedback anymore. Instead they have it go through a bunch of
    filters. People who do user studies and blah blah blah. I can only
    assume that this whole system came into existence because business
    people got sick of dealing with the fragile ego’s of conceited
    programmers who have become so bitter and jaded that they can no longer stand making contact with their own users.

    How terrible! This just perpetuates the whole system. Why coddle the conceited programmer and let them sit on their ivory throne thinking they know “the right” way to do everything? It should be exactly the opposite! Businesses should make programmers interact with their users more and more and more until they get past their egos and start to care about the people they are trying to build their product for.




    So yeah that’s about it. You all are terrible terrible programmers. You
    need serious help.  And I can’t solve all your problems but let me give
    you three little small pieces of advice that will make you thousands of
    times less sucky a programmer in the future:



    1.  Variables are your friend



    2.  Use Common Sense



    3.  Don’t be a dick



    The end.


  • a pointless entry

    Most of you subscribers are new here and most of my entries of late have been somewhat unusual for me. I should probably do some sort of re-introduction kind of post so you get to know me. But I don’t really feel like it. I should also finish my follow up to the post on blog replies. I don’t feel like that either. I should write another one of those writing assignments or maybe post my weekly rant. But I don’t feel like those things either. Or I should write something awesome and funny and cool. But guess what?

    I’ll just write something about what I’m feeling right now.

    I’m at work. It’s almost 1 AM and I’m at work sitting in my office. Why?  Well because for the last week I haven’t done shit for my job. And now I have to get caught up. What have I been doing with myself? Was I just wasting time?

    That’s the thing though. I didn’t feel like I was wasting my time. I was writing. And I was interacting with people on Xanga. And I was chatting with people. And I was spending time with and getting to know friends in real life too. I was helping people. And everything I was doing felt more valuable, more fulfilling, and more meaningful than what I was supposed to be doing. Which was stupid programming.

    Yes I’m just whining now. I get lazy sometimes. But I am capable of and willing to work hard. I better be since I’ve got to get this junk done by tomorrow. I just find this all so pointless.

    My boss loves his job. That’s why he’s a good and nice boss. All my good bosses were like that. They loved what they did. It fulfilled them. They wanted to spend time on it. Even their free time. It was not a struggle for them to work. It was a struggle for them *not* to work.  I’m not like that. Not with this.

    It doesn’t fulfill me. It never will.  It’s drivel.

    And yeah this is gonna sound really arrogant but I think I’m way better than this. I can and should be doing something more meaningful. What is the point of just getting by?

    But anyway yeah I get in this kind of a mood about once a week or so.

    Welcome to my blog.

  • [short] Writing Assignment #3

    This is writing assignment #3 from rianahntr‘s writing assignments. Want to try them yourself? Join the Writing Assignments Blog Ring!

    Assignment #3: Write a great first line.

    It was during his two thousand three hundred and eighty third life time that Yars Eleran finally gave up on the world.

  • [short] Writing Assignment #2

    This is writing assignment #2 from rianahntr‘s writing assignments. Try them yourself and/or offer feedback!

    Assignment #2: Tell a story in ten words.

    His last friend walked away. Then he bought a gun.

  • [short] Writing Assignment #1

    EDIT:  I started a Blog Ring for this: 
    Please join!
    Other Responses:

    For the next few days or so I’m going to be doing these writing assignments. I got the idea from my good friend rianahntr‘s blog.  I thought it was a wonderful idea but I never got around to starting them until now. But I’m going to do my best to work on them diligently for the next couple of weeks.

    If you like them, or the idea, please visit her and leave comments! She’s looking for feedback on her stories and ideas and suggestions for new stories. Plus they are fun and a great way to get the creative juices flowing for those of you writers out there. ^_^ So you should do them too! I’m told the way to do it is to make yourself do one every day or two.

    If you do do them let me know and I’ll link you here so that others can read your stories and perhaps you’ll get more feedback from one another. We can all discuss them. If it gets popular maybe we can start a blog ring or something. Xanga Creative Writing Class or Introduction to the Short Story or something like that.

    OK Here goes:

    Assignment #1: Tell a story in less than ten sentences.

    Natalia was old beyond her years. She’d
    lived more life in sixteen years than most people could in two life
    times. And now every experience she had reminded her of a moment from
    the past. Everyone and everything just seemed so sad and pathetic to
    her; so unworthy of her attention. She found she couldn’t relate to anyone anymore. So when the men in blue came for her
    and took her away she was not surprised at all. She’d seen it all
    before.

    Have Fun!

  • Re: Blog Replies: Follow Up Number 1

    This is a blog reply to my own blog replies entry! One of two I’m going to do. More specifically it’s a blog reply to 95% of the comments I received on that entry and like 95% of any additional responses I’m likely to get given the trends so far. In fact it probably works pretty well for any other featured entries I happen to have ever gotten or might ever receive in the future too.

    Warning: This entry is somewhat tongue in cheek. Please don’t be offended. ^_^

    1. Great Idea!

    For all of you who said this: Thanks! I’m glad you liked it.

    2. I hope Xanga implements this!

    Me too!

    3. They should pay you for this / Give you a job! / Give you gifts! / Shower you in riches!

    That’d be sweet! But I’m very humble. I don’t need much. Just ten million dollars would about do it I think. But I only accept payment in barrels of crude oil or solid gold bars.

    4. You got Featured!

    I know! Cool isn’t it? Now can somebody tell me how to get unfeatured!?!?!

    5. Suggest this to Xanga!

    Yup. That’s what I’m doing.

    6. I can’t read what you are writing.

    Oops. Sorry. Theme mishap. It’s fixed now.

    7.
    Xanga’s new features suck / I hate it when people disable comments /
    Xanga is for kids / Featured Questions are lame /  I hate contests /
    Xanga should have multiple protection lists / Xanga should have a bare
    bones version  / E-Props are useless / Xanga doesn’t like new features
    / Xanga loads too slow


    ummm… okay….

    8. It’s sort of like “video reply” on youtube right?



    9.  Weird responses. Examples:

    yea thats great… a sense of community… a wonderful thing based on the false assumption that the community is intelligent..”

    If I hear the phrase “blog reply” one more time today, I’ll fucking kill someone.”

    HUH!?!?!?

    10. Random Advertisement / Spam. Example:

    ENTER THE “SUMMER BOOTY” CONTEST!!!”

    Thanks so much for sharing! I’m sure everyone will rush over and do that.

    11. I want more comments!

    I’m Sorry. Maybe if we had blog replies you could use that to get more comments!

    12. You write too much!

    I know! Thanks! See my banner….

    13. Your grammar and spelling sucks!






    14. You suck!



  • In your opinion, what is the most desirable quality in a friend?

    Friendship Types

    I was looking through the responses to this question and it seemed to
    me that most of the answers were saying the same thing. It’s most
    commonly expressed as “loyalty”. We want a friend who is loyal to us,
    who listens to us, who stands by us in our times of need, who we can
    confide in and who we can trust with our secrets and our stories and
    our lives. Someone we feel like we can talk to and share with. Someone
    who will be around and available and will make time for us when we need
    them. In short a kind of confidante.



    But I was a little surprised by how many people describe some variation
    of “funny” as their top characteristic. That’s quite different isn’t
    it? Some say this in addition to the other but some name it alone.
    Other variations include”fun”, “exciting”, “comfortable”, etc. The idea
    seems to  be in these responses a desire to have a friend that you can
    “hang out” with. Someone you can talk causally with, BS with, play
    games with, and just enjoy your time together.



    So in these answers we can tell that a lot of us see a friend not so
    much as a confidante but as a companion. Some are concerned with having
    friends that they can enjoy spending time no matter the circumstances
    with and others are interesting in having friends they can rely upon in
    their times of need. That’s not to say that most people don’t want the
    other too in their friends, it’s just fascinating that there is such a
    divergence in terms of which of the two people consider *most*
    important.



    We can conclude then that there will be some people whom if their
    friend were to be disloyal to them it wouldn’t matter that much to
    them. I mean they’d be annoyed but they’d just drop that person as a
    friend and not think much of it. Because in their mind their friendship
    was mostly about hanging out together and having fun. They don’t care
    to get particularly close to their friends. They don’t need confidants
    and their friends are expendable.



    For others however a single divergence that suggests a misplaced trust
    would be a devastating ordeal. Their friends are not just “companions”
    but essential parts of their lives. Their friends are a part of the
    cornerstone of their mental stability so they depend on those friends
    to be loyal and true to them. They need their friends to be on their
    side. If a friend betrays that trust they will hate it and be enraged
    and/or deeply hurt.



    Oh what chaos is likely to ensue when these two types of people as
    often happens become close friends of each other! It’s almost certainly
    a disastrous outcome eh? The confidante friend would be trying to get
    the companion friend to confide in them which would surely annoy the
    companion friend.  The companion friend would seem to ignore the
    confidante friend and not care about his or her problems which would
    surely drive the confidante friend mad with annoyance.



    But people can get past those little things. No when things go really
    wrong is when a companion friend does something that violates the trust
    of the confidante friend not thinking that he or she is doing anything
    particularly wrong or exceptional. Take for example let’s say a
    companion friend moves away and just doesn’t see the confidante friend
    very often. Now the confidante friend would probably expect the
    companion friend to reach out to them, to call,  to email, to IM,
    to
    communicate, and to try and find times to spend together. In short the
    confidante friend would want signs that the companion friend is still
    loyal to their friendship. He or she would want to know that the
    companion friend still cares.



    But the companion friend? He or she is probably going to only do those
    things if it gives him or her a sense of companionship. Otherwise they
    are going to look for new friends in their new area to spend time with
    and they probably aren’t going to exert any special effort to stay in
    touch with the confidante friend. Why should they? It’s just a
    friendship after all. It’s not like they’re married or anything.  They
    would expect the friendship to pick up just like it was before if they
    met again. Of course the confidante friend will be deeply hurt and
    probably wont want to resume the friendship if they meet again. And
    that in turn the companion friend will find confusing and hurtful.



    Another example conflict is in terms of dealing with others. The
    companion friend probably won’t think much about talking about their
    friends with other friends or family, analyzing them, or even
    criticizing their friends to others behind their back or even directly
    to the confidante friend’s face.  All these things are precisely
    behaviors that the confident friend would find to be violations of
    their friendship. To them the point of having a friend is to have
    someone you can confide it and won’t judge you, won’t criticize you,
    won’t share your secrets with anyone without you having to ask them to
    be true.  If a confidante friend were to overhear a companion friend
    talking about them to someone else it would be devastating to the confidante friend. Like be stabbing in the gut.



    Interesting isn’t it?  Now we could say so OK maybe
    we should all just
    try to only make friends with friends of our own “type” then.
    Confidante friends with other confidante friends and companion friends
    with other companion friends. But I think that’s a cop out and it
    doesn’t really work because we all have a little of both kinds of
    friendship in us.  Sometimes you will forge a friendship that you see
    as a means of companionship or with someone that you aren’t ready to
    confide in yet and yet that person will see you as a close confidante.
    That might be what that person needs from you here and now. And vice
    versa.



    So what do you do?  How do we resolve these friendship differences?



    Sadly there is no easy answer. Everyone has to try their best to
    identify to the extent to which their friend sees you as a confidante
    or a companion and moderate their choices in accordance. If your friend
    is a confidante type try to keep that in mind and be loyal to them and
    hold their confidences inside. If your friend is a companion type try
    not to force too much of your life on them, and try to just relax and
    enjoy having fun with them in the here and now.



    OK now I’ll actually answer the question from my perspective. I’m
    definitely more of a confidante type than a companion type but still I
    think my answer to this question is an answer that spans both types.



    Actually there are two answers.  One someone else said that I thought was really good and almost would be my answer:  Respect. 



    Respect as an important quality for a friend allow someone who is a
    companion type to deal with the differences in a confidante type and
    vice versa. To respect the other person enough to do your best to try
    and be the kind of friend that person needs not just to try and get
    from that person the kind of friendship you want.



    Respect is a great answer and very close to the one I would give as the
    most desirable characteristic. My answer though the one that came most
    immediately to my mind is:  Acceptance.


    More than anything I want my friends to accept me the
    way I am. I’d
    forgive any slight or insult if someone would just accept me and all my
    idiosyncrasies. And that’s why  I don’t really care if my friends go
    away or even forget about me, but I find it really intolerable for
    someone to leave if I think they are doing it because they found some
    aspect of being my friend intolerable or unacceptable.



    And acceptance is another characteristic that I think can cross the
    type friendship types. A friend who “accepts” another friend has to
    accept that friend including their views and beliefs about friendship
    be it the desire for a companion or a confidante.
       

    I just answered this Featured Question, you can answer it too!

  • Lex Luthor: Dark Knight [Speech]

    The evening of the climax of the Dark Knight contest finally came. Luthor was there with his retinue looking a little pale from last night’s events but clearly ready for business. He was leaving nothing to chance. His security retinue was five times what it had been yesterday and they were all armed to the teeth with high tech state of the art weaponry from Luthorcorp.

    Luthor sat down in the place of honor the Mayor had positioned for him at Luthor’s special urging and observed the proceedings.

    On the stage there were a bevel of odd characters seeking out the title of XDK. Weird costumed freaks and other normal looking people too. It was quite the assortment. In one corner there were the superhero contingent including representatives from the Justice League.

    The crowd was made up mostly of Gotham’s citizenry all looking excitedly at the events ahead of them. The chief of police and the Commissioner were both there as well. And prosiding over it all was the Judge who would determine the fate of Xanga and Gotham:  Saintvi

    The Batman was nowhere to be found.

    Saintvi came forth and asked all contestants to make their case: “Let the XanArchy commence!”

    The first to speak up was one Temple Fugate. Much to Luthor’s pleasure, he spoke elegantly against the Batman rather than advancing any particular agenda.

    The44thHour:  “…his topics are a waste of time. His little brain teasers, his contests,
    his Xangan Spotlight; it would be much more efficient to do something
    more productive with your time.”

    Next up came Black Mask who further attacked the Batman.

    lyricsninja“He
    has the dregs of society following him. So I have created a little
    blogring to fight this… this… freak of nature who calls himself
    Legendairy.

    Luthor turned and spoke to his secretary.

    Nephyo: “Most excellent work. How much are we paying them?”

    Secretary: “Nothing sir. They volunteered to do it. They hate the Batman that much.”

    Nephyo: “Better and better.”

    A stream of other contestants came fourth and made their cases. Some argued that they deserved to be the Dark Knight, others argued for the Batman, and others argued against him. Each one was more pathetic than in Luthor’s estimation.

    Finally it came Luthor’s turn himself.  He casually sauntered up to the podium and gave the Speech that he was absolutely certain would change Gotham and Xanga forever.

    Nephyo:

    “You all know me. I’m Lex Luthor CEO and Founder of Luthorcorp the wealthiest company on the planet. My money has paid for your hospitals, your schools, your daycares, and paving the roads. Luthorcorp has funded hundreds of blogging sites across the Internet. You may know us better from the names of some of our chief brands:  Microsoft, Myspace, and AOL.  Here at Luthorcorp we aim only for the best.

    “Now I know a lot of you are going to be thinking: why should we select a new Dark Knight Protector when we already have Legendairy?

    “I’m here to tell you that your current Batman is a fraud and a farce! You cannot allow him to be the Dark Knight.  It would be a grave mistake and disastrous for the future of Gotham and Xanga.

    “I mean think about it! He goes around in that cap and mask, all cloaked in darkness! None of you knows who he is! None of you knows where he comes from! He could be a murderer. A child molestor. A rapist. And how woudl you know? Huh?

    “The Batman operates outside the laws. He’s corrupt. He could be stealing with you each time he supposedly “rescues” you and you’d be none the wiser! And how do you think Gotham got so bad huh? Who brought in those freaks like the Joker and the Penguin? Did they exist *before* you got your so called Batman? Even today. Here today. Look around you! Temple Fugate? The Black Mask?  Who do you think brought these denizens out of the darkness? It was none other than your precious Bat.

    “Now don’t get me wrong, I’m sure once upon a time the Batman was a good and productive member of your society.  But that time has passed. He’s become drunk off of his power. He’s seized the power even of his enemies! Have you noticed all the riddles he’s been telling lately? Do you remember that behavior from your Batman? No… it doesn’t sound like the Batman now does it… But it does sound like someone you know doesn’t it? That psychopathic Riddler doesn’t it!

    “The Batman seized the dark powers of the Riddler for himself! And who’s next? Why do you think he hosts those “Write Like”  contests huh? It’s undoubtedly part of some dastardly scheme to reveal the powers of all the Xangans so he can take them on himself.

    “No. The Batman may once hve been great. Perhaps once upon a time he deserved to be called the Dark Knight. But no longer. He’s become conceited. Arrogant. He self proclaims that he loves to hear himself speak and I don’t doubt it. And even look at the name he is calling himself these days: Legendairy? Oh please! What’s next? Emperor? God-like? Diety?  Is this the kind of man you want protecting you? Is it really?

    “Now undoubtedly today you will get a number of the Batman’s friends and allies telling you that he’s the Dark Knight and how much he deserves the title. But as you hear them present their cases I want you to ask yourselves this essential question: can you really trust them

    “These are the Batman’s friends. Already you’ve heard from one. This Talia person. Her father is a known criminal mastermind responsible for numerous atrocities. And she only supports him because of her twisted fascination with rebelling against her father. Undoubtedly most of the others are similarly shady personalities or else have been paid off by the Batman directly.

    “And as for the members of the Justice League well think about it. They sit up there in their space shuttle way out above you. And it’s a super weapon capable of annihilating whole cities. And they’re ruled by a bunch of aliens. A martian. A Kryptonian. Really this is a cabal of super powered costumed freaks whose goal is world domination. Perhaps the Dark Knight contest is but a step along their plan? Ask yourself why they care about a silly little title? It’s no coincidence I tell you.

    “It’s time for a change. Gotham needs a new voice! Xanga needs a new force for good. And I believe that I can give it to you!

    “I call upon all the Xangans and all the citizens of Gotham to petition Saintvi to select ME as the next Xanga Dark Knight. If you do I will turn Gotham in to the Haven of peace and prosperity that Metropolis is today.

    “Gotham will become a place where all citizens are given a $10,000 stipend every year to do with as they please. It will be a place of no taxes, few regulations and yet clean streets and free of all costumed menaces. Tehcnology will flourish. And ALL who have Xanga account will have free life time Premium and receive a thousand free credits every day!

    “All you have to do is select ME Lex Luthor to be the new Dark Knight. So think wisely and do the right thing.

    “Vote for the best. Vote LEX!”

    Luthor exited the stage followed by the cheers of many of the people in the crowd. People he had carefully paid and planted of course.   He smiled to himself in satisfaction.

    Nephyo: “Beat that. Bat!”