00:00:33 -!- copumpkin has joined. 00:01:28 -!- shikhin has quit (Ping timeout: 255 seconds). 00:09:52 -!- Lymia has quit (Ping timeout: 244 seconds). 00:19:29 Do Apple laptops ever break down the way this laptop is breaking down? 00:19:45 Whenever I move the screen, there's a chance of a bunch of stuff getting tinted blue 00:19:51 Is this something I can fix? 00:20:37 It seems to be particular colors 00:31:13 -!- not^v has joined. 00:33:07 -!- shachaf has joined. 00:56:26 -!- Lymia has joined. 01:02:35 http://www.snopes.com/college/homework/foundcar.asp 01:02:38 I've read that book! 01:03:08 I don't know what printing it was 01:03:09 :( 01:05:06 Apparently the author is a felon 01:08:21 you've read Rapid Interpretation of EKGs? 01:08:36 -!- not^v has quit (Ping timeout: 265 seconds). 01:08:58 Yes 01:11:02 are you like, into electrocardiology 01:12:32 My dad's a doctor. The book was lying around 01:12:37 This was when I was a kid 01:12:49 -!- zzo38 has joined. 01:20:32 . o O ( I guess it has been a while since http://www.schlockmercenary.com/2014-06-15 so a reminder was in order. http://www.schlockmercenary.com/2014-10-30 ) 01:22:48 -!- shikhout has quit (Ping timeout: 250 seconds). 01:29:05 -!- Phantom_Hoover has joined. 01:29:05 -!- Phantom_Hoover has quit (Changing host). 01:29:05 -!- Phantom_Hoover has joined. 01:33:16 -!- Lymia has quit (Ping timeout: 255 seconds). 01:46:39 -!- copumpkin has quit (Ping timeout: 256 seconds). 01:50:01 -!- not^v has joined. 02:11:28 But if they're in a ring around the planet, how could they *all* pplint to one spot? 02:11:31 *point 02:11:56 spot could be somewhere off the planet 02:12:03 It's have to be one of the poles, and then it'd be at an odd angle. 02:12:19 Oh, true. 02:16:04 MDude: I think half of them would be enough. 02:16:32 It would, but still. 02:17:07 -!- not^v has quit (Ping timeout: 272 seconds). 02:17:23 This is Schlock talking. Schlock is not known for impeccable logic. He's known for his love of big guns, and being near indestructible. 02:22:20 That's fair enough. 02:24:01 hey how about this excuse ... 02:24:46 The planet could be considered one spot, if "spot" is takes as peing sufficiently imprecise/on large enough of a scale? 02:24:58 those mirrors could just change their orbit slightly until they're all in sight of the target? 02:25:25 of course that would produce a ring with a gap 02:25:39 They should all just reflect it back to where it came. BURN THE SUN. 02:25:43 but that's a small sacrifice when logic is at stake ;-) 02:26:18 They could form a smaller, thicker ring on one side of a planet. 02:27:05 I was looking for a solution that does not require a lot of energy per mirror (to maintain its orbit). 02:27:49 rather I was looking for something that current Earth satellites might be capable of doing. 02:28:45 ooh, logic. http://thedevilspanties.com/archives/10247 ... looks painful. 02:31:57 -!- hjulle has joined. 02:32:12 -!- hjulle has quit (Remote host closed the connection). 02:41:44 -!- Lymia has joined. 02:42:00 I took a look at Maptools to see if I could bypass GM protections and stuff 02:42:18 I ended up with a proof of concept for arbitary file write on servers with no authentication needd. 02:42:20 needed* 02:43:23 "servers" 02:44:30 They accept connections from clients 02:44:35 I feel safe calling them servers. 02:46:29 Never mind, Google enlightened me about the context. 02:47:03 Recommendations on languages to easily write bootstrapping compilers in? 02:47:37 Lymia: How about "The best part is all this isn't limited to a single PC. You can utilize the integrated server function to let your players maintain your server, [...]" 02:52:17 -!- copumpkin has joined. 03:19:11 -!- contrapumpkin has joined. 03:20:56 -!- vanila has quit (Quit: Leaving). 03:22:10 -!- copumpkin has quit (Ping timeout: 255 seconds). 03:25:09 -!- contrapumpkin has changed nick to copumpkin. 03:28:04 -!- copumpkin has quit (Read error: Connection reset by peer). 03:29:48 -!- copumpkin has joined. 03:35:22 -!- copumpkin has quit (Ping timeout: 240 seconds). 03:41:08 -!- copumpkin has joined. 03:49:25 -!- oerjan has joined. 03:51:10 -!- Samhain has changed nick to centrinia. 03:58:18 Now I bought some new Akagi book, as well as a Famicom. I don't know how to connect it up to the TV set, yet. 04:00:09 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 04:04:37 The March 2016 cruise I wanted to go on was cancelled, I think 04:21:52 -!- MDude has changed nick to MDream. 04:52:54 -!- copumpkin has joined. 04:56:39 -!- not^v has joined. 05:01:47 -!- not^v has quit (Ping timeout: 272 seconds). 06:54:46 -!- shikhin has joined. 07:04:10 -!- ais523 has joined. 07:16:35 -!- MoALTz has joined. 07:16:56 -!- shikhin has quit (Ping timeout: 244 seconds). 07:18:58 -!- ais523 has changed nick to ais523\unfoog. 07:22:17 -!- centrinia has quit (Ping timeout: 265 seconds). 07:41:18 -!- mihow has joined. 07:52:50 -!- centrinia has joined. 08:39:02 [wiki] [[Talk:FakeASM]] http://esolangs.org/w/index.php?diff=40742&oldid=40735 * Rdebath * (+493) /* Um Esoteric Language ? */ 08:49:44 "On the ship or ashore the speed and reliability of internet may not be optimal. Expect to encounter issues with uploading or downloading attachments, possible frequent outages, computer freezups, access to USB ports, etc." 08:53:19 -!- AnotherTest has joined. 08:53:28 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 09:16:46 -!- Froox has quit (Read error: Connection reset by peer). 09:24:49 -!- Phantom_Hoover has joined. 10:20:31 -!- oerjan has quit (Quit: leaving). 11:10:48 -!- hjulle has joined. 11:33:03 -!- MDream has changed nick to MDude. 11:38:08 new *nix OS for z80s. https://github.com/EtchedPixels/FUZIX cc: zzo38 11:45:53 -!- ais523 has joined. 11:49:41 -!- ais523\unfoog has quit (Ping timeout: 264 seconds). 11:51:22 -!- ais523 has changed nick to ais523\unfoog. 11:53:44 -!- centrinia has quit (Ping timeout: 250 seconds). 12:02:17 -!- MoALTz has quit (Quit: Leaving). 12:06:54 -!- ais523\unfoog has quit. 12:07:00 -!- ais523 has joined. 12:21:55 -!- AnotherTest has quit (Remote host closed the connection). 12:23:59 -!- ais523 has changed nick to ais523\unfoog. 12:25:24 -!- SignX has joined. 12:35:52 I am trying to implement a Brainfuck interpreter in my own programming language and I am a bit unsure whether the approach i am taking is going to lead anywhere. How do you implement a imperative programming language in a declarative one? 12:48:27 You could start with a simpler language, like deadfish. 12:50:13 -!- SignX has quit (Ping timeout: 246 seconds). 12:55:50 -!- SignX has joined. 12:58:45 Jager: I was under the impression brainfuck already was a simple language. But you think deadfish is a better choice? 12:59:05 Jager = Jafet 13:02:49 deadfish is even simpler 13:02:52 mainly because no loops . 13:06:08 Aha, thx. I have to go. Bye! 13:06:10 -!- SignX has quit (Quit: Page closed). 13:07:47 -!- qlkzy has quit (Excess Flood). 13:10:12 -!- qlkzy has joined. 13:22:51 -!- ais523\unfoog has quit. 13:28:49 state monads 13:36:54 identity monads 13:46:26 ( the (Monad id) %instance 13:46:26 constructor of Prelude.Monad.Monad (\{meth0} => \{meth1} => \{meth2} => \{meth3} => meth meth) : Monad id 13:55:48 A meth lab 14:09:34 -!- Frooxius has joined. 15:34:11 -!- ais523 has joined. 15:54:32 -!- blsqbot has quit (Quit: Exiting). 15:55:28 -!- blsqbot has joined. 15:55:30 !blsq {1 2 3}iT 15:55:30 {{} {1} {1 2} {1 2 3}} 15:55:39 !blsq 10roq++pa 15:55:39 {1 3 6 10 15 21 28 36 45 55} 15:56:15 fizzie: Even with a partial builtin you don't beat 12B ;) 15:56:42 (you would with a partial sum builtin though) 15:56:52 (pa is the partial command) 15:56:59 !blsq 10roqpdpa 15:56:59 {1 2 6 24 120 720 5040 40320 362880 3628800} 15:58:12 !blsq 10roq<-pa 15:58:12 {{1} {2 1} {3 2 1} {4 3 2 1} {5 4 3 2 1} {6 5 4 3 2 1} {7 6 5 4 3 2 1} {8 7 6 5 15:58:51 !blsq 10roiT 15:58:52 {{} {1} {1 2} {1 2 3} {1 2 3 4} {1 2 3 4 5} {1 2 3 4 5 6} {1 2 3 4 5 6 7} {1 2 3 15:58:55 !blsq 10roiT)++ 15:58:55 {0 1 3 6 10 15 21 28 36 45 55} 16:00:33 -!- blsqbot has quit (Read error: Connection reset by peer). 16:01:31 ( the (StateT Integer id ()) $ do put (!get + 1) 16:01:31 ST (\st => ((), prim__addBigInt st 1)) : StateT Integer id () 16:02:03 ( runState (the (StateT Integer id ()) $ do put (!get + 1)) 2 16:02:03 No such variable runState 16:02:09 ( runStateT (the (StateT Integer id ()) $ do put (!get + 1)) 2 16:02:10 ((), 3) : ((), Integer) 16:02:59 Best identity monad: actually id. 16:07:51 -!- blsqbot has joined. 16:07:52 !blsq "abc"iR 16:07:52 {"abc" "bca" "cab"} 16:07:56 !blsq "abcd"iR 16:07:56 {"abcd" "bcda" "cdab" "dabc"} 16:08:20 !blsq "abcd"iRq_+pa 16:08:20 {{"abcd"} ERROR: Burlesque: (_+) Invalid arguments! {"abcd" "bcda"} ERROR: Burle 16:08:31 !blsq "abcd"iR{)\[}pa 16:08:31 {{ERROR: Burlesque: (\[) Invalid arguments! "abcd"} {ERROR: Burlesque: (\[) Inva 16:08:40 !blsq "abcd"iR{\[}pa 16:08:40 {"abcd" "abcdbcda" "abcdbcdacdab" "abcdbcdacdabdabc"} 16:08:55 !blsq "world"iRq\[pa 16:08:55 {"world" "worldorldw" "worldorldwrldwo" "worldorldwrldwoldwor" "worldorldwrldwol 16:09:06 !blsq "abc"iRq\[pa 16:09:07 {"abc" "abcbca" "abcbcacab"} 16:10:34 Work on Burlesque 1.7.4 has started :D 16:14:13 mroman: good 16:14:19 is that the one that will have variables? 16:18:25 hmm, Snowflake would make for an excellent golfing language 16:18:44 especially if the interpreter was persistent between runs (which it really should be) 16:31:16 -!- nys has joined. 16:46:32 -!- blsqbot has quit (Ping timeout: 260 seconds). 17:42:10 b_jonas: assumingly. 17:45:50 -!- adu has joined. 17:45:57 -!- blsqbot has joined. 17:45:59 !blsq 3ro)roqiRpa 17:45:59 {{{{1}}} {{{1} {1 2}} {{1 2} {1}}} {{{1} {1 2} {1 2 3}} {{1 2} {1 2 3} {1}} {{1 17:46:37 !blsq 2ro)roqiRpa 17:46:37 {{{{1}}} {{{1} {1 2}} {{1 2} {1}}}} 17:47:07 !blsq 10ro{roq++pa}pa 17:47:07 Ain't nobody got time fo' dat! 17:47:12 !blsq 5ro{roq++pa}pa 17:47:12 Ain't nobody got time fo' dat! 17:47:15 !blsq 2ro{roq++pa}pa 17:47:15 {1 {{1}} 1 {{1 2} {1 2 2 1}}} 17:47:19 !blsq 3ro{roq++pa}pa 17:47:19 {1 {{1}} 1 {{1 2} {1 2 2 1}} 1 {{1 2 3} {1 2 3 2 1 3} {1 2 3 2 1 3 3 2 1} {1 2 3 17:48:06 weird 17:48:08 !blsq 3ro{roq++pa}paL[ 17:48:08 6 17:48:11 !blsq 4ro{roq++pa}paL[ 17:48:11 8 17:48:14 !blsq 14ro{roq++pa}paL[ 17:48:14 28 17:58:15 um, what does pa do? 17:58:30 !blsq 3 1 4 1 5 9pa#s 17:58:30 {ERROR: Burlesque: (pa) Invalid arguments! 9 5 1 4 1 3} 17:58:41 !blsq 3 1 {4 1 5 9}pa#s 17:58:42 {ERROR: Burlesque: (pa) Invalid arguments! {4 1 5 9} 1 3} 17:58:54 !blsq 3 {1 4 1 5} 9pa#s 17:58:55 {ERROR: Burlesque: (pa) Invalid arguments! 9 {1 4 1 5} 3} 17:59:03 !blsq {3 1 4}{1 5 9}pa#s 17:59:03 {{{3} 1 5 9 {3 1} 1 5 9 {3 1 4} 1 5 9}} 18:08:09 -!- adu has left. 18:14:23 b_jonas: partial 18:14:26 like partial sums 18:14:30 !blsq 10ro{++}pa 18:14:30 {1 3 6 10 15 21 28 36 45 55} 18:14:37 or partial products 18:14:40 !blsq 10ro{pd}pa 18:14:40 {1 2 6 24 120 720 5040 40320 362880 3628800} 18:15:34 aha 18:16:22 If that's an O(n^2) thing, I'm slightly afraid of the time limits, compared to a regular scan[lr]1?-based partial thing. 18:25:03 It is an O(n^2) thing 18:25:15 but I'm implementing a version of it that works differently 18:25:36 (i.e. one that takes ?+) 18:25:43 and which will be more efficient 18:26:46 pa will be usably for commands that work on lists 18:26:55 and PA will be usable the other way 18:26:56 mroman: is this associating the direction that has to be O(n^2), or the direciton where it coudl be O(n)? 18:27:01 where you just collect intermediate results 18:27:29 pa just builds up tails 18:27:35 and maps the supplied block over it 18:27:36 so 18:27:39 !blsq 10roiT 18:27:39 {{} {1} {1 2} {1 2 3} {1 2 3 4} {1 2 3 4 5} {1 2 3 4 5 6} {1 2 3 4 5 6 7} {1 2 3 18:27:43 !blsq 10roiT)++ 18:27:43 {0 1 3 6 10 15 21 28 36 45 55} 18:27:49 that's what pa does 18:28:33 which is inefficient but there might be some weird use cases for it 18:28:41 !blsq {1 2 3}q<-pa 18:28:41 {{1} {2 1} {3 2 1}} 18:28:47 like that one or I don't know 18:29:16 > foldl (flip (:)) [] [1..3] -- hmm 18:29:18 [3,2,1] 18:29:24 > scanl (flip (:)) [] [1..3] 18:29:26 [[],[1],[2,1],[3,2,1]] 18:29:48 !blsq {1 2 3}q\[pa 18:29:48 {{1} {1 2} {1 2 3}} 18:29:56 !blsq "bar"q\[pa 18:29:56 ERROR: Burlesque: (pa) Invalid arguments! 18:30:02 !blsq "barfuss"q\[pa 18:30:02 ERROR: Burlesque: (pa) Invalid arguments! 18:30:04 hm 18:30:07 !blsq "barfuss"XXq\[pa 18:30:07 {"b" "ba" "bar" "barf" "barfu" "barfus" "barfuss"} 18:30:26 ah. yeah 18:30:29 !blsq {3 1 4 1 5}{bx[+}pa 18:30:29 {{{3}} ERROR: Burlesque: ([+) Invalid arguments! {{3 1}} ERROR: Burlesque: ([+) 18:30:33 gotta add a (BlsqStr x :) too 18:30:38 !blsq {3 1 4 1 5}{bx[+}PA 18:30:39 ERROR: Unknown command: (PA)! 18:30:46 !blsq {3 1 4 1 5}{{bx[+}r[}pa 18:30:46 {3 ERROR: Burlesque: ([+) Invalid arguments! ERROR: Burlesque: ([+) Invalid argu 18:30:47 that one is not implemented yet 18:30:51 !blsq {3 1 4 1 5}{{bx+]}r[}pa 18:30:51 {3 ERROR: Burlesque: (+]) Invalid arguments! ERROR: Burlesque: (+]) Invalid argu 18:30:59 !blsq {3 1 4 1 5}{im}pa 18:30:59 {3 31 314 3141 31415} 18:31:04 !blsq {3 1 4 1 5}{{bxj[+}r[}pa 18:31:04 {3 {1 3} {4 {1 3}} {1 {4 {1 3}}} {5 {1 {4 {1 3}}}}} 18:31:13 right, that 18:31:27 !blsq {3 1 4 1 5}{p^}pa 18:31:27 {3 1 3 4 1 3 1 4 1 3 5 1 4 1 3} 18:31:30 ^ that can be done in linear time, and 18:31:37 !blsq {3 1 4 1 5}{<-{bxj[+}r[}pa 18:31:37 {3 {3 1} {3 {1 4}} {3 {1 {4 1}}} {3 {1 {4 {1 5}}}}} 18:31:41 ^ that can't 18:32:32 C-x RET c <-- who's supposed to remember this?! 18:32:40 !blsq "barFUsS"XX{)<-}pa 18:32:41 {{'B} {'B 'A} {'B 'A 'R} {'B 'A 'R 'f} {'B 'A 'R 'f 'u} {'B 'A 'R 'f 'u 'S} {'B 18:32:49 !blsq "barFUsS"XX{)<-\[}pa 18:32:49 {"B" "BA" "BAR" "BARf" "BARfu" "BARfuS" "BARfuSs"} 18:33:51 > mapM words["big bare flat","foot"] 18:33:53 [["big","foot"],["bare","foot"],["flat","foot"]] 18:34:08 > concat<$>mapM words["big bare flat","foot"] 18:34:10 ["bigfoot","barefoot","flatfoot"] 18:34:54 > concat<$>words=<<["big bare flat","foot"] 18:34:56 "bigbareflatfoot" 18:46:58 . o O ( somehow, Make 24 is far more satisfying in Perl than in Haskell ) 18:52:29 int-e: well of course 18:52:38 almost any golf is 18:52:46 oh, you got it down to 181 18:52:46 nice 18:53:20 that's quite short 19:02:06 let's see how short it'll look in two weeks... 19:02:45 in this problem there are so many approaches that one could try 19:14:21 -!- vanila has joined. 19:14:22 Hi 19:15:22 hi 19:15:44 hi 19:17:09 I started an analyzer to see if prolog query is deterministic 19:17:21 should be able to compile them to haskell 19:17:28 type classes and instances 19:23:44 -!- shikhin has joined. 19:51:15 [wiki] [[Talk:FakeASM]] http://esolangs.org/w/index.php?diff=40743&oldid=40742 * Zzo38 * (+445) 19:56:23 -!- MoALTz has joined. 20:08:16 -!- AnotherTest has joined. 20:51:13 -!- boily has joined. 21:01:21 -!- boily has quit (Quit: QUID CHIC). 21:01:44 -!- boily has joined. 21:01:58 -!- boily has quit (Client Quit). 21:10:08 !blsq 1{2 3 4}{<-}e! 21:10:09 {4 3 2} 21:10:16 !blsq 1{2 3 4}{#<}e!#s 21:10:16 {1 {2 3 4}} 21:10:32 !blsq 1{2 3 4}{#<}st 21:10:32 ERROR: Burlesque: (st) Invalid arguments! 21:11:00 !blsq 1{2 3 4}{#<}rs 21:11:00 {4 3 2} 21:11:04 !blsq 1{2 3 4}{#<}rs#s 21:11:04 {{4 3 2} 1} 21:11:28 (rs is a form of eval that doesn't touch the current stack) 21:11:39 !blsq 1{2 3 4}{#<}e!#s 21:11:39 {1 {2 3 4}} 21:18:36 -!- blsqbot has quit (Ping timeout: 260 seconds). 21:34:00 -!- ais523 has changed nick to ais523\unfoog. 21:43:22 > 652*93 21:43:24 60636 21:43:31 > 653*92 21:43:32 60076 21:51:25 -!- ais523\unfoog has quit. 22:04:45 Is there a single-file simple LZMA2 compression and decompression library? 22:05:47 (Additionally, I require that it be cross-platform and free-software.) 22:17:21 -!- FreeFull has quit (Ping timeout: 265 seconds). 22:19:20 -!- FreeFull has joined. 22:19:34 -!- FreeFull has quit (Changing host). 22:19:34 -!- FreeFull has joined. 22:22:09 zzo38: I don't know any of those for lzma2, sorry (though you could try to put some existing source code to one file). do you need lzma2? would some other compression and decompression not do? 22:22:59 Well, LZMA would probably do too, it doesn't have to be LZMA2. 22:23:16 (The data I am trying to compress doesn't compress well with DEFLATE.) 22:23:51 zzo38: dunno, try to take the non-machine specific part of the compressor from xz or 7z and massage it to one file. 22:24:04 but that's probably not so easy 22:29:36 I also don't need filters like xz has, nor support for a file listing. I don't know what algorithm Bzip2 uses, but that seems to work well too. 22:31:13 could you use some domain-specific compression method, or domain-specific preprocessing? 22:31:33 what are you compressing? 22:32:19 I am compressing a "Z-Machine Archive", which contains a story file, capability set, metadata, and possibly also sounds and pictures. 22:32:58 zzo38: um, some of those might be different from the others. can you somehow separate it to sounds, pictures, and the rest, and see how each compresses, 22:33:25 then use sound and picture specific compression for those parts, and zip-like byte compression for the byte-oriented text stuff, possibly after some preprocessing? 22:35:06 Actually, all of the data is already somewhat compressed in different ways (text in story files is packed to 5-bits per character and also uses a simple dictionary coding scheme; YZIP picture libraries are compressed using Huffman, XOR, palettes, and stippling; XZIP picture libraries and sounds aren't compressed at all) 22:35:33 zzo38: yes, that's the problem. you might want to unpack the text so taht you can zip it after 22:35:50 like, if it's 5 bits per character, but zip is very 8-bit oriented, it's harder for it to compress 22:35:52 I could allow it to avoid compressing some parts if compressing them wouldn't help, and add a mode to the program to disable all compression, but other than that I want to just use a single compression algorithm. 22:36:05 b_jonas: I know that, although it isn't always predictable where the text even is in the file. 22:36:22 zzo38: yeah... that could be tricky. you may need some imperfect heuristics 22:36:35 as long as you compress losslessly, it shouldn't be a problem if you sometimes misidentify stuff 22:36:41 does the compression have to be fast? 22:36:55 Yes, that was a thought too. But since I found out that bzip2 works good enough, I thought that could be used. 22:37:26 b_jonas: No it doesn't have to be particularly fast (although it would be a good idea for the decompression not to be too slow) 22:37:28 if bzip2 works well, that might be easier to get a small implementation, but I think bzip2 is byte-oriented too (and png is too while we're there) 22:38:28 Yes, although I found that bzip2 does work. (Another thing about the Z-machine text packing: It is packed three 5-bit characters into two bytes; the remaining bit tells if it is finished or not.) 22:38:28 bzip2 is definitely byte oriented 22:39:16 oh that should be fine. then every repeated string comes in just two versions, essentially. 22:39:21 zzo38: oh, that's better! better than packing 8 characters in 5 bytes that is, because you have less synchronization problems 22:39:30 yep 22:39:34 int-e: no 22:39:40 oh 3. 22:39:45 it depends on where it is in the text 22:40:19 It might not be the best compression, but it does work reasonably well; DEFLATE doesn't work so well from my testing. 22:40:34 sounds fun 22:41:30 myname: abcdef can be packed as (abc)(def)(ghi), (..a)(bcd)(efg)(hi.), (.ab)(cde)(fgh)(i..); bwt will put the repeated center parts together and probably produce decent predictions (and thus compression) anyway. 22:42:02 (sorry, abcdefghi - I added another triplet as an afterthought)\ 22:42:50 but the point was that while having only 1 encoding would be ideal, having 3 is better than having 8. 22:43:03 zzo38: so how quickly do the text and other segments mix? can you try to pack each part normally and after expanding the text, and choose whichever compresses better? 22:44:21 b_jonas: I did think of that too, although the alignment is also unpredictable (sometimes on an even byte boundary, and sometimes odd). 22:44:33 ouch... 22:44:41 then try all three? 22:44:49 even text, odd text, bytes 22:44:52 -!- AnotherTest has quit (Ping timeout: 240 seconds). 22:44:57 zzo38: how does this work? does the z machine encode addresses that are then decoded and displayed as strings? 22:45:11 odd alignment... ewww 22:46:20 int-e: It depends on the situation. The PRINTI and PRINTR instructions are followed by text strings inline; PRINT and PRINTB point to other strings (PRINT always to even alignment, PRINTB to even or odd); an object header may point to a string representing the "short description" of an object, and the vocabulary also contains packed strings. 22:46:29 (I sort of expected the files to have a string table instead, with code providing indices into the table, a bit like java objects... but I never investigated) 22:46:34 ouch, that's worse.... 22:46:52 that means the thingies can change very quickly 22:47:05 and hard to find them 22:48:20 (Ok, PRINTI is more efficient than that; it saves the index.) 22:49:07 zzo38: Do you know whether games ever exploit common suffixes of strings, if the alignment allows it? 22:50:09 int-e: As far as I know no existing files do, but if I make my own, they would exploit a whole lot of stuff (I mentioned these things in a document called the Tricky Document). 22:53:40 zzo38: so how much is it possible to try to follow all the possible execution paths hoping all of them are actually possible, sort of like decompiling, and that way try to determine which parts of the image are text and stuff? 22:53:52 -!- idris-bot has quit (Ping timeout: 244 seconds). 22:54:41 b_jonas: That is probably very complicated. I am not intending to cause the best possible compression anyways though; I am just trying to make it to be reasonably good compression. 22:55:49 ok, so bzip2 then 22:57:53 zzo38: you could try to concatenate the seven source files from the bzip2 program, that isn't too many, there's only like seven source files, plus some headers 22:58:04 zzo38: you could try to remove the checksumming part, though that doesn't really add much 22:59:25 zzo38: or you could similarly try to catenate the lzma stuff from the 7z sources or something 22:59:28 The archiver program uses its own header formats and stuff, so, I want to use it in a library. And, yes I don't need checksumming and stuff; the uncompressed format it is known to figure out when the data is finished, so it will know when to stop. 23:00:08 I will look to see how the bzip2 codes are working so that I can learn that. 23:09:10 ooh, strange choice, rng! two wands of polymorph in a chest in a starting room. 23:11:59 i like playing as a dragon, it makes things so convinient 23:12:15 lay some eggs, hatch them, eat babys 23:12:25 but... no hands 23:12:25 never be hungry again 23:14:22 -!- impomatic_ has joined. 23:16:12 what a crazy mines level layout 23:17:02 well, this was a quick deat 23:17:11 magic trap in mines 23:18:24 oh, wrong channel 23:21:19 -!- Sprocklem has joined. 23:24:08 -!- vyv_ has joined. 23:24:09 -!- vyv has quit (Ping timeout: 260 seconds). 23:34:30 b_jonas: what game? 23:34:41 Oh, NetHack I assume 23:34:44 yes 23:45:50 -!- FreeFull has quit (Ping timeout: 244 seconds). 23:46:39 -!- FreeFull has joined.