30
2
Choose your favorite famous computer scientist or computer science pioneer who was born in 1942 or earlier (as 1943 marks the start of the creation of the 'first' computer). They should have a Wikipedia page or other site that lists their birth year and tells how their accomplishments relate to computer science. You may choose the same as someone else but choosing someone new is encouraged.
Take a name they are commonly known by. This will most likely be their first and last name but it might include abbreviations or middle names if that is more common. For example, for Tony Hoare both Tony Hoare
and C. A. R. Hoare
would be acceptable.
All the characters in the name must be printable ASCII. If the name contains characters that aren't printable ASCII it's fine if you choose something approximate. e.g. Kurt Godel
instead of Kurt Gödel
.
Take the set of unique characters in the name (e.g. C. ARHoare
) and shift them up the printable ASCII scale by the birth year of your scientist, looping around from ~
to space. (Basically add the birth year modulo 95.) This will give you a (most likely) new set of printable ASCII characters.
For example, C. A. R. Hoare was born in 1934, so shifting every character in C. ARHoare
by 1934 (34 mod 95) characters gives ePBctj2$5(
.
This Stack Snippet will do all the shifting for you:
function go() {var name = document.getElementById("name").value;var year = parseInt(document.getElementById("year").value);var unique = {};for (var i = 0; i < name.length; i++) { unique[name.charAt(i)] = true; } var result = ''; for (var char in unique) { result += String.fromCharCode((char.charCodeAt(0) - 32 + year) % 95 + 32); } document.getElementById("result").value = result; }
Name: <input type="text" id="name" value="C. A. R. Hoare"><br>
Birth Year: <input type="text" id="year" value="1934"><br>
<button type="button" onclick="go()">Ok</button><br>
Result: <input type="text" id="result" readonly>
Challenge
Using this set and only this set (no tabs, no newlines) of shifted printable ASCII characters, write a program that prints Hello, [name]!
to stdout or closest alternative, where [name]
is the same exact name you chose above and shifted to get your program characters. You may use multiple characters from the set or not use some at all. For example, the theoretical program PetBee($25
prints Hello, C. A. R. Hoare!
.
Scoring
Your score is your code size in bytes times the number of unique characters in the name you choose. The lowest sore wins.
6Were I to pick, for example, Muḥammad ibn Mūsā al-Khwārizmī, and use a reasonable ASCII-fication of their name, for instance Muhammad ibn Musa al-Khwarizmi, would that be acceptable? – ymbirtt – 2014-11-21T14:11:24.757
3
Rear Admiral Grace Murray Hopper, United States Navy, (Retired), Doctor of Philosophy
. Born 1906. Would that be OK? – Bill Woodger – 2014-11-21T15:17:17.927@ymbirtt Yes, that's perfectly fine. – Calvin's Hobbies – 2014-11-21T19:12:54.050
2@BillWoodger I think that's a bit of a stretch. I'd be OK with
Rear Admiral Grace Murray Hopper
though. Remember that your code size is multiplied by the number of unique characters in the name so a longer name is not necessarily better. – Calvin's Hobbies – 2014-11-21T19:17:38.687@Calvin'sHobbies Thanks, I was looking for something long to see if Grace Hopper would actually work with COBOL :-) it doesn't :-( With COBOL in golfing, it doesn't really matter what you multiply it by, it's long (in golf terms) anyway. – Bill Woodger – 2014-11-21T20:12:40.493
@Quincunx Your
ḥ
is not anh
(it has a little dot underneath). – Calvin's Hobbies – 2014-11-22T06:45:33.7405@Calvin'sHobbies Oh oops. Thought that was grit on my screen. – Justin – 2014-11-22T06:58:50.360
2What about C. A. R. Hoare's brother, C. D. R. Hoare? – David Conrad – 2014-11-22T08:59:30.983
@DavidConrad - +1 for the Lisp joke. :-) – Bob Jarvis - Reinstate Monica – 2014-11-23T01:05:17.497
So, nearly all "mainstream" languages are forbidden, right? Damn... – Rodolfo Dias – 2014-11-24T13:37:19.337
1Can you clarify the rules on using the shortened version of the name? – n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ – 2014-11-26T15:18:15.153