Slashdot Mirror


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."

5 of 56 comments (clear)

  1. So... who was it? by keiferb · · Score: 4, Interesting

    The article reads like we're almost supposed to know who 'Anonymous' is... Kernighan? Ritchie?

    1. Re:So... who was it? by aled · · Score: 3, Interesting

      He He... Larry Wall (Perl's creator) has at least two winning entries in the IOCCC. If you ever wondered why Perl is so ofuscated...

      --

      "I think this line is mostly filler"
  2. What I want to know is... by CommanderData · · Score: 3, Informative
    Could I be arrested for tattooing this on my arm:
    #!/usr/bin/perl -w
    # 531-byte qrpff-fast, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
    # MPEG 2 PS VOB file on stdin -> descrambled output on stdout
    # arguments: title key bytes in least to most-significant order
    $_='while(read+STDIN,$_,2048){$a=29;$b=73;$ c=142;$t=255;@t=map{$_%16or$t^=$c^=(
    $m=(11,10,11 6,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64, 72,$a^=12*($_%16
    -2?0:$m&17)),$b^=$_%64?12:0,@z)[ $_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
    =5; $_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+8 4])}@ARGV;s/...$/1$&/;$
    d=unxV,xb25,$_;$e=256|(or d$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
    $d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^ $q*8^$q<<6))<<9,$_=$t[$_]^
    (($h>>=8)+=$f+(~$g&$t) )for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
    I'd be a walking violation of the DMCA :)
    --
    Urge to post... fading... fading... RISING!... fading... fading... gone.
  3. Anonymous, Indeed. by Anonymous Coward · · Score: 3, Funny

    Alrighty, you've convinced me to reveal myself to the world.

    It was I that wrote that program, so many years ago!

  4. entry explained by voisine · · Score: 4, Informative

    int i;main(){for(;i["]i;++i){--i;}"];read('-'-'-',i+++ "hell\
    o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j ,i/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 ====