00:03:27 oooh ioccc results 00:04:26 "Finally, if you lost track of how many misaka.c you have stacked together, you can feed the source to a brainfuck interpreter to get a overview of how the programs are stacked" help 00:08:28 Bike: yeah recursively calling main() is an old trick 00:09:07 "Nevertheless, the program was too big to meet the IOCCC’s size rule. So I created a smaller bootstrap program that generates the main program. prog.c contains fragments of the main program as a comment which iocccsize -i does not count." 00:09:07 and C++ forbids it!!! those bastards 00:09:08 :D 00:09:55 lol 00:10:16 kmc: weird, why? 00:10:22 are there videos about them presentating their code? 00:10:25 i'd love that 00:10:46 -ta 00:11:26 Bike: i'm not really sure why. http://stackoverflow.com/questions/4518598/is-it-legal-to-recurse-into-main-in-c/4519407#4519407 says a little about it 00:11:27 Bike: main isn't really a function in C++ 00:11:39 it has implementation-defined linkage 00:11:39 it doesn't follow the usual language rules 00:11:55 I guess on many platforms it is effectively extern "C" implicitly? 00:12:00 ah, hm 00:12:00 no name mangling, two possible implementations (but no overloading) 00:12:01 you can't take its address either 00:12:08 ah yeah that too 00:12:27 ah the lengths to which we go to make C++ sort of a superset of C 00:12:54 clearly they should have gone the Java route and required you to implement a class Main with an int operator()(int argc, char **argv) 00:12:57 C++ is a superset of a subset of C 00:13:09 `addquote C++ is a superset of a subset of C 00:13:13 1157) C++ is a superset of a subset of C 00:13:18 or rather: the intersection of C++ and C is non-empty 00:13:55 mauke: only if the named subset of C is non-empty 00:14:30 it is, hence the strengthening 00:15:37 http://ioccc.org/2013/misaka/hint.html ok this one is just amazing 00:15:42 it's "quite a ride" 00:16:29 yes 00:16:46 don't forget to look at thea ctual program 00:17:04 this might be my fav entry and i haven't even seen them all 00:17:09 v. anime 00:17:14 ow my brain 00:17:26 * LinearInterpol dies. 00:17:51 also i'm glad i wasn't the only one who imagined horizontal cat, lol 00:18:15 "Getting the code down to <= 4096 characters to meet the IOCCC rule 2 overall size limit required a good deal of effort (and appreciable risk of divorce)" 00:18:56 mauke: which one's that from? 00:19:00 appreciable risk of divorce eh. 00:19:05 cable3 00:19:48 i love when you're wondering "gosh what does this program even DO?" and then you see something like 00:19:51 I n t,e,l[80186],*E,m,u,L,a,T,o,r[1<<21], 00:21:22 Int,? what? 00:21:57 nooodl: it's like frosting on a cake. 00:22:13 delicious, delicious frosting. 00:22:16 not Int,; I n t, 00:22:28 wow this is an 8086 emulator in 8086 nibbles of C 00:22:57 At least the variable declarations are descriptive 00:23:01 as in, they describe the program 00:23:26 nooodl: actually it's a full PC emulator 00:26:50 Is Don Yang just going to submit one of the programs on his website every year 00:26:55 for(my $i = 0; $i <= $#d; $i++) 00:26:57 goddammit 00:27:05 why do we let these people write perl 00:27:24 open my $file, "<$opt" 00:27:33 $expected = join '', <$file>; AAAARGH 00:33:27 mauke: i don't know any perl; what's wrong with those 00:33:49 first one should be: for my $i (0 .. $#d) 00:34:05 basically, you don't use C-style for loops in perl unless you have a very good reason 00:34:36 ah yeah. ruby's like that too 00:34:41 and the <= in the condition isn't idiomatic C either 00:35:17 second, I noticed that the author used -w instead of 'use warnings' 00:35:18 i guess $#d is the length of @d? it looks a lot like an off-by-one error 00:35:28 $#d is the last index in @d because Perl 00:35:36 but @d used as a scalar is the length of @d 00:35:43 i... perl 00:35:47 which is kind of OK if you want to stay compatible with perls before 5.6.0, released in 2000 00:36:03 but then they use 'open my $file', which requires at least 5.6.0 00:36:15 let me guess. @foo[$#foo] is a perl idiom 00:36:34 but then they use 2-arg open, which you have no business using because starting from 5.6.0 perl supports 3-arg open 00:36:35 -!- conehead has quit (Quit: Computer has gone to sleep.). 00:36:38 so the whole thing is a clusterfuck 00:36:52 join '', <$file> is a really inefficient way to read the whole file into a string 00:36:56 note that the last index in @d could be anything, because you can globally change the starting index for arrays, using $[ 00:37:00 nooodl: no, that's terrible 00:37:04 nooodl: the idiom is $foo[-1] 00:37:09 kmc: wrong 00:37:12 whew 00:37:12 $[ isn't global 00:37:25 also, deprecated 00:37:34 lol well that's fine then 00:37:54 not only can the starting index be anything, it can be different in different places? this is great 00:37:59 assignment to $[ is treated as a compiler pragma and has been since 5.0 00:38:20 and it's lexically scoped so other modules can't fuck up your script 00:38:34 olsner: wondering what happens if you pass such arrays around 00:38:36 (officially deprecated since 5.12) 00:39:00 myname: nothing. $[ affects indexing operations, not the data structure 00:39:07 ah 00:39:15 myname: perl, that's what happens 00:39:21 but... why? 00:39:35 could you make arrays starting at -1? 00:39:40 sadly, yes 00:39:46 hahaha 00:39:47 i swear perl is like a 20-something-year-old regularly looking back at its teens, thinking, "god. why did i do all of these dumb things. now i gotta deal with that" 00:39:55 so a[-2] is the last element? 00:40:06 myname: yes 00:40:17 hilarious 00:40:20 it's crazy, but in a sane way 00:40:35 does $[ have to be an integer? 00:40:36 oh if you set $[ to 1, a[0] is the last element? 00:40:39 olsner: yes 00:40:40 -!- pikhq has joined. 00:40:49 hahahaha 00:40:52 ok :( 00:41:03 ooh, I didn't know this: if you 'use v5.16' explicitly, $[ simply stops working 00:41:09 fantastic to toggle between two values 00:41:13 because WTF are you even doing, touching $[ 00:41:20 $[ = 2147483647; 00:41:20 make an array with both, change $[, access a[0] 00:41:57 god. i need an obfuscated perl code contest in my life 00:42:18 does that ex--ah. of course it exists 00:42:37 you'll probably get more "oh god please no" out of golf contests 00:44:02 myname: re: "why", it's probably to make awk programmers feel at home 00:44:09 and I wouldn't be surprised if a2p uses it 00:45:39 IIRC there was a popular algorithms book that used int foo_[20]; int *foo = &foo_[-1]; to be able to use foo as a 1-based array in C 00:46:00 (this code has undefined behavior) 00:46:28 fizzie mentioned some code he dealt with that did that (plus typedefs) 00:54:41 -!- tromp has quit (Read error: Operation timed out). 00:55:09 -!- tromp has joined. 01:01:05 -!- FreeFull has quit (Ping timeout: 246 seconds). 01:03:09 -!- FreeFull has joined. 01:04:44 -!- Sorella has quit (Quit: It is tiem!). 01:05:39 -!- Sprocklem has joined. 01:05:58 mauke: I have used something like that once I think, but (foo_-1) instead of like that, and a macro rather than another variable. 01:06:12 still not valid 01:06:28 Yes, I know it is still undefined on some computers 01:06:41 s/on some computers// 01:06:52 Which have hardware pointer datatypes, for example, and maybe some VMs as well 01:07:00 computers are irrelevant 01:07:06 you're not writing computer code, you're writing C 01:07:47 But even in such a case, hopefully the compiler should optimize out the -1 or move it around, since it can be more efficient that way anyways. 01:07:51 c0mpUt3r. 01:08:17 I don't normally do that though (I think I only did once), and yes I know it is undefined. 01:08:46 no, in such a case the compiler should optimize out the whole statement 01:09:05 because it has no semantics 01:09:19 and no code runs faster than some code 01:09:30 Yes, that would be a valid thing for it to do and agree with the C specification, I suppose. 01:09:51 http://ideone.com/uFM1D4 01:10:36 But it doesn't seem very sensible to do that automatically without being able to change it with an option (at least for targets where it is defined) 01:10:54 I don't know what you're thinking in but it's not C 01:11:26 Yes, I know in C it isn't defined. 01:12:09 But in some targets it is defined in the reasonable way, because of the way the CPU instruction set works, the pointers are just treated as numbers. 01:12:23 http://mauke.hopto.org/stuff/c/ubfun-1.c 01:14:33 What does %hd mean? 01:15:07 short int in decimal format 01:15:38 do you have to use h when sending shorts? don't they get expanded to ints? 01:15:59 -!- Sprocklem has quit (Ping timeout: 252 seconds). 01:16:22 I'm not sure, actually 01:16:37 `? varargs 01:16:38 varargs? ¯\(°​_o)/¯ 01:17:05 anyway, the code has undefined behavior 01:17:16 it behaves differently under gcc -O0 and gcc -O2 01:19:20 * oerjan discovers that walter pinkus's middle name is haskell 01:19:41 mauke: How does it behave? 01:20:00 it behaves undefinedly :) 01:20:17 zzo38: try it and see :-) 01:20:31 What does it do on your computer? 01:20:38 mauke: what if he gets the same behaviour 01:20:41 !! 01:20:55 then that would be interesting 01:21:36 Advanced compiler optimizations: we remove code that you intended to run 01:22:25 Shouldn't it print negative numbers? Or is the proper thing to do, something else? 01:23:30 Are there any maill systems out there that still can't handle high 8 bits? 01:23:30 -!- tromp_ has quit (Read error: Connection reset by peer). 01:23:43 yes 01:23:57 -!- tromp_ has joined. 01:24:05 -!- conehead has joined. 01:24:56 (“Are there still systems that...” “Yes”) 01:30:13 mauke: Hmm, I get the same behaviour (with gcc 4.8.2), even with -fstrict-overflow 01:30:53 (in particular, no infinite loop) 01:30:58 ooh, this seems to be new in 4.8 01:31:14 older versions generated an infinite loop 01:33:25 -!- oerjan has quit (Quit: nyx). 01:36:17 It could be argued that creating an infinite loop is a pessimization 02:00:12 Well, that's not what was happening. The compiler removed a test that it could prove would always succeed unless the program invoked some sort of undefined behaviour (in this case, signed integer arithmetic underflow). 02:06:59 -!- Sprocklem has joined. 02:16:50 http://regex.alf.nu/ 02:17:58 sounds awesome 02:20:45 oh, fun. 02:21:32 there should be more regex games 02:21:55 some of the later ones require loads of perl extensions to the regexpes 02:22:11 oh :( 02:22:11 well, more than 0 02:23:02 "This doesn't really work as a tutorial. Not really clear what you're supposed to do here." 02:23:06 is there backtracking required 02:23:30 allochirally, good word 02:23:39 olsner: well, it uses JS' engine, so it can't use too many Perl extensions 02:23:51 JS regexp doesn't even support lookbehinds 02:24:18 oh. this one is titled 'backrefs'. 02:24:28 page closed, unfollowed, detweeted, called the cops 02:25:22 lol 02:25:39 it says "regex", not "regular expression" 02:26:27 do i have to call the cops on yout too 02:26:45 come at me bro 02:27:01 /.*/cops 02:27:15 4 is pretty simple, though 02:29:29 -!- yorick has quit (Remote host closed the connection). 02:30:36 5 would be easy if you could change the columns 02:32:55 5 is easy but my solution is inelegant 02:33:06 huh 02:33:24 ooooh 02:33:29 oh, no 02:33:58 oh god, 6 is worse 02:34:24 I'm kinda stuck at 6 02:34:33 brute force again, I guess 02:34:42 i am kinda stuck at 5 :( 02:34:52 er 02:34:54 i could do negative lookahead or the like 02:34:54 7 I mean 02:35:07 but i never ever recall what they look like 02:35:33 oh god, the prime thing 02:35:35 I know I've seen a regex for 7, but I can't remember how it worked 02:35:39 fortunately it's easy 02:35:43 :( 02:35:48 i assume the prime thing should be easy 02:35:52 call me if they're looking for fibonacci sequences 02:36:15 lol 02:36:55 does this even support negative lookahead? 02:37:19 JS regexp doesn't even support lookbehinds 02:37:21 can i get a regex to recognize fibonacci sequences like abccdddeeeeeffffffff of any length, and with any characters 02:37:28 Oh, you mean as in (?!)? yes, that's supported 02:37:28 lookbehind does not matter 02:37:44 why doesn't my sollution work, then 02:37:54 Bike: I can recognize "x x xx xxx xxxxx" etc 02:38:07 too easy 02:38:27 show me 02:39:06 apparently, i'm too stupid for lookahead assertions 02:39:23 oh 02:39:47 what the 02:41:10 i don't know, that's why i'm asking! 02:41:38 i am pretty sure, there has to be a ?! at number 5 02:41:45 i just can't assemble it 02:43:06 myname: http://p3rl.org/perlretut 02:45:54 mauke: i know how they work, i think 02:58:48 so... [^\2] does not work` 02:58:49 ? 03:02:46 Nope 03:12:20 i don't get it 03:14:23 maybe i'm too tired 03:18:50 great, it seems to not knot conditions 03:59:07 -!- qlkzy has quit (Quit: ZNC - http://znc.sourceforge.net). 03:59:15 -!- qlkzy has joined. 04:00:00 -!- ineiros has quit (Ping timeout: 245 seconds). 04:00:39 -!- ineiros has joined. 04:01:37 Slereah: since those are supposed to be anubis things 04:01:42 they're technically not jackals at all 04:02:09 or at least they're not depicting jackals! 04:02:10 well jacktually, 04:02:12 or are they 04:02:15 this is very pomo 04:11:26 can i just start adding ##crypto quotes here 04:11:37 why not 04:11:57 they don't have a crypto quote bot and it's sad 04:12:14 although lambdabot is there so maybe it's more appropriate 04:18:51 preflex: quote 04:18:52 and facing a choice between perl and mircscript, i'd gladly shoot myself 04:22:23 Good choice 04:22:40 preflex: quote 04:22:41 scroll lock is a letter in the canadian language 04:25:14 Are there 2D and 3D implementations of PADsynth? 04:28:09 The description of PADsynth is: 1. Add together several bell curves with differing mean, variance, and amplitude (specified as parameters to the algorithm), to fill up the amplitude table. 2. Fill up the phase table with random data. 3. Make the inverse Fourier transform. 04:29:04 What other synthesis algorithms are there with a kind of relative simplicity? 04:34:15 -!- copumpkin has joined. 04:36:06 http://moviecode.tumblr.com/image/72105358714 04:36:20 Sample code? That seems a bit monotonous 04:39:12 -!- preflex has quit (Read error: Operation timed out). 04:39:12 -!- mauke has quit (Read error: Operation timed out). 04:40:01 -!- mauke has joined. 04:41:13 -!- FreeFull has quit (Ping timeout: 246 seconds). 04:41:35 http://moviecode.tumblr.com/ finally 04:41:44 -!- preflex has joined. 04:43:08 -!- FreeFull has joined. 04:48:47 -!- FreeFull has quit (Ping timeout: 260 seconds). 04:56:05 "In the film Elysium the space station is rebooted using code taken directly from the Intel Architecture Software Developer’s Manual Volume 3: System Development" 04:56:08 seems accurate 04:58:12 I'm kind of shocked that Uplink has gotten any kind of update 04:59:11 (There's now an iPad version) 05:13:13 -!- FreeFull has joined. 05:15:01 -!- nooodl has quit (Ping timeout: 272 seconds). 05:32:12 wtf 05:32:13 "I drank a chemistry experiment in class once. I forget the exact nature of the experiment, but I do remember that if we did it 05:32:14 correctly, we ended up with plain old salt water. We must have done it mostly correct, because other than a mild burning for 05:32:14 about an hour after, I was fine. Teacher flipped her shiat though. My lab partners threw me under the bus. All through the 05:32:14 experiment, they were like , "C'mon...drink it...DRINK IT! I dare ya!" and then when the teacher got mad, they did a 180 and 05:32:15 were all like, "She did it man, it was HER idea!". I got an F on that particular lab assignment." 05:32:50 student does dumb thing 05:33:04 -!- FreeFull has quit (Ping timeout: 260 seconds). 05:34:40 I had homeroom in a science classroom, and someone spit in the teacher's drink, so I told the teacher not to drink it. Later was told what a good thing I did, especially since it could have been anything in there, and asked me if I knew what it was. Spit. 05:35:10 Which I guess is a thing to avoid consuming, but probably not as ... dangerous as they were thinking 05:35:31 could be worse 05:35:37 it's a biohazard 05:38:52 It was almost the timestamp 1388813888 according to some computers. It repeating in twice 05:43:10 -!- FreeFull has joined. 05:50:26 -!- FreeFull has quit (Ping timeout: 252 seconds). 05:50:52 -!- conehead has quit (Quit: Computer has gone to sleep.). 05:58:16 -!- LinearInterpol has quit (Ping timeout: 260 seconds). 06:13:13 -!- FreeFull has joined. 06:17:45 -!- tromp_ has quit (Read error: Connection reset by peer). 06:24:30 -!- tromp_ has joined. 06:30:06 -!- tromp_ has quit (Read error: Connection reset by peer). 06:43:16 -!- FreeFull_ has joined. 06:43:41 -!- FreeFull has quit (Ping timeout: 272 seconds). 07:26:28 -!- tertu has joined. 07:34:49 -!- FreeFull has joined. 07:35:51 -!- FreeFull_ has quit (Ping timeout: 260 seconds). 08:00:51 -!- ter2 has joined. 08:01:35 -!- ter2 has quit (Read error: Connection reset by peer). 08:01:52 -!- ter2 has joined. 08:04:23 -!- tertu has quit (Ping timeout: 272 seconds). 08:10:20 zzo38: nice 08:10:54 zzo38: have you seen https://twitter.com/megasecond 08:13:21 I just upgraded my libc to sid apparently 08:13:23 fun 08:13:46 on the plus side, the thing I was trying to get working is 08:14:36 too bad there's no way to run daemons or cronjobs on HackEgo 08:14:51 because i think megaseconds should be announced in here 08:16:05 in big rainbow ascii art perhaps 08:18:35 -!- Bike has quit (Ping timeout: 272 seconds). 08:21:28 Is there any correlation between a game being difficult for computers and being fun for humans. 08:21:38 I guess a lot of unfun for humans games are easy for computers 08:21:51 But I mean, like chess and go, computers have more difficulty with Go 08:22:12 I guess I'm imagining 'computers are good at it' to indicate 'semi-trivial strategy' 08:22:15 yeah although they're pretty good at go now as well 08:22:19 Althouhg that's obviously false for chess 08:22:31 Although iiuc chess strategy does have some trivial parts 08:22:34 memorized openings 08:22:51 trivial means there exists a computer program to do it 08:22:58 or we can imagine one 08:24:16 kmc: I have not seen. 08:24:49 Make up your own megaseconds announcement if you prefer to 08:25:26 Sgeo: do you think that go is more fun than chess? 08:25:41 It's been a very long time since I tried chess 08:25:51 I kind of don't want to try it again, not sure why 08:26:04 So I don't really think I can compare too well 08:27:40 There are games other than chess and go, such as shogi. 08:27:59 And there is Fischerandom chess 08:29:23 -!- FreeFull has quit (Ping timeout: 252 seconds). 08:31:18 well you can appeal to some idea that tree pruning heuristics are more fun than exhaustive search, but a game can exceed the human ability for exhaustive search and still be easy for computers 08:31:55 it's not clear that additional computer-hardness past that point changes a human player's subjective experience that the game has deep strategy 08:40:47 apparantely chess has lots of memorizing positions 08:40:56 there's a sirlin article on that I think 08:43:04 http://codegolf.stackexchange.com/questions/17005/produce-the-number-2014-without-any-numbers-in-your-source-code 08:43:17 boring. 08:45:37 `python "print int(`len('aaaaaaa')`+'de',len('bbbbbbbbbbbbbbbb'))" 08:45:41 python: can't open file '"print int(`len('aaaaaaa')`+'de',len('bbbbbbbbbbbbbbbb'))"': [Errno 2] No such file or directory 08:45:47 `python run "print int(`len('aaaaaaa')`+'de',len('bbbbbbbbbbbbbbbb'))" 08:45:48 python: can't open file 'run "print int(`len('aaaaaaa')`+'de',len('bbbbbbbbbbbbbbbb'))"': [Errno 2] No such file or directory 08:45:56 oh. golf 08:46:03 Golfing is always interesting. 08:46:59 `olist (936) 08:47:00 olist (936): shachaf oerjan Sgeo FireFly 08:51:23 `run python -c "print sum(ord(c) for c in 'Happy new year to you!')" 08:51:24 2014 08:52:06 nice 08:52:20 print ord('ߞ') 08:52:28 ^- there you go 08:52:49 Who's gonna beat that? 08:55:07 `run python -c "print sum(map('Happy new year to you!'))" 08:55:09 Traceback (most recent call last): \ File "", line 1, in \ TypeError: map() requires at least two args 08:55:13 `run python -c "print sum(map(ord, 'Happy new year to you!'))" 08:55:14 2014 08:55:29 imo > sum . map ord $ "..." 08:55:59 > sum$map ord"Happy new year to you!" 08:56:00 2014 08:56:23 > ord<$>"Happy new year to you!" 08:56:25 [72,97,112,112,121,32,110,101,119,32,121,101,97,114,32,116,111,32,121,111,11... 09:01:47 -!- qlkzy has quit (*.net *.split). 09:01:47 -!- pikhq has quit (*.net *.split). 09:01:48 -!- Gregor has quit (*.net *.split). 09:01:48 -!- ggherdov has quit (*.net *.split). 09:01:49 -!- tromp has quit (*.net *.split). 09:01:49 -!- augur has quit (*.net *.split). 09:01:49 -!- yiyus has quit (*.net *.split). 09:01:51 -!- Deewiant has quit (*.net *.split). 09:01:52 -!- Jafet has quit (*.net *.split). 09:01:52 -!- coppro has quit (*.net *.split). 09:01:52 -!- JZTech101 has quit (*.net *.split). 09:01:52 -!- int-e has quit (*.net *.split). 09:01:53 -!- drlemon has quit (*.net *.split). 09:01:54 -!- lambdabot has quit (*.net *.split). 09:01:54 -!- trout has quit (*.net *.split). 09:01:54 -!- rntz^2 has quit (*.net *.split). 09:01:54 -!- rodgort has quit (*.net *.split). 09:01:54 -!- jix_ has quit (*.net *.split). 09:01:54 -!- sebbu has quit (*.net *.split). 09:01:55 -!- CADD has quit (*.net *.split). 09:01:55 -!- _46bit_ has quit (*.net *.split). 09:01:55 -!- upgrayeddd has quit (*.net *.split). 09:01:55 -!- myndzi has quit (*.net *.split). 09:01:55 -!- preflex has quit (*.net *.split). 09:01:55 -!- Sprocklem has quit (*.net *.split). 09:01:55 -!- glogbackup has quit (*.net *.split). 09:01:55 -!- jconn has quit (*.net *.split). 09:01:55 -!- Gracenotes has quit (*.net *.split). 09:01:56 -!- b_jonas has quit (*.net *.split). 09:01:56 -!- mauke has quit (*.net *.split). 09:01:56 -!- carado has quit (*.net *.split). 09:01:56 -!- realzies has quit (*.net *.split). 09:01:57 -!- FireFly has quit (*.net *.split). 09:01:57 -!- Sellyme has quit (*.net *.split). 09:01:57 -!- copumpkin has quit (*.net *.split). 09:01:57 -!- lifthrasiir has quit (*.net *.split). 09:01:57 -!- Slereah has quit (*.net *.split). 09:01:58 -!- ineiros has quit (*.net *.split). 09:01:58 -!- Sgeo has quit (*.net *.split). 09:01:58 -!- ski_ has quit (*.net *.split). 09:01:58 -!- aloril has quit (*.net *.split). 09:01:58 -!- Taneb has quit (*.net *.split). 09:01:58 -!- heroux has quit (*.net *.split). 09:01:59 -!- Fiora has quit (*.net *.split). 09:01:59 -!- elliott has quit (*.net *.split). 09:01:59 -!- quintopia has quit (*.net *.split). 09:01:59 -!- ion has quit (*.net *.split). 09:02:00 -!- ter2 has quit (*.net *.split). 09:02:01 -!- olsner has quit (*.net *.split). 09:02:01 -!- fungot has quit (*.net *.split). 09:02:01 -!- kmc has quit (*.net *.split). 09:02:01 -!- myname has quit (*.net *.split). 09:02:01 -!- TodPunk has quit (*.net *.split). 09:02:01 -!- atehwa has quit (*.net *.split). 09:02:01 -!- EgoBot has quit (*.net *.split). 09:02:01 -!- HackEgo has quit (*.net *.split). 09:02:01 -!- oklopol has quit (*.net *.split). 09:02:02 -!- zzo38 has quit (*.net *.split). 09:02:02 -!- Froox has quit (*.net *.split). 09:02:02 -!- shachaf has quit (*.net *.split). 09:02:02 -!- SirCmpwn has quit (*.net *.split). 09:02:02 -!- iamcal has quit (*.net *.split). 09:02:02 -!- nortti has quit (*.net *.split). 09:02:02 -!- douglass_ has quit (*.net *.split). 09:02:03 -!- fizzie has quit (*.net *.split). 09:02:03 -!- Zuu has quit (*.net *.split). 09:02:03 -!- Vorpal has quit (*.net *.split). 09:02:04 -!- nisstyre has quit (*.net *.split). 09:02:04 -!- mroman has quit (*.net *.split). 09:02:04 -!- clog has quit (*.net *.split). 09:35:39 -!- SirCmpwn has joined. 09:35:39 -!- nortti has joined. 09:35:39 -!- iamcal has joined. 09:35:39 -!- Froox has joined. 09:35:39 -!- zzo38 has joined. 09:35:39 -!- oklopol has joined. 09:35:39 -!- Gregor has joined. 09:35:39 -!- trout has joined. 09:35:39 -!- rntz^2 has joined. 09:35:39 -!- lambdabot has joined. 09:35:39 -!- drlemon has joined. 09:35:39 -!- shachaf has joined. 09:35:39 -!- b_jonas has joined. 09:35:39 -!- FireFly has joined. 09:35:39 -!- Gracenotes has joined. 09:35:39 -!- jconn has joined. 09:35:39 -!- realzies has joined. 09:35:39 -!- Sellyme has joined. 09:35:39 -!- sebbu has joined. 09:35:39 -!- myndzi has joined. 09:35:39 -!- rodgort has joined. 09:35:39 -!- upgrayeddd has joined. 09:35:39 -!- _46bit_ has joined. 09:35:39 -!- CADD has joined. 09:35:39 -!- carado has joined. 09:35:39 -!- Sprocklem has joined. 09:35:39 -!- mauke has joined. 09:35:39 -!- preflex has joined. 09:35:39 -!- Deewiant_ has joined. 09:35:39 -!- jix has joined. 09:35:39 -!- int-e_ has joined. 09:35:39 -!- ggherdov has joined. 09:35:39 -!- 23LAATJIN has joined. 09:35:39 -!- pikhq has joined. 09:35:39 -!- qlkzy has joined. 09:35:39 -!- ion has joined. 09:35:39 -!- quintopia has joined. 09:35:39 -!- Fiora has joined. 09:35:39 -!- elliott has joined. 09:35:39 -!- heroux has joined. 09:35:39 -!- Taneb has joined. 09:35:39 -!- aloril has joined. 09:35:39 -!- ski_ has joined. 09:35:39 -!- Sgeo has joined. 09:35:39 -!- ineiros has joined. 09:35:39 -!- mroman has joined. 09:35:39 -!- Vorpal has joined. 09:35:39 -!- Zuu has joined. 09:35:39 -!- fizzie has joined. 09:35:39 -!- douglass_ has joined. 09:35:39 -!- Bike has joined. 09:35:39 -!- yiyus has joined. 09:35:39 -!- augur has joined. 09:35:39 -!- tromp has joined. 09:35:39 -!- nisstyre has joined. 09:35:39 -!- clog has joined. 09:35:39 -!- coppro has joined. 09:40:05 -!- AnotherTest has joined. 09:44:10 -!- JZTech101 has joined. 09:44:10 -!- copumpkin has joined. 09:44:10 -!- lifthrasiir has joined. 09:44:10 -!- Slereah has joined. 09:47:49 hm. 09:48:02 How many modulos does one need to reconstruct the original number? 09:48:18 starting from 2 09:48:25 What? 09:48:44 i.e 2014 % 2 = 0, 2014 % 3 = 1; 2014 % 4 = 2; 2014 % 5 = 4 and so on 09:49:02 which gives you the numbers 0,1,2,4,... 09:49:17 And you want to know how many of those numbers you need to reconstruct 2014 uniquely? 09:49:23 exactly 09:49:48 you just need one, as long as it's bigger than 2014 09:49:51 If your moduli are coprime, you can uniquely reconstruct a count of numbers that is the product of the moduli. 09:50:08 For instance if your moduli are 2, 3, and 5, you can have 2*3*5 = 30 unique numbers. 09:50:13 (after that they'll start repeating) 09:50:41 (0 mod 2 = 0, 0 mod 3 = 0, 0 mod 5 = 0; 30 mod 2 = 0, 30 mod 3 = 0, 30 mod 5 = 0) 09:50:57 Is that what you mean? 09:51:05 Yeah, that helps. 09:51:20 a little. 09:51:37 what else do you want to know 09:52:07 How many numbers do I need to reconstruct (uniquely) any given number 09:52:14 ;) 09:52:20 infinite. 09:52:27 seeing as how there are infinitely many numbers. 09:52:29 such is life. 09:52:34 what 09:52:49 s/any/a certain given 09:53:14 doesn't matter. if you're not specifying an upper range you're out of luck. 09:53:39 -!- ter2 has joined. 09:53:39 -!- olsner has joined. 09:53:39 -!- fungot has joined. 09:53:39 -!- kmc has joined. 09:53:39 -!- myname has joined. 09:53:39 -!- TodPunk has joined. 09:53:39 -!- atehwa has joined. 09:53:39 -!- EgoBot has joined. 09:53:39 -!- HackEgo has joined. 09:53:47 what? 09:53:51 I want f(x) 09:53:56 try writing out the integers mod certain numbers. 2: 0, 1, 0, 1... 3: 0, 1, 2, 0, 1, 2, 0, 1, 2, ... 4: 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3,... 09:54:01 they repeat. 09:54:06 where f is a function that tells me how many numbers I'd need to reconstruct x 09:54:37 oh 09:54:37 I see your point 09:54:47 The upper bound is x 09:55:01 -!- JZTech101 has quit (Changing host). 09:55:01 -!- JZTech101 has joined. 09:55:04 -!- SirCmpwn has changed nick to Guest37212. 09:55:06 then shachaf knows the answer. 09:55:37 he cheated with "as long as it's bigger" 09:55:58 cheated? you didn't say anything bout the moduli 09:56:22 do you want to have the moduli be contiguous and starting at 2? 09:56:29 Of course. 09:56:36 "of course", he says 09:56:43 That's the whole point 09:56:52 they're not coprime so it's some bullshit. look up the chinese remainder theorem. 09:56:59 it would be much more sensible to use only prime moduli. 09:57:51 in which case you need, let's see, five. 09:58:06 > 2 * 3 * 5 * 7 * 11 09:58:07 2310 09:58:43 > (2014 `mod` 2, 2014 `mod` 3, 2014 `mod` 5, 2014 `mod` 7, 2014 `mod` 11) 09:58:44 (0,1,4,5,1) 10:06:10 -!- Deewiant_ has changed nick to Deewiant. 10:32:31 -!- FreeFull has joined. 10:40:14 Bike: Yep. 10:42:01 that's about 11.1 bits if you're wondering, very ehhhhh 10:42:17 now I need to be convinced that mod 4 does not provide more information than mod 2 10:42:26 which I assume it does not 10:42:42 well, it does. 10:42:53 i mean, obviously 3 and 1 are distinct under mod 4 and not under mod 2. 10:43:20 Yeah 10:43:33 but can it reduce the required numbers to 4 instead of 5 for 2014 10:43:34 it's when you use them at the same time that things get redundant. 10:43:37 given that you don't start at 2 10:43:46 but can choose 4 moduli you like < 2014 10:43:59 oh, well sure i guess. 3, 4, 5, 7, and 11 are still coprime 10:44:23 is coprime gdt(a,b) = 1? 10:44:28 eh wait 10:44:31 gcd(a,b) 10:44:34 yes 10:44:36 Ok 10:44:46 so Teilerfremd in German :) 10:44:47 just means they don't share any factors; primes are coprime with everything 10:46:10 > 8 * 11 * 13 10:46:12 1144 10:46:15 > 8 * 11 * 13 * 17 10:46:16 19448 10:46:57 that should let me uniquely reconstruct 2014 with 4 numbers? 10:47:40 hm 10:48:00 > 2014 `mod` 1008 10:48:01 1006 10:48:07 > 1008 + 1006 10:48:08 2014 10:48:17 Man am I stupid. 10:48:52 If the moduli is > x/2 it's pretty obvious you only need one 10:49:11 how cruel 10:49:14 yeah 10:49:27 for the "pick yourself a moduli" case 10:49:28 what? 10:49:38 or modulo 10:49:53 if you have one modulus of 1008 you can't distinguish 1006 and 2014 10:50:19 aw. yeah 10:50:54 I'll stop trying. 10:51:10 basically you're not going to represent 2014 in any useful sense without being able to represent at least 2015 distinct numbers :p 10:51:35 Yeah. 10:51:54 I'm experimenting with "probabilistic compression algorithms" or whatever you call them 10:52:10 lossy compression? 10:52:19 In a sense, yes. 10:52:35 It's basically an "underdefined" equation 10:53:09 I.e. you can't reconstruct the data uniquely 10:53:32 but you can construct all possible solutions 10:53:39 one of them then is the actual original data 10:54:19 given that it is english text 10:54:28 you can do an text-analysis on all solutions 10:54:38 -!- MindlessDrone has joined. 10:54:42 and reconstruct the original data pretty well 10:56:13 You may tell me now how stupid that is ;) 10:57:04 another approach is to predict the future 10:57:22 and then only transmit information if the actual outcome wasn't the same as the prediction 10:57:37 so you actually transmit a "difference" of the actual data to the "prediction" 10:58:37 but you might as well use something more sane like huffman or lz or whatever 11:00:19 (underdefined == not well enough defined) 11:00:25 Not sure if that's an actual english word 11:01:39 it's well enough defined :p 11:02:47 -!- mauke has quit (Remote host closed the connection). 11:03:10 -!- mauke has joined. 11:09:53 hm 11:10:28 `run "echo 2014 | python -c 'print input()'" 11:10:30 bash: echo 2014 | python -c 'print input()': command not found 11:14:28 -!- FreeFull_ has joined. 11:15:23 -!- FreeFull has quit (Ping timeout: 272 seconds). 11:24:17 -!- FreeFull_ has quit (Ping timeout: 252 seconds). 11:38:11 -!- Phantom_Hoover has joined. 11:44:31 -!- FreeFull has joined. 11:54:46 -!- ter2 has quit (Read error: Connection reset by peer). 11:55:01 -!- ter2 has joined. 11:57:56 -!- ter2 has quit (Read error: Connection reset by peer). 11:58:21 -!- tertu has joined. 11:59:33 -!- tertu has quit (Read error: Connection reset by peer). 11:59:56 -!- tertu has joined. 12:03:11 -!- tertu has quit (Read error: Connection reset by peer). 12:03:34 -!- tertu has joined. 12:03:39 -!- FreeFull has quit (Ping timeout: 260 seconds). 12:04:32 -!- tertu has quit (Read error: Connection reset by peer). 12:05:00 -!- tertu has joined. 12:06:32 -!- ter2 has joined. 12:06:38 -!- coppro has quit (Ping timeout: 252 seconds). 12:06:48 -!- coppro has joined. 12:07:57 -!- ter2 has quit (Read error: Connection reset by peer). 12:08:18 -!- ter2 has joined. 12:10:38 -!- tertu has quit (Ping timeout: 246 seconds). 12:11:39 -!- ter2 has quit (Read error: Connection reset by peer). 12:11:55 -!- ter2 has joined. 12:14:31 -!- FreeFull has joined. 12:15:15 -!- tertu has joined. 12:16:36 -!- tertu has quit (Read error: Connection reset by peer). 12:16:55 -!- tertu has joined. 12:18:11 -!- ter2 has quit (Ping timeout: 252 seconds). 12:20:07 -!- tertu has quit (Read error: Connection reset by peer). 12:20:21 -!- tertu has joined. 12:21:41 -!- tertu has quit (Read error: Connection reset by peer). 12:21:56 -!- tertu has joined. 12:26:01 -!- tertu has quit (Read error: Connection reset by peer). 12:26:19 -!- tertu has joined. 12:27:56 -!- ter2 has joined. 12:29:08 -!- ter2 has quit (Read error: Connection reset by peer). 12:29:25 -!- ter2 has joined. 12:30:14 -!- qlkzy has quit (Quit: ZNC - http://znc.sourceforge.net). 12:30:32 -!- ter2 has quit (Read error: Connection reset by peer). 12:30:37 -!- qlkzy has joined. 12:30:59 -!- ter2 has joined. 12:31:17 -!- tertu has quit (Ping timeout: 272 seconds). 12:32:14 -!- tertu3 has joined. 12:35:55 -!- ter2 has quit (Ping timeout: 260 seconds). 12:36:00 -!- tertu has joined. 12:37:22 -!- tertu3 has quit (Ping timeout: 245 seconds). 12:37:22 -!- AnotherTest has quit (Ping timeout: 245 seconds). 12:37:38 -!- ter2 has joined. 12:39:20 -!- tertu3 has joined. 12:41:03 -!- tertu3 has quit (Read error: Connection reset by peer). 12:41:20 -!- tertu3 has joined. 12:41:31 -!- FreeFull has quit (Ping timeout: 260 seconds). 12:41:38 -!- tertu has quit (Ping timeout: 265 seconds). 12:43:20 -!- ter2 has quit (Ping timeout: 245 seconds). 12:44:37 -!- FreeFull has joined. 12:45:21 -!- tertu has joined. 12:46:40 -!- FreeFull has quit (Read error: Connection reset by peer). 12:48:24 -!- tertu3 has quit (Ping timeout: 265 seconds). 12:49:21 -!- augur has quit (Remote host closed the connection). 12:49:24 -!- ter2 has joined. 12:49:57 -!- augur has joined. 12:53:15 -!- ter2 has quit (Read error: No route to host). 12:53:32 -!- ter2 has joined. 12:54:10 -!- augur has quit (Ping timeout: 245 seconds). 12:54:11 -!- tertu has quit (Ping timeout: 272 seconds). 12:55:05 -!- ter2 has quit (Read error: Connection reset by peer). 12:55:30 -!- ter2 has joined. 12:57:14 -!- ter2 has quit (Read error: Connection reset by peer). 12:57:25 -!- augur has joined. 12:57:29 -!- ter2 has joined. 12:59:17 -!- tertu3 has joined. 13:02:28 -!- tertu has joined. 13:03:27 -!- nooodl has joined. 13:03:57 -!- ter2 has quit (Ping timeout: 272 seconds). 13:05:29 -!- tertu3 has quit (Ping timeout: 272 seconds). 13:05:35 -!- oerjan has joined. 13:05:42 -!- tertu has quit (Read error: Connection reset by peer). 13:05:59 -!- tertu has joined. 13:07:25 -!- ter2 has joined. 13:09:00 -!- tertu3 has joined. 13:10:00 -!- carado has quit (Ping timeout: 245 seconds). 13:10:14 -!- yorick has joined. 13:10:26 -!- tertu3 has quit (Read error: Connection reset by peer). 13:10:50 -!- tertu3 has joined. 13:11:16 tertu3, fix your connection plx 13:11:43 `unicode ٩ 13:11:45 Unknown character. 13:11:49 `unidecode ٩ 13:11:50 ​[U+0669 ARABIC-INDIC DIGIT NINE] 13:11:55 -!- tertu has quit (Ping timeout: 272 seconds). 13:12:18 `unicode ARABIC-INDIC DIGIT EIGHT 13:12:20 ​٨ 13:13:02 -!- tertu3 has quit (Read error: Connection reset by peer). 13:13:15 -!- ter2 has quit (Ping timeout: 260 seconds). 13:13:18 -!- tertu3 has joined. 13:14:31 `run for d in one two three four five six seven eight nine; do unicode "$(echo arabic-indic digit $d | tr a-z A-Z)"; done | tr -d '\n' 13:14:37 ​١٢٣٤٥٦٧٨٩ 13:16:01 ٦ looks more like a 7 to me. Such foolishness. 13:16:15 -!- tertu3 has quit (Read error: Connection reset by peer). 13:16:30 -!- tertu3 has joined. 13:17:37 `unicode arabic-INDIC digit ZERO 13:17:38 ​٠ 13:17:43 I guess it wasn't case-sensitive after all. 13:18:20 -!- ter2 has joined. 13:21:40 -!- tertu3 has quit (Ping timeout: 260 seconds). 13:24:21 -!- ter2 has quit (Quit: Leaving). 13:33:04 -!- conehead has joined. 13:41:54 `wget ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt 13:41:55 ​--2014-01-04 13:41:55-- ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt \ => `UnicodeData.txt' \ Resolving ftp.unicode.org... failed: Name or service not known. \ wget: unable to resolve host address `ftp.unicode.org' 13:49:31 ITYM "fetch" 13:49:45 I think someone might've done that already, also. 13:50:26 -!- Sorella has joined. 13:52:35 -!- FreeFull has joined. 13:55:58 -!- conehead has quit (Ping timeout: 246 seconds). 13:57:02 -!- conehead has joined. 14:04:35 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 14:05:58 Oh 14:12:44 Possibly not, I can't find any traces of it. 14:26:58 is there a certain bound subset of bf known to be turing complete? 14:27:43 finite registers would be nicest, but i really doubt thst 14:27:50 yeah, if you have bigints 14:27:56 you only need like 6 cells or something 14:28:10 mauke, oerjan proved 3 cells with bigint 14:28:22 oh wow 14:28:35 You can do it with 1-bit cells if you have infinite cells, I think 14:29:08 1-bit cells are in bitchanger and boolfuck 14:29:09 Taneb: yes that's boolfuck 14:29:28 Those are the two extremes 14:29:51 Is it proven that two unbounded cells is sub-TC? 14:30:32 well i never wrote up a proof 14:31:18 but the fact ending a loop forces one cell to be zero means you have not very much more than a single cell to use 14:32:08 or maybe we _did_ get a proof during previous discussions of the issue here, i don't quite remember 14:34:27 mauke: the 3-cell proof is in the "Collatz function" article of the wiki (because it's like, a corollary of those) 14:34:58 mauke: could you elborte 14:35:26 how? 14:35:47 is there an actual proof of that bigint part 14:36:11 `wiki Collatz function 14:36:12 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 14:36:17 ^wiki Collatz function 14:36:18 http://esolangs.org/wiki/Collatz function 14:36:46 not very escaping that command 14:37:11 reduction from fractrn 14:37:14 oh boy 14:37:20 would love reading about that 14:38:09 myname: the function for the reduction is in the haskell code further down 14:38:19 that 3-cell-thing might be handy for proofs 14:39:05 it should be possible to compile from 3-cell-bf to wolfgang 14:40:56 have to think on how to handle loops... 14:41:23 wait, should actually be pretty easy 14:41:35 i will take a look at it later 14:41:41 myname: if wolfgang can embed state machines, then a 2-register minsky machine or fractran might fit better. 3-cell bf is nice if you only have precisely bf's control flow. 14:42:29 oerjan: well, i agree, but i have no approach in mind on how to compile fractran to wolfgang 14:42:45 ok 2-register minsky machine then. 14:42:52 i may have a look at it 14:43:04 it's like the member of the family which has full state machine control 14:45:58 okay, so i have to proof a) i can resemble a fsa and b) i can increment and decrement on at least 2 registers? 14:46:02 apropos state machines, this regex game y'all linked to is starting to get awkward, i think i need to convert a state machine to solve this triples level 14:46:42 myname: yeah. and also branch on registers reaching zero. 14:46:57 finite sets are technically boring 14:47:19 oerjan: you have to cheat for triples 14:47:28 oh? 14:47:41 because i know in _principle_ how to do the conversion. 14:47:56 huh? 14:48:08 it's just looking to be large, is all. 14:48:20 i only know it's possible for binary numbers 14:49:08 myname: calculating modulus wrt any base can be done with an fsa. 14:49:25 and it's particularly easy for 3. 14:49:35 that doesn't mean the regex is nice. 14:49:50 (well i guess binary is even easier.) 14:50:23 it's just the digital root algorithm, really. 14:50:42 binary can easily be done with 3 states 14:51:07 you mean checking triples in binary? 14:51:16 yes 14:51:19 you only need 3 states regardless of base, anyway. 14:51:24 huh? 14:51:30 how do you do that? 14:51:36 oh 14:51:44 nvmd 14:52:52 -!- LinearInterpol has joined. 14:57:18 how does a minsky machine actually use the registers? 14:57:47 is there something like an "increment r1" state? 14:59:20 each state has like a command attached, which is either increment a register, or decrement a register and branch. 14:59:24 and maybe halt. 14:59:51 or nop, i assume 15:00:02 (well, you can simulate nop at least) 15:00:04 nop is sort of useless. 15:01:35 if a state uses nop, you can just remove it and skip directly to its target instead. 15:02:06 it will still read a char from it's input 15:02:26 um you're thinking of ordinary fsas. 15:02:33 oh 15:02:54 minsky machines don't have i/o other than the initial and final register values. 15:03:00 ah 15:03:05 that does make sense 15:06:29 http://i.imgur.com/vwbKqAK.png Any way to simplify this using only these kinds of gates? Transistors would be fine 15:06:47 Or is this the simplest design possible (using NOT, NOR and AND) 15:08:17 * oerjan managed to get the conversion for triples working 15:19:29 * oerjan tweaks it up to 519 points with cheating 15:20:53 i had 555 15:21:02 :( 15:21:05 someone told me, 630 are possible 15:21:42 okay, maybe not 15:21:56 630 should be all the words 15:23:54 oh wtf blob 15:23:57 * oerjan gives up 15:24:14 er glob 15:26:29 yeah 15:26:35 i am stuck at it, too 15:29:40 myname, oerjan what are you talking about? 15:31:17 the regexp thingy? 15:32:52 regex.alf.nu 15:33:32 FreeFull: Is that just a full adder? 15:36:32 fizzie: Yeah 15:37:59 Google pops up an arXiv paper of "Single bit full adder design using 8 transistors with novel 3 transistors XNOR gate", if that's what your "transistors would be fine" means. 15:42:30 Thanks 15:52:25 That design involves a multiplexer 16:00:46 -!- FreeFull has quit (Read error: Operation timed out). 16:03:14 Yes, made out of two transistors. 16:03:16 https://gist.github.com/jonathanmorley/8058871 has many regex.alf.nu spoilers (with total score 4069. I had 3850 or so) 16:03:39 -!- int-e_ has changed nick to int-e. 16:04:49 In the end I was annoyed by the fact that cheating wins in almost all cases. 16:04:57 09:57:51: in which case you need, let's see, five. 16:04:58 09:58:06: > 2 * 3 * 5 * 7 * 11 16:05:22 > foldl1' lcm [5,7,8,9] 16:05:23 2520 16:06:02 @localtime oerjan 16:06:03 Local time for oerjan is Sat Jan 4 17:06:03 2014 16:06:51 @tell mroman 5, 7, 8, 9 are enough. 16:06:51 Consider it noted. 16:07:18 > foldl1' lcm [5,6,7,8] 16:07:20 840 16:07:43 > foldl1' lcm [1..9] 16:07:44 2520 16:09:18 oh. there was a netsplit around that time, tsk. 16:10:05 int-e: i'm pretty sure this was after that netsplit 16:10:26 tunes.org wasn't loading. 16:10:52 still isn't. 16:11:36 Ah I failed at applying time zones correctly. Ok. 16:12:06 int-e: the paste is from codu, so utc, anyway. 16:13:45 Yes, I figured it out. The @localtime was my mistake. 16:14:27 -!- Guest37212 has quit (Changing host). 16:14:28 -!- Guest37212 has joined. 16:14:54 -!- Guest37212 has changed nick to SirCmpwn. 16:14:57 @tell mroman the clue is that if you start with a range [1..n], you can throw away all numbers that aren't the largest power of a prime. 16:14:58 Consider it noted. 16:16:32 @tell mroman hm i'm not entirely sure that always gives the smallest number of numbers. probably, though. 16:16:33 Consider it noted. 16:16:55 why wouldn't it 16:17:34 > foldl1' lcm [1..20] 16:17:35 > scanl lcm 1 [1..] 16:17:35 232792560 16:17:36 [1,1,2,6,12,60,60,420,840,2520,2520,27720,27720,360360,360360,360360,720720,... 16:17:45 oh no euler spoilers!!!!!!!! 16:18:08 nooodl: actually it doesn't. e.g. 5,6 is better than 2,3,5. 16:18:35 oh, like that 16:18:48 well, 30 is better than 5,6 16:19:19 i guess you have that [1..n] range you need to stay in 16:19:28 nooodl: yes but we also want to minimize the largest number, i think. 16:19:55 otherwise it's trivial to take just the bound you want. 16:20:29 Right, let's just compute modulo 2^64 like everybody else does. 16:20:54 420 is best got with 7*6*5. 16:21:30 @tell mroman actually not always, e.g. for x=420 you get the best by using 5,6,7. 16:21:30 Consider it noted. 16:22:56 i suspect 2*3 = 6 might be one of the few replacements that can work. 16:38:33 -!- 23LAATJIN has quit (Read error: Connection reset by peer). 16:38:53 -!- tromp_ has joined. 16:45:25 oerjan: for 4084080 (= lcm [1..17]/3) the best possible seems to be 7*11*13*15*16*17. 16:47:35 oerjan: note that you did the same thing; 7*6*5 equals 210 16:49:41 And by "the same" I mean that you also have a prime power factor that isn't maximal below a chosen n. In your case, 2 <= 7 instead of 4 <= 7. 17:00:19 oops 17:00:45 @tell mroman scratch that last one, i missed the 4 17:00:45 Consider it noted. 17:01:09 @tell mroman or well, it works for x=210. 17:01:09 Consider it noted. 17:05:29 int-e: hm well, to get all of the lcm [1..n] you obviously need to include all the prime powers as factors somewhere. 17:07:40 if you have p^i*q^j as factors where p < q, then p^(i+j) must also be a factor somewhere, which means including it with q is redundant. so you never save anything by including non-prime-powers. 17:07:58 oerjan: yes. but that lcm [1..n] sequence is very coarse. 17:08:25 yeah especially if n is prime. 17:20:52 -!- Slereah_ has joined. 17:22:55 -!- Slereah has quit (Ping timeout: 265 seconds). 17:28:48 Oh good. If the cipher mode for dm-crypt is given as -plain, the kernel translates that to -cbc-plain. I wish that fact was properly documented (I expected a hint in Documentation/device-mapper/dm-crypto.txt). 17:31:30 (man cryptsetup has such a hint: "--cipher, -c: set cipher specification string. Usually, this is "aes-cbc-plain". For pre-2.6.10 kernels, use "aes-plain" as they don’t understand the new cipher spec strings. [...]". However, I only found that after reading the kernel sources...) 17:32:55 hm 17:33:01 @messages 17:34:32 -!- boily has joined. 17:39:36 `factors 65536 17:39:38 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: factors: not found 17:39:51 how did that work again? 17:40:14 `factor 65536 17:40:15 65536: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 17:40:20 (It's a relatively standard utility.) 17:41:09 (Not quite POSIXly standard, but part of GNU coreutils at least.) 17:41:44 -!- oerjan has quit (Quit: leaving). 17:45:05 `factors 65535 17:45:06 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: factors: not found 17:45:08 `factor 65535 17:45:10 65535: 3 5 17 257 17:47:38 `factor `echo 1` 17:47:39 factor: ``echo 1`' is not a valid positive integer 17:47:45 `eval factor `echo 1` 17:47:46 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: eval: not found 17:48:06 run? hmm. 17:48:26 `run factor `dc <<<'2 64^1+p'` 17:48:28 factor: `18446744073709551617' is too large 17:48:33 wimp. 17:51:00 Sadly, I don't think HackEgo comes with PARI/GP installed. 17:52:33 > let n=2^64+1;r x y|f>1&&f (274177,67280421310721) 17:52:48 > 274177*67280421310721 17:52:49 18446744073709551617 17:53:40 `run factor 67280421310721; factor 274177 17:53:41 67280421310721: 67280421310721 \ 274177: 274177 17:54:07 I have this strangest feeling we just factored 2^64+1 the other day, on-channel. 17:57:13 Ah, the smallest prime factor of 2^128+1 is a bit too big for Pollard's rho method to be effective. Pity. 17:59:06 > (2 ** 1 + 1) * (2 ** 2 + 1) * (2 ** 4 + 1) * (2 ** 8 + 1) 17:59:07 65535.0 17:59:32 > (2 ** 1 + 1) * (2 ** 2 + 1) * (2 ** 4 + 1) * (2 ** 8 + 1) * (2 ** 16 + 1) 17:59:33 4.294967295e9 17:59:45 -!- metasepia has joined. 17:59:57 if you'd use ^ rather than ** you'd get integer results. 18:00:21 > product [2^(2^i)+1 | i <- [0..4]] 18:00:22 4294967295 18:00:45 my Python's slipping, I can't remember which exponentiation operator to use, and I'm eating leftover coleslaw. 18:01:19 oh. it's ** in Python. 18:01:29 ^ is xor in Python 18:01:54 `run python -c 'print (2 ** 1 + 1) * (2 ** 2 + 1) * (2 ** 4 + 1) * (2 ** 8 + 1) * (2 ** 16 + 1)' 18:01:55 4294967295 18:04:17 It's Haskell that needs three operators to harness the power of exponentiation. 18:04:54 the power... or curse (flips hair dramatically) 18:05:28 I only said it for the pun. 18:05:43 oh. uh. me too 18:05:54 all I want is to exponiate, not to get mired in the Cursed Swamp of Mathematically Correct Operators. 18:06:22 > let x = 0/0 in x == x 18:06:23 False 18:07:30 > let x = 0; y = -0 in (x == y, 1/x == 1/y) 18:07:31 (True,False) 18:07:49 But to be fair, the Haskell designers didn't make up those rules. 18:07:53 Does math say -0 == 0? 18:08:04 IEEE 754 does. 18:08:24 or probably like it's with math -0 == 0 for some math and -0 <> 0 for some other math . 18:08:29 But yes, math does, too, because 0+0 = 0, so 0 is the additive inverse of 0. 18:09:45 Well, "math". This is true for any group (the neutral element is its own inverse), and in particular for the additive group in rings. 18:09:50 ~eval 0 / 0 18:09:51 NaN 18:10:07 ~eval (1 / 0, -1 / 0) 18:10:08 (Infinity,-Infinity) 18:10:58 ~eval let x = 0; y = -0 in ((x :: Int) == (y :: Int), (x :: Double) == (y :: Double)) 18:10:59 (True,True) 18:11:05 x = y -> f(x) = f(y) is something mathematicians tend to expect from equality. So that failure (= not being a congruence relation) is pretty bad. 18:11:43 equality is hard. let's do something different! 18:11:56 > 0/0 < 0 18:11:57 False 18:12:01 Eh. 18:13:21 > let x = 0/0 in (x > 1, x == 1, x < 1) 18:13:22 (False,False,False) 18:13:30 Of course dividing by 0 is also generally frowned upon, because you will necessarily lose the ring structure :) 18:15:55 @tell oerjan Btw, re-reading GG is totally worth it. There are so many small details to rediscover, not to mention some significant plot developments that I have forgotten over the years. 18:15:55 Consider it noted. 18:22:57 what's GG? 18:23:14 myname: it may be Girl Genius. hth. 18:23:32 boily: hth 18:24:08 coppro: hth. 18:24:21 > let x = 1 / 0; y = - 1 / 0 in (x > y, x < y, x == y) 18:24:23 (True,False,False) 18:32:03 boily is right as usual. 18:34:46 ~metar CYQB 18:34:47 CYQB 041800Z 03008KT 30SM FEW022 BKN080 BKN095 M18/M23 A3018 RMK SC2AC3AS2 SLP230 18:34:56 today is a hot day. -18 °C! 18:36:34 ergh 18:41:18 boily: in norway? 18:41:25 -!- AnotherTest has joined. 18:41:32 myname: in CANADA! 18:41:41 norway is warmer this time of the year. 18:41:42 h 18:42:00 "come to canada. we have great summers. last year, it was a tuesday" 18:42:21 ~metar ENGM 18:42:23 ENGM 041820Z 21007KT 9999 -DZ FEW012 SCT016 BKN025 04/04 Q0997 NOSIG 18:42:42 ~metar YMCA 18:42:43 --- Station not found! 18:43:12 ~metar KFUM 18:43:12 --- Station not found! 18:43:26 ~metar KBGR 18:43:27 KBGR 041753Z 19006KT 10SM BKN110 M13/M18 A3031 RMK AO2 SLP273 4/024 60000 T11281183 11128 21289 56039 18:43:29 ~metar SPAM 18:43:30 --- Station not found! 18:45:32 Still above zero, I suppose? 18:45:35 ~metar ESSA 18:45:35 ESSA 041820Z 23009KT 9999 SCT007 BKN010 05/04 Q1002 R01L/29//95 R08/29//95 R01R/29//95 TEMPO BKN015 18:45:52 you wimps with above-zero wintemperatures... 18:47:09 Almost all of december has been considerably warmer than average 18:47:29 http://www.smhi.se/klimatdata/meteorologi/2.1353/dailyTable.php?par=tmpAvvDay&yr=2013&mon=12 18:49:17 wow, 10 degrees warmer than normal in almost all of norrland 18:50:13 Yeah.. 18:56:41 It's very strange. 18:56:44 ~metar EFHK 18:56:47 EFHK 041850Z 13008KT 6000 -RASN BKN003 01/01 Q1004 NOSIG 18:57:13 The newspaper said Russian tourists (of which there are many this time of year) have been very disappointed with the mild weather. 18:57:49 ~metar IKEA 18:57:50 --- Station not found! 19:01:29 ~metar ETLA 19:01:30 --- Station not found! 19:09:27 -!- Zuu has quit (Ping timeout: 245 seconds). 19:11:51 -!- Zuu has joined. 19:13:35 -!- FreeFull has joined. 19:19:31 -!- FreeFull has quit (Ping timeout: 272 seconds). 19:23:16 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:29:47 ~metar ZERO 19:29:47 --- Station not found! 19:29:55 -!- FreeFull has joined. 19:33:53 -!- FreeFull has quit (Read error: Connection reset by peer). 19:41:05 -!- doesthiswork has joined. 19:41:23 the most recent oots was most excellent 19:42:14 -!- impomatic has quit (Ping timeout: 264 seconds). 20:07:11 IOCCC! → http://ioccc.org/years.html?a=123 20:07:29 * Bike glances meaningfully at topic 20:11:17 * boily glances at himself... 20:11:29 /clear! /clear! /abort! /time-travel! 20:32:38 meanwhile, my mind is completely twisted by misaka. 20:33:13 fair enough 20:34:51 holy. horizontal. tiling. 20:36:31 -!- jconn has quit (Ping timeout: 272 seconds). 21:08:16 -!- jconn has joined. 21:23:04 kmc: i like the haskell variation where main :: String and all the rts does is evaluate it and print it to stdout 21:23:12 lol 21:23:36 i think that clarifies the "execution vs. evaluation" thing out of existence 21:24:08 -!- nisstyre has quit (Quit: Leaving). 21:40:31 -!- shachaf has quit (Changing host). 21:40:31 -!- shachaf has joined. 21:46:09 -!- AnotherTest has quit (Ping timeout: 252 seconds). 22:08:24 -!- boily has quit (Quit: CRYPTIC CHICKEN). 22:08:26 -!- metasepia has quit (Remote host closed the connection). 22:14:23 -!- LinearInterpol has quit (Read error: Connection timed out). 22:15:30 -!- LinearInterpol has joined. 22:19:33 -!- FreeFull has joined. 22:19:54 -!- ^v has joined. 22:20:11 -!- TodPunk has quit (Quit: This is me, signing off. Probably rebooting or something.). 22:26:34 -!- ^v has quit (Remote host closed the connection). 22:34:02 -!- LinearInterpol has quit (Read error: Connection timed out). 22:35:16 -!- LinearInterpol has joined. 22:36:41 -!- Jafet has joined. 22:36:53 -!- FreeFull_ has joined. 22:37:28 -!- FreeFull has quit (Ping timeout: 246 seconds). 22:41:48 -!- TodPunk has joined. 23:10:42 -!- carado has joined. 23:20:56 -!- doesthiswork has quit (Quit: Leaving.). 23:38:12 -!- Bike has quit (Ping timeout: 245 seconds). 23:43:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:48:05 -!- LinearInterpol has quit (Read error: Connection timed out). 23:49:07 -!- LinearInterpol has joined. 23:51:23 -!- oerjan has joined. 23:52:17 @messages-gouda 23:52:18 int-e said 5h 36m 22s ago: Btw, re-reading GG is totally worth it. There are so many small details to rediscover, not to mention some significant plot developments that I have forgotten over the years. 23:53:24 -!- Bike has joined.