Code Monkey Code

Welcome to the download page for my Special Musical Number based on Code Monkey by Jonathan Coulton. Thanks to JoCo for licensing his song under Creative Commons CC-NC. My video is licensed under Creative Commons CC-NC-SA. You can freely share the video and build on it, just keep the sharing going, and provide attribution. Same for the code.

Compile the code yourself with the latest Appmethod, Delphi or RAD Studio XE7.

 

uses
  JoCo;

// . . .

  NonBlocking(procedure begin
  Music.Start;

  CodeMonkey.GetUp.GetCoffee;
  CodeMonkey.&GoTo(Job);
  CodeMonkey.Have(BoringMeeting).
  &With(BoringManagerRob);

  Rob.Say(['Code Monkey very diligent',
    'But his output stink',
    'His code not "functional" or "elegant"',
    'What do Code Monkey think?']);
  CodeMonkey.Think(
    'maybe manager want to write login page himself!');
  CodeMonkey.&Not(SayItOutLoud);
  CodeMonkey.&Not(Crazy).Just(Proud);

  CodeMonkey.Like(Fritos);
  CodeMonkey.Like(Tab and MountainDew);
  CodeMonkey.Very(SimpleMan).
  &With(BigWarmFuzzySecretHeart);
  CodeMonkey.Like(You);
  CodeMonkey.Like(You);

  CodeMonkey.HangAround(@FrontDesk).
  Tell(You, 'sweater look nice');
  CodeMonkey.Offer(Buy, you, soda).
  Bring(You, cup).Bring(You, ice);
  You.Say(['No thank you for the soda cause',
    'Soda make you fat',
    'Anyway you busy with the telephone',
    'No time for chat']);
  CodeMonkey.Have(LongWalkBackToCubicle).
  He.SitDown.PretendTo(Work);
  CodeMonkey.&Not(ThinkingSoStraight);
  CodeMonkey.&Not(FeelingSoGreat);

  CodeMonkey.Like(Fritos);
  CodeMonkey.Like(Tab and MountainDew);
  CodeMonkey.Very(SimpleMan).
  &With(BigWarmFuzzySecretHeart);
  CodeMonkey.Like(You);
  CodeMonkey.Like(You, ALot);
  {TODO -oJim -cRefactoring : Make chorus a procedure!}

  CodeMonkey.Have(EveryReason).
  &To(GetOut, ThisPlace);
  CodeMonkey.Just(KeepOnWorking).
  See(you.r(SoftPrettyFace)).
  MuchRather(WakeUp).Eat(ACoffeeCake).
  Take(Bath).Take(Nap).
  This(job, Fulfilling, inCreativeWay,
    SuchALoadOfCrap);
  CodeMonkey.Think(
    'Someday he have everything even pretty girl like you');
  CodeMonkey.Just(WaitingForNow);
  CodeMonkey.Say(['someday, somehow']);

  CodeMonkey.Like(Fritos);
  CodeMonkey.Like(Tab and MountainDew);
  CodeMonkey.Very(SimpleMan).
  &With(BigWarmFuzzySecretHeart);
  CodeMonkey.Like(You);
  CodeMonkey.Like(You);

  // Yes, it's real Delphi code that compiles and runs!

  Music.Stop;

  end);
  // Get the code for Delphi or Appmethod. . .
  // Visit:
  //    www.Delphi.org/CodeMonkey

  // Video licensed under Creative Commons CC-BY-NC-SA

  // Music: Code Monkey by Jonathan Coulton
  //   Used under Creative Commons CC-BY-NC License
  //   For more information visit
  //     http://www.jonathancoulton.com/

Download the [full source code] for a console or GUI app.

The song was originally part of Thing a Week 3 and you can download the MP3, or buy the song or album. I purchased the OGG Vorbis audio file and made some slight modifications, all of which is covered under the CC-NC license.

13 replies on “Code Monkey Code”

Love this Jim – it made me literally LOL during the Code Rage presentations and it’s ever better because the code demonstrates some of the great features of Delphi too.

This.Delphi.CodeMonkey.Say(‘Awesome!’);

amazing that you have an image of Delphi and then you speak about monkeys…
Do you know sir where i can buy previous versions of delphi like XE2 or XE7 etc
The price of Berlin is too expensive

Actually he talks about “code monkey” because that’s a popular nickname for a software developer plus Delphi uses a system called “Fire Monkey” in later XE versions to provide cross-platform capabilities.

If you purchase Berlin you get access to download previous versions of Delphi such as XE7 – but beyond that there is no other legitimate place to buy earlier versions.

If someone really wants to make money with Delphi become an installation expert. I can only get an install to succeed 25% of the time. The latest version 10.4.2 failed on both machine and Embarcadero technical support has no solutions other than the usual try it again… uninstall and reinstall but I’ve need seen that accomplish anything other than waste time.

What are your thoughts?

This site uses Akismet to reduce spam. Learn how your comment data is processed.