International Obfuscated C Code Tattoo
chongo writes "Some people eschew obfuscation while other live for it. Thomas Scovell has taken obfuscation to a completely new personal level by obtaining the very first
International
Obfuscated C Code Tattoo.
We (the
IOCCC Judges)
are pleased that Thomas has honored the
1984
anonymous IOCCC winning entry
by placing the source code on his arm:
the very first IOCCC winner to receive this
distinction.
The
anonymous
winner
(a person who known for various things on the Internet and has been programming in and associated with C for decades)
feels honored
by the tattoo as well."
I doubt human beings will ever replace the floppy.
One line blog. I hear that they're called Twitters now.
The article reads like we're almost supposed to know who 'Anonymous' is... Kernighan? Ritchie?
Urge to post... fading... fading... RISING!... fading... fading... gone.
Alrighty, you've convinced me to reveal myself to the world.
It was I that wrote that program, so many years ago!
int i;main(){for(;i["]i;++i){--i;}"];read('-'-'-',i+++ "hell\j ,i/i);}
o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---
==== add some whitespace ==========
int i;
main()
{
for (; i["]i;++i){--i;}"]; read('-' - '-', i++ + "hello, world!\n", '/' / '/'));
}
read(j, i, p)
{
write(j / p + p, i-- - j, i / i);
}
===== and char subtraced from itself is 0, and char or pointer divided by itself is 1 =====
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(0, i++ + "hello, world!\n", 1));
}
read(j, i, p)
{
write(j / p + p, i-- - j, 1);
}
======= j is always 0, p is always 1, lets remove them ======
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(i++ + "hello, world!\n"));
}
read(i)
{
write(0 / 1 + 1, i-- - 0, 1);
}
======= 0 / 1 + 1 is 1, subtracting 0 does nothing, decrementing a local variable this is never used afterward also does nothing =======
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(i++ + "hello, world!\n"));
}
read(i)
{
write(1, i, 1);
}
======== replace read(i) with write(1, i, 1) =====
int i;
main()
{
for (; i["]i;++i){--i;}"]; write(1, i++ + "hello, world!\n", 1));
}
====== i[n] can be rewritten *(i + n) or *(n + i) ======
int i;
main()
{
for (; *("]i;++i){--i;}" + i); write(1, "hello, world!\n" + i++, 1));
}
=== as i gets incrimented, we dereference the next char of the string which is always non-zero till we hit the null terminator, all the matters is that the string is the same length as "hello, world!\n" =====
int i;
main()
{
for (; *("hello, world!\n" + i); write(1, "hello, world!\n" + i++, 1));
}
===== so now we can see we incriment i, printing out the next character of hello world till we hit the null terminator ====
If he has a bad experience with C and switches to another language of choice. Can't have the other language asking about the C code tattooed on his arm. :-)