Author:
- Name: Adrian Cable
Location: US - United States of America (United States)
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:
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: https://fosstodon.org/@ioccc.
Author’s remarks:
Presidents of the United States of America!
Politics is full of memorable one-liners. Without wishing to misunderestimate 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).
Inventory for 2013/cable1
Primary files
- cable1.c - entry source code
- Makefile - entry Makefile
- cable1.orig.c - original source code
- dead-ms-tweet.jpg - screenshot of Landon’s tweet about MS being dead
- try.sh - script to try entry
Secondary files
- 2013_cable1.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- index.html - this web page