16
\$\begingroup\$

Create a program that, given a name as input, will generate a Valentine’s day greeting card featuring that name, with its source code also having a Valentine’s day theme. The greeting can be either ASCII art or a generated picture.

Additional conditions:

  • The source code has to look like something Valentine's day themed (like a heart, or a poem or anything. Be creative)
  • All code and related assets need to fit into your answer.
  • You can use network connections, but you can only download this page (in case this question acquires multiple pages you can download them as well). You can use the StackApps API if you want to.
  • The "has to look like something Valentine's day themed" rule also applies to anything you try to use from this page (if using network connections).
  • No other external files are permitted.
  • You can use the standard library of your language, but no external packages are allowed.

Other restrictions:

  • None. This is a popularity contest.

Scoring:

  • Each visible vote (= upvotes minus downvotes) is worth 10 points
  • For every two upvote on a comment on your answer you get 1 points
  • Answer having the most score will be accepted on Valentine's day (14 Feb 2014)

**This contest is now closed, thanks for participating! ** You can still add answers if you'd like though

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Tried to do this in Shakespeare and got bored. I'd upvote anyone who did, though! \$\endgroup\$ Commented Feb 10, 2014 at 3:47
  • \$\begingroup\$ There's been a question on tex.SE that might be useful: Can we make a love heart with LaTeX? \$\endgroup\$ Commented Feb 13, 2014 at 15:05

10 Answers 10

43
\$\begingroup\$

C

What can be more romantic than syntax highlighting?

  *xx=       "De"
 "ar %"     "s:\n"
"Consta"   "nts ar"
"e red, " "variable"
"s are blue.\nIf lo"
"ve had a syntax, I"
 "'d highlight you"
  ".\n",n[9];main(
    ){printf(xx,
      gets(n))
        ;xx;
         }

Output:

$ echo Ilana | ./vanentine
Dear Ilana:
Constants are red, variables are blue.
If love had a syntax, I'd highlight you.
\$\endgroup\$
2
  • \$\begingroup\$ I laughed through the whole thing. \$\endgroup\$
    – seequ
    Commented Jul 28, 2014 at 8:23
  • \$\begingroup\$ Why is this so darn funny? \$\endgroup\$ Commented Feb 2, 2016 at 0:24
36
+150
\$\begingroup\$

Java 8, 500 lines of code

This is the longest entry that I had ever did here in codegolf. It is in the form of a java program constituted from the concatenation of the lyrics of 7 different songs that I composed just for this competition. Looking back in time, I am convicted that I am really crazy to create this thing just for this competition, and some verses are still repeating over and over with rhymes in my head.

Comments were very abused, so I could write everything in the program to be within verses, except for a short guitar solo in the end of the second song. There is no blobs of characters left hidden somewhere. In fact, I did not thought that to write music as poems with rhymes that could be compiled and run by a java compiler to do something not trivial was damn so hard, specially writing poems with terms like AffineTransform, BufferedImage, Graphics2D and newScheduledThreadPool.

The program itself is somewhat complex. It does show a screen with an animation of a rotating heart, some stars and a message for your beloved-one. All of that is done with linear algebra, primitives drawing, setting pixels, text drawing and sprites.

EDIT: Bugfix to reduce the font size to avoid text cuttings.

To run it:

java that_day <The name of your girlfriend/boyfriend>

If you omit your girlfriend/boyfriend name, it will show the usage and default to my name (Victor) instead. This is some sort of mark I left as a form of some personal signature.

Sample screenshot

Here is its source:

// ******************************************
// TRACK 1: THE GREAT LOVE IN THE JAVA ISLAND
// ******************************************

/* Do you ever */ import /* ?
|* If in the */ java /* island */.
/* There was a sign that once said:
*/ awt. /* what is this crazyness?*/*;

/* Or maybe instead,
|* Do you really */ import /* if in the */ java /* island */.
/* they really said */ awt.geom. /* instead? */*;

// Or even maybe,
/* Do you */ import /* if all that */ java.awt. /* had some */ image/*? */.*;
/* Do you */ import /* if that */ java /* has a */ .util.concurrent/*? */.*;
/* Do you */ import /* if that */ java /* has some */ .util.Random; // game?
/* Do you */ import /* if that */ static java /* has some */. lang/*uage or */. Math /* class? */.*;

// And then
/* We do */ import /* about all those */ javax // stuff
/* So, lets play in the school */ .swing /* like the old times, oh my honey?*/.*;

// In the school
/* I were in my */ class that_day{ //
/* And some */ Random stuff // the teacher were saying
=/* all that I wanted was a*/ new Random /* game to play*/(

); // But then you came!!!! */
/* And I felt the */ GreatLove /* in my */ heart,
/* you, were my */ star, /* you were all my */ life;

/* In that */ class
/* I saw my */ GreatLove // in your face
/* I was so happy that i wanted to */ extends /* a */ BufferedImage //!!!
{/* that */ GreatLove /* was */( int resting, /* and so */ int tense

/* i felt */){ super(//!!!
/* no */ resting, /* I was so */ tense,
/* I was sure that I wanted*/ 2 /*love you*/);

}}/* I would */ boolean your_heart(
/* a day */ long /*in*/ YourArms, long /*in*/ your_arms, long /*IN*/ YOUR_ARMS // OH YEAH!
){ /* I want to*/ return /*to*/ YourArms * /*, to return to */ YourArms +/* to return to*/ your_arms // OH YEAH!
/* to return to*/* your_arms </* to return to*/ YOUR_ARMS /*to return to*/* YOUR_ARMS;} // OH YEAH



// *******************************************
// TRACK 2: THE STRING GUIDING MY LIFE, PART I
// *******************************************

/* In the */ public//, you said you did not wanted me!
/* I frooze */ static /* and felt a */ void /* inside */
/* coz you were the */ main (String[] guiding_my_life

){ if (guiding_my_life /* was a string with such */ .length
/* I felt like I was */ == 0 // in that date.
){ /* That was the */ System. /* and i were */ out.
/* So i */ print//d this letter for you,
/* Remember, */( "usage is java that_day and-put-here-yours-love-name");

/* I was in a cinema's */} EventQueue.
/* I got your number, was going to */ invokeLater(()
-> /* But this day is a */ new //day
/* A day like */ that_day

/* Are you */ ((guiding_my_life/*? Even when its */. length == 0?
/* You are the */ new String[] /* of my life?
   Would I be a */ {"Victor"} : /* with my string */guiding_my_life)//?
[  0-0-0-0-0-0/*HHHHHH YEAH!*/]))

;} that_day
/* you are the */( String guiding_my_life) {
/* a */ int tense /* feeling with a level */ = 1000;
/* a */ long missed /* one with a number */ = 466,

/* I looked for your */ door /*. Now I know, its number is */ = 279,
/* but missed */ because /* I was looking for */ = 379,
/* I was so */ crazy /* that i looked even at the number */= 261, /* and */ number = 534;

/* And my */ heart /* was */ = /* that */ new GreatLove
/* Oh I was so */(tense, /* Oh I was so */ tense); // Oh yeah!

/* And then I am */ for/*ever*/ (int erested /* in you */ =000000000 ;// YEAH;
/* int*/erested </*in your in*/tense /*love*/;
/* int*/erested ++ // forever!

){ for/*ever */(int/*erested */ i_was =0-0-0-0-0-0//0-0-0-0-H-H-H-H-H-H YEAH
 ; i_was </*so*/ tense; i_was ++ // so tense, oh yeah!

){/* but, I knew that */ if (i_was +/* so */ missed >// by you
/* and you were too int*/erested
   & i_was -/* so */ missed </* and */ tense-
/* so int*/erested

   & (/*in*/ your_heart(
   i_was -/* looking at that */door,
/* int*/erested /*in you*/- because, /* i am */ crazy /* for you */)|

   your_heart
(  i_was -/* so */ tense +/*at your*/ door,
/* int*/erested /*in you*/- because, /* i am */ crazy )/* for you */|
/* int*/erested /*in your*/> number
|( i_was /**/> missed /* that much */ & i_was </* so */ tense
-  missed /* you too much */ & /*I am so int*/erested /*and*/> crazy)))

/* To your */ heart.
/* I would */ setRGB /* there */(
/* because */ i_was, /*int*/erested,

        // GUITAR SOLO:
        0XFFFF000___0 //0XF00_00X0__XF0F_0F0F0___00 F0X_F0F0X__FFF0X0__F000!!!
);      //F0000 0XF0_0XF0_0XF0 F0F0F0__F0F0F0__F0F0F000000000!
}}      // 0xFFFFFF000000000-0-0-0-00000000000000  X0_X0_X0_X000 YEAH!

/* You are my */ star=
// like you, no one will go so far
/* my */ new GreatLove( // you are

/* I was so */ tense, /* I was so */ (int)tense);
// OH YEAH!



// ****************************************
// TRACK 3: INTREPID INTUITIVE INTELLIGENCE
// ****************************************

   int[]repid /* I am, this is */ = /* my */ new int/*elligence*/[
/* Just */ 5 /* days I wait */];
/* This is my new */ int[]elligence
=/* my */ new int/*elligence*/

[  5 /* years */]; for // now
(  /* Is this */ int uitive // or nah?
=  0//r nah?
;  /*int*/uitive </*for*/ 5 //years
;  /*int*/ uitive
++ // Or nah?

){ /*int*/repid [/* or int*/uitive]
/* Is this */ = /* to */ (int)//elligence?
(  cos /* the */ (toRadians( 90+ // aliens came
// They came! they came!

/* From the */ 144 *
/* How this is int*/uitive)) /* how???

1- Oh, this */ * /* is so */ tense /
2- /* It is so */ -tense /( /*
3- /* It is so tense */
4- /* It is like */ 2 /* times so tense.*/)

); /* This is my int*/elligence[
/* My int*/uitive /* intelligence*/]=
(  int/*elligence*/)

(/* And the */ sin /* of the */( toRadians (90+ // aliens
/* is that they did not got my int*/uitive * // intelligence
1__44 /* times */)) /* that was so */* tense /
2  + /* the times this was so in*/tense /
   2 /* intense*/);}



// *******************************************
// TRACK 4: THE GRAPHICS OF THE LOVE IS A STAR
// *******************************************

/* The */ Graphics of_the_love /* is */ = /* to a */ star.
   getGraphics /**/();/**/ of_the_love /* and then */.setColor( // of the star
/* A */ Color /* that was something like */ .YELLOW
); /* The shape */ of_the_love /* is draw when you */.fillPolygon // of the star.

/* You have your reputation id, its the */( repid,
/* And you use it with much d*/elligence,
   5 /* times each day */);
/* You do discover */ life // again
= /* Its happy to see my */ new GreatLove // everyday

(/* I am so excited and a bit*/ tense,
/* I had that feeling so in*/tense);
/* The */ Graphics of_your_heart /* is*/ = /* to the */ life // of a star
.  getGraphics /**/();/**/ of_your_heart /* and then */.setColor( // of the sky
/* A */ Color /* that was something like */ .CYAN

); /* In the letters */ of_your_heart /* you */ .setFont
(/* And when you remember */ of_the_love /* you */.getFont().
/* In the happiness, please */ deriveFont /* everyday */(
/* You might do it only */ 1 /* time or even */, 67));
/* But do remember */ of_your_heart /* everyday */.



// ********************************************
// TRACK 5: THE STRING GUIDING MY LIFE, PART II
// ********************************************

/* Yesterday, I have */ drawString
 ( "Hey, " + /* I have to say that you are the string that was */ guiding_my_life
   + /* I say, plus I say, hey: */ ", I love you",
   20 /* times that I will say */,
   /* it was so */ tense /* but i will say it *// 2 -
   50 /* times that I will say */);

/* John */ JFrame /* is the name of my */ neighbour // in the next door
   = // him, I had no such friend as before
/* Some day I asked him for some */ new//s
/* Then */ JFrame /* said I got a letter and the sender was: */(

        "I love you, "+

/* it was nobody else but the string */ guiding_my_life);
/* I am so grateful to my */ neighbour /* coz he */ .setBounds(
/* I was */ 10 /* times excited and */, 10 // times happy
/* My emotion was at */, 500 /* percent */,
/* When I read the letter I falled in love */ 500 /* rounds */);

   MY_TRUE_LOVE /* was */ back_for_me 
/* There is nothing */ = /* or even like this */
/* So I had a */ new /* chance, */ MY_TRUE_LOVE(); // finally came
/* And was my */ neighbour /* who */ .add(/* she */ back_for_me);
/* My */ neighbour. /* was great, he */ setVisible( /* me again
|| my */ true /* love was back to me! */);

// So I defined a new plan
/* and */ Executors /* it then */.
/* with a */ newScheduledThreadPool( /* For */ 1 /* time I had my love back again */).
/* and I */ scheduleWithFixedDelay(()
-> /* back in the cinema's */ EventQueue. /* I came
|| and then I */ invokeLater(() // her cellphone again!
-> /* She was finally */ back_for_me /*,
|| and the only difference was that her hair got a */ .repaint()),

/* I was feeling as a */ 0 /* before */,
/* Now I feel */ 50 // times more worth.
/* in each */, TimeUnit. /* of just some */ MILLISECONDS /* I'm love.*/);

/* And I won't forget my */ neighbour.
/* Just to */ setDefaultCloseOperation(
/* Now that I have a love and a great friend, we */ 3 /* really rocks!*/);}



// *************************************
// TRACK 6: HOMEWORK ABOUT A BORING BOAT
// *************************************

/* Last year in my */ class I_MET{ /* my */ GreatLove
   she; /* was so lovely that I knew: */ I_MET( /* my */ GreatLove
/* I was sure that she was really */ my_love
){ she /* is */ = /* to an angel, she is all */ my_love;}

/* Oh yeah, man she is */ double pretty, very_nice, /* and much */ talented,
/* She just should be my, beloved */ girl,friend;
/* But the teacher would */ void /* my weekend, he gave a homework:
/* to */ draw /* some stupid */(Graphics2D/*, of a boring */ boat) {

/* What I didn't knew, was that weekend would, */ AffineTransform my_life
=/*that */ new AffineTransform /* happened, really */()/*vernight. */;
/* The teacher said, the homework should be done in */ double//s
// And that was really when my chance came.

// I invited she, to join me in the homework
/* And she came to my house, because a */ boring //boat
= /* And */ she ./* measured the boat and */ getHeight
  (),vernight /* I managed */= she /* to */.getWidth ()/*n the same! */;

   my_life /* would change and then */ .rotate(
/* When she said that she had trouble in convert */ toRadians (
/* But in that stuff, I was really */ talented//!!!

),/* And because of that */ boring /* homework *//
/* We */ 2, /* got together O*/vernight /*, working on that boat. *//
/* The life of we */ 2 /* was about to */); AffineTransform // in that day
/* When she */ kissed_my_mouth // at midnight and ten.

/* For us both, that feelling was */ =/*lly*/ new
/* An */ AffineTransform ()/*n that night, that was for real */;
/* When she */ kissed_my_mouth/*, the feeling I can't */ .translate(-
   my_life. /* was */ transform/*ed*/( /* to a */ new // plane!

/* Working in a */Point2D. /*A homework in */Double(
/* She was really */ talented /*, but with */ >90 // percent done
/* I was so sad when she needed to go back to her home!

*/ & /* had i already said how she is */ talented/*?*/<
/* Had we kissed in */ 6 /* hours and */* 45 /* minutes of work*/?
/* O*/vernight /* working */: 0/*n the same boat.*/,
/* Man, had I already said how she is */ talented/*?*/<

/* Without her, could that be */ 180 /* times or worse of boring homework*/?
/* So */ boring: 0/*n that boat in an otherwise */), null // weekend
). /*But I had to */getX ()/*n*/ ,-my_life /*and*/. transform(
/* In a much better thing a */new Point2D /*homework to be done in */.Double//s

(/* Was she */ talented /* like something */ >180 /*percent*/?
/* O*/vernight : 0/*n the boat, I and my */, talented /* girl finished */ > 90 /* percent.
*/ & /* she is so*/ talented /* that in */ < 6 /*hours and */*45 /* minutes of */ ?boring /* homework
*/: 0/*n an otherwise */), null // weekend, we got a love!

)./* And now, we both */ getY//a new life!
()/*n that night */); my_life /* was */. preConcatenate//d
/* She */( kissed_my_mouth /* and she though me CorelDraw */);
/* However, she didn't knew about */ BufferedImage/*!!!

*/ i_knew =/*lly well right from the start */
/* that I would had a */ new AffineTransformOp /* in */( my_life,
/* and */ 2 /* that working to */).filter( /* out the boringness */
   she /* too did not got a */, null /* weekend */);

/* I had an */ AffineTransform on_my_life
/* She */ =/*lly had a */ new AffineTransform ()/*n*/ ,her_life
/* Oh, she really */ =/*lly had a */ new AffineTransform ()/*n*/ ;her_life
// OH YEAH!

/* I can't */.translate (/* how */ very_nice, /* and */ pretty /* she is.*/);
/* I got */ on_my_life /* a new */ .scale( /* of bliss. */
/* with a */ girl /* that kissed me, *// /* working a */ boring /* homework */,
/* got a girl*/friend /*O*//vernight )/* in a work about a boat. */;

   on_my_life /* I can't */.translate
/* How I became so live */((
/* from a */ boring -/* homework,
*/ i_knew. /* how to */getWidth(
)) /* We *// 2, /* working */( /*O*/vernight
-  // Until the night was high
   i_knew /* to */.getHeight
   ()//n the night when she came
)/ /* We gotta to be */ 2//gether
); //OH YEAH!

   on_my_life /* I */.preConcatenate(
/* And */ her_life // Would never be the same
); /* Looking the net for a */ boat. // page
/* To finally */ drawImage(

   i_knew, /* that with this girl */ on_my_life, /* I would never get a */ null // weekend!!!
); /* OH YEAH! */}}

/* And monday back in the */ class
   MY_TRUE_LOVE extends /* the */ JComponent
{  I_MET a_great_love
/* And */ =/*lly for her was this a */ new // love
   I_MET /* with her */( heart
); I_MET love // in her heart
/* And I */ =/*lly met a */ new // life!
   I_MET /* a new */ (life);



// *****************************************************
// TRACK 7: DOUBLE TROUBLE IN MY GIRL'S FATHER CARD SHOP
// *****************************************************

/* I was in */ double trouble, last_year, at_my_phone;
// The dad of my girl had a shop in his home.
/* He were open to the */ public // that day. But no customers came
/* Just a */ void // on the shop, that was all then.

/* He */ paintComponent/*s of some */(Graphics cards){
/* But */ trouble /* is */ = trouble + /* all that */ stuff.
/* The */ nextDouble /* trouble */ ()//ff the week
/* Was like */* 5 /* times as so big */-
   5 /* times *// 2. /* the dad of my girl. */

;  if (/* he was really bad to sell all that */ stuff.
/* The */ nextDouble /* trouble he had was */ ()/*nce a big */</**/ 1./
/* He had bad sells for more than */ 20 /* days */)
/* The truth is that */ trouble /* is */ = /* to */- trouble; // no matter when

/* As */ a_great_love /* my girl is so */. talented
/* To */ =lize (a_great_love/*,*/. talented // also I am!
/* But love */ + /* all that */ trouble // is really hard then
); /* And */ last_year /* to */ =lize(// the bills, that was a real pain

   last_year + 1 /* or maybe *//2. // months
); at_my_phone /* her dad called to */ =lize(// the bills ongoing
   at_my_phone /* he complained, and asked money to*/-/* give back in */ 7 /* days or maybe *// 10.);
// And that put me in trouble with my girlfriend!

/* But that */ Graphics2D CARDS // were really cool stuff!
=/*But that */(Graphics2D)cards;// were really-really cool stuff!
   int eresting // they were
=/* You could */ getWidth ()//f that
,  a_great_card_pile =/*lly was possible to make it */ getHeight /* very high*/

   ()/*n all those*/; CARDS. /* They */ setColor // very careful.
(/* and the */ new Color//s her father painted, all of them were very cool.
(/* But in the end, they only selled */ 15 /* or */* 17, // each day
/* But could produce more then */ 200 // everyday
/* And I counted */, 225 /* boxes of cards and paint abandoned in the store at that day. */));

/* Her dad in the */ CARDS/*, he did it */.fillRect
/* All that stuff was very */((int)eresting
-  (int)eresting, (int)eresting -/* very */ (int)eresting, /* really really */ (int)eresting,
// OH YEAH!

/* But my heart broke with such */ a_great_card_pile
);/* he weren't selling enough, and I had */ a_great_love /* to my */.girl
= /* I could not see a great */ (int)eresting // card shop end
; /* And I had */ a_great_love. /* to my girl*/friend
= /* And I decided that such */ a_great_card_pile /* should finally get an end! */;

/* My girl had */ a_great_love /* in */ .draw/*ing all those */(CARDS);
// OH YEAH!

   for (/* that situation, i did needed */int elligence
=/*from n*/0/*w on, I used my */; (int)elligence
<  2 /* sell everything*/ + /* handle all the bills and */ stuff.
   /* my */ nextInt//elligent move was to buy the card shop! */

(/*My girl was surprised, */ 5 /* times she said*/);
/* And she admired all that my int*/elligence /**/++
){ I_MET her_father /* he was */ =//lly surprised!

/* And after that I got to the shop a */ new // life. OH YEAH!
// But he imposed a condition: We had to merry, that was the reason

/* So in that church */ I_MET (/* my loving */star /*!!!!*/);
// OH YEAH!

/* And */ her_father. /* was my */ friend
= /* And to */ a_great_card_pile /* I had it to end. *//
/* For */ 6 /* dollars each card, */ + /* a few cents. */
/* With that */ stuff // done,
/* the */ .nextDouble /* trouble was gone! */
()/*n that day */* a_great_card_pile /* will never again be the reason to ring my phone! *//6;/*

*/ her_father /* was happy */.
/* His */ girl // was married!
=/*And how int*/eresting
/  6+ /* times we are selling all that */stuff.
   nextDouble /* tr*/()/*uble we had no more. */*

/* and look how */(int)eresting /
/* For just */ 6 /* bucks a card we selled */;

   her_father. /* was */ very_nice
=// The man was very nice.
// OH YEAH!

/* And */ stuff. /* was done. */
/* The */ nextDouble /* tr*/()/*uble was gone. */*(
/* And how int*/eresting-
   her_father /* was happy */.
/* coz his */ girl /* was married. */

); her_father/*s cards are */ .pretty
= /* he produces all that */stuff.
// And then I selled everything
// Until the last one!

/* The */ nextDouble /* tr*/()/*uble was gone. */*(
/* And to sell such */ a_great_card_pile // was a job done.

-  her_father /* were my old */. friend
); her_father /* were so much */ .talented
=/*And all those */ stuff // we happy worked together!

/* But indeed the */.nextDouble /* tr*/()/*uble then come! */*
/* For */ 360 /* days I could even not imagine! */;
   her_father /* used to */.draw( /* all those */ CARDS);}
// He did it pristine!
/* But now my */ love.girl /* was crying! */=
// Because her father was died.

/* And see how */ (int)eresting;
/* Is to feel */ love /* to a */ .friend
// But we do only perceive this
/* when it had come to the end */=
// But live goes on now.
   a_great_card_pile /* entirely new was set on now. */;

/* That was my */ love.
/* A girl very */ talented
/* She */ =lize//d her father
// artistic scent.

(/*My */ love /* girl is so */.talented
   +5 // times pround her father would now be then.
); /* And she */ love /* to */.draw(/* all those */ CARDS);}
/* She do it */ double // better
// of what did the old man.

/* Sometimes we rea*/lize(double /* times */ indeed){
/* That could her father has */ return//d
(( indeed </* in */0/*ur first kid*/)?
/* The boy is */ indeed //an artist.
+/* As was his grandpa */ 360 // months in the past.

:// When we do sell all those cards
/* I am very grateful */ indeed)
%// To that old man
// who once married his daughter to me.

/* I am */ 360 // times so grateful forever.
;} /* This is why I love so much his daughter
in his memory respect. */ }}
\$\endgroup\$
5
  • 8
    \$\begingroup\$ I especially liked the guitar solo part \$\endgroup\$
    – SztupY
    Commented Feb 3, 2014 at 10:49
  • 2
    \$\begingroup\$ @SztupY Thanks for the edit. Your old screenshot revealed a bug: the font used was too big and likely to cut the text. I reduced it, but had to put a new screenshot. \$\endgroup\$ Commented Feb 3, 2014 at 11:18
  • 2
    \$\begingroup\$ +1 for the amount of love you put into this for the thousands who will be receiving upside down text, hearts and stars. \$\endgroup\$
    – SimonT
    Commented Feb 11, 2014 at 3:53
  • \$\begingroup\$ @SimonT Both the text and the heart are rotating. Sometimes they will be upright, sometimes turned on sides, sometimes upside down, sometimes diagonally inclined, etc. \$\endgroup\$ Commented Feb 11, 2014 at 5:30
  • 1
    \$\begingroup\$ Gorgeous. I agree the guitar solo is eminently charming. \$\endgroup\$ Commented Feb 13, 2014 at 20:58
18
\$\begingroup\$

Befunge-93

Run as echo '[NAME]!' | ./befungee.py test (assuming the code below is in a file named 'test') for the output "Happy Valentine's day [NAME]!"

The top few lines are for reading in the name; if you remove them and just leave the heart it will simply say "Happy Valentine's day".

v
v      _ v            _v#                                 1<
>~:"!"-^ >10g1+:10p0p:^>" "37*2+2p"v"63*2+:"g"\2p2+2p" "10p^
         |        -" "<
v        <


>     92+:*91+9*v                  v:+19*2*5+<
   v*66*5+2*37*<>7+v            v1*<>*91+9*7v^29<
 v3<>*7+89*v   4  <>9v        v+<>*3^       >+9v^*<
v<>9^      v,_@^8*:+<>v      v<>9^             >1v^<
v*+       *>:^      ^<>v    v<>^                 +.^
>v^<                 ^<>v  v<>^                 v<>^
 >v^1<                ^1<**>4^                v4<>^
  >+v^9<                                    v*<>4^
    >9v^*7<                              v+3<>+^
      >1+v^*<                          v2<>*1^
         >:v^44<                    v8*<>7^
           >*1v^*<                v4<>*4^
              >+v^7*<          v9*<>7^
                >92v^4<      v2<>5*^
                   >+v^4<  v+<>3^
                     >5v^*:<>*^
                       >*v>2^
                         >^
\$\endgroup\$
2
  • \$\begingroup\$ Simply marvelous :) +1 \$\endgroup\$
    – TypeIA
    Commented Feb 12, 2014 at 21:22
  • \$\begingroup\$ Just when I thought there was nothing romantic about Befunge... \$\endgroup\$
    – Alex A.
    Commented Jan 20, 2015 at 22:10
14
\$\begingroup\$

Extended Brainfuck

This is by no means the shortest code that does this. Actually not used any EBF feature except for the same as BF-RLE.

              +[->,10-]>>5+[-<6+>]                            <++.........>8+[-<8+
        >]<-.>7+[-<7->]<.-.6-.>9+[-<10+               >]<3-......>5+[-<6->]<.>7+[-<7->]<--
    .+.>7+[-<7+>]<.>9+[-<9->]<4-.>4+[-<5+>        ]<++........>4+[-<4+>]<-.>4+[-<4->]<+......>
   9+[-<10+>]<++..>9+[-<10->]<--......>7+[-<    8+>]<4+.>9+[-<9->]<-.>4+[-<5+>]<++.......>4+[-<
  4+>]< -.>4+[-<4->]<+.......>9+[-<10+>]<++..>9+[-<10->]<--.......>7+[-<8+>]<4+.>7+[-<8->]<4-...
  .....>6+[-<6+>]<.>5+[-<6+>]<3+.4-.>4+[-<4+>]<+.>9+[-<9->]<-.[-]<<[11+<]>[.>]10+.>4+[-<5+>]<++.
 .....>9+[-<10+>]<++.>9+[-<10->]<--........>9+[-<10+>]<++..>9+[-<10->]<--........>9+[-<10+>]<++.>
 10+[-<11->]<4-.>4+[-<5+>]<++......>9+[-<10+>]<++.>9+[-<10->]<--.>8+[-<8+>]<-.......>5+[-<6+>]<-.
 .>5+[-<6->]<+.......>8+[-<8->]<+.>9+[-<10+>]<++.>10+[-<11->]<4-.>4+[-<5+>]<++......>9+[-<10+>]<+
 +.>8+[-<9->]<5-.>4+[-<4->]<+.13+.....13-.>7+[-<8+>]<4+.>6+[-<7->]<3-.>4+[-<4->]LOVEME<+.13+.....
13-.>7+[-<8+>]<4+.>5+[-<6+>]<++.>9+[-<10->]<--.......>6+[-<7+>]<.>6+[-<6+>]<+.6-.5+.>9+[-<9->]<3+.
>8+[-<9+>]<5+.8-.>8+[-<9->]<3+.>8+[-<8+>]<+.13+.10-.>8+[-<8->]<4-.>9+[-<9+>]<3+.5-.8-.--.>4+[-<4+>
]<-.12-.3-.13+.>10+[-<10->]<4-.>4+[-<5+>]<++.....>4+[-<4+>]<-.>4+[-<4->]<+..8+.8-.....9+.9-..8+.8-
.....9+.9-..>7+[-<8+>]<4+.>7+[-<8->]<4-......>9+[-<10+>]<3-.>4+[-<4->]<--.>8+[-<9->]<3+.>9+[-<9+>]
<++.11-.7-.11+..>8+[-<9->]<4-.>9+[-<9+>]<+.3+.9-.7-.>8+[-<9->]<3+.>9+[-<9+>]<3+.12-.3-.>8+[-<9->]<
 3+.>8+[-<9+>]<-.6-.11+.11-.>4+[-<5+>]<3+.+.>9+[-<10->]<++.-.>4+[-<5->]<--.>4+[-<5+>]<++....>4+[-
 <4+>]<-.>4+[-<4->]<+.>7+[-<8+>]<4+.>7+[-<8->]<4-..13+.....13-.8+.+.9-.13+.....13-..>4+[-<4+>]<-.
  >4+[-<4->]<+.>7+[-<8+>]<4+.>9+[-<9->]<-.>4+[-<5+>]<++...>4+[-<4+>]<-.>4+[-<4->]<+...>7+[-<8+>]
  <4+.>7+[-<8->]<4-......>4+[-<4+>]<-.>8+[-<9+>]<5+..>5+[-<6->]<--.>7+[-<8->]<4-......>4+[-<4+>]
   <-.>4+[-<4->]<+...>7+[-<8+>]<4+.>9+[-<9->]<-.>4+[-<5+>]<++..>4+[-<4+>]<-.>4+[-<4->]<+.....>@
    7+[-<8+>]<4+.>7+[-<8->]<4-....>4+[-<4+>]<-.>8+[-<9+>]<5+....>5+[-<6->]<--.>7+[-<8->]<4-..
     ..>4+[-<4+>]<-.>4+[-<4->]<+.....>7+[-<8+>]<4+.>9+[-<9->]<-.>4+[-<5+>]<++.>4+[-<4+>]<-.>
      4+[-<4->]<+.......>7+[-<8+>]<4+.>7+[-<8->]<4-..>4+[-<4+>]<-.>8+[-<9+>]<5+......>5+[-<
       6->]<--.>7+[-<8->]<4-..>4+[-<4+>]<-.>4+[-<4->]<+.......>7+[-<8+>]<4+.>9+[-<9->]<-.>
        6+[-<6+>]<+.>7+[-<7+>]<-.>8+[-<8->]<+........>7+[-<8+>]<4+.>4+[-<5+>]<-.>7+[-<7->
          ]<-........>7+[-<7+>]<+.>8+[-<8->]<.>4+[-<4->]<+........>8+[-<8+>]<-.3-.>9+[
             -<9->]<-.>4+[-<5+>]<++..>8+[-<8+>]<.>7+[-<7->]<--..+...>7+[-<7+>]<..>
                5+[-<6+>]<-.>5+[-<6->]<++.>7+[-<7->]<--.+.>7+[-<7+>]<.>8+[-<8->
                   ]<+..>8+[-<8+>]<-.>7+[-<7->]<.-.6-.>9+[-<9+>]<4+.>5+[-<6-
                       >]<+..>7+[-<7->]<...-..6-.>5+[-<6->]<+.>4+[-<5+>]<
                             ++..........>9+[-<10+>]<++.>9+[-<10->]
                                 <--....>8+[-<8+>]<.>7+[-<8->]<
                                     -.7-....>9+[-<10+>]<++.
                                         >10+[-<11->
                                             ]<4-.

Usage:

bf ebf.bf < valentine.ebf > valentine.bf
echo "Code Golf" | bf valentine.bf

Output:

         _.-'~~~~~~`-._
        /      ||      \
       /       ||       \        Dear Code Golf
      |        ||        |
      | _______||_______ |
      |/ ----- \/ ----- \|       Join me and together
     /  (     )  (     )  \      we shall rule the galaxy! 
    / \  ----- () -----  / \
   /   \      /||\      /   \
  /     \    /||||\    /     \
 /       \  /||||||\  /       \
/_        \o========o/        _\
  `--...__|`-._  _.-'|__...--'
          |    `'    |

Ascii art is not made by me but just picked up here.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ rofl, the ascii is great for valentine's! \$\endgroup\$ Commented Feb 12, 2014 at 10:11
12
\$\begingroup\$

Perl

awfully looking heart 2:

eval's unable to compute a hint,
when I write perl, I think of you;
I think of you at every '. print'
just be with me, since I love you
'
   ;;@_=       split//,
 $@;$"=$^I,  $_=0.00.106.
117.115.116.032.0115.0105.
110.99.101.32.116.104.101.
32.118.105.111.108.101.116
 .115.32.97.114.0101.032.
  98.108.117.101.10."@_[
   14,11] @_[20,49] @_[
     46,1,6,11,2,4,33
       ,02,013], @{[
         shift]}$/"
          ,print

The poem thingy at the beginning is not fully used, but it is somewhat used, so cannot be removed;
Output:

$ perl valentine.pl \$NAME

just be with me, since I love you
just since the violets are blue
be my valentine, $NAME
\$\endgroup\$
11
\$\begingroup\$

Processing

Almost entirely based on this answer of mine. And the input part is taken from here with modifications.

public static final int px=25;
public static final int rectRad = 3;
PFont font;
public boolean[][] used;
public int[] heart = {


               65, 66, 67,                 72, 73, 74,
           84, 85, 86, 87, 88,         91, 92, 93, 94, 95,
      103,104,105,106,107,108,109,110,111,112,113,114,115,116,
  122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,
  142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
  162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,
      183,184,185,186,187,188,189,190,191,192,193,194,195,196,
          204,205,206,207,208,209,210,211,212,213,214,215,
          224,225,226,227,228,229,230,231,232,233,234,235,
              245,246,247,248,249,250,251,252,253,254,
                  266,267,268,269,270,271,272,273,
                      287,288,289,290,291,292,
                          308,309,310,311,
                              329,330
                                 };





void setup( ) {                                  size(500,500);
background(255);                                 stroke(190+1);
strokeWeight(1.75); fill(0); font=createFont("Purisa",28,true);
textFont(font,28); frameRate(50); used = new boolean [width/px]
[height/px];} void keyReleased(){ if(key!=CODED){ switch(key) {
case BACKSPACE:name=name.substring(0,max(0,name.length() - 1));
break; case 0xA:                                 case RETURN:fd
=1==0;background                                 (0xFF); break;



                         case ESC: case DELETE:
                    break; default: name+=key; }}}
            boolean fd=true;String name=""; int c=0;
         void draw(){if(fd){background(255);text("Ple"
      +"ase enter a name:",35, 30); text(name,35,70);c=
   frameCount;return;}int i, j, df = width*height/px/px
 ,tf = (int)(500 * frameRate/1000);do{i=(int)random(
0, width/px);j=(int)random(0,height / px);} while
 (used[i][j] &&frameCount-c<= df);used[i][j] = true;
  if(frameCount-c > df+tf) {noLoop(); return;} else if(
     frameCount-c == df+tf) { fill(63+32); text("Dear "
         + name + ",", 10, 50); text("Happy Valentin"+
             "e's Day!", 80, 200);text("Love,\nAce",
                    10, 0xA * 43); return;} else if
                         (frameCount-c>=df+1) {



   return;} int R=(int)random(64,255-64); int G = (int)
 random(128,255); int B=(int)random(128,255); int alpha
=(int)random(55,85);int hash=j*width/px+i;if(java.util.
Arrays.binarySearch(
heart,hash)>=0) {R=
(int)random(128+64,
255);G=(int)random(
0,63);B=(int)random
(0,63); alpha=(int)random(70, 100);} fill(R,G,B,alpha);
 rect(i*px,j*px,px,px,rectRad,rectRad,rectRad,rectRad);
   }///////////////////////////////////////////////////

See the animation online here. (You may have to click on the canvas in order to be able to type input. The easiest way would be to click on the input prompt. Note that the code used in this online demo is slightly different due to differences between Processing (the program above) and Processing.js (the one used in the demo).)

Alternatively, here is one possible output, given the input "Sample Input":

Screenshot of sample output

\$\endgroup\$
3
  • \$\begingroup\$ Very nice output, but the code itself looks too much like, uh, code. \$\endgroup\$
    – ugoren
    Commented Feb 12, 2014 at 21:25
  • \$\begingroup\$ @ugoren I guess this should do the trick \$\endgroup\$
    – user12205
    Commented Feb 12, 2014 at 22:25
  • \$\begingroup\$ Nice to see some Processing here! \$\endgroup\$ Commented Feb 13, 2014 at 23:41
4
\$\begingroup\$

Zozotez LISP

Zozotez is a LISP interpreter written in Extended BrainFuck.

          ;((((((((((((((((((((()))))))))))))))))))))
       ((\(even to know my programming language) ;(())  
    (to (my programming language) 'Lisp);(((((())))))
(to (know |I love |) 'parentheses);(((((((())))))))
   (to (even you more than there are) c);(((((())))))
      (to (know |parentheses in my heart ()()()|)));()
         (~ w (c "(c w))) p " c 'Dear (r));((((()))))

How to run:

jitbf zozotez.bf

Paste in code with only one trailing newline. Then your *friends name. Output looks like this:

Dear Max Love
I love you more than there are
parentheses in my heart ()()()

Needless to say, this text displays a lot of love since who doesn't love lispy parentheses?

\$\endgroup\$
1
\$\begingroup\$

Java

           public       class  
     Vale {public       static void 
    main(         String      []args) 
   {int a;         char       c,d,r,g;
   String            s        ="hi";//
    double                    x,y,z=0;
     System                .out.print          ("hi  ");
      String[            ]parts=s.split(      "///////");
        String          string="This is  -for-  ";double w;
         System        .out.print         ("")    ;int g1,a1;
           System     .out.println(        );       System.out
            .print(string);System.                  out.print("")
                    ;       System.                out.println
                            ("you and             me,two heart"
                                +" combine        together "
                                    +"always     till "
                                       +"end  of life"
                                           );}}

Result:

hi  This is  -for-  you and             me,two heart combine        together always     till end  of life
\$\endgroup\$
1
  • \$\begingroup\$ You need to print a greetings with a name supplied by parameters or input \$\endgroup\$
    – SztupY
    Commented Feb 3, 2014 at 13:31
1
\$\begingroup\$

Javascript

Working Demo

             var t = '<span class'+                              '="t">░</span>', r = 
          '<span class="r">▓</span>',                          b = '<span class="b">█'+
        '</span>', w = '<span class="w">'+                '▒</span>', n = '<br>', heart = [ t,     
       t, t, t, t, t, t, t, t, t, t, t, t, t,          t, n, t, t, t, b, b, b, t, t, t, b, b, b, t, 
    t, t, n, t, t, b, r, r, r, b, t, b, r, r, r,       b, t, t, n, t,  b, r, w, w, r, r, b, r, r, r, 
   r, r, b, t, n, t, b, r, w, r, r, r, r, r, r, r,   r, r, b, t, n, t, b, r, r, r, r, r, r, r, r, r, r,
  r, b, t, n, t, t, b, r, r, r, r, r, r, r, r, r, b, t, t, n, t, t, t, b, r, r, r, r, r, r, r, b, t, t,  
  t, n, t, t, t, t, b, r, r, r, r, r, b, t, t, t, t, n, t, t, t, t, t, b, r, r, r, b, t, t, t, t, t, n,
    t, t, t, t, t, t, b, r, b, t, t, t, t, t, t, n, t, t, t, t, t, t, t, b, t, t, t, t, t, t, t, n, t, 
     t, t, t, t, t, t, t, t, t, t, t, t, t, t, n ], space = function(n, c){ var a = [], i = 0; while
       ( i < n ){a.push(c);++i;} return a.join(''); }, card = function(name){ var e = name.length 
            % 2, sp = (13 - name.length) / 2; return space(15, t) + n + space(sp, w) + name.
            toUpperCase() + ' I' + space(sp + (e?1:0), w) + n + heart.join('') + space(6, w) 
             + 'YOU!' + space(6, w) + n + space(15, t) + n; }, out = document.getElementById
               ('card'), inp = document.getElementById('name'), plot = function(){out.
                    innerHTML =  card(inp.value)}; inp.addEventListener('change',
                           plot); out.style['font-family'] = 'monospace';
                               out.style['text-align']  = 'center';
                                   out.style['line-height'] = 
                                      '12px'; out.style
                                        ['font-size'] 
                                          = '15px'; 
                                           plot
                                            ()
                                             ;
\$\endgroup\$
1
\$\begingroup\$

Python 9,459 bytes

Try it Online!

exec"""
        exec''           'print
      "".join(ma       p(chr,map(
    int,"32_32_32_   32_32_32_32_32
  _32_32_32_32_32_3 2_32_32_46_32_32_
 32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_32_46_32_32_32_32_32_32_32_32_3
 2_32_32_32_32_32_13_10_32_32_32_32_32
  _42_32_32_32_46_32_32_32_32_32_32_3
   2_32_32_32_32_32_32_32_32_32_32_3
    2_46_32_32_32_32_32_32_32_32_32
      _32_32_32_32_32_46_32_32_32
        _32_32_32_32_32_46_32_3
          2_32_42_32_32_32_32
            _32_32_32_32_32
              _32_46_32_3
                2_32_32
                  _32
                   _
        32_32_           32_13_
      10_32_32_4       6_32_32_32
    _32_32_32_32_3   2_32_46_32_32_
  32_32_32_32_32_32 _32_32_32_32_32_3
 2_32_32_32_32_32_32_32_46_32_32_32_32
_32_32_32_46_32_32_32_32_32_32_32_32_32
_32_32_46_32_32_32_32_32_32_46_32_32_32
_32_32_32_32_32_46_32_32_32_32_32_13_10
 _32_32_32_32_32_32_32_32_111_32_32_32
  _32_32_32_32_32_32_32_32_32_32_32_3
   2_32_32_32_32_32_32_32_32_32_32_3
    2_32_32_32_46_32_32_32_32_32_32
      _32_32_32_32_32_32_32_32_32
        _32_32_32_32_46_32_32_3
          2_32_32_32_32_32_32
            _32_32_32_32_32
              _32_32_32_1
                3_10_32
                  _32
                   _
        32_32_           32_32_
      32_32_32_4       6_32_32_32
    _32_32_32_32_3   2_32_32_32_32_
  32_32_46_32_32_32 _32_32_32_32_32_3
 2_32_32_32_32_32_32_32_32_32_46_32_32
_32_32_32_32_32_32_32_32_32_46_32_32_32
_32_32_32_32_32_32_32_32_32_32_32_32_32
_32_32_32_32_13_10_32_32_32_32_32_32_32
 _32_32_32_48_32_32_32_32_32_46_32_32_
  32_32_32_32_32_32_32_32_32_32_32_32
   _32_32_32_32_32_32_32_32_32_32_32
    _32_32_32_32_32_32_32_32_32_32_
      32_32_32_32_32_32_32_32_32_
        32_32_32_32_32_32_32_32
          _32_32_32_32_32_32_
            32_13_10_32_32_
              32_32_32_32
                _32_32_
                  32_
                   3
        2_32_3           2_32_3
      2_32_32_32       _46_32_32_
    32_32_32_32_32   _32_32_32_46_3
  2_32_32_32_32_32_ 32_32_32_32_32_32
 _32_32_32_32_32_44_32_32_32_32_32_32_
32_32_32_32_32_32_32_32_32_32_44_32_32_
32_32_44_32_32_32_32_32_32_32_13_10_32_
46_32_32_32_32_32_32_32_32_32_32_92_32_
 32_32_32_32_32_32_32_32_32_46_32_32_3
  2_32_32_32_32_32_32_32_32_32_32_32_
   32_32_32_32_32_32_32_32_32_32_32_
    46_32_32_32_32_32_32_32_32_32_3
      2_32_32_32_32_32_32_32_32_3
        2_32_32_32_32_32_32_32_
          13_10_32_32_32_32_3
            2_32_46_32_32_3
              2_32_32_32_
                92_32_3
                  2_3
                   2
        _44_32           _32_32
      _32_32_32_       32_32_32_3
    2_32_32_32_32_   32_32_32_32_32
  _32_32_32_32_32_3 2_32_32_32_32_32_
 32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_13_10_32_32_32_46_32_32_32_32_3
2_32_32_32_32_32_111_32_32_32_32_32_46_
 32_32_32_32_32_32_32_32_32_32_32_32_3
  2_32_32_32_32_46_32_32_32_32_32_32_
   32_32_32_32_32_32_32_32_32_32_32_
    32_32_46_32_32_32_32_32_32_32_3
      2_32_32_32_32_46_32_32_32_3
        2_13_10_32_32_32_32_32_
          46_32_32_32_32_32_3
            2_32_32_32_92_3
              2_32_32_32_
                32_32_3
                  2_3
                   2
        _32_32           _32_32
      _32_32_32_       32_32_44_3
    2_32_32_32_32_   32_32_32_32_32
  _32_32_32_46_32_3 2_32_32_32_32_32_
 32_32_32_32_32_32_32_32_32_46_32_32_3
2_32_32_32_32_32_32_32_32_13_10_32_32_3
2_32_32_32_32_32_32_32_32_32_32_32_32_3
5_92_35_35_92_35_32_32_32_32_32_32_46_3
 2_32_32_32_32_32_32_32_32_32_32_32_32
  _32_32_32_32_32_32_32_32_32_32_32_3
   2_32_32_32_32_32_46_32_32_32_32_3
    2_32_32_32_46_32_32_32_32_32_32
      _32_32_13_10_32_32_32_32_32
        _32_32_32_32_32_32_32_3
          2_35_32_32_35_79_35
            _35_92_35_35_35
              _32_32_32_3
                2_32_32
                  _32
                   _
        32_32_           32_32_
      32_32_32_3       2_32_46_32
    _32_32_32_32_3   2_32_32_32_32_
  32_32_32_32_32_32 _32_32_32_32_32_3
 2_32_32_46_32_32_32_32_32_32_32_32_32
_32_13_10_32_32_32_46_32_32_32_32_32_32
_32_32_35_42_35_32_32_35_92_35_35_92_35
_35_35_32_32_32_32_32_32_32_32_32_32_32
 _32_32_32_32_32_32_32_32_32_32_32_32_
  46_32_32_32_32_32_32_32_32_32_32_32
   _32_32_32_32_32_32_32_32_32_32_44
    _32_32_32_32_32_13_10_32_32_32_
      32_32_32_32_32_46_32_32_32_
        35_35_42_35_32_32_35_92
          _35_35_92_35_35_32_
            32_32_32_32_32_
              32_32_32_32
                _32_32_
                  32_
                   3
        2_32_4           6_32_3
      2_32_32_32       _32_32_32_
    32_32_32_32_32   _32_32_32_32_3
  2_32_32_32_46_32_ 32_32_32_32_32_32
 _32_32_32_32_32_32_13_10_32_32_32_32_
32_32_46_32_32_32_32_32_32_35_35_42_35_
32_32_35_111_35_35_92_35_32_32_32_32_32
_32_32_32_32_46_32_32_32_32_32_32_32_32
 _32_32_32_32_32_32_32_32_32_32_32_32_
  32_32_32_32_32_32_32_32_32_44_32_32
   _32_32_32_32_32_46_32_32_32_13_10
    _32_32_32_32_32_32_32_32_32_32_
      46_32_32_32_32_32_42_35_32_
        32_35_92_35_32_32_32_32
          _32_46_32_32_32_32_
            32_32_32_32_32_
              32_32_32_32
                _32_32_
                  32_
                   3
        2_32_3           2_32_4
      6_32_32_32       _32_32_32_
    32_32_32_32_32   _32_32_46_32_3
  2_32_32_32_32_32_ 32_32_32_44_32_13
 _10_32_32_32_32_32_32_32_32_32_32_32_
32_32_32_32_32_32_32_32_32_32_32_92_32_
32_32_32_32_32_32_32_32_32_46_32_32_32_
32_32_32_32_32_32_32_32_32_32_32_32_32_
 32_32_32_32_32_32_32_32_32_46_32_32_3
  2_32_32_32_32_32_32_32_32_32_32_32_
   32_32_13_10_95_95_95_95_94_47_92_
    95_95_95_94_45_45_95_95_95_95_4
      7_92_95_95_95_95_79_95_95_9
        5_95_95_95_95_95_95_95_
          95_95_95_95_47_92_4
            7_92_45_45_45_4
              7_92_95_95_
                95_95_9
                  5_9
                   5
        _95_95           _95_95
      _95_45_45_       45_95_95_9
    5_95_95_95_95_   95_95_95_95_95
  _95_95_32_13_10_3 2_32_32_47_92_94_
 32_32_32_94_32_32_94_32_32_32_32_94_3
2_32_32_32_32_32_32_32_32_32_32_32_32_3
2_32_32_32_32_94_94_32_94_32_32_39_92_3
2_94_32_32_32_32_32_32_32_32_32_32_94_3
 2_32_32_32_32_32_32_45_45_45_32_32_32
  _32_32_32_32_32_32_13_10_32_32_32_3
   2_32_32_32_32_32_45_45_32_32_32_3
    2_32_32_32_32_32_32_32_45_32_32
      _32_32_32_32_32_32_32_32_32
        _32_45_45_32_32_45_32_3
          2_32_32_32_32_45_32
            _32_32_32_32_32
              _32_32_32_4
                5_45_45
                  _32
                   _
        32_95_           95_32_
      32_32_32_3       2_32_32_94
    _32_32_32_32_3   2_13_10_32_32_
  32_45_45_32_32_95 _95_32_32_32_32_3
 2_32_32_32_32_32_32_32_32_32_32_32_32
_32_32_32_32_32_95_95_95_45_45_32_32_94
_32_32_94_32_32_32_32_32_32_32_32_32_32
_32_32_32_32_32_32_32_32_32_32_32_32_32
 _32_32_45_45_32_32_95_95_32_82_67_13_
  10_32_32_32_32_32_32_32_32_32_32_32
   _32_32_32_32_32_32_32_32_32_32_32
    _32_32_32_32_32_32_32_32_32_32_
      32_32_32_32_32_32_32_32_32_
        32_32_32_32_32_32_32_32
          _32_32_32_32_32_32_
            32_32_32_32_32_
              32_32_32_32
                _32_32_
                  32_
                   3
        2_32_3           2_32_3
      2_32_32_32       _32_13_10_
    32_32_32_32_68   _101_97_114_32
  _116_58_13_10_13_ 10_32_32_32_32_87
 _69_32_74_85_83_84_32_76_65_78_68_69_
68_32_65_32_80_82_79_66_69_32_79_78_32_
77_65_82_83_32_33_33_33_33_33_33_32_73_
83_78_39_84_32_84_72_65_84_32_69_88_67_
 73_84_73_78_71_32_63_33_63_33_63_33_3
  2_32_13_10_32_32_32_32_32_32_32_32_
   32_32_32_32_32_32_32_32_32_32_32_
    32_32_32_32_32_32_32_32_32_32_3
      2_32_32_32_32_32_32_32_32_3
        2_32_32_32_32_32_32_32_
          32_32_32_32_32_32_3
            2_32_32_32_32_3
              2_32_32_32_
                32_32_3
                  2_3
                   2
        _32_32           _32_32
      _32_32_32_       32_32_32_3
    2_13_10_32_32_   32_32_73_32_71
  _85_69_83_83_32_7 3_84_32_87_79_85_
 76_68_32_66_69_32_73_70_32_87_69_32_7
2_65_68_78_39_84_32_68_79_78_69_32_73_8
4_32_65_84_32_76_69_65_83_84_32_70_73_8
6_69_32_84_73_77_69_83_32_66_69_70_79_8
 2_69_32_32_32_32_32_13_10_32_32_32_32
  _32_32_32_32_32_32_32_32_32_32_32_3
   2_32_32_32_32_32_32_32_32_32_32_3
    2_32_32_32_32_32_32_32_32_32_32
      _32_32_32_32_32_32_32_32_32
        _32_32_32_32_32_32_32_3
          2_32_32_32_32_32_32
            _32_32_32_32_32
              _32_32_32_3
                2_32_32
                  _32
                   _
        32_32_           32_32_
      13_10_32_3       2_32_32_66
    _85_84_32_73_8   4_39_83_32_65_
  32_42_42_42_68_73 _70_70_69_82_69_7
 8_84_42_42_42_32_80_82_79_66_69_32_65
_78_68_32_87_69_32_68_73_68_32_73_84_32
_42_42_42_68_73_70_70_69_82_69_78_84_76
_89_42_42_42_32_33_33_33_49_49".split()
 ))).replace("t",raw_input("Name:"))''
  '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@@@@@@@@@@@
        @@@@@@@@@@@@@@@@@@@@@@@
          @@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@
              @@@@@@@@@@@
                @@@@@@@
                  @@@
                   @""".replace("@","").replace(" ","").replace("\n","").replace("raw_input","input").replace("_", " ").replace("input","raw_input")

Output(www.asciiartfarts.com/20120820.html).

                .                                            .              

     *   .                  .              .        .   *          .        

  .         .                     .       .           .      .        .     

        o                             .                   .                 

         .              .                  .           .                    

          0     .                                                           

                 .          .                 ,                ,    ,       

 .          \          .                         .                          

      .      \   ,                                                          

   .          o     .                 .                   .            .    

     .         \                 ,             .                .           

               #\##\#      .                              .        .        

             #  #O##\###                .                        .          

   .        #*#  #\##\###                       .                     ,     

        .   ##*#  #\##\##               .                     .             

      .      ##*#  #o##\#         .                             ,       .   

          .     *#  #\#     .                    .             .          , 

                      \          .                         .                

____^/\___^--____/\____O______________/\/\---/\___________---______________ 

   /\^   ^  ^    ^                  ^^ ^  '\ ^          ^       ---         

         --           -            --  -      -         ---  __       ^     

   --  __                      ___--  ^  ^                         --  __ RC



    Dear Code Golf:



    WE JUST LANDED A PROBE ON MARS !!!!!! ISN'T THAT EXCITING ?!?!?!  



    I GUESS IT WOULD BE IF WE HADN'T DONE IT AT LEAST FIVE TIMES BEFORE     



    BUT IT'S A ***DIFFERENT*** PROBE AND WE DID IT ***DIFFERENTLY*** !!!11

Not really Valentine's day themed ... But just under 10 kb :)

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.