< 1407715443 831636 :nooodl!~nooodl@2a02:1810:4d0d:7e00:2466:cb81:434f:f680 QUIT :Ping timeout: 240 seconds < 1407717395 299005 :yorick!~yorick@oftn/member/yorick QUIT :Remote host closed the connection < 1407718440 426945 :mhi^!~mhi@unaffiliated/mhi/x-9993184 QUIT :Quit: Lost terminal < 1407721671 131226 :Phantom__Hoover!~Phantom@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1407722114 397010 :augur!~augur@73.163.157.101 JOIN :#esoteric < 1407722380 447623 :augur!~augur@73.163.157.101 QUIT :Ping timeout: 250 seconds < 1407722683 689738 :Tritonio1!~Thunderbi@athedsl-16485.home.otenet.gr JOIN :#esoteric < 1407722842 706175 :Tritonio!~Thunderbi@athedsl-16485.home.otenet.gr QUIT :Ping timeout: 245 seconds < 1407726019 324437 :augur!~augur@73.163.157.101 JOIN :#esoteric < 1407727039 529899 :augur!~augur@73.163.157.101 QUIT :Read error: Connection reset by peer < 1407727070 831421 :augur!~augur@73.163.157.101 JOIN :#esoteric < 1407728449 881797 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :If I have a C struct like struct foo { bla bla bla; char bar[1]; } what's the number do? < 1407728523 556587 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Bike: What number are you meaning, the array length? < 1407728529 953682 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :yeah < 1407728630 995551 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Clearly, it is the length of the array; it has one element. < 1407728640 230962 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :So that is how much space is allocated in the structure. < 1407728683 592679 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :the code i'm looking at allocates more than that, though, is why i'm wondering < 1407728708 810057 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :How do you mean? < 1407728780 816265 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :typedef struct symbol_s { size_t length; char string[1]; } symbol_s; and then for a symbol it allocates offsetof(symbol_s, string) + length + 1 < 1407728821 402100 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :That is a workaround for the lack of the GNU extension allowing an array length to be zero. < 1407728849 123058 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :If GNU extensions are used you can avoid this by declaring the array length as zero, therefore allocating no space at all in the structure. It is pretty useful actually. < 1407728876 855794 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :so is it conformant? like, does that let you have the string be longer? < 1407728889 141049 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :the 1 is for a null terminator so not being zero is okay, i guess < 1407729789 925669 :augur!~augur@73.163.157.101 QUIT :Remote host closed the connection < 1407732588 552101 :simpleirc!~simpleirc@c-68-44-37-46.hsd1.nj.comcast.net JOIN :#esoteric < 1407732595 309444 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1407732754 387557 :simpleirc!~simpleirc@c-68-44-37-46.hsd1.nj.comcast.net QUIT :Remote host closed the connection < 1407733399 832889 :augur!~augur@pool-71-191-96-49.washdc.east.verizon.net JOIN :#esoteric < 1407733495 978122 :augur!~augur@pool-71-191-96-49.washdc.east.verizon.net QUIT :Read error: Connection reset by peer < 1407733502 798664 :augur!~augur@pool-71-191-96-49.washdc.east.verizon.net JOIN :#esoteric < 1407734162 170616 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: The "struct hack" is generally considered to not be 100% kosher. < 1407734179 837772 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: That's possibly why C99 added the flexible-length array members as a workaround. < 1407734181 380215 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :but well known enough to be named, huh < 1407734198 385770 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes. < 1407734199 501884 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://c-faq.com/struct/structhack.html < 1407734215 888766 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The fact it's so common is possibly why C99 added the flexible-length array members as a workaround. < 1407734256 601037 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :These days you can write struct foo { size_t length; char string[]; } and it'll be somewhat like the GCC zero-length array. < 1407734262 206539 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(There are slight differences.) < 1407734317 331001 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I said that C99 thing twice? Uh. Well, I just woke up. < 1407734359 357403 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :oh, link's perfect, thanks < 1407734379 808378 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :char string[] is more what i'd expect, though, good to know < 1407734402 658528 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :i just wasn't sure if foo[1] in a struct actually meant "length one" instead of like in function arguments (?) where it's bullshit < 1407734403 176715 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :People still avoid C99 features. I mean, it's just 15 years by now. < 1407734417 555128 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :not even old enough for a driver license < 1407734429 306023 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And admittedly it's not like MSVC still supported it. < 1407734435 740647 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :actually, at my job I can't use C99, so like -_- < 1407734462 683203 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :I prefer the GNU zero length arrays because it is more sensible to me. They also don't even have to be at the end of a structure, and zero-length arrays can be used in unions too, I think; isn't it? < 1407734463 538679 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :not that this is for work. < 1407734571 346938 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I assume they can; I think you can put a zero-length array anywhere a regular array can go. < 1407734629 312005 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Though having it in the middle of a struct does not sound incredibly useful. < 1407734664 744503 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :Maybe if you want multiple ones in one struct? < 1407734681 6862 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :still at the end so you can use offsetof on everything else, i guess < 1407734728 559140 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Another use of zero-length arrays might also be for use of sizeof in macros, for example sizeof(((struct XYZ*)0)->array0[0]) or whatever might be used < 1407734729 36576 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: is there any source for the reading of the spec which forbids it? < 1407734732 676445 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Would this work? < 1407734768 50720 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :And I think having it in the middle can be useful, not only if you want multiple ones, but also for purposes of offsets in many cases, I believe. < 1407734807 814121 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: http://www.open-std.org/jtc1/sc22/wg14/docs/rr/dr_051.html < 1407734844 533870 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Though I think comp.lang.c disagreed even on the "safer idiom" presented there. < 1407734950 375396 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the safer one looks more dangerous to me < 1407734955 471483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you don't even have a full object < 1407734969 649339 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can't dereference p < 1407734998 990019 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes. And there was something about accessing structure members. < 1407735041 192245 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the reason for rejecting the original program seems rather fishy < 1407735061 327533 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like it's extending an implementation freedom way beyond what it'd actually be able to do without breaking the language < 1407735124 389200 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bounds-checking by "fat" pointers that contain the declared length was explicitly allowed somewhere, I think. < 1407735145 958626 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's the usual justification; it could throw some sort of an assertion error on access beyond that. < 1407735413 481612 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :«Dennis Ritchie has called it ``unwarranted chumminess with the C implementation,''» i might be more sympathetic to this if i'd ever seen a conforming program in my life < 1407735433 324661 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :int main(void) { return 0; } /* there you go */ < 1407735452 810337 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :well this code does https://twitter.com/mnxmnkmnd/status/498249666216357889 so i'm just asking for pedantry reasons < 1407735660 69842 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :so in C before 99 there's no way to lay out a pascal string, is what i'm getting out of this < 1407736146 336686 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not so "natively". You can have a char * and treat the first byte or few differently. < 1407736247 153142 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :A char * can alias anything, so macros doing #define DATA(x) ((x) + sizeof (size_t)) and SIZE(x) (*(size_t*)x) should be okay, I think. < 1407736280 414965 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Add a pair of parens around x in the latter. < 1407736283 830326 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :i really don't like c's typos, i think. < 1407736286 558679 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :types. < 1407736288 26548 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :whatever < 1407736334 777779 :Sgeo!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :I just abused tables I think < 1407736350 786474 :Sgeo!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :Momentarily tricked myself into thinking "playback button and two download links" counts as tabular data < 1407736570 593306 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The other day, I did a "table with no table", by having

...

...
and then CSS form { display: table; } form > p { display: table-row; } label, select, input { display: table-cell; } < 1407736575 468786 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't know if that's good or bad. < 1407736589 743407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc would know < 1407736655 968281 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Also the thing I made was a JavaScript port of a 12 years old poem generator. I'd've linked it here, but it's all in Finnish.) < 1407736683 779376 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I'd written "sources coming soon" in the original, and for a decade now a friend had been reminding me of it.) < 1407736707 677485 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :does it generate poems similar to ones written by 12-year-olds < 1407736714 610664 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(12-year-olds can write some good poems) < 1407736830 591411 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That depends on the 12-year-old, I'm sure. < 1407736836 887710 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://zem.fi/runogen/ < 1407736931 505044 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : That's the usual justification; it could throw some sort of an assertion error on access beyond that. < 1407736943 888107 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: how does that interact with allocating space for 10 structs and using a pointer to that, in general? < 1407736956 463968 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :i am amused at the finnish for "oh no" < 1407736977 130525 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: I think the general expectation is that only declared arrays would be bounds-checked. < 1407736996 379015 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :With some RTTI-style thingamajick. < 1407737051 760544 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But I don't know. Certainly it would sound to make more sense to just deal with bytes, and have malloc return something that contains the bounds of the allocated space. < 1407737404 226 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right, I'm just wondering if you can actually construct a conforming implementation that breaks the hack < 1407737430 826866 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Another scenario where I could possibly imagine the struct hack to fail is a segmented memory architecture, like the x86-16. You have to be careful with objects larger than 64k, and the compiler might look at the struct declaration, and compile those array accesses into something that is not careful, on account of the object always being small enough. < 1407737513 495635 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it sucks that you have to reimplement structs on top of char arrays to get it to work nicely < 1407737517 774420 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :actually, maybe you could make macros for that? < 1407737529 596677 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :[08:52:40] A char * can alias anything, so macros doing #define DATA(x) ((x) + sizeof (size_t)) and SIZE(x) (*(size_t*)x) should be okay, I think. < 1407737531 793098 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :have a struct define the data layout but allocate it as char * and use offsetof and casts < 1407737533 839529 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Wasn't that essentially it? < 1407737536 62021 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, but you could do it more generally. < 1407737572 789464 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I guess. You'd probably have to spell the type in each invocation of the macro, though. < 1407737600 892749 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Unlike regular member access. < 1407737607 518720 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are you allowed to do like... < 1407737633 251673 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :&(((struct repr *)charptr)->array[100]) < 1407737636 319135 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess not. < 1407737658 967906 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but ((char *) (((struct repr *)charptr)->array))[100] is probably okay? < 1407737691 656500 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Hypothetical segmented-memory breakage: compile "a = s->p[b]" into "load canonicalized address s into fs:bx, then add b to bx without worrying about overflow". < 1407737722 973939 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :s/add b/add offset of p and b/ < 1407737852 171385 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Segmented architectures are good for breaking "pointers are integers" assumptions.) < 1407737931 277884 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how would a segmented architecture work with allocating a big (char *)? < 1407737955 289780 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :You just represent pointers with (canonicalized) segment:offset pairs. < 1407737976 251631 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right, okay. < 1407737991 334067 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The point is that the compiler might (legally) look at the declared sizeof (struct s) and be all "I don't need to do the complicated address calculation since the object is small enough". < 1407738317 729280 :Tritonio1!~Thunderbi@athedsl-16485.home.otenet.gr QUIT :Ping timeout: 245 seconds < 1407739220 254870 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover JOIN :#esoteric < 1407741001 703231 :scoofy!~blah@catv-89-135-80-2.catv.broadband.hu QUIT :Quit: Leaving < 1407741109 361072 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1407741376 328477 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : fuck, it's not been indexed <-- i am concluding that you've been transfered here from a parallel universe, and it never existed here hth < 1407741434 429173 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(your computer was also transfered. expect mysterious bugs.) < 1407741753 146877 :scoofy!~blah@catv-89-135-80-2.catv.broadband.hu JOIN :#esoteric < 1407742512 337240 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover QUIT :Ping timeout: 260 seconds < 1407743359 129365 :zzo38!~zzo38@24-207-51-179.eastlink.ca PART :#esoteric < 1407743361 646487 :zzo38!~zzo38@24-207-51-179.eastlink.ca JOIN :#esoteric < 1407743726 441064 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Ping timeout: 250 seconds < 1407744223 30598 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407745519 830583 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1407745600 579045 :impomatic_!~digital_w@167.156.125.91.dyn.plus.net JOIN :#esoteric < 1407745757 379646 :Patashu_!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1407745757 620707 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Disconnected by services < 1407745992 794709 :MindlessDrone!~MindlessD@unaffiliated/mindlessdrone JOIN :#esoteric < 1407746455 549830 :MoALTz!~no@user-46-112-62-46.play-internet.pl JOIN :#esoteric < 1407748503 338467 :mhi^!~mhi@unaffiliated/mhi/x-9993184 JOIN :#esoteric < 1407748571 744067 :mihow!~mihow@108.30.58.169 QUIT :Read error: Connection reset by peer < 1407748706 834895 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1407751110 341887 :Patashu_!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 246 seconds < 1407751161 202525 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1407751337 727186 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Remote host closed the connection < 1407751368 32731 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1407751583 823705 :nooodl!~nooodl@2a02:1810:4d0d:7e00:29df:9fdc:c3ff:b926 JOIN :#esoteric < 1407753412 526887 :MoALTz!~no@user-46-112-62-46.play-internet.pl QUIT :Ping timeout: 245 seconds < 1407753456 17938 :MoALTz!~no@user-46-112-62-46.play-internet.pl JOIN :#esoteric < 1407754402 963609 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 264 seconds < 1407755763 911035 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :@metar lowi < 1407755764 571026 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :LOWI 111050Z 07006KT 040V120 9999 FEW008 SCT022 BKN070 18/16 Q1016 NOSIG < 1407755966 781943 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :@metar EFHK < 1407755967 18091 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :EFHK 111050Z 15011KT 120V190 9999 SCT023 BKN200 24/17 Q1008 NOSIG < 1407755972 757211 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Inside, +28. < 1407756233 682495 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's just not right < 1407756239 983276 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@metar ENVA < 1407756240 330554 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :ENVA 111050Z 13014KT 9999 VCSH SCT057 21/09 Q0999 NOSIG RMK WIND 670FT 15020KT < 1407756655 121592 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It has been a strange summer. < 1407757082 850326 :yorick!~yorick@oftn/member/yorick JOIN :#esoteric < 1407757282 689180 :augur_!~augur@216-164-48-148.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1407757478 796045 :augur!~augur@pool-71-191-96-49.washdc.east.verizon.net QUIT :Ping timeout: 260 seconds < 1407758517 50240 :Sgeo!~quassel@ool-44c2aebc.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1407759423 881379 :atehwa!atehwa@aulis.sange.fi JOIN :#esoteric < 1407759491 858523 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: leaving < 1407759712 967463 :MoALTz!~no@user-46-112-62-46.play-internet.pl QUIT :Ping timeout: 240 seconds < 1407760039 847366 :Tritonio!~Thunderbi@212.251.54.186 JOIN :#esoteric < 1407761159 310303 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover JOIN :#esoteric < 1407764218 82647 :emperiz!~emperiz@unaffiliated/emperiz JOIN :#esoteric < 1407764255 367272 :emperiz!~emperiz@unaffiliated/emperiz PART #esoteric :"Leaving" < 1407764492 399014 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :cfunge's RNG seems slightly less than robust: diehard_bitstream| 0| 2097152| 100|0.00000000| FAILED < 1407764709 848632 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :http://sprunge.us/XNhL < 1407765366 748686 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's a small p. < 1407765510 468016 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :If I understand the man page correctly, that's the p of the 100 test run ps < 1407765730 728425 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The cfunge ? is just "random() % 4" though. < 1407765891 39415 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Perhaps it has poor low bits. Though I thought that was just an urban legend in modern systems. < 1407766147 48980 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :http://sprunge.us/ZSNC well, this program gives the same result on that system so yep < 1407766453 999687 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Well, outputting all of random() also fails < 1407766653 889074 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :On two quite different systems, maybe glibc's random() is just rather less than good < 1407768286 811818 :idris-bot!~ircslave@dslb-178-006-163-205.178.006.pools.vodafone-ip.de QUIT :Ping timeout: 260 seconds < 1407768409 845722 :Melvar`!~melvar@dslb-092-072-151-186.092.072.pools.vodafone-ip.de JOIN :#esoteric < 1407768431 70273 :Melvar!~melvar@dslb-178-006-163-205.178.006.pools.vodafone-ip.de QUIT :Ping timeout: 244 seconds < 1407768474 739861 :Melvar`!~melvar@dslb-092-072-151-186.092.072.pools.vodafone-ip.de NICK :Melvar < 1407769779 459717 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :arc4random time < 1407769787 151150 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :funge crypto < 1407769988 464620 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :arc4random does a better job (unsurprisingly?) < 1407770341 294763 :Bike!~Glossina@75-164-170-198.ptld.qwest.net PRIVMSG #esoteric :really putting a damper on my funge port of openssl < 1407770441 292878 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :I think people don't realize the magnitude of this discovery; it means fungot hasn't realized its full potential < 1407770441 530584 :fungot!fis@eos.zem.fi PRIVMSG #esoteric :Deewiant: so continue getting up in the same file?) tomorrow. :p < 1407770455 374291 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fungot: :p < 1407770455 643821 :fungot!fis@eos.zem.fi PRIVMSG #esoteric :shachaf: it might be worth considering using memq or memv...) idiom sounds like a good idea < 1407770596 660954 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: surely arc4random or whatever is a bit slow for general purpose ?, though. < 1407770600 689376 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess funge is slow. < 1407770617 742126 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how slow *is* ccbi2/cfunge/whatever, compared to a realer interpreted language? < 1407770674 347015 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Well you don't need a crypto-quality RNG to not fail that hard in dieharder < 1407770705 859428 :MoALTz!~no@user-46-112-62-46.play-internet.pl JOIN :#esoteric < 1407770718 876105 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :But I'm pretty sure you'd have to something stupid like k? to make RNG the bottleneck in a non-JIT funge interpreter < 1407770725 240466 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :+do < 1407770771 7454 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :And re. "how slow" my intuition says "very" < 1407770791 840055 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Don't think a proper comparison has ever been done though < 1407771123 824657 :Tritonio!~Thunderbi@212.251.54.186 QUIT :Ping timeout: 240 seconds < 1407771214 771209 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it can't be much slower than the original MRI, right? :) < 1407771273 442189 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Ruby was the first comparison I thought of too but it's a bit of an outlier :-P < 1407771984 659255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are you saying funge-98 can't power web 4.0? < 1407771998 991768 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :before they all move to intercal because it's faster, or something. < 1407772003 823924 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Sure it can, it just needs some more hardware than alternatives might < 1407772050 196995 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's okay, people love throwing money at EC2 < 1407772088 755674 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Anyway, feel free to write a somewhat time-consuming program in Ruby and translate it to Befunge-98 and give them a spin < 1407772287 448758 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't think I've ever written a -98 program in my life. < 1407772304 713128 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :also it seems like it'd depend a lot on the kind of code structure you end up with. < 1407772562 25196 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Quit: Computer has gone to sleep. < 1407772584 893870 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Deewiant: Did you test glibc's rand() too? < 1407772586 174507 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :So write it compactly :-P < 1407772597 894879 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :fizzie: No but I can < 1407772704 552504 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Also lrand48. < 1407772732 491766 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I can't quite get out of the glibc manual whether rand() and random() share the PRNG. < 1407772737 710978 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Thus far seems to fail similarly < 1407772751 856038 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The latter's API allows for a larger state, at least. < 1407772787 490248 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :On the other hand, "There is no advantage to using [random() and friends] with the GNU C Library", and "The BSD and ISO C functions provide identical, somewhat limited functionality." < 1407772814 87925 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :dieharder has built-in support for "rand48" which I guess is the same as lrand48 since its man page specs the generator < 1407772847 923139 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, I guess it's standardized. < 1407772900 434582 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :It seems to fail but in different ways < 1407772910 231531 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407772912 172580 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Client Quit < 1407772953 36700 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"idiom sounds like a good idea." < 1407773016 705788 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Also I generated some europarl test babble here, and one gem came out of it: < 1407773017 744346 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"i wish to draw your attention to the dangers for small publishers, we are unable to drink alcohol for health reasons." < 1407773216 662107 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Hardware with a kind of two dimensional address increment already exists, but it cannot run backwards. However, it should not be too much difficult to extend to make new thing which can run backward and forward too. < 1407773292 32609 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :We were going to design a Befunge-y coprocessor on a "computer hardware architecture" course project, but then never did. < 1407773434 329120 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :OK < 1407773505 53486 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :But the hardware I was refering to was the Nintendo Family Computer; the PPU (picture processing unit) has two dimensional address increment. I have taken advantage of this address increment for this other than graphics, actually. < 1407773613 399473 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :i hope that the amendment from mrs auroi requesting the deletion of annex xv as an implicit violation of the principles of the world in the twenty-first century. < 1407773884 866331 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407774328 421848 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Ping timeout: 250 seconds < 1407774349 245704 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407774441 636284 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Read error: Connection reset by peer < 1407774449 712896 :edwardk_!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407774718 401199 :edwardk_!~edwardk@pdpc/supporter/professional/edwardk QUIT :Ping timeout: 250 seconds < 1407774864 824528 :Tritonio!~Thunderbi@athedsl-16485.home.otenet.gr JOIN :#esoteric < 1407776222 30053 :mihow!~mihow@108.30.58.169 QUIT :Quit: mihow < 1407776462 526038 :MindlessDrone!~MindlessD@unaffiliated/mindlessdrone QUIT :Quit: MindlessDrone < 1407776620 779002 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Ping timeout: 272 seconds < 1407776839 804147 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net JOIN :#esoteric < 1407777113 971180 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407778533 820058 :Tritonio!~Thunderbi@athedsl-16485.home.otenet.gr QUIT :Ping timeout: 240 seconds < 1407778539 513899 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :What would you think of this so far? https://allthetropes.orain.org/wiki/User:Zzo38/Super_ASCII_MZX_Town You are expected to complain about it please. < 1407778707 33307 :J_Arcane!~jarcane@dsl-trebrasgw2-54f949-238.dhcp.inet.fi PRIVMSG #esoteric :Oh man, that takes me back. < 1407778734 935507 :J_Arcane!~jarcane@dsl-trebrasgw2-54f949-238.dhcp.inet.fi PRIVMSG #esoteric :I haven't messed with MZX in years. < 1407778809 842129 :Tritonio!~Thunderbi@athedsl-16485.home.otenet.gr JOIN :#esoteric < 1407778954 566193 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :How much have you done with it at all? < 1407779027 301643 :J_Arcane!~jarcane@dsl-trebrasgw2-54f949-238.dhcp.inet.fi PRIVMSG #esoteric :Not a damn thing in over a decade. < 1407779098 731991 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :But when you did, how much did you work on it? < 1407779176 654208 :J_Arcane!~jarcane@dsl-trebrasgw2-54f949-238.dhcp.inet.fi PRIVMSG #esoteric :I used to play around with ZZT as a kid, but never got far learning to actually make much. I knew about MZX then, but couldn't run it on my mono-screened 8086 and 286, but I tinkered with it later when I finally got a real computer. < 1407779341 130496 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :I also used ZZT; I have figured out several things about it, and made good guesses as to other things. I have managed to decode the internal table of the kind of pieces, and have tried tampering with it to test my hypotheses, which turned out correct. This reveals why water has a forced color only in the editor. < 1407779742 139873 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1407780259 757837 :zzo38!~zzo38@24-207-51-179.eastlink.ca QUIT :Remote host closed the connection < 1407780341 821922 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Read error: Connection reset by peer < 1407780362 784588 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net JOIN :#esoteric < 1407780713 30947 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 240 seconds < 1407781509 288998 :idris-bot!~ircslave@dslb-092-072-151-186.092.072.pools.vodafone-ip.de JOIN :#esoteric < 1407781917 386192 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Ping timeout: 246 seconds < 1407782941 390437 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1407783134 876831 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Befunge14]]4 10 02http://esolangs.org/w/index.php?diff=40282&oldid=40278 5* 0387.217.28.236 5* (+90) 10/* Befunge-93 */ < 1407783300 895706 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :BAD: 900pg doesn't get 9 < 1407783309 937925 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Bzzt, try again < 1407783405 19921 :myname!~myname@84.200.43.57 PRIVMSG #esoteric :lolwat awkfunge < 1407783427 457030 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the pun is _too_ obvious. < 1407783493 957463 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what is the pun. < 1407783496 374978 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Deewiant: you should add pass/fail marks to all of the listed interpreters twh < 1407783508 311205 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: well it's a little awkward to explain < 1407783526 715744 :myname!~myname@84.200.43.57 PRIVMSG #esoteric :i demand sedfunge < 1407783562 372867 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :maybe you can reuse the featured article gif < 1407783575 752390 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :oerjan: Not interested enough in -93, those things are a dime a dozen < 1407783627 791530 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's not a gif < 1407783646 531369 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, it is. < 1407783650 620477 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well, it's a png. < 1407783663 833738 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i wasn't finished checking that. < 1407783929 570999 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :is this some predefined class? the mention in common.css has no image < 1407783953 589082 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :vector.css handles the rest < 1407783960 607216 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :in other skins it's just text in {{featured language}}. < 1407783968 733815 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :since the CSS to move an icon into the right place is skin-specific. < 1407783986 871625 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah < 1407784083 638900 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407784088 880564 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh, not reusable for this as is < 1407784502 24915 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I *really* should finish up that sedfunge. < 1407784567 96694 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I started writing one at one point.) < 1407784605 872197 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I wonder how much it does. < 1407784628 184240 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There are some comments about stringmode, and implementations for 0..9 to push stuff. < 1407784634 589231 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And + and @. < 1407784645 912889 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That seems to be the entirety of implemented commands. < 1407784654 493405 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :As long as it has a ? that passes dieharder I'm happy < 1407784672 197330 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It doesn't have a ? at all, which probably doesn't count. < 1407784714 727389 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I like the bit that extracts the current command from the playfield, though: http://sprunge.us/GPKM < 1407784760 861503 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Not having a ? counts as "always produces the same value" or "crashes" neither of which will make dieharder happy < 1407784788 554885 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Always produces the same value, in this case. < 1407784793 685324 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :This interpreter looks slow < 1407784801 326315 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Though it doesn't have a "," either, so your test code would not generate any output. < 1407784869 9572 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Something zipper-like might've made the main loop faster. < 1407784932 236936 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, the stringmode doesn't exist either. < 1407785003 174463 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :At least the binary arithmetic is reasonably compact. < 1407785033 155264 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Does it use GNU features or is it solaris-compatible < 1407785054 142875 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't really remember what GNU features are. It's just t, s and b. < 1407785119 570643 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't think it's anything non-POSIX. But it's *really* incomplete. < 1407785293 917049 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :eFLQRTvWz are GNU-only commands, ailrsw= have some GNU-specific stuff, and the address and pattern formats of course have some GNU extensions as well < 1407785306 84460 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :(Based on a quick browse of the info page) < 1407785394 575506 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm reasonably certain there's none of those. < 1407785426 518528 :nortti!~juhani@nano.smar.fi NICK :lawspeaker < 1407785532 485350 :lawspeaker!~juhani@nano.smar.fi NICK :nortti < 1407785608 29315 :Bike_!~Glossina@69.166.35.233 JOIN :#esoteric < 1407785694 999999 :Bike_!~Glossina@69.166.35.233 NICK :Bicyclidine < 1407786021 417328 :nortti!~juhani@nano.smar.fi NICK :lawspeaker < 1407786102 266203 :lawspeaker!~juhani@nano.smar.fi NICK :nortti < 1407787681 710393 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Are there opensource license that can be altered? < 1407787696 713192 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I.e. extended with my own conditions or changed otherwise < 1407787705 204551 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :all the ones i know say any alterations require the name to be changed < 1407787732 422392 :sebbu!~sebbu@ADijon-152-1-10-98.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1407787758 272946 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wtfpl < 1407787763 439689 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I have no problem changing the Name of the license < 1407787763 639120 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :and of course, no alterations are allowed when modifying a work already released under a particular license < 1407787768 540173 :sebbu!~sebbu@ADijon-152-1-10-98.w83-194.abo.wanadoo.fr QUIT :Changing host < 1407787768 739834 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1407787778 568017 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :the question is - however - if it's legal to change the license text of an existing license < 1407787786 562009 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :"The FSF permits people to create new licenses based on the GPL, as long as the derived licenses do not use the GPL preamble without permission. " < 1407787791 547233 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :(i.e. the license itself might be under some copyright law or something) < 1407787793 704040 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :GPL's copyrighted though. < 1407787803 992468 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :licenses are copyrighted like any other work, sure < 1407787813 944906 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unless legal documents are exempt from copyright? < 1407787817 564763 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that sounds like it could be a thing in some jurisdictions < 1407787821 650463 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I'd prefer something simple like BSD-style licenses < 1407787823 634231 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :BSD license is public domain < 1407787829 857701 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :says wikipedia. so go crazy < 1407787855 270400 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :elliott: there have been court cases about being able to sell legal documents, it's pretty funny < 1407787947 712590 :MoALTz!~no@user-46-112-62-46.play-internet.pl QUIT :Quit: Leaving < 1407788098 408391 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :like that one photocopier thing, now that i think about it < 1407788727 310739 :nooodl!~nooodl@2a02:1810:4d0d:7e00:29df:9fdc:c3ff:b926 QUIT :Read error: Connection reset by peer < 1407788755 831297 :nooodl!~nooodl@2a02:1810:4d0d:7e00:29df:9fdc:c3ff:b926 JOIN :#esoteric < 1407789441 125481 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what's the opposite of free of charge btw? < 1407789480 164769 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :depends on context. "at cost", say < 1407789555 45828 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fully charged hth < 1407789559 907279 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Or "charged", as in, charged part.. < 1407789562 128750 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :form an arm and a leg < 1407789564 72264 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :You ruin my thing. :/ < 1407789571 538644 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fizzie: SORRY < 1407789666 451651 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :ok wait < 1407789674 938554 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :if I write some Foo.c < 1407789682 139130 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :let's say I put it under BSD < 1407789694 999547 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Quit: Computer has gone to sleep. < 1407789695 265474 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :somebody modifies it and redistributes it < 1407789704 870466 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I'm a the sole copyright holder? < 1407789715 935986 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I assume not < 1407789726 984082 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :i.e. what's the distinction between copyright holder and contributor then? < 1407789800 429475 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I.e. let's say I don't care if they don't disclose the source as long as they donnate some money to a charity organization for example < 1407789808 309437 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you both hold copyright over the resulting Foo.c. < 1407789813 923203 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :are such condtions even legal? < 1407789814 448919 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you own sole copyright over the original Foo.c. < 1407789857 612935 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :everyone holds copyright on the contributions they made, but disentangling them from the whole means that any itemisation of ownership beyond, say, function-level granularity is iffy < 1407789906 850279 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :it's the sort of thing that leads to the GNU not accepting patches unless you cede copyright < 1407789956 759650 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's more because they want to be able to litigate violations of the license and change the license < 1407789957 322311 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Linux kernel doesn't, and as a result it now has a metric billion of copyright owners. < 1407789973 320510 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(I think it's something you want for legal action, at least?) < 1407790004 648422 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't know who would be able to sue for someone violating Linux's license. maybe the N top contributors joint or something < 1407790014 781258 :zzo38!~zzo38@24-207-51-179.eastlink.ca JOIN :#esoteric < 1407790048 467812 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :class action intellectual property suit. let's do it. < 1407790062 382036 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It also means nobody can change the license, since it's utterly impossible to get permission from every contributor. < 1407790161 818587 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I know that e.g. Apache doesn't quite do copyright assignments, but instead has a separate thing you sign (the Contributor License Agreement) that gives them a very permissive license to e.g. further sublicense your stuff. < 1407790217 661680 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :21:45:56 <@elliott> that's more because they want to be able to litigate violations of the license and change the license < 1407790218 41454 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :exercise: apply http://homepages.law.asu.edu/~dkarjala/opposingcopyrightextension/commentary/MacaulaySpeeches.html to linux somehow < 1407790238 490962 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I like the parts of legalese that work by the "let's look at the dictionary for all possible related terms" principle. < 1407790276 849915 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"-- a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, --" < 1407790320 626923 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407790392 192929 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :A license to offer to sell, but not to sell, sounds useful. < 1407790667 282258 :Bicyclidine!~Glossina@69.166.35.233 PRIVMSG #esoteric :i can imagine it. like, a firm that advertises but when it comes to the actual sale they refer you to the seller and get a finder's fee < 1407790872 40328 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :For random number tests, I know there is Diehard and stuff but I have the other idea, where basically you have a program of type ((Eq x, Ord x, Enum x) => Free ((->) Bool) x) for some kind of x. < 1407790904 52067 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :How well do you expect such thing to work? < 1407790908 571206 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: Do you have more ideas about LeftCo now? < 1407790998 797187 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Yes, in fact I realized what it was the next day after you showed me but may have forgotten to mention it. < 1407791046 29456 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :But now I forgot the type so can you remind me again please? < 1407791064 168173 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"data LeftCo m f x = forall z. LeftCo (f (m z) -> x) (f z)" < 1407791211 539011 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :O, yes it appears to be a comonad: duplicate (LeftCo x y) = LeftCo (\a -> LeftCo (x . fmap join) (return <$> y)); I think. Maybe I made a mistake though... < 1407791402 466802 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Does this looks like correct to you? < 1407791430 240797 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :O no, I think (return <$> y) is probably wrong, I guess < 1407791435 863070 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1407791441 349077 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm not sure. < 1407791442 896973 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Just y by itself I think < 1407791446 379570 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Where did the type come from? < 1407791453 18742 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What are m and f? < 1407791519 383085 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :I don't know where it come from < 1407791534 330650 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Apparently "m" means monad and "f" means functor, though < 1407791552 871514 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :f is used twice, which is a bit odd. < 1407791596 351462 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I came up with data Oc m a = forall x. Oc x (m x -> a) (which is just LeftCo with f=Id) before seeing your post < 1407791604 369054 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But that doesn't work very well < 1407791613 448488 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So I'm wondering what the function of f is. < 1407791835 478254 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :I also don't know < 1407792987 160965 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover QUIT :Ping timeout: 255 seconds < 1407793542 830968 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Ping timeout: 260 seconds < 1407793588 92467 :not^v!~notnot^v@198.109.114.66 JOIN :#esoteric < 1407795130 414748 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1407795984 530034 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover JOIN :#esoteric < 1407796125 863109 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 272 seconds < 1407796734 160929 :Sgeo!~quassel@ool-44c2aebc.dyn.optonline.net JOIN :#esoteric < 1407797588 972446 :Bicyclidine!~Glossina@69.166.35.233 QUIT :Ping timeout: 240 seconds < 1407797696 677347 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1407799467 932293 :mhi^!~mhi@unaffiliated/mhi/x-9993184 QUIT :Quit: Lost terminal < 1407799615 316163 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1407799863 791495 :yorick!~yorick@oftn/member/yorick QUIT :Remote host closed the connection < 1407800176 705677 :Bike!~Glossina@75-164-170-198.ptld.qwest.net QUIT :Read error: No route to host < 1407800202 851841 :Bike!~Glossina@75-164-170-198.ptld.qwest.net JOIN :#esoteric < 1407800485 67760 :not^v!~notnot^v@198.109.114.66 QUIT :Ping timeout: 244 seconds < 1407800520 160587 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :But what would you think of this new kind of probability stuff I proposed too?