[04:27] think LZW would be better than a sorta specialized deflate for small files (no more than a couple KB) with probably very limited character sets? [04:28] by specialized i just mean with smaller back references [04:54] you could just reduce the size of backreference in deflate [04:54] althought it the character set is very limited, plain entropy coding should be good enough [04:56] it'll probably be more limited than English text [04:56] in common use [04:56] i wrote some huffman stuff but i'm losing out on repeating data so i decided to add backreferences too [04:57] which basically gives me deflate, but yeah, i was going to reduce the backreference size for a few bits gain [04:57] dunno what entropy coding is, i'll look it up [04:57] =huffman & pals [04:57] oh, right [04:57] well, there's a high likelihood of gain from compressing redundant data too [04:57] so i figure backreferencing is worth my time [04:58] on the other hand, LZW doesn't have to include the huffman tree data [05:00] (basically i'm trying to get ascii art down to 512 bytes while encoding it at a 272% loss) [05:00] well, i guess it'd be more like 450ish bytes max.. irc single message length [05:01] multiple lines won't be a problem, but i think i can still gain a lot [05:01] thing is, the files can contain, say, mirc color codes (up to 6 bytes) or utf-8 (2-4 bytes) [05:01] currently my huffman algo has native utf-8 support so those 2-4 bytes are only one symbol in the tree [05:01] maybe i ought to just do the same for color codes and call it good [05:02] except certain kinds of ascii art can have a lot of repeating/redundant text too [05:02] hmm... RLE maybe [05:03] reading colors as a single symbol, and rle... maybe those two combined would do me as much good as the more generic back referencing [05:03] hmm [05:03] i guess the only case where it wouldn't is sequences where the repetition involves more than one character [05:03] but, for example, spacing to line things up can be condensed well [05:03] or "solid" images made up with say, the unicode shading blocks [05:03] maybe you could combine color and letter as a symbol in a library [05:04] then treat them like LZW-data [05:04] i was thinking i could treat a color code as a single symbol just like i do with utf-8 stuff [05:04] since there may be a handful of them but mostly they will repeat, if they exist at all [05:04] but if i include the following letter, there will be less repetition [05:05] Would it be considered cheating to start the dictionary / sliding window with a few common groups of symbols, e.g. the colour codes. [05:05] (and more entries in the huffman tree) [05:05] impomatic: i guess not, stupid of me not to think of that [05:05] i had been looking at it from the perspective of self contained [05:05] since there'll be few symbols likely, but they aren't likely to be the "same" symbols [05:05] as other times, so a prefab dictionary doesn't help much [05:05] but i didn't think about it for colors [05:06] and it'd only take 1 bit to say, "use colors" or "don't use colors" [05:06] but i guess on the other hand, they'd have to be put in the tree anyway [05:06] since i'm currently working with deflate, i don't see really how i can include that partial information [05:07] in a way that gains me anything [05:07] (though i think i guess you mean to start the stream with a prefab sequence which you can back reference to?) [05:07] have a small prerun before -- yes, what you wrote [05:07] that'd gain maybe 1 code's worth of data for each unique code [05:08] might be worth it [05:08] but that implies backreference support anyway, so i may as well do it [05:08] btw the 272% thing [05:08] i wrote an encoder to take binary data and represent it as mirc control codes [05:08] ;) [05:09] i can fit 35 bits in 12 bytes [05:09] which is an improvement from my initial 14 bits in 6 bytes [05:09] which itself was an improvement on something i did a long time ago :P [05:09] so i was happy with that [05:10] bumping the encoder to 272% saved me 400 bytes off mirclogo.txt (2336 bytes uncompressed) [05:11] i guess the ultimate would be color codes as single symbols and backreferencing too, i was just trying to cut out the amount of work i did :P [05:11] * myndzi goes to play around some [05:11] was thinking of writing a compression-program in C too recently.. [05:19] Writing fake compression programs used to be popular. They'd create a fake archive for show and hide the real files somewhere. [05:25] already wrote myself into a corner lol [05:25] i didn't do a good job of providing support for huffman symbols that aren't bytes [05:25] utf-8 was slightly a hack, but mirc color codes are worse [05:27] plus mirc script isn't really conducive to bit streams [05:30] oho! private use unicode ranges [05:30] i can make color codes utf-8 too [05:30] :> [08:34] MSG: Ping timeout: 240 seconds [08:44] Join: myndzi joined #corewars [08:51] Join: fiveop joined #corewars [15:33] Join: Fizmo joined #corewars [15:33] hi hi [15:34] ih ih [15:37] Wow, Terry was here yesterday [15:41] Hi Fizmo [15:41] Hi John [17:06] Has anyone here any experience with DMCA? [17:12] Da Millenium Conservative Act? no. [17:14] Digital Millenium Copyright Act. It can be used to get web hosts to take down any copyright material their customers are hosting. [17:14] (yes, i know what it is..) [17:16] Ah okay, I thought there was something with the same acronym [17:17] but the DMC is actually just valid in USA, isn't it? [17:18] at least what I read from what happened in Sweden [17:18] a number of European isp's follow it when they feel like [17:19] "oh, viruses spread from our systems? not anymore!" "a few music-files in a homepagespace? get outta here" [17:20] I want to issue a DMCA notice to a site in the USA, just wondered if anyone has looked into it before [17:27] MSG: Read error: Connection reset by peer [17:30] 19:20:28 < Fizmo> but the DMC is actually just valid in USA, isn't it? [17:31] since it's a us law ... that is obviously true [17:35] btw, do somebody know how I can write into and save a txt-file by using a web-browser only? [17:39] Join: X-Scale2 joined #corewars [17:40] you usually can't [17:41] :-( [17:42] MSG: Ping timeout: 240 seconds [17:42] it is possible if you like screaming security holes in your system [17:44] Fizmo: you mean automatically sing Javascript or something? [17:45] guess you could use a cookie in a pinch [17:45] well, I would like to use the browser as a GUI for my evolver, as it is quite painful to program my own window for that [17:46] use perl or php [17:47] but then everybody who want use the evolver must first install that [17:47] you are asking kinda much [17:48] maybe you could use .hta -files [17:49] i dont have an example of one right here, but freelancer (game) had problems with adding servers from commandline, so developers bundled a .hta which built a correct commandline and allowed to start the game [17:50] How about a cookie? You can manipulate it from the browser and it shouldn't be too hard to read it in Freebasic [17:50] good idea [17:51] you forgot, for a webpage to be served, there has to be a server somewhere [17:51] hmm [17:51] seems I have to write my own GUI [19:14] MSG: Ping timeout: 240 seconds [19:27] Join: nescience joined #corewars [19:49] MSG: Ping timeout: 240 seconds [19:51] MSG: Quit: ChatZilla 0.9.84 [Firefox 3.0.9/2009040821] [20:02] Join: nescience joined #corewars [20:14] MSG: Ping timeout: 240 seconds [21:08] Join: nescience joined #corewars [21:34] MSG: Quit: humhum