?

Log in

No account? Create an account
entries friends calendar profile Previous Previous Next Next
Birthday code - shadows of echoes of memories of songs
j4
j4
Birthday code
This is what I was doing last night that kept my hands too busy to blog:



It's a birthday card for my office-mate, who was giving a talk today celebrating 40 years of programming. I'd been thinking of making a cake along these lines, but I ended up not really having time (and somebody else was planning to buy cake anyway, and I rationalised the running-out-of-time with the realisation that it would be setting a dangerous precedent if I started doing cakes for colleagues' birthdays).

Originally I wanted the punched card to represent the code for (e.g.) "print 'Happy birthday'", but I couldn't work out how to convert code to card-punches, and couldn't source the knowledge from within my social circle. One person I asked did offer the following code:

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HAPPY BIRTHDAY!";
WHILE TRUE DO
  BEGIN
  WRITE (F, *, E);
  END;
END.


Which looked familiar from wikipedia (where I got the punched card design, too). It also looked wrong (the length of the array was still set for "HELLO WORLD", not "HAPPY BIRTHDAY"). So I corrected that and included it inside the card, and made the hole 'punches' (cut by hand with a craft-knife) purely decorative, spelling out "HAPPY BIRTHDAY". Hence not being able to do a 'B' (I got into what I thought was an irrecoverable mess with the shape/size of the letters, but sorted it out in the end).

Do you know how many numbers you have to write to produce an 80-column punched card? And how many holes you have to cut out to make it say 'happy birthday'?

But he was absolutely delighted, and that made it all worthwhile.
Read 4 | Write
Comments
From: (Anonymous) Date: November 24th, 2007 12:31 am (UTC) (Link)
I ... couldn't source the knowledge from within my social circle
1401 &-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZ #@:>V?.¤(<§!$*);^±,%='"
     ________________________________________________________________
    /&-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZb#@'>V?.¤[<§!$*];^±,%v\¶
12 / O           OOOOOOOOO                        OOOOOO
11|   O                   OOOOOOOOO                     OOOOOO
 0|    O                           OOOOOOOOO      O     O     OOOOOO
 1|     O        O        O        O
 2|      O        O        O        O       O                 O
 3|       O        O        O        O       O     O     O     O
 4|        O        O        O        O       O     O     O     O
 5|         O        O        O        O       O     O     O     O
 6|          O        O        O        O       O     O     O     O
 7|           O        O        O        O       O     O     O     O
 8|            O        O        O        O OOOOOO OOOOOOOOOOOOOOOOO
 9|             O        O        O        O
  |__________________________________________________________________

In case you ever do it again (http://www.cs.uiowa.edu/~jones/cards/codes.html)

From: fluffymormegil Date: November 24th, 2007 02:45 am (UTC) (Link)
/usr/games/bcd
oldbloke From: oldbloke Date: November 24th, 2007 06:13 am (UTC) (Link)
If I'd known far enough in advance, I'd have sent you some real punchcards.
I don't need them for roaches anymore, coz I'm like all pure now innit.
With more warning, I'd have found a punch and done it for you. There's a manual one somewhere at our place, still - it was in my group's Black Museum about a decade ago, and I'm sure somebody's kept it.
From: bibliogirl Date: November 24th, 2007 09:50 am (UTC) (Link)
Wonderful. ;)
Read 4 | Write