Wow, so that is how memes happen – #songsincode

Update: I did not start the songsincode meme, I just inspired and was a catalyst of it. The guys in Frogtrade started the craziness and the full story is available here

I am quite amazed just how much the #songsincode thing is mushrooming right now on twitter. Some months ago I had posted this one:

{
'name':'Lola',
'occupation':'showgirl',
'fashion':['music','passion'],
'location':[-22.970834, -43.191665]
}

To me this retweet by Adam Hepton kicked the thing off but other people have disputed that. It would be interesting to see if mine was really the first and if Adam was the first to use the hashtag (full story is now available here).

In any case, this is more geeky fun than I had ever imagined and it is interesting to see just how many people are utterly confused by it. It is also sad to see how spammers work Twitter hard.

If you don’t get it: songsincode tries to display either a title of a song or part of its lyrics (as some songs are more known by the refrain than their title – for example there is no such thing as “all the lonely people” by The Beatles) in code. This could be PHP, JavaScript or any other language. For this, sad geeksclever people use code constructs like if statements and loops to describe conditions and repetition. If you don’t get it, don’t feel left behind, it is hard core geek.

Here are some more #songsincode from me:

Bob Marley: I shot the sheriff:

var i = {shot:{sheriff:true,deputy:false}}

The Ramones: Sheena is a punk rocker

while(Sheena.type=='punk rocker'){Riff.repeat();}

Reel2Reel: I like to move it

x=0;while(x<100){it.style.left=x+'px';x++};i.likeTo=true;

Procol Harum: A whiter shade of Pale

for(i in dance){if(i=='light fandango'){continue;}};cartwheels.turn({floor);me.feeling='seasick';crowd.call('more');

Queen: Bohemian Rhapsody

if(man.silhouetto.size=='small'){scaramouche.do(fandango);if(thunderbolt&&lightning){me.frightened=true}}

Sisters of Mercy: If you don’t see me

if(!u.see('me')||u.loc!=me.loc){me.exist=false;you.makeBelieve=1;}if(eye.see==0){heart.break=0};if(you.leave){me.disappear()} 

Blood Hound Gang: The bad touch

do{if(!(you+me) >= mammals){ doit('like they do on the discovery channel') }while(theTouch == 'bad')}

Leonard Cohen: Everybody Knows

{'everybodyKnows':true,'facts':{'boat':'sinking','captain':'lied'},'co':'hen'} 

Simon and Garfunkel: Sound of Silence

oldfriend='#000';talk++;while(vision<100){vision++;};sleep.seed();brain.vision=vision;r.mains='still;volume=0; #songsincode

And of course the rick roll:

if(we!=strangersToLove){u.knowRules=1;i.knowRules=1;me.think{committment:'full'};otherGuy:{type:'any',delivery:'false'};}

Keep them coming!

94 Responses to “Wow, so that is how memes happen – #songsincode”

  1. Rakesh Says:

    What a waste of time.. pathetic.

  2. Adam Hepton Says:

    I used the hashtag first, but only after a couple of my colleagues had already posted a few that morning (without a hashtag) – for reference, the tweet I first used the hashtag in was: http://twitter.com/proxymoron/status/3424623779. Before the retweet of yours, the tag was used by us in the dev team at Frog, and some of our followers (and their followers) etc., but it is definitely true that once you posted to your much greater follower reach the thing spiralled off to trending topic #3 :)

  3. Jamie Rumbelow Says:

    I particularly enjoyed Queen’s Bohemian Rhapsody – I’ve had a go and written one for Bon Jovi’s “You give love a bad name”, with a genius use of a foreach loop, might I add :)


    foreach ($heart as $shot) {
    blame($you);
    $you-&gt;give_love();
    throw new BadNameException;
    }

  4. madpew Says:

    Not a classic, but matches well I guess :)

    try //so hard
    {
    this.fall(); // throws an exception
    }
    catch
    {
    //far
    me.loose(LooseFlags.All);
    }
    finally
    {
    //doesn’t really matter
    }

    V gevrq fb uneq, naq tbg fb sne.
    Ohg va gur raq, vg qbrfa’g ernyyl znggre.
    V unq gb snyy, gb ybbfr vg nyy.
    Ohg va gur raq, vg qbrfa’g ernyyl znggre-

    Yvaxva Cnex – Va Gur Raq

  5. friendsofed (friends of ED) Says:


    @codepo8 on yesterday’s #songsincode meme: [link to post] <- we really like the sad geeks/clever people correction.

    Posted using Chat Catcher

  6. phobeo (Ricardo Varela) Says:


    what the #songsincode thing is about: [link to post] (via @codepo8) Ok, Christian, this is ubergeeky, but will do one :P

    Posted using Chat Catcher

  7. matpolster (matpolster) Says:


    Retweeting @codepo8: Quick info and my personal examples about what the #songsincode thing is about: [link to post]

    Posted using Chat Catcher

  8. migueldemelo (Miguel de Melo) Says:


    @codepo8 for (i=0;i<3;i++) {“Nazi Punks”} ;f.off(); #songsincode

    Posted using Chat Catcher

  9. asmitter (Andy Smith) Says:


    @codepo8 working on something similar going right back to the humble beginnings: http://is.gd/2rytt

    Posted using Chat Catcher

  10. Edd Says:

    My favourite meme so far! :D

  11. adrianh (Adrian Howard) Says:


    RT @matpolster RT @codepo8: Quick info and my personal examples about what the #songsincode thing is about: [link to post]

    Posted using Chat Catcher

  12. Lars Says:

    http://twitter.com/bitrocker/status/3448344987

  13. Lars Says:

    http://twitter.com/bitrocker/status/3448437702

  14. Tim Tripcony Says:

    if (kid.getParent() != this) {
    billieJean = {
    lover: false,
    gender: “F”,
    claim: {
    i: 1
    }
    };
    }

  15. Andy Says:

    OK, full story on the origins here for those interested:
    http://yy.vc/songsincode

    ~A

  16. rene_silva (René Silva Silva) Says:


    var i = {shot:{sheriff:true,deputy:false}} #songsincode *definitivamente el mejor [link to post]

    Posted using Chat Catcher

  17. rapella (raul) Says:


    @richtextformat var i = {shot:{sheriff:true,deputy:false}} #songsincode [link to post]

    Posted using Chat Catcher

  18. James Pearce Says:

    <tree xml:lang=’nn-NO’ /> <!– another Beatles gem (with damn escaping) –>

  19. strottrot (Julie Strothman) Says:


    @markmadison explanation of #songsincode [link to post]

    Posted using Chat Catcher

  20. modgirl17 (Megan) Says:


    RT @strottrot explanation of #songsincode [link to post] [it's still so satisfyingly entertaining!]

    Posted using Chat Catcher

  21. marielenh (Marie) Says:


    RT @strottrot: explanation of #songsincode [link to post]

    Posted using Chat Catcher

  22. WarrenD Says:

    Reminds me of Venn That Tune, but more extreme.

    while (bStrawberryFields = TRUE);

  23. Rob Humphris Says:

    public Rapper GetInstance(RapperState rs) {
    if ((rs.Repping.Still ForTheGanstasAllAcrossTheWord)
    && (rs.Rapper.Still Hitting.TheCornersInTheLo_LosGirl)
    && (rs.TimeTaken >= Time.ToPerfectTheBeat)
    && (rs.LoveForTheStreet == True))
    {
    return Rapper.ItsThe.D.R.E;
    }
    }

  24. Steve Kerrison Says:

    start:
    XOR R1 R1 R1
    WRS .s1
    wewill:
    WRS .s2
    ADDI R1 R1 1
    XORI R2 R1 2
    BNEZ R2 wewill
    WRS .s3
    JMP start
    .s1 “Everybody”
    .s2 “We will”
    .s3 “Rock you!”

  25. kodabar (kodabar) Says:


    More at:
    [link to post]

    Posted using Chat Catcher

  26. Roland e O'Dorant Says:

    JAY- Z classic in SQL

    select * from problem
    (99 results returned)

    select * from problem where type = “bitch”
    (0 results returned)

  27. scottfinn (Scott Finnegan) Says:


    @mbklein Credit due: [link to post]

    Posted using Chat Catcher

  28. scottfinn (Scott Finnegan) Says:


    @ScriptoriumTech Credit due: [link to post]

    Posted using Chat Catcher

  29. mbklein (mbklein) Says:


    RT @scottfinn: @mbklein Credit due: [link to post]

    Posted using Chat Catcher

  30. David Says:

    Just had to mention — Wikipedia places Lola at -73.971891, 40.764602.

  31. ben_lexpress (Benjamin Turquier) Says:


    les #songsincode sont un meme de geeks développeurs. Brillant ou incompréhensible, c’est selon. Je vote brillant. [link to post]

    Posted using Chat Catcher

  32. brad_bauer (Brad Bauer) Says:


    loves songs in code [link to post]

    Posted using Chat Catcher

  33. Doppelganger-X4 Says:

    Using quoted strings is cheating!

    I actually came up with this very same idea in 2006. I even have proof:

    April 16, 2006: Pixies – “Monkey Gone to Heaven”

    I’ve also done the reverse:

    July 30, 2007: Tommy Tutone – 867-5309

    And even provided some technical commentary:

    July 14, 2008: The Band – The Weight

    Yes, that’s right…I’m even sadder than you guys are. :D

  34. scottfinn (Scott Finnegan) Says:


    RT @brad_bauer: loves songs in code [link to post]

    Posted using Chat Catcher

  35. scottfinn (Scott Finnegan) Says:


    @gchance Credit due: [link to post]

    Posted using Chat Catcher

  36. ScriptoriumTech (Scriptorium) Says:


    @scottfinn sorry, the “thx” part didn’t fit in the RT

    Posted using Chat Catcher

  37. usernamenumber Says:
    1. Proper error-handling is important.

    def giveUp(person):
    if person == you:
    raise NoDesertionException(“Attempt to give up/let down a non-desertable person”)

  38. Dalogi (David Gibbs) Says:


    Wow, so that is how memes happen – #songsincode: [link to post]

    Posted using Chat Catcher

  39. scottfinn (Scott Finnegan) Says:


    @ScriptoriumTech No prob. I had to put the link to the source in a follow-up tweet myself. Our 140 character lifestyle has its limits.

    Posted using Chat Catcher

  40. Bevan Johson Says:

    This is fun…

    using(lightstate = new lights(false))
    {
    danger–;
    we.location = this.location;
    while(chorus())
    {
    us.entertained = you.entertaining(true);
    if(us.entertained 1)
    {
    while(User i stupid())
    {
    return contagion;
    }
    }
    }
    }

  41. JimM Says:

    “the_tiger”5;

  42. JimM Says:

    Bah, that didn’t work – the 5 is meant to be in square brackets (array index).

  43. technosis (technosis) Says:


    var i = {shot:{sheriff:true,deputy:false}} [link to post]

    Posted using Chat Catcher

  44. DY357LX (DY357LX) Says:


    Songs in code. Fantastic. [link to post]

    Posted using Chat Catcher

  45. Ryan Says:

    I thought this whole thing was great there were so many good ones that I laughed at and alot that I didn’t get at all. You are right though spammers realy love spoiling trending topics.

    Heres my attempt using CSS3 that I tweeted the other day:
    #billiejean:not([my=lover]):after {content:”She’s Just A Girl Who Claims That I Am The One”;}

    I whipped up a little mashup site the other day, that pulls in the 3 latest #songsincode tweets and refreshes every 16 seconds http://labs.thecssninja.com/songsincode try it in FF3.5 or Safari 4

  46. haroonbaig (haroon baig) Says:


    var i = {shot:{sheriff:true,deputy:false}} and other #songsincode [link to post]

    Posted using Chat Catcher

  47. Arsenic Says:

    Drowning Pool: Bodies

    if (me.nothingWrongWith())
    let hitTheFloor(bodies)

  48. SSSS Says:

    int monkeyman;
    n=”i”;
    y=5;
    for (f=0;x<2;x++)
    {
    for (x=0;x<3;x++)
    {printf ("%s\n",n);}
    }
    y–;
    punkin = y;
    long (monkeyman);

  49. !elbakrameR® Says:

    Yesterday, I came across this website via a link from The Presurfer. I got some of them, and, some were way beyond my understanding. The, concept, however, I found to be both humorous and clever, and, not at all pathetic.(These are popular English-language songs, translated into another language, not unlike the Bowie songs from “The Life Aquatic…”.)

    Later that night, I saw Adele sing “Chasing Pavements” on the SNL re-run and wished I was enough of a Geek to translate the chorus. Hopefully, I’ve given the idea to someone more capable, and, we’ll see it here, soon. And, then I can post again, whining about how “the origina IDEA for the Adele song was mine, mine, all mine!!” I might even sue for my share of the prize!

  50. Stephen Thorne Says:

    I threw together http://songsincodedb.com/ because this meme made me lol.

  51. Virulent Says:

    Have to be BASIC methinks…

    For each Holly in Miami.Fla
    IF Hitch-hike(USA) = TRUE then
    eyebrows.plucked = true
    legs.shaved = true
    for x = 1 to 65
    girls(coloured) = girls(colour) & “Doo “
    next
    end if
    next

  52. WTF is this about ?? Says:

    SERIOUSLY, WTF is this about???

  53. Frank Carver Says:

    breathe(Air i) {
    return sum(times(all(i.need)) + love(u) * 2;
    }

    http://www.stlyrics.com/lyrics/thevirginsuicides/airthatibreathe.htm

    I originally wrote something like it in APL (where the code makes a bit more sense) a couple of decades ago, but I don’t have the APL character set to hand at the moment ;)

  54. Frank Carver Says:

    case (when) {
    HOLD_EM, FOLD_EM, WALK_AWAY, RUN:
    know = true;
    }

    Man this is too compelling. I must stop or I’ll never get any work done today.

  55. tea_robot (Tea is for Trouble) Says:


    RT @LJRICH (lj rich) [link to post] @LordPeak showed me #songsincode & I feel obliged to share. @jasonfry Coffee then tea. Now R …

    Posted using Chat Catcher

  56. Manuel Gonzalez Martinez Says:

    Procedure NewOrder.Shellshock;
    begin
    hold(on);
    repeat
    assert(not enough); // it’s never enough
    until not heart.beating;
    // don’t give up the game until your heart stops beating
    game.giveUp;
    end;

  57. Manuel Gonzalez Martinez Says:

    ATTENTION MODERATOR: many comments (including mine) have lost spaces placed in each line (lines started with spaces)

  58. Christopher Hutton Says:

    while(!chorus) {
    print 20thCenturyHistory;
    }

    if (!we.startTheFire()){
    while (worldTurning){
    fire.burn();
    }
    }

  59. Chris Says:

    @manuel – you mean like Twitter would? :)

  60. delegitimizer Says:

    unsigned long long money = 0;
    unsigned long long problems = 1;
    while( + + money ) { problems + + ; }

  61. delegitimizer Says:

    Sorry for the triple post. the song does not render well on this page :-(| .

  62. Dave Penguin Says:

    Or of course, the simplest of all:

    public void deBurgh() {
    int you;
    you = lady;
    you = 2 * lady;
    you = 3 * lady;
    i.love(you);
    }

  63. Sean Ellis Says:

    if(!woman) cry=false;

  64. Politik2_0 (B. A.) Says:


    Kreativ RT @Duderina Awesome! “var i = {shot:{sheriff:true,deputy:false}}” o — RT @huxi @lolle23: [link to post] #songsincode

    Posted using Chat Catcher

  65. Chris Says:

    if (bitesdust < 3 ) {
    bitesdust++;
    } else {
    gone++ && gone++;
    bitesdust++;
    goto get_you_2;
    }
    }

  66. Thomas Misund Says:

    if ( false ) {
    touch($this)
    }

  67. mrpointyhead (Daniel Maher) Says:


    @Allix Something that’s bound to delight you if you haven’t seen it already: [link to post]

    Posted using Chat Catcher

  68. lorib (Lori) Says:


    @codepo8 who began the #songsincode thing wrote about it & has some great ones here: [link to post] Thx to @laughingsquid for the link

    Posted using Chat Catcher

  69. mememoi (mememoi) Says:


    @f7o Bien vu :). C’est effectivement du PHP et 99 Problems de Jay-Z ! Il y en a des vraiment sympa : [link to post]

    Posted using Chat Catcher

  70. magicnico (magicnico) Says:


    Code rocks ! [link to post]

    Posted using Chat Catcher

  71. OlivierJaquemet (Olivier Jaquemet) Says:


    RT @magicnico Code rocks ! [link to post] <– History and explanation of #songsincode

    Posted using Chat Catcher

  72. asmitter (Andy Smith) Says:


    @olivierjaquemet @magicnico Full origins: http://andysmith.co.uk/songsincode

    Posted using Chat Catcher

  73. oon_fr (Olivier O.) Says:


    @linuxtraveler un peu de code [link to post]

    Posted using Chat Catcher

  74. ysbreker (Thijs Reijgersberg) Says:


    @asmitter Sorry! My bad. I’ll curse you then ;) I thought @codepo8 started it all. As per his post here: [link to post]

    Posted using Chat Catcher

  75. carine_07 (carine) Says:


    Reading about #songsincode [link to post] Some geeks are so crazy ;)

    Posted using Chat Catcher

  76. norabz (nora / sskizo) Says:


    songs in code [link to post]

    Posted using Chat Catcher

  77. ledjam_team (Ledjam) Says:


    Rions un peu avec nos amis développeurs [link to post] (via @bienbienbien)

    Posted using Chat Catcher

  78. asmitter (Andy Smith) Says:


    @carine_07 it’s crazier than that! Full story: http://yy.vc/songsincode

    Posted using Chat Catcher

  79. RikaNauck (Rika Nauck) Says:


    @carine_07 No idea what they R talking about. Why do they bother 2 explain? Geeks get it anyway and the others are told to f. o. Will do!

    Posted using Chat Catcher

  80. asmitter (Andy Smith) Says:


    @ysbreker he’s a tech evangelist – he’s paid to get in the public eye. He did help a lot though!

    Posted using Chat Catcher

  81. linuxtraveler (Linux Traveler) Says:


    @oon_fr Internet!!! Enfin un monde qui nous comprend.

    Posted using Chat Catcher

  82. carine_07 (carine) Says:


    @asmitter Thanks for the full crazy story about #songsincode

    Posted using Chat Catcher

  83. Mimachan (Mimachan) Says:


    RT: @yakamo: Songs in code [link to post]

    Posted using Chat Catcher

  84. Marduk Says:

    Road to Nowhere by the Talking Heads

    {
    (We_are)/(road * 2nowhere); Side=Come_on;take(ride * 2nowhere);we’ll->take(that_ride);
    }

  85. S. Says:

    int roadA; int roadB; int ambitions; bool ways = false; bool loveWillTearUsApart;
    if (rountine==bites.hard && ambitions10 && emotions<1 && ways==true && roadA != roadB)
    {loveWillTearUsApart = true;}

  86. S. Says:

    ^^ that should read “ambition > 10″

  87. Gocrazy ({Browse 'Gocrazy'}) Says:


    [link to post] http://plurk.com/p/1ppzsn

    Posted using Chat Catcher

  88. smabite (smabite blog) Says:


    song this code, ou des titres musicaux en code source. [link to post]

    Posted using Chat Catcher

  89. morrois (Stuart Lin) Says:


    classic #songsincode: http://twitter.com/codepo8/status/3426293280 & how it started: [link to post]

    Posted using Chat Catcher

  90. franklinvanvelt (Franklin) Says:


    omg … :D [link to post] #songsincode

    Posted using Chat Catcher

  91. John | Retro Programming Says:

    There’s some fantastic examples here. There were also a few songs tweeted under #twitcode about four months ago. :-)

  92. jcuk Says:

    assertEquals(50,waysToLeaveYourLover.length);

  93. Joshua McGee Says:

    Late to the party! Any Crystal Pepsi left?!

    if ($belief) {print “I came here to stay”;}
    else {
    local $you, $me, $him, @life;
    $you = Oceans();
    $me = Oceans();
    $him = Oceans();

    eval{
    print parent($love);
    };
    if ($@){
    print “ERR: Parent of $love unknown\n”;
    };

    push(@life, $me);
    $me = pop(@life);
    push(@life, $me) || exit;
    }

    sub Oceans {
    return $person = rand();
    }

    V unq n snyfr oryvrs
    V gubhtug V pnzr urer gb fgnl
    Jr’er nyy whfg ivfvgvat
    Nyy whfg oernxvat yvxr jnirf
    Gur bprnaf znqr zr, ohg jub pnzr hc jvgu ybir?
    Chfu zr, chyy zr, chfu zr, be chyy
    Chfu zr, chyy zr, be chyy zr bhg

    – Crney Wnz, “Chfu Zr, Chyy Zr”

  94. Joshua McGee Says:

    Aargh, posted old version and the formatting stinks. Trial #2:


    if ($belief) {print "I came here to stay";}
    else {
    local $you, $me, $him, @life;
    @waves = (Oceans(), Oceans(), Oceans(), Oceans());
    $you = Oceans();
    $me = Oceans();
    $him = Oceans();

    for (;;) {
    if ($you &amp;&amp; $me &amp;&amp; $him &amp;&amp; @waves) {last;};
    }

    eval{
    print parent($love);
    };
    if ($@){
    print "ERR: Parent of $love unknown\n";
    };

    push(@life, $me);
    $me = pop(@life);
    push(@life, $me); exit;
    }

    sub Oceans {
    return $person = rand();
    }

Leave a Reply

Wait till I come! is the blog of Christian Heilmann , a developer evangelist living and working in London, England. Download vcard.

Feed me, Seymour: Entries (RSS) and Comments (RSS).