00:12:38 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 00:13:00 -!- CXI has joined. 00:23:13 -!- et has quit (Read error: 110 (Connection timed out)). 00:28:39 -!- GregorR has quit (Read error: 110 (Connection timed out)). 00:35:32 -!- int-e has quit ("Bye!"). 00:55:59 -!- GregorR_ has joined. 00:56:01 -!- GregorR_ has changed nick to GregorR. 01:40:38 <{^Raven^}> Gah! Netsplit city :( 01:52:41 idea: the sourcecode of the lang has to pass some random-number-tests 01:53:49 -!- calamari has joined. 01:54:14 hi 01:54:47 calamari: you missed my idea AND hi 01:54:52 02:53:44idea: the sourcecode of the lang has to pass some random-number-tests 01:55:16 which lang? 01:55:26 a new lang 01:55:43 it's hard to pass random number tests with non random data 01:55:47 -!- heatsink has joined. 01:55:52 hi, and yup 01:55:54 hmm lets say it is impossible *g* 01:55:59 moin heatsink 01:56:12 I disagree, pseudorandom data is not random data 01:56:18 i'm working on a little prng tester 01:56:31 hi pgimeno 01:56:38 hi 01:56:46 pgimeno: yes but there are some tests that say how much random-alike data is.. 01:56:58 there are lots, each specialized in one kind of failure of PRNGs 01:57:05 yes 01:57:26 just because somethign is statistically random doesn't mean that it is... it all depends on the source 01:58:07 calamari: i can generate true random data 01:58:16 by definition (for certain definitions, anyway) a PRNG is not a RNG 01:58:21 pgimeno: yes 01:58:23 if the only source is a computer algorithm, it's never really random 01:58:44 ack 01:59:02 http://www.fourmilab.ch/hotbits/ 01:59:43 http://www.lavarnd.org/ ;) 01:59:52 jix: that's an outside source of randomness :) 02:00:08 afaik there's an Intel chip with an integrated RNG 02:00:37 yeah.. the old Atari's had random number hardware as well 02:01:07 anyway, e.g. Malbolge would pass some (very loosy) randomness tests 02:01:24 calamari: that's why i said ack... 02:01:34 calamari: if the source is a computer algorithm its not random 02:01:38 it was pretty good too, because some of the cheesier emulators using stock C rng's produced artifacts in starfields because of the lack of randomness 02:02:16 jix: which tests will you be using? 02:02:48 calamari: i started with entropy 02:03:06 than a test i came up by myself 02:03:26 count all byte pairs 02:04:05 and generate entropy for every byte followed by another byte (entropy for all \x00\anychars... and \x01\anychar...) 02:04:18 take the difference of each entropy from 8 and square it 02:04:21 sum the whole thing 02:04:23 and output it 02:04:26 * calamari checks out an old book 02:04:34 maybe it has a name 02:04:38 but i came up with this 02:04:47 next thing i'm going to add is move-to-front entropy 02:04:57 move-to-front is an algorithm for reducing the entropy of data 02:05:02 shouldn't work with random data 02:05:12 chi-square test 02:05:16 i'm going to add common test later 02:05:22 chi-square is a common test 02:05:34 monte-carlo-pi too 02:05:56 arithmetic mean too... 02:06:37 mean dust coming off this book.. hasn't been opened in years.. hehe 02:06:53 i like random numbers 02:07:03 they are cool 02:07:29 maybe you can improve upon my bf lcg 02:07:32 I like them too 02:07:50 generate random #'s in bf with a fixed amount of memory 02:07:56 calamari: implement a mersenne-twister-something 02:08:12 hehe, was reading about that on wikipedia 02:08:21 ruby uses them 02:08:26 and they pass all test i did on them 02:08:26 decided to go with the lcg 02:08:46 oh and rule30 rng was very bad 02:09:05 MT works pretty well from a practical standpoint, yes 02:09:25 (though the final mapping step sounds a bit suspicious to me) 02:09:59 oh and the c code i write is bad as always 02:12:49 does work doesn't it? for(i=0;i<256;alphabet_positions[i]=i++); 02:13:09 sets alphabet_positions to {0,1...,255} 02:13:38 in ruby i'd write alphabet_positions=(0..255).to_a 02:13:41 but ruby is to slow 02:14:20 nope 02:14:29 that assignment has side effects 02:14:42 that's not valid C code IIRC 02:14:49 why not? 02:14:51 it compiles 02:15:10 the LHS uses a value that changes in the RHS; the result is undefined 02:15:39 hm? 02:15:44 oh 02:16:19 i hate c.. but it's fast.. and easy 02:16:25 please trust a little more on compiler optimizations :) 02:16:38 pgimeno: that wasn't speed optimization 02:16:43 that was code length optimizations 02:16:57 i hate to write much code for little things 02:17:01 for (i=0; i<256; i++) alphabet_positions[i] = i; not that different :) 02:17:08 a few bytes ;) 02:17:22 hhmm 1 byte 02:17:32 but that's a byte 02:17:33 ok, rename alphabet_positions to alpha_pos and save lots ;) 02:17:42 k 02:17:47 j/k 02:17:56 no that's a good idea 02:17:58 I tend to like descriptive programs 02:18:12 i too but c is long enough without them... 02:18:27 and pos is common for position 02:19:09 i like no variables at all 02:19:36 S K and I are enough.. 02:24:14 char 0..256 *256: 02:24:15 Entropy: 8.000000000000 02:24:15 Move To Front Entropy: 0.067858437841 02:24:50 true random data: 02:24:51 Entropy: 7.997362466417 02:24:51 Move To Front Entropy: 7.997344450382 02:25:10 pseude random data is the same 02:25:19 -e+o 02:25:31 psodo random data is tho samo 02:26:02 heatsink: 1x-e+o at the right position 02:26:33 yea, i understood :/ 02:27:12 * heatsink looks up movo to front entropy 02:27:53 dont look up that 02:27:57 that's s/e/o/ and not s/e/o/g 02:28:13 * heatsink found it on wikipodia 02:28:18 look up bwt and move to front 02:28:29 ok 02:28:49 I first knew it through bwt 02:28:56 * jix too 02:29:40 my own test is good for detecting some bits random some bits not-random but high entropy 02:34:08 some creative ideas for tests? 02:34:08 ooh, is nifty the burrows wheeler algorithm 02:35:30 no, just uncreative ideas. 02:35:59 heatsink: tell them.. 02:36:32 autocorrelation test; frequency count of each byte 02:37:06 frequency count of each byte does the same thing as entropy... 02:37:13 oh 02:37:48 if the frequency count of each byte/file_size is different than 1/256 it's lower than 8 02:38:05 but it's easy to fool with (0..256)*256 02:38:21 that doesn't happen with mtf entropy 02:38:55 autocorrelation test has some advantages with detecting VLCs 02:39:14 or, generally, non-8-bit codes 02:40:01 all my tests besides entropy have a larger "window" than 8bit 02:41:47 Hot Bit Entropy implemented 02:42:00 What's that? 02:42:10 entropy of last byte xor curren byte 02:42:14 +t 02:42:20 ok 02:42:38 if some bits change less often than other bits this one detects it 02:43:39 * jix has another cool idea 02:43:51 should help against bit-shifting algorithms 02:44:07 i try to come up with a prng and than how to detect it 02:44:46 Do you have a way to detect hashing-based prngs? 02:44:57 hm 02:45:02 don't know them 02:45:08 I've heard that sometimes people use MD5 as a PRNG 02:45:38 repeatedly perform a hash on the same 20 bytes and take the low byte as the new number 02:45:38 hm 02:45:59 that's difficult to detect 02:47:10 because they use cryptographic secure algorithms...(not 100% secure because it's possible to generate two msgs with the same hash) but if you only know the hash you can't construct a msg without brute forcing 02:49:45 -!- int-e has joined. 02:49:55 -!- int-e has left (?). 02:50:01 MD5 is allowed to destroy information though 02:50:10 yes 02:50:24 for msgs longer than the hash it does 02:50:39 only for longer messages? 02:51:07 no but it looses only a few bits sometime with shorter/same length msgs 02:51:29 they have a good distribution of the data over all bits 02:51:35 that makes them a good checksum 02:51:44 ah 02:57:01 hmm my unnamed algorithm seems to be good for many kinds of simple prng's 02:57:35 have you tested it on rngs? 02:57:44 (as a control) 02:57:57 i'm using /dev/urandom as a control 02:58:24 because true random is too rare for testing it with 64kb... 02:58:43 gpg uses /dev/urandom so it has to be pretty good 03:00:29 sliding bit entropy has a max value somewhere around 6.74... 03:01:30 hmm no 6.75 is possible 03:02:22 6.758 is the highest value i got 03:03:45 my randtester's binary is not random 03:05:23 ent is so much faster than my tool 03:06:18 I just made an md5 PRNG in python 03:09:38 do you want to test your tools on md5 hash output? 03:10:56 yes 03:12:37 #! /usr/bin/python 03:12:37 import sys;import md5;m = md5.new();seed = '\x000' * 19 + '\x014' 03:12:37 while 1:d = m.digest();sys.stdout.write(d);m.update(d) 03:12:47 ruby -r digest/md5 -e 'i="jix";10000.times{print i=Digest::MD5.digest(i)}' 03:13:27 the program needs to terminate because i pipe the date into the tester 03:13:37 ok 03:14:10 as good as urandom 03:14:13 using my tests 03:14:57 using ent's tests too 03:15:13 (chi square and monte carlo pi and serial correlation) 03:20:12 ok, well I'm going to bed. 03:21:04 -!- kipple has quit (Read error: 110 (Connection timed out)). 03:21:15 looks like you've got a quality prng. 03:21:28 night 03:21:30 quit 03:21:32 -!- heatsink has quit ("Leaving"). 03:21:36 -!- J|x has joined. 03:22:10 -!- jix has quit (Nick collision from services.). 03:22:12 -!- J|x has changed nick to jix. 03:29:36 gn8 03:29:42 its 4:30am here 03:29:47 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 04:35:28 -!- graue has joined. 04:35:33 hello everyone 04:35:40 how have things been in the esoteric community lately? 04:43:54 pretty boring I guess, bye 04:43:55 -!- graue has quit ("ircII EPIC4-1.1.12 -- Are we there yet?"). 05:12:09 -!- ramkrsna has joined. 05:35:07 -!- calamari has quit (Read error: 110 (Connection timed out)). 06:26:29 -!- et has joined. 06:47:23 -!- et has quit (Read error: 110 (Connection timed out)). 07:26:59 -!- ramkrsna has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:23:29 -!- kipple has joined. 10:42:44 -!- fizzie has quit ("Siirretaanpa sahkojohtoa, maalaavat muuten yli sen."). 12:23:46 -!- sp3tt has joined. 12:42:09 -!- kipple has quit (Read error: 110 (Connection timed out)). 13:19:01 -!- int-e has joined. 14:23:24 -!- jix has joined. 15:07:01 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 15:07:11 -!- jix has joined. 16:00:01 what.. Homespring website is down? 16:00:58 thank god there's the archive 16:17:36 -!- sp3tt has quit (Client Quit). 16:35:40 Oh Lord, thank you for the Earth, thank you for the rains that give us crops, thank you for the shelter that keeps us warm and dry, and thank you for www.archive.org, amen. 17:18:29 -!- int-e has quit ("Bye!"). 17:23:42 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 17:56:06 -!- ramkrsna_ has joined. 18:02:06 -!- jix has joined. 18:12:15 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 18:12:26 -!- jix has joined. 18:14:42 -!- Keymaker has joined. 18:15:16 'h' 'i' 18:16:36 mmmoooiiinnn kkkeeeyyymmmaaakkkeeerrr 18:37:30 -!- int-e has joined. 18:39:51 hello 18:40:11 (sorry, didn't notice something happened here :) 18:41:25 what why when? 18:41:28 hehe 18:41:52 -!- liebestraume has changed nick to lament. 18:42:40 I think that last e should've been an a ;) 18:46:35 -!- Kmkr has joined. 18:53:23 Graah, you closed your parens with a smily :P 18:53:39 (These parens are not closed :) 18:53:46 (These parens are closed :) ) 18:57:38 -!- int-e has quit (Remote closed the connection). 18:58:17 ()()())))()(()9()())(() 18:58:46 -!- int-e has joined. 19:01:10 * GregorR 's head explodes. 19:01:45 :( There are no parens here :) 19:04:51 -!- Keymaker has quit (Read error: 110 (Connection timed out)). 19:12:13 -!- Kmkr has quit (Read error: 110 (Connection timed out)). 19:20:46 -!- {^Raven^} has quit (Read error: 60 (Operation timed out)). 19:23:09 -!- {^Raven^} has joined. 21:23:06 -!- ramkrsna_ has quit (Read error: 113 (No route to host)). 22:17:49 :( nor here ): 22:18:29 {^Raven^}: and here? :] 22:18:35 whoops?! 22:18:41 i didn't wrote {^Raven^} ... 22:46:22 Yeah, suuuuure, tab-happy jix ;) 22:46:47 but {^Raven^}: is a funny smily 22:47:07 Let's see ... 22:47:12 it's someone with no tooth on the right eating Raven 22:47:19 ^^ 22:48:31 It's a guy wearing a silly hat with one eye and a broken noze, who's whispering while drooling into his beard, with one nipple and a sad animal at his feet. 22:48:42 s/noze/nose/ 22:49:02 uhm ok 22:49:04 sure. 22:49:33 A very specific smiley :P 23:15:49 reverse smileys are cool (-: (-; (-B d: 23:16:51 Upside-down smileys are cooler o^o 23:17:09 lol 23:17:21 invisible smileys rock: 23:17:31 WOAH man. 23:17:36 That rawk'd my world! 23:42:08 I started writing a MUD engine. 23:42:13 Not a good plan :P 23:42:25 One of those things that turns into an obsession really quickly. 23:42:49 why would one do such a thing? 23:43:07 I have a few ideas that I think would be cool. 23:43:17 (I know, very stupid reason :) ) 23:45:23 oh yes, ideas are a dangerous thing 23:47:29 * int-e thinks happy thoughts. 23:50:42 nGHGHAhaghaghAHG 23:51:02 bad idea to join #math.. can't sleep now have to find a solution for the topic 23:52:15 hmm 23:53:58 p(1)=1, p(2)=2 (1,1; 2), p(3)=3 (1+1+1; 1+2; 3)? 23:58:19 yes 23:58:53 i've found an algorithm (recursive) for p(n)