Pseudocode for giving compliments

Women are diverse. And, in this beautiful diversity of women, there are some (like me) who are (at times) slightly neurotic (let’s pretend it’s endearing?). I think this is one reason why, if you’re a boy, complimenting a woman can be difficult.


Women are people, and people can be caught up in their thoughts, past relationships, childhoods, etc. Navigating personalities and knowing the “right”, or even just the “all right,” thing to say can be like walking through a minefield. What worked in one situation could be a total turnoff the next time around.


In most aspects of life, randomness sucks. If you’re a man, and if a woman has taken your compliment the wrong way, I empathize. I hope that all compliments from nice guys are accepted as they were intended, but for whatever reason, sometimes compliments falter — either they fall flat or they do more harm than good.


For all my neuroses, I’d still like to think that I’m logical. Here’s my first pass at creating a complimenting algorithm to help guys make more sense of (at times, crazy) people like me.


Again, pease note that I, Maile Ohye, am strange/nutty/<your-adjective-here>. The tests and algorithm do not apply across the board.


Compliment test cases


  1. On the phone: “You’re perfect.”
    I could literally feel my brain pagefaulting when I heard this — my flaws are numerous. He seemed fairly sincere, but this had to be a joke. He later clarified that by “perfect”, he meant that he “respected me and held me in high regard.” So while my first reaction was “this guy is illogical” this compliment had a happy ending.

  3. At a bar: “You’re pretty.”
    FAIL (So sorry, kind of harsh, I know)
    It’s always nice to hear that you’re pretty, but it feels a bit strange, too. I tend to wonder how many drinks he’s had, and whether he has any interest in me as a person. Besides, “pretty” isn’t an adjective I would use to describe myself. It’s just so dainty.

  5. Accidentally turning/bumping into each other at a bar: “Wow, you’re pretty!”
    So spontaneous it’s sweet.

  7. At a bar: “You’re pretty. But you probably hear that all the time. I just really like your smile.”
    Lol, thanks! (I’ll take it.)

  9. If you’re in a relationship together: “You look pretty!”
    Aww. So nice of you to say.

  11. All of the compliments above, but said to me in my early twenties.
    You could’ve said “I love your pink hair” and I would’ve eaten it up.
    Update on 04/13/2010: To clarify, I never had pink hair.

    My algorithm for giving compliments in common situations


    if (she’s your girlfriend || she’s not super confident) {
      needs and/or likes reassurance = true;
      desires appreciation for how she hopes to see herself = true;
      noteToSelf(needs and/or likes reassurance, desires appreciation for how she hopes to see herself);
      // also good to randomize calling customizedCompliment()


    if (you’re pre-relationship) && (she’s a confident person || she’s no longer in her early 20’s) {
      needs reassurance = false;
      desires appreciation for how she hopes to see herself = true;
      noteToSelf(needs reassurance, desires appreciation for how she hopes to see herself);
      if (your compliment is truly spontaneous) || (your authority on the topic is indisputable) || (your sincerity is unmistakable) {
      else {
        // best to elaborate


    Please let me know if this doesn’t make sense.

15 Replies to “Pseudocode for giving compliments”

  1. Ok, so if I’m understanding correctly:

    Unique and compelling compliments are the safest way to go. But, if I’m an established authority or if my compliments are exceptionally fast, a generic one could still have a chance.

    Do women still use DateRank as a signal, or am I wasting my time on anything other than compliments?


    Maile Ohye Reply:

    Hi Wsyz! You’re too funny. 🙂

    Okay, first things first, you’re a super catch. Your genuine nature will take you places. Second, if you meet a cool, laid back girl, none of this matters.

    Moving on… if your Facebook status is “single” or “it’s complicated,” then compliments are somewhat like linkbait and DateRank helps make the conversion.

    So many metaphors! I’ll stop now before it gets out of hand. Good luck — see you at our meeting on Monday!


  2. class SmartAttractiveFemale extends AttractiveFemale extends Female (name, smartness, attractiveness, confidencedict){

    class extras{
    compliment_was_spontaneous = sincerity_was_sincere = True;
    matter = “doesn’t matter”;
    needsreassurance = “notreallysureyet”;
    age_q = “is_she_no_longer_in_early_20s?”;
    goodpointsdict = b’eyJjb21tZW50IjogIk9rIHRoZXJlIGFyZW4ndCBtYW55IGhlcmUsIHRoZXJlIGFyZSBtb3JlIGJ1dCBpJ3ZlIGJlZW4gdXAgbG9uZyBhbmQgYW0gdGlyZWQgc28geW91J2xsIGhhdmUgdG8gbXNnIG1lIGRpcmVjdGx5IHRvIGdldCB0aGVtIiwgIjEiOiAiWW91IGhhdmUgYSBzbWlsZSB0aGF0IG1ha2VzIG1lIHNtaWxlIiwgIjIiOiAiWW91IGhhdmUgY3V0ZSBbZmFjZV0gY2hlZWtzIGxvbCIsICIzIjogIkZyb20gd2hhdCBpJ3ZlIHJlYWQgb24geW91ciBibG9nLCB5b3UncmUgYSBzbWFydCBwZXJzb24gd2hvIGhhcyBhIHBlcnNvbmFsaXR5ICh0b28gcmFyZSBhcm91bmQgdGhlc2UgcGFydHMpIiwgIjQiOiAiSSBoYXZlIGEgd2Vha25lc3MgZm9yIGJpZyBicm93biBleWVzIGxpa2UgeW91cnMiLCAiNSI6ICJEaWQgSSBtZW50aW9uIHlvdXIgc21pbGU/IiwgIjYiOiAiWW91IGFyZSBwbGF5aW5nIGhhcmQgdG8gZ2V0In0=’



  3. getHer( SmartAttractiveFemale saf ){
    gotHer = “NotYet”; //Inital state, but will eventually change
    genericCompliment(compliment_was_spontaneous, sincerity_was_sincere);
    if !goodEnough(genericCompliment){
    while (!(gotHer == True) || noChance ){
    t_follower = FollowListContains(saf);
    if (t_follower){
    Chances = getAquaintedviaT(saf); //returns 10.0 >= x >= 0.0
    noChance = 0 + bool(chances);
    if(Good(Chances)){ return True }
    elif(noChance){ break(myheart, 1000000); }
    else{ sleep(24*60*60) }
    }else{return True}


  4. from extras import *
    takenoteof(open(“Pseudocode for giving compliments”.read())
    the_saf = SmartAttractiveFemale(“M”, 9, 9, {confident: reason} )
    noteToSelf(the_saf, age, matter)
    the_saf.AddExtraFeature(“hair”, “pink”) //sorry had to add this in somewhere lol
    happy = getHer( the_saf );


    Maile Ohye Reply:

    Hi g. That was like 35 lines of code, and probably not far from being able to compile.

    “!giveUp()” and “elif(noChance){ break(myheart, 1000000); }” were super funny. exit(happy) is adorable, too. Thanks!


  5. This is so funny! I just discovered your blog today. I just mentally expanded the algorithm to require a customized compliment if in a blog_comment, to get past the spam filters. That sentence should do the trick. Back to generic. I love your blog.


    Maile Ohye Reply:

    Thanks, Gil! Your compliments pass with flying colors.


  6. Does your comment system lowercase all comments? Really? Is that intentional?


    admin Reply:

    My comment plugin calls tolower() somewhere by default. I realize I need to change this — I’m just super lazy about customizing settings. My blogroll is the default, too!


  7. Took me time to read most the remarks, however I really liked the write-up. It turned out to be Really valuable to me and I am sure to almost all the commenters here as well! It is always nice when you can not only be enlightened, but also entertained! I am sure you had fun creating this article.


Leave a Reply

Your email address will not be published. Required fields are marked *