## To build: ``` make ``` ## To use: ``` ./cable1 name group1 group2 ``` ## Try: ``` ./try.sh ``` ## Judges' remarks: Partisan may be defined as a strong supporter of a cause, party or person. We need not limit ourselves to the two major political parties in the US today. Let us consider: ``` ./cable1 Cooper Mac PC ``` Simon works for Apple, so you would expect Mac. :-) Landon is a long time Mac user: ``` ./cable1 Noll Mac PC ``` That works too! Now Leo brings PCs to the IOCCC judging for cross-platform testing: ``` ./cable1 Broukhis Mac PC ``` We can test other people. The late Steve Jobs: ``` ./cable1 Jobs Mac PC ``` That works! How about Bill? ``` ./cable1 Gates Mac PC ``` A PC guy as expected. What about that other Steve? ``` ./cable1 Ballmer Mac PC ``` Humm .. maybe there is a hidden reason he is leaving the late Micro$oft? :-) Why late? Because: image of snarky tweet from 2013 Nov 15 by Landon Noll about Microsoft So how does a one line C source know so much? Hint: it doesn't. ### An important 2023 update about twitter: The IOCCC no longer uses twitter. Today the IOCCC uses Mastodon. For more information and to see our IOCCC Mastodon posts, see: . ## Author's remarks: ### Presidents of the United States of America! Politics is full of memorable [one-liners](https://rationalwiki.org/wiki/Politics#Famous_quotes). Without wishing to [misunderestimate](https://www.youtube.com/watch?v=JhmdEq3JhoY) the taste of the judges, nor prejudge the past, the author hopes you enjoy this contribution to the genre. This one-line C program accepts as a first command-line argument the last name of any of the last 31 US Presidents (from Franklin Pierce onwards), in lower case, and prints out their political affiliation. Use `republican` as the 2nd command-line argument, and `democrat` as the 3rd (or equivalent strings of your choice). ### Why is this entry obfuscated/interesting? The program looks up the name supplied on the command line against a list of Presidents' names, and matches names to political affiliations using a look-up table. But where in the source is the list of names, and where is the look-up table? ### Notes - For Theodore Roosevelt, use: `./cable1 roosevelt republican democrat`. - But, for Franklin D Roosevelt, use: `./cable1 fdr republican democrat`. - This program needs a little endian CPU to work properly. ### Compiler warnings `clang` warns about a missing type specifier for `main()`, and that implicit function declarations are invalid in C99 (but still accepts them).