Talk:Old lady swallowed a fly: Difference between revisions

(→‎“Where's my cow?”: Partial agreement, initial source of task, interest in task's results.)
Line 95:
(comment remaining from an older version:)
::::Works for me. --[[User:Short Circuit|Michael Mol]] 12:54, 18 August 2011 (UTC)
::::: I wonder if the Tcl version is too much of a cheat. I just took the above text and compressed and encoded it, then wrapped a trivial decoder around it. Still, a fun little solution that obeys the challenge in a different way. –[[User:Dkf|Donal Fellows]] 19:12, 20 August 2011 (UTC)
::::: Compression is the most obvious way to utilize repeatitions of strings, so it's fine in my book (C code does compression, only with a crude home made compression scheme because it was more fun to me). --[[User:Ledrug|Ledrug]] 23:41, 20 August 2011 (UTC)
:::::: Really, only the (Un)Icon, J, Forth and PHP examples really approach it from the direction I had in mind (specifically using the verse and repetitive semantic structure). That said, the C, D and Tcl examples are wonderful examples of compression, and I think they make for interesting directions, too. My intent was for this example to be in the spirit of [[99 Bottles of Beer]], with a variety of possible approaches taken. --[[User:Short Circuit|Michael Mol]] 01:43, 21 August 2011 (UTC)
 
::::::: But surely decompression by another ''external'' program leaves too little for the task to be ''solved'' by a particular language (as was the case in Perl - now changed)? --[[User:Paddy3118|Paddy3118]] 04:19, 31 August 2011 (UTC)
:::::::: I agree; I don't care for the example calling out to another program to handle the decompression. I noted those examples because they were handling the decompression, at least, 'in-house'. It's nicely illustrative of decompression when you can read and recognized the raw compressed data by eye. --[[User:Short Circuit|Michael Mol]] 13:50, 31 August 2011 (UTC)
:::::::: It really doesn't make a difference. Now Perl code uses modules to do the decompression, which uses libbz2 just like bunzip2 program, and ''I'' ended up doing exactly the same amount of work. I don't see how this better fits the spirit of the task, not to mention that Perl is a glue language, and calling system commands is its thing anyway. --[[User:Ledrug|Ledrug]] 05:04, 31 August 2011 (UTC)
::::::::: Computational work, sure. It's the illustration of the process that I find interesting. --[[User:Short Circuit|Michael Mol]] 13:50, 31 August 2011 (UTC)
::::::(deindent) Well, that's what I was saying: using a module you didn't write to do the decompression doesn't illustrate anything more than calling a shell command does, since the dirty work is hidden from view anyway. Once you decide to use deflate or bzip2, all you know is the uuencoded string will become some incomprehensible binary hodgepodge that a library somewhere will decode for you, I really don't see a difference whether the lib is invoked by Module::Inflate or /bin/unzip. --[[User:Ledrug|Ledrug]] 15:49, 31 August 2011 (UTC)
::::::: Which I agree isn't as interesting. Currently, the C, D and PicoLisp examples rate higher than the Tcl, Python and Perl examples in terms of what I find interesting and illustrative for compression algorithms. Tcl, Python and Perl examples are illustrative of packing data into source code. While I don't think this task is particularly successful yet (the examples should probably be subclassified for the direction of their solution--compression, semantic assembly or some other technique.), the examples noted do raise interesting ideas for other tasks. Again, I particularly like how the C, D and PicoLisp's examples data is readable and recognizable prior to decompression. I'd be interested in seeing a task that used that property to illustrate the compression and decompression sides of a compression algorithm. (Though perhaps the 99 Bottles of Beer song would be a better basis). As for the direction Tcl, Perl and Python took, there's probably use for a task explicitly invoking that behavior in a program; it bears some resemblance to self-extracting programs which serve as the basis for the installers for many software programs. --[[User:Short Circuit|Michael Mol]]
:::::::I created the task on a whim. It was somewhat like dropping a grain of sand into a supersaturated solution; it's very interesting and inspiring looking at the different kinds of things that are precipitating. --[[User:Short Circuit|Michael Mol]] 17:09, 31 August 2011 (UTC)
This section shares only a title with [http://www.amazon.co.uk/Wheres-My-Cow-Discworld-Picture/dp/038560937X this] book by an excellent author.
 
==Compression types==
::::: I wonder if the Tcl version is too much of a cheat. I just took the above text and compressed and encoded it, then wrapped a trivial decoder around it. Still, a fun little solution that obeys the challenge in a different way. –[[User:Dkf|Donal Fellows]] 19:12, 20 August 2011 (UTC)
 
::::: Compression is the most obvious way to utilize repeatitions of strings, so it's fine in my book (C code does compression, only with a crude home made compression scheme because it was more fun to me). --[[User:Ledrug|Ledrug]] 23:41, 20 August 2011 (UTC)
 
:::::: Really, only the (Un)Icon, J, Forth and PHP examples really approach it from the direction I had in mind (specifically using the verse and repetitive semantic structure). That said, the C, D and Tcl examples are wonderful examples of compression, and I think they make for interesting directions, too. My intent was for this example to be in the spirit of [[99 Bottles of Beer]], with a variety of possible approaches taken. --[[User:Short Circuit|Michael Mol]] 01:43, 21 August 2011 (UTC)
 
 
::::::: But surely decompression by another ''external'' program leaves too little for the task to be ''solved'' by a particular language (as was the case in Perl - now changed)? --[[User:Paddy3118|Paddy3118]] 04:19, 31 August 2011 (UTC)
 
:::::::: I agree; I don't care for the example calling out to another program to handle the decompression. I noted those examples because they were handling the decompression, at least, 'in-house'. It's nicely illustrative of decompression when you can read and recognized the raw compressed data by eye. --[[User:Short Circuit|Michael Mol]] 13:50, 31 August 2011 (UTC)
 
:::::::: It really doesn't make a difference. Now Perl code uses modules to do the decompression, which uses libbz2 just like bunzip2 program, and ''I'' ended up doing exactly the same amount of work. I don't see how this better fits the spirit of the task, not to mention that Perl is a glue language, and calling system commands is its thing anyway. --[[User:Ledrug|Ledrug]] 05:04, 31 August 2011 (UTC)
 
::::::::: Computational work, sure. It's the illustration of the process that I find interesting. --[[User:Short Circuit|Michael Mol]] 13:50, 31 August 2011 (UTC)
 
::::::(deindent) Well, that's what I was saying: using a module you didn't write to do the decompression doesn't illustrate anything more than calling a shell command does, since the dirty work is hidden from view anyway. Once you decide to use deflate or bzip2, all you know is the uuencoded string will become some incomprehensible binary hodgepodge that a library somewhere will decode for you, I really don't see a difference whether the lib is invoked by Module::Inflate or /bin/unzip. --[[User:Ledrug|Ledrug]] 15:49, 31 August 2011 (UTC)
 
::::::: Which I agree isn't as interesting. Currently, the C, D and PicoLisp examples rate higher than the Tcl, Python and Perl examples in terms of what I find interesting and illustrative for compression algorithms. Tcl, Python and Perl examples are illustrative of packing data into source code. While I don't think this task is particularly successful yet (the examples should probably be subclassified for the direction of their solution--compression, semantic assembly or some other technique.), the examples noted do raise interesting ideas for other tasks. Again, I particularly like how the C, D and PicoLisp's examples data is readable and recognizable prior to decompression. I'd be interested in seeing a task that used that property to illustrate the compression and decompression sides of a compression algorithm. (Though perhaps the 99 Bottles of Beer song would be a better basis). As for the direction Tcl, Perl and Python took, there's probably use for a task explicitly invoking that behavior in a program; it bears some resemblance to self-extracting programs which serve as the basis for the installers for many software programs. --[[User:Short Circuit|Michael Mol]]
 
:::::::I created the task on a whim. It was somewhat like dropping a grain of sand into a supersaturated solution; it's very interesting and inspiring looking at the different kinds of things that are precipitating. --[[User:Short Circuit|Michael Mol]] 17:09, 31 August 2011 (UTC)
 
==Copyright!==
Anonymous user