*** pinc has joined the channel2009-09-03 05:24:26
<Shelwien> apparently crc32 is really quite good as a sliding hash %)2009-09-03 05:57:29
*** pinc has left the channel2009-09-03 06:49:40
<osman> with you mentioned prefix-suffix way?2009-09-03 07:18:37
 btw, i really become to like linux ;)2009-09-03 07:19:29
 without any hand configuration, i've successfully upgraded to next ubuntu major version. all of things have been done via update manager ;)2009-09-03 07:20:17
 now trying to install g++2009-09-03 07:20:27
<Shelwien> not sure what you mean by "prefix-suffix"2009-09-03 07:21:37
 but i found a way to incrementally calculate 2009-09-03 07:21:50
 crc32( c[1]..c[256] ) from crc32( c[0]..c[255] ) ;)2009-09-03 07:22:14
<osman> yay! i've runned my first "Hello World!" application in linux :)2009-09-03 07:25:28
 how you "slide" crc?2009-09-03 07:26:11
<Shelwien> its simple ;)2009-09-03 07:29:51
 basically we need to precalculate crc32( c[0]..c[255] ) ^ crc32( c[1]..c[256] )2009-09-03 07:30:17
 and appears that it doesn't depend on c[1]..c[256] ;)2009-09-03 07:30:45
 * crc32( c[0]..c[256] ) ^ crc32( c[1]..c[256] )2009-09-03 07:31:18
<osman> so, you have a table crc32[x]^crc32[y] right?2009-09-03 07:33:19
 x, y in range of 0..2552009-09-03 07:33:27
<Shelwien> no2009-09-03 07:33:33
 i have a usual crctab[256]2009-09-03 07:33:47
 and incrtab[256]2009-09-03 07:33:51
 and that's all2009-09-03 07:33:53
*** pinc has joined the channel2009-09-03 08:48:04
*** toffer has joined the channel2009-09-03 08:49:41
<toffer> hi2009-09-03 08:52:58
<Shelwien> hi2009-09-03 08:53:05
 i made my sliding crc32 ;)2009-09-03 08:53:14
<toffer> something like (sum^=old_ch)^=new_ch for a sliding win. where old_ch is removed and new_ch inserted?2009-09-03 08:54:13
<Shelwien> yeah, but crc322009-09-03 08:54:27
<osman> hi toffer. i've finally installed g++ on my ubuntu and successfully compiled "hello world!" :)2009-09-03 08:57:19
<toffer> and implemented via?2009-09-03 08:57:23
 hi2009-09-03 08:57:26
<Shelwien> well, there's an additional lookup2009-09-03 08:57:45
 crc32 ^ incr[old_char]2009-09-03 08:58:00
<toffer> echo '#include<cstdio>' > h.cpp && echo 'int main() { printf("Hello!\n"); return 0; }' >> h.cpp && gcc -o hello h.cpp && ./hello :)2009-09-03 08:59:29
 missed -lstdc++ :)2009-09-03 08:59:51
<osman> yep. more or less :)2009-09-03 08:59:54
 what does the meaning lstdc++ ?2009-09-03 09:00:04
<toffer> you need to link against the std. c++ rtl2009-09-03 09:00:22
<osman> it does not change used libraries. i mean dynamically loaded2009-09-03 09:00:26
 ldd hello same by using it or not using2009-09-03 09:00:48
<toffer> guess your gcc identifies the source via extensio and automatically adds it2009-09-03 09:01:12
 mine doesn`t2009-09-03 09:01:16
<osman> dunno2009-09-03 09:01:39
 it must 4.1 or 4.2 dunno exactly2009-09-03 09:01:59
 *must be2009-09-03 09:02:04
<toffer> tmp/ccwsEasl.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status2009-09-03 09:02:05
<osman> ?2009-09-03 09:02:19
<toffer> it's not just about the version2009-09-03 09:02:20
 often distros apply their own patches2009-09-03 09:02:31
 did you compile it as .c or .cpp2009-09-03 09:02:48
<osman> i've downloaded from synaptic - it's own package manager2009-09-03 09:02:53
 cpp2009-09-03 09:02:59
<toffer> did you compile using gcc or g++2009-09-03 09:03:13
<osman> g++ test.cpp -o test2009-09-03 09:03:23
 exact command line2009-09-03 09:03:29
<toffer> well no wonder - g++ is a stub to gcc2009-09-03 09:03:52
 why don't you use apt-get, etc. 2009-09-03 09:04:20
<osman> i tried. but all repositories seems broken. i've added several one which i've found. at the end became more problematic. then i've tried to upgrade whole system. and i did it until now. then tried to install g++ from synaptic. it worked now2009-09-03 09:05:46
 synaptic exactly does same thing apt-get etc2009-09-03 09:06:31
 just with clicks ;)2009-09-03 09:06:44
 ~641 mib or more package downloaded for upgrading ;)2009-09-03 09:07:19
<toffer> i guess synaptic just uses it anyway2009-09-03 09:07:42
<osman> at a point, it even can't build dependency tree and at a time even cache completely broken %)2009-09-03 09:08:28
 so, upgrade were really needed2009-09-03 09:08:38
<toffer> how are you going to use your crc ?2009-09-03 09:08:45
<osman> i guess he uses xor basic property :)2009-09-03 09:09:03
 a xor b = c -> c xor b = a :)2009-09-03 09:09:18
<toffer> i don't know what you did there to break that2009-09-03 09:09:20
 i meant how to apply2009-09-03 09:09:33
<osman> dunno really :) but now works. so no wonder :)2009-09-03 09:09:46
 @shelwien you initialize as incr[i] = crc32[i] ^ i; ?2009-09-03 09:10:34
 then update (crc32[c] ^ incr[c]) ^ c2009-09-03 09:11:38
 err...2009-09-03 09:11:44
 (crc32[oldC] ^ incr[oldC]) ^ c or whatever like that2009-09-03 09:12:05
<Shelwien> kinda, not its a little more complicted ;)2009-09-03 09:12:07
 *complicated2009-09-03 09:13:20
<toffer> anything else that happened today?2009-09-03 09:58:33
<Shelwien> a lot, but nothing technical, i guess ;)2009-09-03 09:59:20
<toffer> ^^2009-09-03 10:01:34
*** Simon|B2 has joined the channel2009-09-03 10:27:25
<Shelwien> btw, as to how to apply2009-09-03 12:01:27
 i written whole backup2.txt about that ;)2009-09-03 12:01:49
 to implement things like rep or rsync2009-09-03 12:02:52
 sliding hashes are necessary2009-09-03 12:03:00
 and crc32 is much more random than usual sliding hashes2009-09-03 12:03:48
 http://en.wikipedia.org/wiki/Rolling_hash2009-09-03 12:05:47
 but i don't see a sliding crc32 implementation anywhere2009-09-03 12:08:46
 so it should be cool ;)2009-09-03 12:08:49
<osman> crc is cyclic polinom, righT?2009-09-03 13:28:27
<toffer> it's the reminder of a polynom division afaik2009-09-03 13:40:35
*** Shelwien has left the channel2009-09-03 14:30:32
*** pinc has left the channel2009-09-03 16:09:07
*** Simon|B2 has left the channel2009-09-03 16:41:56
<osman> @toffer: for linux environment, do you use codeblocks?2009-09-03 17:22:40
<toffer> i use codeblocks everywhere - since it's portable2009-09-03 17:47:02
<osman> ok. thanks2009-09-03 17:49:04
*** toffer has left the channel2009-09-03 17:50:28
*** pinc has joined the channel2009-09-03 17:54:25
*** Shelwien has joined the channel2009-09-03 19:09:43
*** toffer has joined the channel2009-09-03 19:41:00
<toffer> hi again2009-09-03 19:41:06
<Skymmer> Hi!2009-09-03 19:41:24
 I'm finished2009-09-03 19:41:32
 About 52 hours and 283 iters :)2009-09-03 19:41:56
 Wait a minute. I'll upload results.2009-09-03 19:42:20
 http://skymmer.narod.ru/misc/e8_m1_04-1_skymmer.7z2009-09-03 19:45:13
<toffer> looks like further tuning isn't worth it (i mean retuning on e8)2009-09-03 19:48:04
 it's just 0.02%2009-09-03 19:48:11
 for earlier versions it was more significant2009-09-03 19:48:28
 thanks for testing2009-09-03 19:48:36
<Skymmer> You're welcome :)2009-09-03 19:49:19
 Hope it will help2009-09-03 19:49:45
<toffer> yep2009-09-03 19:54:42
 do you have any further suggestions regarding the interface?2009-09-03 19:58:07
<Skymmer> Well, maybe percentage progress indicator if its possible. And to change result message from: 2474952/10000000 to: compressed 10000000 to 24749522009-09-03 20:02:45
*** Skymmer has left the channel2009-09-03 20:08:27
<toffer> i discarded that2009-09-03 20:11:15
 since it breaks streaming2009-09-03 20:11:23
*** Skymmer has joined the channel2009-09-03 20:11:32
<Skymmer> You meant progress indicator?2009-09-03 20:12:47
<toffer> yep2009-09-03 20:12:55
<Skymmer> ok.2009-09-03 20:13:08
<toffer> you need to determine file size first2009-09-03 20:13:13
<Skymmer> But I think its possible to implement standalone streaming mode with notice that progress indicator will not be available in it. Well, just suggestion :)2009-09-03 20:14:48
<toffer> anything else?2009-09-03 20:21:34
<Skymmer> Probably no. I'm not hardcore M1 user after all.2009-09-03 20:22:13
<toffer> i guess nobody is that :)2009-09-03 20:22:35
<Skymmer> Oh wait...2009-09-03 20:23:06
 Do you plan to include a lot of presets into release? I suggest that at least one preset will be internal. I mean built in EXE file so we can have a little bit simplier command line when plugging M1 into FreeARC for example. Thought its not so important :)2009-09-03 20:25:01
 Like M1 c input output2009-09-03 20:25:27
<toffer> ok, that's a good idea2009-09-03 20:25:35
 but it's strength still is specialisation2009-09-03 20:25:56
<Skymmer> Sure.2009-09-03 20:26:07
<toffer> e.g. with the specialisation i gained something like 700kb on sfc: from ~12 -> 11.3 mb2009-09-03 20:26:27
 i think i gonna add the standard enwik profile2009-09-03 20:27:09
*** Simon|B2 has joined the channel2009-09-03 21:30:02
*** toffer has left the channel2009-09-03 21:59:10
*** Skymmer has left the channel2009-09-03 22:02:05
*** Simon|B2 has left the channel2009-09-03 22:12:26
*** pinc has left the channel2009-09-03 22:49:28
*** Skymmer has joined the channel2009-09-03 23:21:30
*** Skymmer has left the channel2009-09-03 23:24:10
*** Skymmer has joined the channel2009-09-04 00:47:50
*** Skymmer has left the channel2009-09-04 00:48:03