Domain: ioccc.org
Stories and comments across the archive that link to ioccc.org.
Comments · 408
-
Expressive vs. Functional Speech
Here's my problem, if Expressive Speech is more protected than Functional Speech, what exactly is the difference? I've tried looking at it philosophically, and I get "All speech has both Expressive and Functional aspects to it, there is no pure speech". If there is a legal distiction, can someone (preferably a Lawyer, but not necessarily) please elaborate what it is?
Barring that, there are some programs that, in my opinion, just plain qualify as art. For example, in the 15th International Obfuscated C Code Contest, I'd put the programs Glicbawls (bmeyer.c) and TomX.
Glicbawls goes beyond compressing an image, it talks about ongoing research in the field, demonstrating a routine at the heart of the author's research. It has a clean interface which will do the right thing when confronted with a compressed or uncompressed file. It has a visual representation that is small and artistic. It is programming poetry, a statement about beauty.
Tomx is poetry as well, but poetry of a different kind. Rather than showing beauty, it talks of communication; "All language is fundamentally one". This is a truth we learn when learning to program, but we often forget it as we move into the real world from the abstract. TomX brings this truth into the real world for us to hold, touch, play with. It's even maintainable code (unlike most of the IOCCC entries), so it can grow.
Another example of the expressiveness of a program is in the metaphor it uses to interface with the user. Robert J. Sawyer (Author of Calculating God and Flash Fowrward) wrote an excellent article on the design of Wordstar, and how much more joyful it is for him to use, because of the design metaphor, than other designs that perform the same function.
The Museum of Modern Art has an entire department of Architecture and Design devoted to the art of things that many people think of as purely functional. While they do not yet include software, there is no denying that the software process has much in common with Architecture, Engineering and Design, and the same aesthetic and artistic choices get made during the process.
These are just some examples off the top of my head. I'd really like an answer to my first question tho.
---- -
Expressive vs. Functional Speech
Here's my problem, if Expressive Speech is more protected than Functional Speech, what exactly is the difference? I've tried looking at it philosophically, and I get "All speech has both Expressive and Functional aspects to it, there is no pure speech". If there is a legal distiction, can someone (preferably a Lawyer, but not necessarily) please elaborate what it is?
Barring that, there are some programs that, in my opinion, just plain qualify as art. For example, in the 15th International Obfuscated C Code Contest, I'd put the programs Glicbawls (bmeyer.c) and TomX.
Glicbawls goes beyond compressing an image, it talks about ongoing research in the field, demonstrating a routine at the heart of the author's research. It has a clean interface which will do the right thing when confronted with a compressed or uncompressed file. It has a visual representation that is small and artistic. It is programming poetry, a statement about beauty.
Tomx is poetry as well, but poetry of a different kind. Rather than showing beauty, it talks of communication; "All language is fundamentally one". This is a truth we learn when learning to program, but we often forget it as we move into the real world from the abstract. TomX brings this truth into the real world for us to hold, touch, play with. It's even maintainable code (unlike most of the IOCCC entries), so it can grow.
Another example of the expressiveness of a program is in the metaphor it uses to interface with the user. Robert J. Sawyer (Author of Calculating God and Flash Fowrward) wrote an excellent article on the design of Wordstar, and how much more joyful it is for him to use, because of the design metaphor, than other designs that perform the same function.
The Museum of Modern Art has an entire department of Architecture and Design devoted to the art of things that many people think of as purely functional. While they do not yet include software, there is no denying that the software process has much in common with Architecture, Engineering and Design, and the same aesthetic and artistic choices get made during the process.
These are just some examples off the top of my head. I'd really like an answer to my first question tho.
---- -
Expressive vs. Functional Speech
Here's my problem, if Expressive Speech is more protected than Functional Speech, what exactly is the difference? I've tried looking at it philosophically, and I get "All speech has both Expressive and Functional aspects to it, there is no pure speech". If there is a legal distiction, can someone (preferably a Lawyer, but not necessarily) please elaborate what it is?
Barring that, there are some programs that, in my opinion, just plain qualify as art. For example, in the 15th International Obfuscated C Code Contest, I'd put the programs Glicbawls (bmeyer.c) and TomX.
Glicbawls goes beyond compressing an image, it talks about ongoing research in the field, demonstrating a routine at the heart of the author's research. It has a clean interface which will do the right thing when confronted with a compressed or uncompressed file. It has a visual representation that is small and artistic. It is programming poetry, a statement about beauty.
Tomx is poetry as well, but poetry of a different kind. Rather than showing beauty, it talks of communication; "All language is fundamentally one". This is a truth we learn when learning to program, but we often forget it as we move into the real world from the abstract. TomX brings this truth into the real world for us to hold, touch, play with. It's even maintainable code (unlike most of the IOCCC entries), so it can grow.
Another example of the expressiveness of a program is in the metaphor it uses to interface with the user. Robert J. Sawyer (Author of Calculating God and Flash Fowrward) wrote an excellent article on the design of Wordstar, and how much more joyful it is for him to use, because of the design metaphor, than other designs that perform the same function.
The Museum of Modern Art has an entire department of Architecture and Design devoted to the art of things that many people think of as purely functional. While they do not yet include software, there is no denying that the software process has much in common with Architecture, Engineering and Design, and the same aesthetic and artistic choices get made during the process.
These are just some examples off the top of my head. I'd really like an answer to my first question tho.
---- -
Re:Code as expression (example)
That is exactly what i was going to say. the IOCCC website can be found at www.ioccc.org or here
-
expressive code
How about the The International Obfuscated C Code Contest? That stuff is art to me.
-
Obfuscated Perl, 5k contest....
some examples of code as art include
:Obfuscated Perl contest
all of these contests are essentially defining code (in C, Perl, or HTML) as art - and art is speech.
-
Expression in CodeCode can be incredibly expressive. Although any ideas that can expressed in code can be expressed in standard English as well, it is oftentimes much more difficult to communicate the idea using spoken language. That is why it is good practice to read others code when learing how to program.
Or, sometimes, code will have an intrinsic artistic value outside of any functionality. Take a look at the International Obfuscated C Code Contest. Some of those entries are really remarkable.
EndingMan
-
something to discuss
I have something to discuss
.. like, why does no one think its fun to know when it happens? Has the market bust turned all us geeks into blinder-wearing profit-seeking business types? How useful is the obfuscated Obfuscated C Code Contest? But geeks still seem to dig it ... :) While I may not be staring at 'while (1) { printf("%lu\n", time()); }' when the rollover happens, at least its cool to know we lived the moment! It only happens one in one billion times!
-
Obfuscated code
Deliberately obfuscated source code is not allowed.
While I understand the intention and rational of this requirement, it does have some issues:- Deliberately obfuscated code (like we see here at the IOCCC) should be able to qualify as Open Source somehow. You can learn a lot from those goofy programs.
:) - Exactly how does one judge what has been deliberatly obfuscated, and what is just really shitty code? Frankly, I think the clause should say "no shitty code allowed", but hey... that's just me
:)
Ryan T. Sammartino
- Deliberately obfuscated code (like we see here at the IOCCC) should be able to qualify as Open Source somehow. You can learn a lot from those goofy programs.
-
Re:One thing bothers me...Since when was C an "exotic" language?
Oh, since about 1987.
-
I am a winner
-
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:Download all winning entriesTo download the just 2000 IOCCC winners:
2000.tar.Z
To download all IOCCC winners (since 1984):
2000.tgzall.tar.Z
A brief summary (spoiler warning) may be fount at:
all.tgzsummary.txt
You can browse individual winners for any year at:winning entries
In general, the IOCCC home site is under:www.ioccc.org
... and is hosted thru the wonderful support of Chuq VonRospach and Laurie Sefton. -
Re:obfuscating not all, though...
I've got to say that anderson is particularly satisfying, no #defines and I still can barely understand a character of it...
-
Download all winning entriesI couldn't get the "all of the 2000 goodies" link to work, until I tried munging the filename (.tgz vs
.tar.Z)So, download the file from http://www.ioccc.org/2000.2000.tgz
-
Re:Why bother?
Hey, try actually having a boss who won the IOCCC...three times, even...
-
obfuscating not all, though...
A few entries that I saw were mostly c programs converted to ascii art, which I believe is a pity as if reindented correctly this would not look as obfuscated as in previous contests.
I however enjoyed some entries, like PrimeNum which is an example of clean obfuscated code, despite its heavy use of preprocessing directives (BTW, even its own name is obfuscating as it has not much to do with prime numbers, even though its apparent algorithm is ;-).
Tomx is also interesting as it is a Makefile and a source file at the same time.
-- -
obfuscating not all, though...
A few entries that I saw were mostly c programs converted to ascii art, which I believe is a pity as if reindented correctly this would not look as obfuscated as in previous contests.
I however enjoyed some entries, like PrimeNum which is an example of clean obfuscated code, despite its heavy use of preprocessing directives (BTW, even its own name is obfuscating as it has not much to do with prime numbers, even though its apparent algorithm is ;-).
Tomx is also interesting as it is a Makefile and a source file at the same time.
-- -
This is not off-topic. Lousy moderation.
"Equally interesting would be code that really is bad, as long as it didn't turn into direct attacks upon the programmers involved (they can't all be gems!) Any code that shows elegant and masterful design "
Some of the most "elegant and masterful design" I've ever seen is code from the obfuscated C coding competition (http://www.ioccc.org/); it may often look pretty atrocious to the "untrained eye", but there are some pretty amazing examples of masterful design - and good design is something beautiful in itself, no matter how aesthetically displeasing it may be to the average Joe's eye. Huge industrial structures like, say, oil rigs, often look ugly to the general public, but I guarantee you, to the engineers who design and build such things, the people who can appreciate the achievement in building such things, they are often seen as beautiful.
So explain to me how exactly this post is off-topic? When did
/. moderation become so lousy? -
Re:Wrong approach
Actually I found quite a bit of the obfuscated code to be very beautiful. The example that I liked the most was the entry by phillipps in 1988, available here. I just found it amazing to see what these programmers managed to achieve from what looks like a random set of symbols sprinkled into a text file. I guess that with normal programming, unless your idea of "beautiful" matches the ideas of the programmer who wrote it, then you dont find it beautiful. Whereas, with the obfuscated code competition, everyone has the same idea of "beauty" - obfuscation!
--
#include /* 20000608 PUBLIC DOMAIN MySig(sig.c) Tweaks welcome */
main(c,v)char *v;{return !c?putchar(*v-1)&&main(0,v+1/* build: cc sig.c */
):main(0,"Disjt!Tqfjst!=dstqfAzbipp/dpn?\v\1");}/* No C compiler? No OS */ -
Try this..
Check out savastio.c or any other ioccc winner.
If you can read those, well.. you're either too good or have too much time in your hands. Either way, it's good. -
Try this..
Check out savastio.c or any other ioccc winner.
If you can read those, well.. you're either too good or have too much time in your hands. Either way, it's good. -
Wrong approach
Gosh, this is really a hard question as you can see from the apparent lack of enthusiastic answers. If only you asked where can you find BAD, AWFUL code I can guarantee there would be a lot more links. I mean, there are movements devoted to producing as bad code as possible. Take a look at Obfuscated C Code Contest. You can learn from negative examples as well, and they are much easier to find.
-
I got your beautiful code...
...right HERE!
-
Even the references are amusingThe references cited in this brief include:
- The Elements of Style,
- the Obfuscated C contest, and even
- the Bulwer-Lytton bad fiction contest.
Bravo to the amici curiae[?] for giving the court (or at least its clerks) such fine reading material!
-
Use the Obfuscated C Code Contest EntriesThe entries to the International Obfuscated C Code Contest frequently have the effect of printing out a text string that is not readily apparent from the source code.
In many cases you could change the text to say "Copyright (c) 2000 Free Software Foundation. This program is free software; yadda yadda".
If you're program is a GUI program, it may not be too hard to obscure the generation of this text and show it in a message box.
One thing I suggest though is that if you do this, you split up the code that does it and distribute it all over your program, and include several independent ways it can be done with independent implementations.
Michael D. Crawford
GoingWare Inc -
Idiots. It's an IOCCC entry:
http://www.ioccc.org/1987/westley.c
Should really be fucking credited to Brian Westley. Pisses me off. -
Re:Is it fame?What drives people to enter the IOCCC?
From the conversations that I have had with IOCCC winners, I would say about 1/2 of what drives them recognition. More than a few IOCCC winners tell is that they put the fact that they won on the resume and/or web site.
I was told by one winner that they won a promotion within their company and beat out a number of other candidates in part because their local newspaper had run a story about their ``winning a programming contest''. And, ``I swear I am not making this up'': their promotion gave them a significant new role in the company QA department. This winner credits a clueless newspaper reporter as well as a pointy-haired management selection committee for not understanding the IOCCC.
Winners have the choice to remain anonymous. Very few entries even request this option. The only anonymous winner was back in 1984. When asked by people doing stories on the IOCCC, we tell them that this person as somewhat well known for a number of things, not the least is in regards to their early work with C and Un*x. To this day they remain steadfast in their desire to remain anonymous.
I'd say about 1/3 are driven by the technical challenge. Some winners have reported that they worked off-and-on on their entry for several years. In one case a winning entry became part of their Ph.D. thesis! Given the complexity of some of the winners, I can certainly understand this motivation.
Of the remaining 1/6, one is collecting multiple wins; to try be the person who as won the most number of times. Another less common motivation is in finding new ways to abuse the IOCCC rules.
My favorite IOCCC abuse so far was done by:
#include </dev/tty>
:-) -
Re:Is it fame?What drives people to enter the IOCCC?
From the conversations that I have had with IOCCC winners, I would say about 1/2 of what drives them recognition. More than a few IOCCC winners tell is that they put the fact that they won on the resume and/or web site.
I was told by one winner that they won a promotion within their company and beat out a number of other candidates in part because their local newspaper had run a story about their ``winning a programming contest''. And, ``I swear I am not making this up'': their promotion gave them a significant new role in the company QA department. This winner credits a clueless newspaper reporter as well as a pointy-haired management selection committee for not understanding the IOCCC.
Winners have the choice to remain anonymous. Very few entries even request this option. The only anonymous winner was back in 1984. When asked by people doing stories on the IOCCC, we tell them that this person as somewhat well known for a number of things, not the least is in regards to their early work with C and Un*x. To this day they remain steadfast in their desire to remain anonymous.
I'd say about 1/3 are driven by the technical challenge. Some winners have reported that they worked off-and-on on their entry for several years. In one case a winning entry became part of their Ph.D. thesis! Given the complexity of some of the winners, I can certainly understand this motivation.
Of the remaining 1/6, one is collecting multiple wins; to try be the person who as won the most number of times. Another less common motivation is in finding new ways to abuse the IOCCC rules.
My favorite IOCCC abuse so far was done by:
#include </dev/tty>
:-) -
Re:Is it fame?What drives people to enter the IOCCC?
From the conversations that I have had with IOCCC winners, I would say about 1/2 of what drives them recognition. More than a few IOCCC winners tell is that they put the fact that they won on the resume and/or web site.
I was told by one winner that they won a promotion within their company and beat out a number of other candidates in part because their local newspaper had run a story about their ``winning a programming contest''. And, ``I swear I am not making this up'': their promotion gave them a significant new role in the company QA department. This winner credits a clueless newspaper reporter as well as a pointy-haired management selection committee for not understanding the IOCCC.
Winners have the choice to remain anonymous. Very few entries even request this option. The only anonymous winner was back in 1984. When asked by people doing stories on the IOCCC, we tell them that this person as somewhat well known for a number of things, not the least is in regards to their early work with C and Un*x. To this day they remain steadfast in their desire to remain anonymous.
I'd say about 1/3 are driven by the technical challenge. Some winners have reported that they worked off-and-on on their entry for several years. In one case a winning entry became part of their Ph.D. thesis! Given the complexity of some of the winners, I can certainly understand this motivation.
Of the remaining 1/6, one is collecting multiple wins; to try be the person who as won the most number of times. Another less common motivation is in finding new ways to abuse the IOCCC rules.
My favorite IOCCC abuse so far was done by:
#include </dev/tty>
:-) -
Re:Slashdot's just helping the stereotype...
http://www.ioccc.org/
'nuff said.
-- -
Compiler solving Towers of Hanoi
I just found it. It's called 'vanschnitz' and can be found here
-
The classic obfuscated contest (hilarious)
Check out the C obfuscated contest from the 90's. If you haven't seen any of the winning programs before, you will be amazed, shocked and left in wonder (Like I wonder what the day job of these developers is...)
International Obfuscated C page and the amazing and confounding winners.
My favorite is the tic tac toe game that is both the game and the code! (recompile to play next move...)
-- Moondog -
The classic obfuscated contest (hilarious)
Check out the C obfuscated contest from the 90's. If you haven't seen any of the winning programs before, you will be amazed, shocked and left in wonder (Like I wonder what the day job of these developers is...)
International Obfuscated C page and the amazing and confounding winners.
My favorite is the tic tac toe game that is both the game and the code! (recompile to play next move...)
-- Moondog -
The classic obfuscated contest (hilarious)
Check out the C obfuscated contest from the 90's. If you haven't seen any of the winning programs before, you will be amazed, shocked and left in wonder (Like I wonder what the day job of these developers is...)
International Obfuscated C page and the amazing and confounding winners.
My favorite is the tic tac toe game that is both the game and the code! (recompile to play next move...)
-- Moondog -
That reminds me...
Of the Obfuscated C Code Contest.
That contest could create some real good compiler tests.
Like, how about a solution to Towers of Hanoi that let the compiler solve the problem by recursively including itself, eventually creating one huge 'printf()'-statement?
And it used a compiler switch for the number of pegs. At the time I tested it, gcc broke (or my computer ran out of memory, I'm not really sure which of the two...) at 15 pegs.
The solution to 14 pegs would create a over 1 MB executable containing just an MB of printf("really long string"); text.
If I find a link to it somewhere I'll let you know. The International Obfuscated C Code Contest (IOCCC) has it's homepage at www.ioccc.org, but I can't seem to remember the name of the program. -
Larry Wall backgroundLarry Wall - home page unknown, EMail address unknown
Grand prize in most well-rounded in confusion (1986/wall.c)
Most Useful Obfuscation (1987/wall.c)
From ioccc.org
And you people WONDER why it's hard to read PERL code?
And yes, I have written readable PERL code. I have also written a regex script to parse my VB code and alter function parameters as a global find and replace... If you can't read regex, you won't be able to read well written PERL code that uses it. I find that most people who accuse PERL of being dirty and hard to read simply can't read regex.
-
GCC? That's not obfuscated.
Try looking at some IOCCC contest winners. They make those parts of GCC look like "Hello World."
<O
( \ -
art
your point is extremely insightful and eloquently made, but keep in mind there is an important exception to what you say, an exception which can be expressed in three words:
performance... art.. programming.
May not rival the great Shakespear.. but does rival at the least those people who stand in the street with white face paint on, imitating statues.. -
Re:Open Eggs
With open source, however, its another story. One of the goals of programming is to develop small, fast, and tight code that leaves as small a footprint as possible. Of course there are numerous examples of bloat ware out there (how many times have you heard "Damn, excel 97 is enormous.. must be because of the flight simulator they included!"), in open source there is no reason why someone should make more bloat than necessary. In other words, with all the talent that is developing open source projects, why should a space-waster make its way in?
I'm not at all convinced. Some of the things out of the IOCCC are amazingly small, so they don't cause code-bloat, and amazingly dense, so that you could never work out what they do by reading the source. Perfect for open-source easter eggs. My favourite is this.
-
Re:Open Eggs
With open source, however, its another story. One of the goals of programming is to develop small, fast, and tight code that leaves as small a footprint as possible. Of course there are numerous examples of bloat ware out there (how many times have you heard "Damn, excel 97 is enormous.. must be because of the flight simulator they included!"), in open source there is no reason why someone should make more bloat than necessary. In other words, with all the talent that is developing open source projects, why should a space-waster make its way in?
I'm not at all convinced. Some of the things out of the IOCCC are amazingly small, so they don't cause code-bloat, and amazingly dense, so that you could never work out what they do by reading the source. Perfect for open-source easter eggs. My favourite is this.
-
Re:Clues you can lose
I was only talking about clustering and redundancy. I'm not sure who rattled your cage but hey-ho...
> When you have a terabyte of data to process, you have to start paying a little more attention to things like I/O.
If you stripe a terabyte of data across 4000 disks and ask them all to search for it you will find it faster than if you have a single huge disk doing the searching.
>a wise business practice that anyone over 30 would recommend.
So why did they do it? Are you saying that google's tech support are all idiots?
>by all means invent some statistics that show that your MIPS/$ is better
Considering you started your argument with some statistics I'm surprised you say this. Did you read posts #178, which lists the prices, and #46, which is from a Solaris administrator?
>Oh, and BTW, your regex is suboptimal
It's supposed to be like because it is obfuscated. Have you not had your morning coffee or something?
-
My salary is about to skyrocket
I knew that all that practice writing entries for the International Obfuscated C Code Contest would pay off.
-
Code is poetry
We've always known that source can be a form of expression. Look at the obfuscated C contest.
-
Re:Obfuscated DeCSS programming contest
no.
Remember, ESR himself maintains the INTERCAL compiler for linux! if that isn't promoting obfuscation, what is?
you have to understand the motives. open source's ideals as i understand them is to able to organise things in such a way that no one person is able to prevent anyone else from benefiting from the software just as much as the one person does.
with things such as the ioccc, while only one person (the author) is really able to understand and modify the code, this does not matter. _everyone_ benefits equally for one simple reason:
obfuscated programming is not programming.
it is art.