00:00:11 `relcome grabiel 00:00:33 ​grabiel: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:00:34 . o O ( there should be a way to make my IRC client autocomplete `relcomes or something... ) 00:01:43 -!- grabiel has left. 00:03:03 http://www.emojicode.org/ 00:03:17 oh, well. yet another emoji craze 00:03:35 Yurumello. have I ever seen you before? 00:03:50 I am an alter ego of lifthrasiir 00:03:57 oooooh tdh 00:04:13 -!- augur has joined. 00:04:49 just to say. 00:05:55 boily: tdh didn't help htdh 00:06:08 `? htdh 00:06:09 HtDH is a classic text on How to Design Hotdogs or possibly Hogprams. It is all about functional condiments, and was co-authored by Herence Tao and Don Ho. 00:06:19 boily: that was a canaima, you should have used `bienvenido hth 00:06:40 `culprits wisdom/htdh 00:06:43 oerjan oerjan elliott Bike FreeFull cpressey cpressey cpressey 00:06:46 oerjan: what should a variant of culprits that looks in wisdom/ be called 00:06:48 oerjan: tdht. 00:09:41 -!- augur has quit (Remote host closed the connection). 00:10:24 shachaf: pundits hth 00:10:52 @wn pundit 00:10:53 *** "pundit" wn "WordNet (r) 3.0 (2006)" 00:10:54 pundit 00:10:54 n 1: someone who has been admitted to membership in a scholarly 00:10:54 field [syn: {initiate}, {learned person}, {pundit}, 00:10:54 {savant}] 00:11:06 * boily mapoles oerjan (0.5 shachafs) 00:11:39 `? boily 00:11:41 ​"Only sane man" boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 00:11:43 zzo38: I found a game called TIS-100 on steam and recently bought it 00:11:49 boily: the "pun" at the beginning wasn't the deciding factor hth 00:12:03 oerjan: and yet you punned it anyway 00:12:13 it was half a funpuns, so 0.5 shachafs. 00:12:13 <\oren\> @metar cyyz 00:12:14 CYYZ 040000Z 08006KT 15SM FEW050 BKN160 M05/M10 A3015 RMK SC2AC5 SLP222 00:12:15 zzo38: It's an ASM programming game for a massively-parallel architecture called the TIS-100 (Tessellated Intelligence System) 00:12:29 he\\oren\. did you get blizzarded? 00:12:33 @@ @@ (@where weather) cyyz 00:12:36 CYYZ 040000Z 08006KT 15SM FEW050 BKN160 M05/M10 A3015 RMK SC2AC5 SLP222 00:12:38 <\oren\> a little 00:12:39 much better 00:13:03 <\oren\> um wtf is @@ @@ supposed to do 00:13:39 <\oren\> stupid haskull line noise 00:14:01 the rube goldberg weather forecast 00:15:08 @help @ 00:15:08 @@ [args]. 00:15:08 @@ executes plugin invocations in its arguments, parentheses can be used. 00:15:08 The commands are right associative. 00:15:08 For example: @@ @pl @undo code 00:15:08 is the same as: @@ (@pl (@undo code)) 00:16:07 hm is @@ a kind of join 00:16:21 \oren\: it's not haskell syntax hth 00:16:45 haskell more like has kool 00:16:51 gains kool until end of turn 00:18:34 shachaf: extra points for using the original hindi पण्डित hth 00:28:14 -!- lambda-11235 has joined. 00:32:46 We should make an ASM programming game... 00:32:58 One that makes grown men cry, of course 00:33:27 We had a TIS-100cussion on the channel at least once. 00:34:01 I liked it. 00:34:23 (The game, not the discussion.) 00:34:35 fizzie: Yep 00:36:25 It might not quite count as massively parallel, wasn't it at most something like 3x4 nodes? 00:38:11 -!- tromp has joined. 00:39:12 fizzie: That's a single segment 00:39:22 -!- Alejandro15 has joined. 00:39:27 fizzie: In theory, it actually has thousands upon thousands of nodes 00:39:38 `relcome Alejandro15 00:39:39 ? 00:39:40 ​Alejandro15: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:40:08 Oh, I didn't parse the backstory like that at all, but I guess that's likely true, since it's always different nodes that are broken. 00:40:24 fizzie: Yep, I was going to say that, but the message changed xD 00:40:42 fizzie: What's the high-level equivalent of massively parallel? 00:40:55 Alejandro15: ¿habla usted español? 00:42:33 fizzie: I imagine in high-level massively parallel computing, you can create new ports at runtime 00:43:00 -!- Alejandro15 has quit (Quit: Leaving.). 00:43:01 massively parallel computing is a bitch. but at least there's MPI. I love MPI. 00:43:21 oerjan: see, I asked something in Spanish and he didn't even answer! 00:43:25 boily: MPI? 00:43:41 https://en.wikipedia.org/wiki/Message_Passing_Interface 00:44:01 boily: How is MPC a bitch? 00:44:08 What did MPC ever do to you? 00:44:13 Were- were you dating? 00:44:14 MPI: simple, easy to grok, useful, documented to hell and back, and pragmatic. 00:44:19 ha ha ha :D 00:44:43 no, I did some research stuff with heavily parallelized SVMs a few years ago. 00:44:49 * hppavilion[1] awaits a joke about how MPI was in bed- something about practically being in two places at once or something 00:45:03 I don't joke, I am sane. 00:45:10 (well, I don't joke that much.) 00:45:10 boily: i think cantv.net also implies canaima hth 00:45:13 (ok, reasonably.) 00:45:23 oerjan: why I Spanished. 00:46:55 "Compañia Anónima Nacional Teléfonos de Venezuela" 00:47:10 fizzie: It's also interesting that the pattern of broken nodes is consistently the ones that you might want to use 00:48:35 next Venezuelan to join the chännel, everybody should switch to Spanish. maybe we'll catch one! 00:49:45 ok, canaima and cantv are not quite the same thing, but connected. 00:51:18 -!- lynn has quit (Ping timeout: 246 seconds). 00:51:32 -!- tromp has quit (Remote host closed the connection). 00:52:24 I don't joke, I am sane. <-- * now imagining a batman villain saying that... 00:53:57 it probably doesn't end well for em. 00:56:30 fizzie: What would be a good architecture for an ASM game? 00:56:39 Phantom_Hoover, I found out today that one of the people I play D&D with is on the York submarine jousting team 00:59:08 Taneb: are you trying to keep this up until actual submarines are jousted twh 00:59:23 or at least models 00:59:44 oerjan, I started it because I forgot what the sport was called 01:00:00 Keeping it up because somehow "submarine jousting" sounds less silly than the truth 01:02:28 -!- Elronnd has changed nick to ProzacElf. 01:05:56 Taneb, did you mention that his team are bastards 01:06:18 fizzie: YOu didn't like the discussion? 01:08:38 -!- ProzacElf has changed nick to Elronnd. 01:08:57 Phantom_Hoover, I didn't feel it polite 01:09:03 He did comment that your team were very good 01:10:29 oerjan: No, Taneb means jousting underwater- it's sub-marine jousting 01:10:39 hppavilion[1]: If you mean real architectures (games for some reason tend to prefer made-up ones), for some reason my first thought would be the Z80. 01:10:57 fizzie: Architecture in the abstract I mean 01:11:10 fizzie: Not a specific architecture; a general architecture paradigm 01:11:47 Oh. I'd just do something that actually exists. I'm not sure how that would turn out to be a "game", though. 01:12:44 fizzie: I think the point of those games is that the creators enjoy making the architecture 01:14:01 The DCPU-16 had really silly operand encodings. 01:15:26 Taneb, this is of course true, was he on their A or B team though 01:15:32 (we never played the A team) 01:15:34 hppavilion[1]: shut up and don't crush my dreams 01:16:15 fizzie: Oooh, perhaps the arch for this game could use those negative-level MOVs? 01:16:29 -!- 7YUAAGGC0 has joined. 01:16:58 Phantom_Hoover, I don't know, although he certainly didn't deny it when I asked if he'd played Warwick recently 01:19:28 york A were good last time we played them, they just ended up in a tough group this year 01:19:46 they certainly know how to organise a tournament 01:20:28 There's always the time-honoured thing of taking some feature that actually exists (say, pipelines with delay slots) and just going overboard with it. 01:22:23 Anyway, I'm going to bed now 01:22:24 Goodnigh 01:22:29 bonne tanuitb! 01:25:27 `wisdom 01:25:30 alg. ii/Algae II, the successor class to Algae I. Discusses hydroponics and such. 01:26:29 `` sed -i 'sa\aeaæa' wisdom/alg* 01:26:33 No output. 01:27:16 wat 01:27:28 `` ls wisdom/alg* 01:27:29 wisdom/algebraic number theory \ wisdom/alg. ii \ wisdom/algol \ wisdom/algorithm 01:27:43 `` grep æ wisdom/alg* 01:27:45 wisdom/alg. ii:Algæ II, the successor class to Algae I. Discusses hydroponics and such. 01:28:10 boily: *cough* 01:28:13 oh. 01:28:15 hm. 01:28:17 eh. 01:28:19 uuuuh. 01:28:21 `revert 01:28:29 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 01:28:39 * boily whistles 01:34:35 fizzie: One of the interesting things we can do with ASM games is have features that are nigh-impossible on real computers 01:34:38 e.g. register sets 01:43:21 register sets? 01:48:15 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:53:15 -!- lleu has quit (Quit: That's what she said). 02:05:37 mad: Registers that can include multiple values 02:05:44 mad: I suppose it's a bit quantum, actually 02:05:54 But without the probabilisticness 02:07:05 does it have entanglement between multiple registers? 02:09:15 dang this cpu design idea I'm trying to develop is so hard to get anywhere 02:10:43 (the thing where you have an accumulator and chains of related operations are issued together on an execution unit and run sequentially on the accumulator) 02:13:44 I'm trying to find a compromise between too much dynamic scheduling (the problem on out-of-order RISCs) and too much static scheduling (the problem on VLIWs) 02:16:15 and the complexity spirals out of control 02:19:21 'night all! 02:19:40 -!- boily has quit (Quit: BRANCHING CHICKEN). 02:22:59 yet it's close enough to a solution that I get all obsessed 02:25:24 1 instruction is something like 02:25:33 : 02:27:26 4 renames - one for each regfile partition (partition 0 is r0,r4,r8,r12,r16,r20,r24,r28, partition 1 is r1,5,9,13,17,21,25,29, partition 2 is r2,6,10,14,18,22,26,30, partition 3 is r3,7,11,15,19,23,27,31). each of the 4 renames can also be replaced by a nop. 02:29:03 8 writebacks. each writeback must use one of the 4 renames. also, you have a flag to indicate the last writeback for each of the 4 regfile partitions (the one that gets written to the regfile for real) 02:33:31 8 microthreads. each microthread contains a block of instructions that gets assigned to one execution unit and executed sequentially. each instruction is in the form of [alu op][reg x][reg y/immediate], with the result written to the accumulator and optionally written to a regfile register(corresponding to one of the 8 writebacks). each register operand can be either one of the 32 permanent register, the accumulator, or one of the 8 writebac 02:34:44 -!- oerjan has quit (Quit: Nite). 02:35:47 4 or 8 memory operations(not sure of the limit to set yet) (either loads or stores or nops). the order of memory operations is preserved even though the microthread execution is fully reordered. 02:36:28 offset to the next instruction (probably with some forced alignment - maybe 16bytes) 02:37:34 the idea of the whole thing is that it can be issued in 1 cycle 02:37:38 at least in theory 02:39:41 the register renamer grabs 8 free physical registers, changes up to 4 physical register assignments to architectural registers 02:40:31 mad: I'm trying to come up with interesting designs for CPUs, implementable or not, if you're curious. 02:40:40 No, no entanglement; I guess it's not fully quantum 02:41:15 it does all the renames of every register operand in parallel (which can be done in 1 cycle since the effect of renaming registers within an issued instruction is done beforehand) 02:41:44 fizzie: The difficulty with TIS-100 is that you have a limit of 15 instructions/node 02:41:45 I'm obsessed with making it implementable too 02:42:44 It's logical to have limitations (except that labels count as lines, which is bullshit), but 15 lines is a little too small (also, 15 isn't a power of 2) 02:42:52 mad: Fair enough 02:49:53 for instance this sample resampling loop comes down to 2 instructions: 02:50:04 :loop 02:50:04 shr ph 16, lds [sb + ac*2] -> d0 02:50:04 add ph $10000, shr 16, lds [sb + ac*2] -> d1 02:50:04 and ph $ffff -> d2 02:50:04 lds [bu] -> d3 02:50:05 sub d1 d0, mul d2, sar 16, add d0 -> d0, mul vl, sar 16, add d3, st [bu] 02:50:05 lds [bu+4] -> d3 02:50:06 mul d0 vr, sar 16, add d3, st [bu+4] 02:50:08   02:50:13 add vl rl -> vl 02:50:13 add vr rr -> vr 02:50:13 add ph fr -> ph 02:50:13 add bu 4 -> bu, cmp be, jz loop 02:52:54 the first instruction has 7 microthreads, 6 writebacks (-> d0, -> d1, -> d2, -> d3, -> d0, -> d3), 4 renames (d0 d1 d2 d3), 6 load/store operations (lds [sb + ac*2], lds [sb + ac*2], ld [bu], st [bu], ld [bu+4], st [bu+4]) 02:53:46 second instruction has 4 microthreads, 4 writebacks (-> vl, -> vr, -> ph, -> bu), 4 renames (vl vr ph bu) 02:54:04 assuming that vl, vr, ph and bu are in different regfile partitions 02:57:41 assuming that the subinstructions take 2-4 bytes each, the first instruction takes somewhere between 40-80 bytes, second one about 12-24 bytes 02:58:19 presumably to keep it busy you'd need an instruction cache at least 32 bytes wide 02:59:18 if stars align in theory it can run the whole loop in 2 cycles per iteration 03:01:14 a possible design is that the subinstructions go in normal instruction cache, and the renaming info that tells how to run it in parallel is generated on the fly and stored in a trace cache 03:01:45 so on first iteration it runs at like 1 instruction per cycle and analyzes the instruction sequence for how to parallelize it 03:02:12 and stores that in a trace cache so that next iteration is super parallelized 03:04:35 it would probably need a really wide data cache to run that fast too 03:05:03 like the kind of monstruously complex banked data cache that does 2 loads + 1 store per cycle you find on modern CPUs 03:07:01 in theory it doesn't need 2 register file ports per execution unit either, but I'm not sure how to ration that intelligently 03:07:19 because some instructions need 2 ports, some need 1, some need 0 03:08:38 also it has the weakness that the register renamer needs to know which execution unit will get which writeback (because they actually are separate register files for each execution units, read ports are shared but write ports aren't) 03:10:07 so yeah the whole thing works in theory but in practice is overly complex and probably needs to be cut down 03:10:23 and it's probably not well balanced 03:12:30 -!- XorSwap has joined. 03:13:10 @wiki Game Theory 03:13:10 http://www.haskell.org/haskellwiki/Game_Theory 03:13:17 Hm... 03:13:41 I was hoping that would lead to wikipedia, but in retrospect that seems silly 03:13:51 in theory you could make a VLIW version of the above but I think it would be very hard to properly static schedule 03:14:00 mad: OLIW is better than VLIW 03:14:02 and it would probably stall way too easily 03:14:03 @wikipedia Game Theory 03:14:03 Unknown command, try @list 03:14:06 what's OLIW? 03:14:09 `wiki Game Theory 03:14:12 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 03:14:17 mad: Obscenely Long Instruction Word 03:14:28 how is it better 03:14:41 aside from burning through instruction cache faster 03:14:43 mad: I just like it more 03:14:58 mad: OLIW has instruction sets within instruction sets 03:15:05 http://pastebin.com/wz3WwSbF is an example of an OLIW architecture 03:15:06 also the cpu I described above is a pretty good candidate for OLIW :D 03:15:37 64byte instruction words aren't for the faint of hearth 03:17:40 mad: Mine maxes out at 2752577 bytes per instruction word 03:17:51 mad: Instruction sets within instruction sets 03:18:07 (Every instruction word is executed concurrently) 03:18:19 how is that electrically possible 03:18:25 ("Instruction word" doesn't really apply at this point though; it's more of an instruction paragraph) 03:18:36 mad: Electrically possible? No. 03:18:43 mad: Not on normal machines 03:19:06 mad: It doesn't /have/ to be 2752577 bytes. 03:20:05 mad: I mean, it might be implementable on hardware, because it doesn't use all 2752577 bytes at a time 03:20:24 dunno, does it have latency causing characteristics? 03:20:47 mad: Probably 03:21:14 mad: It has properties like instruction words having length headers 03:21:26 mad: Which probably causes a shitton of latency 03:22:01 mad: Did you /want/ something with the word "Obscenely" in it to be practical? 03:23:19 I also have a hard time figuring out what all those fields mean 03:23:43 mad: Would you like an explanation? 03:23:54 You'll be stuck here for a while 03:24:06 not if you can't make it short 03:24:16 mad: I can try 03:24:33 it looks like it has 0..65535 conditions 03:24:38 mad: Yes 03:24:55 what's the condition group thing 03:24:56 mad: Instructions are basically a long list of normal ALU instructions (something you might find in a real machine) enclosed in a giant WHILE loop 03:25:21 mad: The condition is a series of instructions from a separate instruction set within the main one 03:25:49 mad: The condition is divided into groups, and the while loop- when checked- terminates when /all/ conditions are true in /any/ of the groups 03:25:53 That was easy 03:27:09 what are the condition instruction arguments and why are they *8 03:27:42 mad: Condition instruction arguments are the things the condition checks! 03:28:11 And they're *8 because I didn't understand ISAs at the time, but each argument is 8 bytes that references a memory location 03:28:42 is that an absolute address or it's coming from some calculation? 03:29:24 mad: I'm not a pro with ISAs. I don't even know for certain what that question means. 03:29:30 However, if my guess as to what it means is correct 03:29:48 are they like 64bit memory addresses? 03:29:53 mad: Yes 03:29:59 It doesn't matter really, it depends on the exact design 03:30:04 ok 03:30:09 It's just an outline, not an in-depth spec 03:30:21 what are the body flags 03:30:27 mad: I'm still trying to remember 03:30:37 Same with start and term arguments 03:31:14 where does it store the results? 03:31:38 -!- augur has joined. 03:31:38 mad: An accumulator 03:31:41 mad: IIRC 03:32:08 I made this a month or two ago (while talking to you, IIRC), and didn't kept detailed notes 03:32:14 -!- augur has quit (Remote host closed the connection). 03:32:20 If you like, I can make a better one with detailed documentation 03:32:31 no I guess I've had my fill 03:32:36 OK 03:32:48 I might make another one anyway just for fun 03:32:51 like it does have obscenely large instructions 03:32:54 but that's about it 03:33:10 mad: Yep, that's the point ;) 03:33:28 mad: Also, compiling to it (or even programming in its ASM) is completely different 03:33:54 mad: It includes nonnesting WHILE loops as a primitive rather than JMPs, which makes it very different 03:34:14 considering that every instruction loads tons of stuff from memory it's not like compilation can be efficient anyways 03:34:36 mad: Correct. 03:34:54 mad: It's an esolang, really, or at least an outline for it 03:35:19 it's more an esolang than a cpu ues 03:35:20 yes 03:37:13 mad: It's an EsoCPU 03:37:35 It is implementable on hardware conceivably, just not efficiently or in small space 03:38:12 well 03:38:22 you can implement a MIPS that runs an emulator :D 03:41:28 if you can get the emulator to do a memory load per cycle it's not even slower than the real thing 03:44:00 -!- feliks has joined. 03:48:35 -!- augur has joined. 03:49:33 -!- J_Arcane has quit (Ping timeout: 240 seconds). 03:53:04 -!- augur has quit (Ping timeout: 260 seconds). 03:55:06 -!- augur has joined. 03:58:05 Oh... oh god https://www.youtube.com/watch?v=Mk3qkQROb_k 04:13:46 hppavilion[1] : that's... wrong 04:14:20 mad: Agreed 04:14:49 mad: It must be so hard for people who program in java to make funny comments written in code... 04:23:52 -!- heroux has quit (Ping timeout: 264 seconds). 04:24:28 -!- heroux has joined. 04:27:41 -!- clog has quit (Ping timeout: 250 seconds). 04:33:23 -!- XorSwap has quit (Read error: Connection reset by peer). 04:33:52 -!- XorSwap has joined. 04:36:46 -!- bender| has joined. 04:37:53 -!- FreeFull has quit (Ping timeout: 268 seconds). 04:38:30 -!- idris-bot has quit (Ping timeout: 268 seconds). 04:43:12 is there a good scripting language with no garbage collector (and possibly no dynamic typing) ? 04:44:34 Tcl? 04:44:41 I'm asking because at work we do VST plugins at it would be nice to have a scripting language for doing stuff like envelopes and lfos and modulations and custom arpeggiators but the standard options like LUA can't be used because of the really short latency constraints 04:45:02 Tcl's even meant to be embedded. 04:45:16 manual memory management in scripting? 04:45:39 maybe what you need to *control* over the gc 04:46:03 GC would need absolutely no "stop the world" 04:46:12 not even 1ms 04:46:45 -!- fungot has quit (Ping timeout: 250 seconds). 04:46:48 whoa whoa whoa, GC that doesn't need to stop the world? 04:46:50 basically there generally can't be any memory allocation/freeing on the audio thread generally 04:46:52 Stop the presses! 04:48:10 like if it allocates memory as part of how it calculates stuff (like writing array values in a lot of script languages) then it can't work 04:48:54 You're gonna have a hard time then. 04:49:20 mad: You know, x^∞ = ∞*sin(x) 04:49:35 (anyone want me to go to ##math and say that?) 04:49:36 A small kind of Forth may be done? 04:49:47 pikhq: Have you had fund learning about the intricacies of HotSpot GCs? 04:49:49 zzo38: Hi! Do you want to make an ASM game? 04:49:56 zzo38: Or provide input? 04:49:59 shachaf: Not personally. 04:50:11 How about fun? 04:50:11 zzo38 : guess it could work out in theory 04:50:21 Not really. 04:50:39 ... Though I predict it'll come up. 04:50:56 hppavilion[1]: Well, you could ask me question if you have any, I suppose (but I am not guaranteed to know the answer) 04:51:06 zzo38: OK 04:51:12 in tcl feature list: "All data types can be manipulated as strings, including source code. Internally, variables have types like integer and double, but converting is purely automatic." 04:51:29 mad: So weak typing? 04:51:31 this is exactly the kind of features that I want it to NOT have 04:51:42 no freaking dynamic typing 04:51:45 So... You don't want a scripting language. 04:51:50 Might I recommend Forth? 04:51:50 mad: With Forth generally you preallocate so you can avoid these problems. 04:51:54 mad: No, this's weak typing 04:52:17 pikhq: Yes that is what I would think, too 04:52:17 Wait, hm... 04:52:41 mad: Dynamic typing is when you can change the type of a variable (something that was once a string can now be an int) in an unregulated fashion (it isn't just retyping) 04:52:53 mad: Static typing is what C has, where variables MUST NOT CHANGE TYPE EVER 04:53:06 mad: Strong typing is where conversions aren't done automatically 04:53:11 zzo38: Yup. It's basically the perfect language for this problem domain: small embeddable language with easily measurable and consistent performance characteristics. 04:53:12 in C variables simply cannot change type 04:53:58 mad: And weak typing- what TCL apparently has- is where values change type based on what's needed ("I know you just tried to add an int to a string, which doesn't make sense, but let's just pretend the int is a string too") 04:54:40 hppavilion[1]: Tcl's semantics (it's not an acronym BTW) are more that all values are strings. 04:54:55 In C a variable has a type which is declared and isn't changed; in JavaScript a variable doesn't have a type, a value has a type and any value can be stored in any variable. 04:55:07 TOOL COMMAND LANGUAGE 04:55:23 but usually written Tcl 04:55:24 pikhq: So it's stupid perl typing? 04:55:30 Also known as BF typing 04:55:52 isn't perl typing like javascript typing except it doesn't have integers? 04:56:00 or numbers that aren't strings 04:56:00 Nah, Perl does not have stringly typed semantics, at all. 04:57:15 ... In Tcl, an implementation which literally stored everything as actual char* strings would be perfectly reasonable (if a little inefficient). 04:58:41 irl I need about 2 variable types 04:58:42 float 04:58:46 and array of float 04:59:44 maybe you need a shader language 05:00:00 shader languages share some characteristics yes 05:00:06 though they don't allow feedback 05:01:09 the one language of this type in the wild is jesusonic 05:01:19 but it's kindof rough 05:01:48 I think you can just make a simple Forth implementation and use that. 05:02:01 Agreed. 05:02:44 yeah if I can convince potential users to live with forth's weird syntax ;) 05:04:14 Although different from other programming languages, I think it is reasonable for what it does. 05:11:59 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 05:18:01 -!- Sgeo_ has joined. 05:20:16 -!- Sgeo has quit (Ping timeout: 252 seconds). 05:27:48 Can you please tell me if this document is good: https://www.npmjs.com/package/remote-xlib 05:28:16 You can plesae complain about what is wrong with it, so that I can fix it please. 05:33:22 -!- adu has joined. 05:36:35 Example program is http://sprunge.us/ZMdg 05:38:31 If you click inside of the window then it makes a pie chart centered at the clicked position. 05:41:11 (Tell me feature request too) 05:52:17 -!- XorSwap has quit (Ping timeout: 244 seconds). 06:01:32 zzo38! 06:02:36 Hello, what do you want please? 06:03:55 I don't want anything 06:04:54 OK 06:05:02 But do you know answer of my question? 06:05:46 (I mean my other question before you join) 06:25:02 zzo38: how am I supposed to know? 06:25:22 zzo38: what was your question? 06:26:25 You can know by the log, but I can repeat it anyways 06:26:54 Can you please tell me if this document is good: https://www.npmjs.com/package/remote-xlib You can plesae complain about what is wrong with it, so that I can fix it please. Also you can make comment about feature request, and other comment/complaint/question too 06:27:31 -!- clog has joined. 06:29:48 zzo38: where is the log? 06:30:54 The IRC log is mentioned in the topic message it is http://codu.org/logs/_esoteric/ but anyways I already repeated my question so that you do not have to 06:32:04 -!- hppavilion[1] has joined. 06:32:46 zzo38: ah, topic, I always forget to look there 06:33:09 my client requires that I click a few things to get to the topic 06:34:02 zzo38: are you looking for HTML validation or English grammar? 06:34:55 Neither (I didn't write the HTML of the webpage anyways); I mean about if the document is clear, if it is sensible, etc 06:35:43 zzo38: ah, so English grammar 06:37:04 And if something is missing, too. 06:37:40 If it doesn't specify correctly how to use the program, or if perhaps some part of the program is wrong or is missing, that is what I mean too. 06:38:09 zzo38: "documentations assume" => "documentation assumes" 06:38:30 actually 06:38:42 zzo38: "These documentations assume" => "This documentation assumes" 06:39:36 -!- FreeFull has joined. 06:40:28 zzo38: also, the relationship between ASCII and 16-bit characters are unclear, 06:40:31 OK I fixed that, although I wasn't really asking about grammar anyways, but rather about errors such as in case it is not possible to understand the operation of this program for example, or if some function you think is important, but is actually missing, etc 06:40:39 "Text ... is treated as 16-bit characters" implies Unicode 06:40:50 adu: Do you know JavaScript? 06:40:50 but you contradict that with ASCII, what exactly do you mean? 06:40:51 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 06:40:55 zzo38: I do 06:41:42 In JavaScript, a string contains 16-bit characters (which is normally interpreted as UTF-16, and the fromCodePoint and codePointAt do so, although it doesn't have to be) 06:42:09 It says "using the encoding of the font"; doesn't that make it clear though? 06:42:13 zzo38: right, so is there a bug in your conversion between JS and Xlib? 06:42:28 No there is not a bug, it is correct. 06:42:29 zzo38: fonts can be unicode, what's the issue? 06:42:51 zzo38: so it's a bug in font-config? 06:42:53 Yes, if the font is Unicode, then the characters are Unicode. Maybe I should add a sentence to mention that? 06:43:03 adu: No it is not a bug in font-config either. 06:43:08 zzo38: why can't you use unicode characters? 06:43:17 zzo38: why are you forcing your users to use ASCII? 06:43:40 You can use Unicode, if you are displaying text of a Unicode font. 06:43:49 zzo38: that's not what your documentation says 06:44:02 Yes, perhaps I should clarify that. 06:44:49 OK I fixed that. (That webpage won't update with all of my fixes now, since I work the changes on my own computer locally) 06:45:24 At the end of that paragraph, I added a sentence that says "If the font encoding is Unicode, then the string is also interpreted as Unicode." Does that make it clear? 06:45:32 yes 06:45:58 OK 06:46:45 the rest seems pretty clear, but then again, I love hierarchies 06:47:21 my only recommendation would be to group them into tasks/topics 06:48:24 I did it by alphabetical with uppercase first, within each block I put first properties of the constructor, and then properties of the instance, and then events. I can add a index with tasks/topics too I suppose, if I can figure out how it should be grouped as. 06:48:42 but sometimes that would cross-cut the class-oriented hierarchy, so I'm not sure if it would make sense in this case 06:49:05 and yes, I know that JS doesn't have classes 06:49:06 I do know that the documentation for X.Drawable.prototype.drawMacro is incomplete. (I will fix this later.) 06:50:52 -!- Sgeo__ has joined. 06:53:13 -!- Sgeo_ has quit (Ping timeout: 252 seconds). 06:58:21 -!- adu has quit (Quit: adu). 07:02:38 -!- bender| has quit (Remote host closed the connection). 07:03:55 -!- bender| has joined. 07:04:51 -!- hppavilion[1] has joined. 07:36:38 -!- mroman has joined. 07:45:24 -!- augur has quit (Remote host closed the connection). 07:56:04 -!- AnotherTest has joined. 08:03:58 -!- infinitymaster has joined. 08:04:50 -!- infinitymaster has quit (Client Quit). 08:08:22 -!- 7YUAAGGC0 has quit (Remote host closed the connection). 08:31:31 -!- lynn has joined. 08:35:33 -!- zzo38 has quit (Read error: Connection reset by peer). 08:40:24 -!- zzo38 has joined. 08:41:18 Sometimes it causes a kernel panic or other problems when trying to print, possibly there is a problem relating to powersave mode of the printer? 08:45:23 -!- lambda-11235 has quit (Quit: Bye). 08:46:10 (Or maybe the kernel need to be upgraded?) 09:09:22 -!- tromp has joined. 09:14:07 -!- tromp has quit (Ping timeout: 260 seconds). 09:20:06 -!- jaboja has joined. 09:30:49 -!- lleu has joined. 09:32:54 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 09:33:43 -!- impomatic_ has joined. 09:49:37 -!- heroux has quit (Remote host closed the connection). 09:59:45 -!- MoALTz has quit (Ping timeout: 244 seconds). 10:02:28 -!- ais523 has joined. 10:16:14 -!- heroux has joined. 10:36:22 -!- jaboja has quit (Ping timeout: 260 seconds). 10:52:00 fnurd 11:27:36 -!- boily has joined. 11:44:18 `wisdom 11:44:33 arothmorphise/arothmorphise ... antormo... antrohm... ant... oh bugger. This should go in the `misspellings of antrhrop... atnhro...' entry. 12:07:14 `? misgivings 12:07:18 misgivings? ¯\(°​_o)/¯ 12:09:48 -!- boily has quit (Quit: ANSWER CHICKEN). 12:10:07 -!- tromp has joined. 12:14:37 -!- tromp has quit (Ping timeout: 244 seconds). 12:38:17 -!- bb010g has joined. 12:42:43 -!- p34k has joined. 13:08:40 -!- oerjan has joined. 13:09:26 -!- Melvar` has joined. 13:11:13 -!- Melvar has quit (Disconnected by services). 13:11:17 -!- Melvar` has changed nick to Melvar. 13:42:49 -!- tromp has joined. 13:43:11 `cat bin/paste 13:43:18 ​#!/bin/bash \ if [ "$1" ] && url "$1" 2>/dev/null # Save making a file when it already exists. \ then \ true \ else \ PASTENUM="$RANDOM" \ \ mkdir -p $HACKENV/paste \ \ url paste/paste."$PASTENUM" \ cat -- "${1--}" > $HACKENV/paste/paste."$PASTENUM" \ fi 13:43:35 `cat bin/url 13:43:36 ​#!/usr/bin/env python \ import sys, os.path, re, urllib \ if len(sys.argv) <= 1: \ print "http://codu.org/projects/hackbot/fshg/" \ else: \ f = os.path.abspath(sys.argv[1]) \ f = re.sub(r"^/+hackenv/", "", f) \ if re.match(r"/|\.hg(?:/|$)",f): \ sys.exit("File is outside web-viewable filesystem repository.") \ else: \ 13:45:20 `url bin/url 13:45:20 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/url 13:47:36 -!- bender| has changed nick to sid123. 13:47:51 -!- sid123 has changed nick to bender|. 13:48:17 `url test.hg/ 13:48:18 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/test.hg 13:48:44 guess it only matches at beginning 13:49:20 `culprits bin/url 13:49:23 tswett tswett oerjan oerjan oerjan oerjan oerjan fizzie fizzie fizzie fizzie oerjan oerjan oerjan oerjan elliott ais523 ais523 oerjan oerjan oerjan shachaf shachaf elliott elliott nitia 13:50:11 Are people still playing BF Joust? I notice the strategy page hasn't had anything new added for almost a year. 13:50:25 obviously, i was the one who wrote that part. 13:50:41 impomatic_: not very often afair 13:50:58 i guess people haven't had any new ideas to try 13:51:08 at least, none that won. 13:53:51 impomatic_: I go back and top the leaderboard every now and again, but it's been deadish for a while 13:54:24 impomatic_: if you haven't seen growth2 yet, I'd recommend watching it, I really like the strategy 13:54:49 -!- Mikaos has joined. 13:54:49 19:05, 31 May 2015‎ Ais523 (Talk | contribs | block)‎ . . (97,150 bytes) (+3,004)‎ . . (→‎2015: because we couldn't go a year without a new hill-topper) 13:55:06 -!- Mikaos has left. 13:55:07 ais523: will do after work :-) 13:55:20 -!- spiette has joined. 13:56:10 ais523: seems like you need to get a new one soon >:) 13:56:17 indeed 13:58:42 hm is my tooth actually getting a bit better again 14:03:39 -!- tromp has quit (Remote host closed the connection). 14:09:08 in terms of BF Joust hill-topping, I really want to get margins to work 14:09:15 but every time I try to change it I break it 14:09:23 maybe I should start from scratch using the same strategy 14:15:54 * oerjan has to stop clicking on giant reverts and nitia in the repository browser 14:17:41 -!- MoALTz has joined. 14:21:49 @tell hppavilion[1] @wikipedia Game Theory <-- tip 1: @google tip 2: wikipedia wouldn't capitalize "theory". 14:21:49 Consider it noted. 14:22:11 @google Game Theory 14:22:12 https://en.wikipedia.org/wiki/Game_theory 14:23:06 -!- MoALTz has quit (Ping timeout: 268 seconds). 14:23:15 Unknown command, try @list <-- . o O ( Unknown command, try `list ) 14:24:25 bleh, now I'm working on stealth3 :-) 14:25:57 *MWAHAHAHA* 14:29:29 -!- spiette has quit (Ping timeout: 260 seconds). 14:32:58 -!- spiette has joined. 15:04:13 -!- tromp has joined. 15:08:45 -!- tromp has quit (Ping timeout: 248 seconds). 15:25:09 -!- jaboja has joined. 15:37:15 -!- Alejandro15 has joined. 15:39:32 -!- Alejandro15 has left. 15:48:08 -!- lambda-11235 has joined. 15:49:24 -!- ais523 has quit (Ping timeout: 260 seconds). 15:50:06 -!- XorSwap has joined. 15:51:34 -!- ais523 has joined. 15:52:32 -!- jaboja has quit (Ping timeout: 260 seconds). 15:58:54 -!- XorSwap has quit (Read error: Connection reset by peer). 16:00:02 -!- XorSwap has joined. 16:05:47 -!- J_Arcane_ has joined. 16:10:08 -!- mroman has quit (Quit: Lost terminal). 16:16:52 `? loop 16:17:05 loop: see loop 16:17:50 I think a loop is an automorphism in the groupoid of paths 16:18:37 -!- Alejandro15 has joined. 16:19:31 -!- XorSwap has quit (Ping timeout: 244 seconds). 16:20:01 Category of paths- it's not always a groupoid 16:20:17 Well, it's almost never a groupoid. It doesn't always have inverses 16:20:22 [wiki] [[Brainfuck constants]] https://esolangs.org/w/index.php?diff=46492&oldid=45087 * Quintopia * (+25) /* Power Series */ wolfram alpha says so 16:22:43 -!- Alejandro15 has left. 16:23:54 quintopia: sounds a bit vague for wolfram alpha 16:24:08 -!- Sprocklem has quit (Ping timeout: 244 seconds). 16:25:04 [wiki] [[Brainfuck constants]] https://esolangs.org/w/index.php?diff=46494&oldid=46492 * Quintopia * (+60) /* Power Series */ wolfram alpha says so 16:25:13 * Taneb is learning what a homotopy is 16:28:38 The lecturer is being very handwavey 16:28:47 "Continuous functions form a space!" 16:30:21 -!- Alejandro15 has joined. 16:30:47 -!- Alejandro15 has left. 16:32:17 He's also pronouncing homotopy in a different way to what I had assumed 16:32:32 I was putting the stress on the second and forth syllables, with all short os 16:32:46 He's putting the stress on the first and third syllables, and having the first two os long 16:39:05 * oerjan assumed as Taneb. 16:40:26 wiktionary unhelpful 16:40:42 oerjan: looking at the greek roots, they use omicrons rather than omegas 16:40:53 Hence short os 16:41:14 does that actually matter to english 16:41:51 No, but it's at least a point of data 16:42:03 Then again, I pronounce "finite" with short is 16:42:06 hm google translate has them long 16:43:20 OED gives it as /ˈhɒməʊtɒpi/ or /həˈmɒtəpi/ 16:43:20 https://www.reddit.com/r/math/comments/lhj6r/how_do_you_pronounce_homotopy/c2svi40 hth 16:43:40 :D 16:45:48 -!- fungot has joined. 16:46:07 fungot: Push the shell. Climb the shell. 16:46:07 fizzie: your majesty! and queen. he and a friend left on a journey 10, then magic damage will be reduced by 10%. a star after any characteristic means it's at maximum strength! no matter what the price! it is, you idiot! hey! is that for us! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have the masamune! 16:46:35 also https://www.youtube.com/watch?v=jJRyeUDfthk 16:47:13 fungot: I heard it takes immense concentration, not immense evil... 16:47:13 fizzie: like, thanks princess. i'll take that under advisement!! 16:47:21 That's such an uppity bot. 16:47:34 what style is it? 16:47:38 ^style 16:47:39 Available: agora alice c64 ct* darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 16:47:40 ^style ct 16:47:40 Selected style: ct (Chrono Trigger game script) 16:47:53 and a serious one https://www.youtube.com/watch?v=6Nw1uIpZ9io 16:47:57 fungot 16:47:57 izabera: i'd like to see that mystical sword for myself! geez! well, remember that you can log in anywhere on the world map! need a brief weapons and items seminar? 16:50:27 fungot: Yes, please. Give us a seminar on weapons and items. 16:50:28 fizzie: is the gate key okay!! get' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now... 16:50:41 fungot: Oh, if it costs that much, never mind then. 16:50:41 fizzie: the masamune!! stole a tonic! amazing! you found a dreamstone! i'd forgotten how beautiful they are the evildoers? magus's lair! you brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. 16:50:51 It's a very excitable style. 16:51:09 -!- bender| has quit (Disconnected by services). 16:54:07 -!- oerjan has quit (Quit: Later). 17:01:53 -!- nisstyre has quit (Ping timeout: 244 seconds). 17:04:19 -!- tromp has joined. 17:08:50 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:09:09 -!- tromp has quit (Ping timeout: 276 seconds). 17:12:12 -!- jaboja has joined. 17:17:32 -!- ais523 has quit. 17:28:35 -!- XorSwap has joined. 17:29:43 -!- XorSwap has quit (Read error: Connection reset by peer). 17:29:56 -!- XorSwap has joined. 17:37:23 -!- XorSwap has quit (Quit: Leaving). 17:59:47 Stupid framework tries to be overly general but doesn't actually do the simple things right. 18:00:40 b_jonas, which framework 18:00:59 stuff at $WORK 18:01:07 Aaaaaah 18:01:16 has layers of abstractions 18:01:26 at the bottom it sometimes does the correct thing, sometimes doesn't 18:01:58 but you can never tell which because you can't follow the source code to the end 18:05:36 -!- tromp has joined. 18:09:45 -!- tromp has quit (Ping timeout: 246 seconds). 18:13:18 -!- earendel has quit (Ping timeout: 248 seconds). 18:13:45 b_jonas, apparently that kind of thing is really common in a lot of industries 18:13:50 Especially banking? 18:15:54 -!- vanila has joined. 18:15:55 hello 18:16:00 occult wizards of the digital age 18:16:41 Hi 18:24:53 -!- augur has joined. 18:36:11 -!- earendel has joined. 18:37:55 -!- treaki has joined. 18:40:03 -!- MoALTz has joined. 18:40:46 so whats new 19:01:52 -!- augur has quit (Remote host closed the connection). 19:04:18 `relcome 19:04:20 `relcome 19:04:27 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:04:28 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:05:37 -!- Melvar has quit (Ping timeout: 260 seconds). 19:08:33 -!- nikylom has joined. 19:10:41 -!- nikylom has quit (Client Quit). 19:11:08 -!- nikylog has joined. 19:16:16 `relcome vanila 19:16:17 ​vanila: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 19:18:54 [wiki] [[Piet++]] https://esolangs.org/w/index.php?diff=46495&oldid=42982 * 202.171.164.185 * (+25) 19:19:34 -!- Melvar has joined. 19:27:51 -!- hppavilion[1] has joined. 19:28:15 -!- ^v has quit (Ping timeout: 276 seconds). 19:32:04 How to make Bezier line with Xlib? 19:44:57 -!- Sprocklem has joined. 19:48:09 zzo38: I don't think Xlib can do that 19:48:42 prooftechnique: not builtin, maybe, but you can make it do it 19:49:32 izabera: wolframalpha gave me exact values for several different choices of x. They are ugly irrational numbers. 19:49:37 I guess you could look at cairo for inspiration 19:50:26 I found a document that says that by use of X10 codes in X11 it is possible to make spline, but does not describe very well how spline is made 19:53:11 Looks like this is a clock that draws the hands with a Bezier curve: ftp://ftp.lip6.fr/pub/linux/sunsite/X11/clocks/bclock-1.0.tar.gz 19:53:16 -!- Reece` has joined. 19:53:26 I think the relevant code is in transform.c 19:53:29 -!- Reece` has quit (Remote host closed the connection). 19:53:43 I will look 19:54:35 -!- augur has joined. 19:59:11 -!- heroux has quit (Ping timeout: 268 seconds). 19:59:31 -!- augur has quit (Remote host closed the connection). 19:59:32 zzo38: if you mean degree 2 spline, then pull in the cairo library, which can draw bezier stuff, and use its X11 backend. 19:59:38 um 19:59:41 I mean degree 3 spline 19:59:46 degree 2 is parabola 19:59:54 but cairo supports cubic (degree 3) too 20:01:30 Apparently Xlib can also do spline by including but it does not describe very well what spline algorithms are used and how to control it. 20:01:45 -!- heroux has joined. 20:04:50 zzo38: in that case, check cairo if it uses those functions of Xlib (it might not, if they're not general enough). 20:05:23 -!- jaboja has quit (Ping timeout: 248 seconds). 20:08:36 Why does tar have a large number of worthless options as well as a few useful ones, some of which can only be written as long option and short option won't work? 20:09:12 zzo38: history. 20:10:20 zzo38: and yes, --no-recurse should really have a short version 20:10:25 -!- Sprocklem has quit (Ping timeout: 240 seconds). 20:10:49 tar is bad 20:11:06 sometimes if your file looks like a link it will try to open a network connection 20:11:18 If all of the worthless options were to be removed, then all of the remaining long options could be changed to short options. 20:11:34 yeah someone should just clean slate rewrite tar 20:11:39 and it shouldn't support compression 20:11:48 make it the "unix way" 20:12:08 zzo38: what I wish for is a program with 7z's backend and capabilities, but a sane front-end with reasonable unixish command-line syntax and output. 20:12:35 I made a program that unzips any archive format 20:12:46 you just go: un thing.whatever 20:12:57 vanila: that's exactly what 7z is trying to do, unzips any archive format if you say 7z x somearchive 20:13:01 and it has modules that describe each unix program to decompress 20:13:22 i made it careful not to splay files everywhere 20:13:29 I agree you should use a separate program for compression instead. For example "zcat < program.tar.gz | tar t" or whatever (that already works though) 20:13:31 it always puts them inside a folder (unless the zip itself was a single item) 20:13:34 I wrote it in lisp and use it all the time 20:14:04 it's abit imperfect though because every program is different and moste are not built to be used programatically(!) 20:14:11 despite being command line unix programs 20:14:11 I always list the archive first before extracting it so that I will know what directory structure it needs. 20:14:17 its a bit funny 20:14:35 (Or in case I do not need all of the files from the archive) 20:14:53 -!- XorSwap has joined. 20:15:14 I think Hamster archive is a better format. Hamster archive is consist of zero or more lumps, where each lump consists of the null-terminated filename, the 32-bit length in PDP-endian format, and then the data. 20:15:53 -!- XorSwap has quit (Client Quit). 20:16:07 . o O ( so how do you deal with messages that are larger than 4GB? ) 20:16:44 well, or files. 20:17:06 4GB is a problem 20:17:12 -!- nikylog has quit (Quit: Page closed). 20:17:18 I suppose you could just add more than one with the same name if you really need to 20:17:45 Why do you like PDP-endian? 20:18:10 I don't, but that is how it was defined (I don't know why, but I can guess). 20:18:12 zzo38: separate program for compressing is what I do right now: tar -c "${lots_of_ugly_options[@]}" | 7z a "$outputpath/$basename.t7z" -t7z -mx=3 -si"$basename.tar" 20:18:36 separate program is also what tar does of course 20:18:57 it automatically invokes the right separate program for decompressing gzip, bzip, xz, and a few more 20:19:21 which is definitely the Right Thing for it to do 20:19:35 another problem is unrar is not free 20:19:41 7-Zip will already do both archiving and compression though, due to the 7-Zip file format in use. 20:20:05 b_jonas: I don't, I think you should use pipe to tell to decompress instead 20:20:47 The reason Hamster archive uses PDP-endian is for historical reasons and is not up to me. 20:21:07 zzo38: 7-zip does archiving, but you can't use that if you want to save unix filesystem attributes (owner, group, and permission bits most importantly), which is important for a system backup 20:21:15 zzo38: I used tar this way for backups 20:21:26 for just distributing a tarball of some program, 7z without tar is fine of course 20:22:02 Yes I suppose that can be also a reason 20:23:23 zzo38: 7z can create or extract tar files (and many other formats), but since its command line utility is even worse to use than tar, I never tried to create tar with it (I did create zip with it though) 20:24:18 The backend of 7z and how many formats it supports (not all archive formats either) is great, as well as its specific 7z format, and its windows gui. It's only the command-line tool I don't like. 20:24:37 I might try to nudge its source code a bit some time to make it a bit saner. 20:25:31 It is one advantage of 7z, that you can support many different format; it has successfully opened some files I downloaded that were in unusual formats and it worked fine. 20:25:40 zzo38: exactly 20:25:56 I use 7z a lot for this reason 20:26:02 I also use it a lot to create 7z archives 20:27:18 -!- XorSwap has joined. 20:27:30 There are lots of other tools that try to support multiple archives of course: bzip2 can decompress gzip; xz can decompress gzip, bzip2, lzma; the rar program can decompress zip and I think it can even compress it; norton commander has a built-in zip decompressor; and there are even a few tools that try to handle any archive by calling other specific programs. 20:27:37 Yes, 7-Zip does compress pretty well 20:28:43 Note that some of the files I have successfully opened with 7-Zip are not even documented in the document of 7-Zip. 20:28:57 Also, I've never seen 7-zip crash, neither the gui nor the command-line, and that's a big plus. 20:29:04 (Maybe they are now, but at that time they weren't) 20:29:25 b_jonas: Yes that too, although I have not used the GUI of 7-Zip 20:29:50 zzo38: the gui is quite good, and is designed better than the command line. it's not perfect, but quite good. 20:30:35 It probably is good, although I still prefer to work by command-line 20:30:52 I use both, depending on the task. 20:31:04 Obviously the command line can be automated, which I have done at least once. 20:32:16 It won't support Hamster archive, but I have written my own program for Hamster archive anyways (other programs exist, but they aren't very good, and also they require DOS) 20:32:39 What I don't understand is why some people like the horrible trialware winrar program, when 7-zip has been available for quite a while and does basically anything winrar can do but better, except for compressing rar archives. 20:32:51 (The full version of 7-zip does decompress rar archives.) 20:33:06 What's a hamster archive? 20:33:19 I described it above. It is: Hamster archive is consist of zero or more lumps, where each lump consists of the null-terminated filename, the 32-bit length in PDP-endian format, and then the data. 20:33:30 in my opinion 7z should handle 7z only 20:33:42 and there should be a separate multi-archiver program to 'combine' 20:33:42 That is the entire document, now you can even make your own implementation if you want to 20:33:56 zzo38, PDP lol 20:34:32 zzo38: what are Hamster archives used for? 20:34:45 vanila: I know PDP-endian isn't as good, but that is what it is and I do not quite know why. 20:34:55 PDP-endian XB 20:35:01 it's the silliest endian 20:35:15 Yes I agree it is the silliest endian 20:35:22 I've tried to look up documentation on the format, and most of what I find is codu logs of zzo talking about it :D 20:35:30 wait, is pdp endian one of those mixed-endian formats, in which the int16 level endian is opposite to the int32 level endianness? 20:35:39 Yes. 20:35:40 Nevertheless it can be implemented easily enough, as can the better formats such as big-endian and small-endian 20:36:02 sure 20:36:10 for an archive format like this it's fine 20:36:33 prooftechnique: Other documentation does not name the format anything, which makes it difficult to find, although I wrote the entire document right here anyways; it is one sentence. 20:36:47 this sounds like some sort of tar format basically 20:38:22 Combine archives simply by "cat" program or by using the >> redirection operator. 20:38:41 zzo38: right, I think tar formats can do that too 20:38:54 and so can tar.gz 20:39:21 I know gzip supports that too 20:39:46 -!- jaboja has joined. 20:39:55 \oren\: Your font is making me depressingly aware of how often people use nonbreaking spaces for evil :| 20:40:24 the t in tar stands for tape, as in, you can append new files to a tar file on a magnetic tape without reading it 20:40:46 prooftechnique: Also with s/nonbreaking spaces/Unicode/ too isn't it? 20:41:50 A little bit, yeah. Nonbreaking spaces are *everywhere*, though :| 20:43:03 Nonbreaking spaces are certainly not limited to Unicode of course though, other formats have nonbreaking spaces too 20:43:35 -!- katherine has joined. 20:43:38 -!- Phantom_Hoover has joined. 20:43:39 In UTCE all characters are nonbreaking (including the ASCII space) 20:44:33 holaaaaaaaaaaaaaaaaaaaaaaaaaaa 20:44:48 I think part of the reason why nonbreaking space got popular is that HTML traditionally couldn't represent multiple adjacent spaces, so when people wanted to show two adjacent spaces of an ascii string in HTML, they replaced one with a non-breaking space for display. 20:44:51 -!- katherine has left. 20:46:39 I mainly see it a lot in mailing list archives and GNU docs :D 20:47:00 Then again, I also see lots of tables used for no reason in those places, so :| 20:51:16 If I understand correctly, these days there's a way around this in HTML, namely specifying the CSS property white-space: pre-wrap; which disables HTML's special whitespace handling. 20:51:42 lol 20:51:48 HTML merges multiple spaces into one 20:51:54 just so people can indent their XML? 20:52:01 that's sooooo horribly ugly and funny 20:52:04 vanila: yes, it's horrible 20:52:10 lisp paste website uses a funny XML indentation style 20:52:22 view-source:http://paste.lisp.org/ 20:52:32 vanila: it also sometimes removes a whitespace adjacent to a tag 20:52:41 A lot of it is texi2html generated stuff, so it's at least kind of understandable 20:52:58 I have a great idea: Use s-expressions for web markup 20:53:11 top kek, bruv 20:53:20 -!- vanila has left ("Leaving"). 21:01:03 -!- heroux has quit (Ping timeout: 264 seconds). 21:03:30 -!- heroux has joined. 21:06:37 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 21:07:28 -!- hppavilion[1] has joined. 21:22:48 -!- lleu has quit (Quit: That's what she said). 21:24:48 Loyalty Theory 21:24:54 @messages-l 21:24:54 oerjan said 7h 3m 5s ago: @wikipedia Game Theory <-- tip 1: @google tip 2: wikipedia wouldn't capitalize "theory". 21:25:07 @google Game theory 21:25:08 https://en.wikipedia.org/wiki/Game_theory 21:25:43 @tell oerjan I was hoping `@wikipedia game theory` would return the first sentence of the article, because it was funny IIRC 21:25:43 Consider it noted. 21:25:43 @google Theory 21:25:45 http://www.theory.com/ 21:25:45 Title: Theory Official Site | Contemporary Clothing for Women and Men 21:25:50 @wiki Theory 21:25:50 http://www.haskell.org/haskellwiki/Theory 21:25:54 Checkmate 21:26:27 Or, for that wiki: https://en.wikipedia.org/wiki/Theory 21:27:03 hppavilion[1]: What's the joke in the first few sentences? 21:27:55 prooftechnique: I was wrong, it was a joke I was going to make 21:27:58 -!- XorSwap has quit (Ping timeout: 244 seconds). 21:28:11 "Game theory is \"the study of mathematical models of conflict and cooperation between intelligent rational decision-makers.\"" 21:28:30 What's the study of people just in it for revenge and bitterness? 21:28:32 Also 21:28:56 "Game theory is mainly used in ... political science..." 21:29:10 Where are the intelligent rational decision-makers in politics? 21:30:09 all over the place? 21:30:13 hppavilion[1]: no, but politicians like to use fancy scientific stuff to try to make their decisions seem rational when they aren't 21:30:46 hppavilion[1]: game theory is a great excuse, it sounds sciency enough that they can refer to game theoretical models with fancy solutions 21:31:16 b_jonas: So it's quasi-game theory? 21:31:37 b_jonas: How often do people yell "IS THIS ALL A GAME TO YOU!?" at game theorists do you reckon? 21:32:10 hppavilion[1]: I think the latter study is called family law 21:33:02 Divorce law, in particular, though arguably custody law, as well 21:37:43 -!- jaboja has quit (Ping timeout: 250 seconds). 21:42:43 can you tell if a number is prime in a non turing complete language? 21:43:17 izabera: I think you can do it in SQL 21:43:55 can you show it? 21:44:42 https://tsqltricks.wordpress.com/2008/12/17/udf-isprime/ 21:45:13 that's turing complete 21:45:17 Oh, true 21:47:10 Hmm, I guess even vanilla SQL is turing complete with CTEs and windowing 21:47:11 ah yes you only need to loop down 21:47:14 Disappointing 21:48:39 something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? 21:50:34 Apparently you can do it with regex, but I'm not sure if it's only PCRE (which is TC, IIRC) 21:51:08 bre is enough 21:51:17 but i don't know if bre is turing complete 21:55:42 izabera: i don't quite get your question 21:56:12 izabera: "something" as in "anything?" Most algorithms for checking whether a number is prime aren't turing complete, yet they can do what they do. 21:56:42 a language 21:56:58 that doesn't make it any less vague. 21:57:12 Well, Charity is definitely not Turing Complete, but you could reasonably check for primality with it 22:00:03 -!- spiette has quit (Ping timeout: 246 seconds). 22:01:34 -!- augur has joined. 22:05:15 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 22:07:11 -!- tromp has joined. 22:10:53 -!- Sprocklem has joined. 22:11:21 -!- tromp has quit (Ping timeout: 244 seconds). 22:16:24 Even SQLite is capable of solving Sudoku and computing a mandelbrot set with a single query. 22:16:37 (with an empty database) 22:19:46 just add a prime checker to hq9 22:23:03 p: the command p looks at the next available input for the longest consecutive series of digits, and outputs "Prime!" if it is a prime number, or "Not prime!" otherwise (including if it is an empty sequence). Note that the input is not removed from the queue. 22:23:08 s/queue/input buffer/ 22:23:30 yeah 22:23:44 question can now be answered withn yes, there is such a language 22:23:47 next! 22:40:44 -!- augur has quit (Remote host closed the connection). 22:53:10 -!- oerjan has joined. 22:59:03 SQLite has no regular expression built-in but I made the SQLite extension library to use PCRE with SQLite 23:00:56 -!- idris-bot has joined. 23:02:46 -!- hppavilion[1] has joined. 23:10:20 Perhaps a set-theoretical proof assistant? 23:10:32 A bit primitive, but workable 23:11:08 * oerjan recalls metamath 23:11:29 i think "set-theoretical" and "primitive" are about right for that. 23:11:53 @messages- 23:11:53 hppavilion[1] said 1h 46m 10s ago: I was hoping `@wikipedia game theory` would return the first sentence of the article, because it was funny IIRC 23:12:21 oerjan: It turned out I just had a joke to make about it 23:12:58 tswett: Hi? 23:15:54 holaaaaaaaaaaaaaaaaaaaaaaaaaaa <-- i'm wondering if it's some kind of semester start in venezuela 23:16:05 all these people showing up at the same time 23:21:14 -!- hppavilion[1] has quit (Read error: Connection reset by peer). 23:28:36 -!- AnotherTest has quit (Ping timeout: 246 seconds). 23:31:03 something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? <-- right, this is well-known to give you exactly the primitive recursive functions on numbers. see BlooP. 23:31:57 `? weather 23:32:03 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 23:32:05 CYUL 042300Z 04002KT 15SM FEW240 M05/M16 A3023 RMK CI1 CI TR SLP241 \ ENVA 042250Z 00000KT 9999 FEW045 BKN090 01/M03 Q1003 RMK WIND 670FT 09008KT \ ESSB 042320Z AUTO 13007KT 9999 BKN008/// OVC009/// 01/00 Q1008 \ KOAK 042256Z 16008KT 10SM SCT013 BKN025 OVC038 17/16 A2994 RMK AO2 RAE56 P0000 T01720156 23:34:08 -!- tromp has joined. 23:34:47 -!- lynn_ has joined. 23:34:50 * oerjan notes graue once deleted BlooP from our wiki, and wonders wtf he was on. 23:35:13 holaaaaaaaaaaaaaaaaaaaaaaaaaaa <-- i'm wondering if it's some kind of semester start in venezuela 23:35:31 this stuff happens because we're inexplicably on the default channel list on some spanish distro's irc client, right? 23:35:39 right, canaima 23:35:56 s/spanish/venezuelan/, at least originally. 23:36:28 -!- lynn has quit (Ping timeout: 264 seconds). 23:37:05 or at least so i assume, i've never literally seen that channel list or what program it is in. 23:37:31 but i once got some kind of half-confirmation out of one of them 23:37:50 only half- because i'm not sure they used compatible terminology. 23:38:41 however, my comment above was because we've had 3 or 4 of them in just a few days. 23:41:12 @tell izabera something that only supports a loop with a finite number of iterations is not tc, even if that number is unbounded, right? <-- right, this is well-known to give you exactly the primitive recursive functions on numbers. see BlooP. 23:41:12 Consider it noted. 23:45:59 -!- tromp has quit (Remote host closed the connection). 23:51:55 -!- p34k has quit. 23:52:31 The instruction for PortAudio says you must terminate it. However if the program won't terminate properly then how to ensure it will stop properly?