00:03:08 Now I implemented the preprocessor for Free Hero Mesh. The following built-in macros are implemented: {+} {-} {*} {/} {mod} {band} {bor} {bxor} {bnot} {cat} {version} {define} {include} {call} 00:03:32 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...). 00:09:06 -!- sleffy has joined. 00:10:13 -!- boily has joined. 00:13:57 `5 w 00:14:00 1/1:steprans//A Steprans variable is a variable whose notation is variable. \ oya yakuman//We don't know what an oya yakuman is, but based on boily's reaction, it must be quite painful. \ dentist//Dentists are professional workers whose main line of work is creating dents on various surfaces. \ cigar//A cigar is either a penis or just a cigar, dependent on Freud's current mood. \ tsh//tsh sounds horrendous 00:14:05 `o.O 00:14:06 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: o.O: not found 00:16:04 I need to corrupt new coworkers to the Wonderful World of Tile Shuffling. 00:18:18 yeah me too 00:21:08 alebonsoircah. 00:23:53 oerjan: what's with the number 14 twh 00:23:56 it comes up everywhere 00:40:36 -!- optimus[m] has quit (Quit: removing from IRC because user idle on matrix for 30+ days). 00:41:59 -!- tswett has quit (Read error: Connection reset by peer). 00:42:25 -!- tswett has joined. 00:56:29 -!- tswett has quit (Read error: Connection reset by peer). 00:56:59 -!- tswett has joined. 01:06:13 `5 w 01:06:16 1/2:ic//ic what you did there. \ block device//Block devices are a concession made in Unix to make raw hard disks and magnetic tape have a similar interface to regular files and terminals. Since magnetic tapes can't write individual bytes, only entire blocks, the interface isn't exactly the same, thus the dreaded dd obs= option was born. \ rhubarb//Rhubarb rhubarb rhubarb, rhubarb: rhubarb rhubarb? Rhubarb, rhubarb, rhubarb rhubarb. \ ievan//ievan 01:06:18 `n 01:06:18 2/2:is basically http://www.youtube.com/watch?v=4om1rQKPijI \ pun//Puns are fun. Ask shachaf about them. But beware of Muphry adding misspellings. 01:06:48 puns are groaning. 01:07:07 boily: tile shuffling? 01:10:11 fungot: tile shuffling? 01:10:27 -!- int-e has left. 01:10:27 -!- int-e has joined. 01:10:50 `' 01:10:50 446) sllide: @ is an OS made out of only the finest vapour 01:13:55 I guess I'll never know 01:14:36 int-ello. tile shuffling is mahjong. mahjong is good for you! 01:16:17 fungot: nostril? 01:16:17 boily: when a rule change is canceled. if, at 01:16:29 fungot: then, what do you think about tile shuffling? 01:16:29 boily: i) the date on 01:16:33 fungot: September. 01:16:34 boily: if a vote is. an activity level of support must call for judgement made on a thursday or earlier in the 01:17:28 but it requires too many players 01:17:34 anyway thanks 01:17:49 -!- brandonson has quit (Ping timeout: 256 seconds). 01:19:00 int-e: How many players should a game require? 01:19:23 -!- brandonson has joined. 01:19:39 For me to play it? One, perhaps two. 01:21:13 I'm assuming boily's talking about the 4 player game rather than the solitaire that happens to use Mahjong pieces. 01:21:36 What about bridge? 01:22:13 I've been playing some of this 2-player game recently: http://www.spyparty.com/ 01:23:44 How many players the game require depends on the game. 01:24:20 Mahjong is played with four players (although there are variants for two or three players, too) 01:24:31 Zero-player games are the most fun, but no one has ever managed to play them. 01:26:24 Magic: the Gathering normally needs two or more players, but, if you delete rule 104.2a then you can play the variant I call "Standard Solitaire". (You will probably need a strange kind of deck to make it a reasonable game, I suppose) 01:26:48 helloochaf. are people never or always playing zero player games? 01:27:08 boily: noone is playing them all the time 01:27:25 Zero player game already is; you don't play it because then you are playing one (or more) player 01:27:35 * boily is feeling zen tonight 01:27:39 If you have a negative buddy, sometimes you can play a zero-player game together. 01:28:15 I suppose the universe is a zero player game 01:28:43 A cell phone might be a negative player, because when you add one to a game the game gets one less player 01:29:05 int-e: no, the universe is an all-player game. everyone in the universe is playing it. 01:29:20 wob_jonas: they are mistaken, they're merely game tokens 01:30:04 int-e: https://stickman.qntm.org/comics.php?n=924 01:32:10 it's ironic, everybody wants to be a player, but is getting played instead. 01:32:57 I don't know if it is correct or not. But, I also suppose universe may be considered as a zero player game, but, of course I don't know. Even if there is a player, it does not indicate who it is. 01:37:15 -!- boily has quit (Quit: HAIRY CHICKEN). 03:22:03 -!- variable has quit (Quit: /dev/null is full). 03:57:45 -!- variable has joined. 04:44:35 Oh dear god qntm made a webcomic 04:44:38 I must read it 04:50:14 -!- sprocklem has quit (Ping timeout: 260 seconds). 04:51:13 -!- sprocklem has joined. 05:26:08 -!- MDead has joined. 05:28:27 -!- MDude has quit (Ping timeout: 240 seconds). 05:28:33 -!- MDead has changed nick to MDude. 06:41:18 -!- doesthiswork has quit (Quit: Leaving.). 06:45:00 [[Pinkcode]] https://esolangs.org/w/index.php?diff=54987&oldid=54981 * Impomatic * (+386) 06:45:45 [[Pinkcode]] https://esolangs.org/w/index.php?diff=54988&oldid=54987 * Impomatic * (+13) /* Example */ 06:46:02 -!- Gregor has quit (Quit: Coyote finally caught me). 06:47:02 Pinkcode is broken :-( If the opponent contains an @ you can find it on the first instruction. 06:53:30 <\oren\_> https://www.youtube.com/watch?v=jZoHuMwZwTk MAN EATS FOOD MADE IN 1899 07:16:31 -!- Naergon has joined. 07:25:09 -!- sleffy has quit (Ping timeout: 268 seconds). 07:29:45 -!- brandonson has quit (Ping timeout: 256 seconds). 07:31:32 -!- brandonson has joined. 07:38:57 -!- Sgeo has joined. 07:40:17 -!- Sgeo__ has quit (Ping timeout: 248 seconds). 07:49:38 -!- Gregor has joined. 07:53:34 -!- AnotherTest has joined. 09:24:38 -!- xkapastel has joined. 09:44:59 -!- tswett has quit (Read error: Connection reset by peer). 09:45:27 -!- tswett has joined. 09:54:23 -!- AnotherTest has quit (Ping timeout: 268 seconds). 09:56:33 -!- AnotherTest has joined. 09:58:33 -!- brandonson has quit (Ping timeout: 264 seconds). 10:00:02 -!- brandonson has joined. 10:13:55 -!- erkin has joined. 10:22:56 Sgeo__: yes, I love that one because of nostalgy, it was basically the webcomic that introduced me to webcomics. it was already complete when I read it (although I have read older webcomics since) 10:48:54 I think I can do three quines in perl with some useful characters left (I think I can have dollar sign, round parenthesis, letter a, and probably even some quoting method), but I don't think I can do four. 10:49:03 This is still re https://codegolf.stackexchange.com/questions/163607/write-a-quine-suite 10:49:05 I will try 11:03:23 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 11:12:28 -!- wob_jonas has joined. 11:13:36 -!- SopaXorzTaker has joined. 11:32:57 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 11:33:40 -!- wob_jonas has joined. 11:33:42 -!- wob_jonas has quit (Client Quit). 11:43:59 -!- tswett has quit (Read error: Connection reset by peer). 11:44:38 -!- tswett has joined. 12:29:05 -!- arseniiv has joined. 13:00:32 -!- doesthiswork has joined. 13:15:19 -!- wob_jonas has joined. 13:16:04 and today I open OpenMPT and see that its custom tuning system seems not working with VSTs> I’ve been told there’s no standardized way to apply microtunigs to VSTs. Damn you MIDI! 13:16:21 *p=["foo","bar"]; isn't even longer than @p=("foo","bar"); so I might not even be losing length by omitting parenthesis 13:26:02 hmm 13:27:12 -!- LKoen has joined. 13:28:35 I wonder if that would let me squeeze in a fourth quine, one using $j="print"; $~->$j($m); except the print is generated with some string bitwise or whatever trick 13:52:49 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 13:54:44 -!- SopaXorzTaker has quit (Remote host closed the connection). 13:59:37 -!- zseri has joined. 14:03:11 -!- SopaXorzTaker has joined. 14:23:40 [[Special:Log/newusers]] create * Alan-Liang * New user account 14:41:23 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 14:58:32 -!- SopaXT has joined. 14:59:26 -!- SopaXorzTaker has quit (Disconnected by services). 14:59:30 -!- SopaXT has changed nick to sopaxorztaker. 14:59:36 -!- sopaxorztaker has changed nick to SopaXorzTaker. 15:17:08 -!- sftp has quit (Max SendQ exceeded). 15:17:34 -!- sftp has joined. 15:29:10 -!- brandonson has quit (Ping timeout: 264 seconds). 15:29:37 -!- variable has quit (Quit: Found 1 in /dev/zero). 15:30:31 -!- brandonson has joined. 15:33:32 -!- xkapastel has quit. 15:33:53 -!- xkapastel has joined. 15:39:53 -!- zseri has quit (Quit: Leaving). 15:57:39 -!- ocharles has quit. 15:58:07 -!- ocharles has joined. 16:05:08 arseniiv: It might not be possible with VST, but Csound can certainly do it, at least. (Csound can load VSTs, but if VST doesn't support microtuning, then you will have to avoid VST.) 16:07:38 -!- zgrepc has quit. 16:08:06 -!- zgrepc has joined. 16:09:06 (Csound can also act as a VST, if you need it to.) 16:18:32 -!- user24 has joined. 16:22:57 -!- saiya has quit (Ping timeout: 240 seconds). 16:27:35 -!- dingbat has quit. 16:27:53 -!- dingbat has joined. 16:38:41 -!- AnotherTest has quit (Ping timeout: 255 seconds). 16:43:25 -!- AnotherTest has joined. 16:48:11 -!- AnotherTest has quit (Ping timeout: 276 seconds). 16:49:52 -!- SopaXT has joined. 16:50:37 -!- SopaXorzTaker has quit (Disconnected by services). 16:50:43 -!- SopaXT has changed nick to SopaXorzTaker. 16:55:11 -!- variable has joined. 16:59:01 -!- AnotherTest has joined. 17:20:42 zzo38: TY 17:25:38 I suppose you can just implement the tuning directly with Csound; even if it is as VST, it doesn't need to know the tuning of the host system then 17:32:56 yeah, the problem is, today tunings aren’t first-class and are local to a processing unit 17:34:22 also I found a couple tunable VSTis by now: http://xenharmonic.wikispaces.com/List+of+Microtonal+Software+Plugins 17:36:02 -!- brandonson has quit (Ping timeout: 260 seconds). 17:36:10 and also it seems Xenharmonic wiki is supposed to move in near future (July) 17:36:31 move or be off with( 17:37:38 -!- brandonson has joined. 17:46:38 -!- LKoen has joined. 17:50:01 [[Special:Log/newusers]] create * Voltage2007 * New user account 17:53:00 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=54989&oldid=54986 * Voltage2007 * (+266) /* Introductions */ 17:55:13 [[Small]] https://esolangs.org/w/index.php?diff=54990&oldid=53124 * Voltage2007 * (+0) It has 2 commands, not 3. Looked at history and noticed the 3rd command was deprecated. 18:04:11 -!- AnotherTest has quit (Ping timeout: 255 seconds). 18:04:47 -!- AnotherTest has joined. 18:10:38 -!- sleffy has joined. 18:11:28 -!- AnotherTest has quit (Ping timeout: 256 seconds). 18:12:28 -!- LKoen has quit (Remote host closed the connection). 18:15:54 -!- AnotherTest has joined. 18:20:01 arseniiv: I suppose that, since Csound can act as a VST host and as a VST plugin, you might be able to use Csound to translate the signals for the VST. 18:25:41 -!- AnotherTest has quit (Ping timeout: 276 seconds). 18:32:15 -!- SopaXorzTaker has quit (Remote host closed the connection). 18:37:41 -!- dingbat has quit (Quit: Connection closed for inactivity). 18:37:45 -!- user24 has quit (Remote host closed the connection). 18:42:29 -!- brandonson has quit (Ping timeout: 276 seconds). 18:43:47 -!- brandonson has joined. 18:43:51 -!- AnotherTest has joined. 18:51:09 zzo38: maybe I could, but then I first should think them up, as a typical host doesn’t have a human-manageable way for dealing with tonalities. E. g. OpenMPT doesn’t send anything special when an instrument uses a custom mapping. I also opened LMMS and Tracktion 6 several times but don’t know if they could use e. g. nonstandard piano roll when viewing (and inputting in) a MIDI track. I couldn’t operate with bare numbers :D 18:53:58 wob_jonas said: "perhaps you want an empty struct (or empty tuple) which has one possible value, or an empty enum (empty distingiushed union) which has no possible values." 18:54:01 Yeah, exactly. 18:54:09 Is there a way in OpenMPT to use MIDI macros to send that information? I don't know. Even if not, you could just define custom note names and then just send the raw note numbers with a Csound code can convert. 18:54:23 I'm creating a language, and evidently when I was working on it several months ago, I had decided that I wanted it to have types, and that it should be possible for a type to be empty. 18:55:15 And I don't remember what I was thinking about what an empty type should actually be. 18:55:17 (I don't know much about VST, as I do not use it.) 19:02:15 zzo38: generally, OpenMPT can send both midi macros and VST parameter changes. But I dunno if it could be comfortable and if there is a plugin which inputs these in place of regular note events 19:04:14 That is why I suggested using Csound to translate them 19:04:34 tswett: you may cosider that a singleton type can have an empty runtime representation (a variable of that type need not exist, and a field of that type could take up no memory in a struct). Values of an empty type at runtime, though, signal an error 19:04:39 \o/ 19:05:25 zzo38: ah. Strictly speaking, I’m not at all familiar with Csound yet. I know it’s powerful, and that’s all I know for now :D 19:09:42 (I don't know much about VST, as I do not use it.)> you can think of it as an outdated technology which is used in great numbers because it hadn’t yet been superseded completely. There are many great things (plugins and DAWs) which use VST but it’s their own merit, not VST’s 19:09:47 -!- LKoen has joined. 19:09:54 well maybe I’m biased a bit 19:17:18 There is also LADSPA (which Csound also supports), and LV2, and others, although I didn't need any of those things. 19:23:39 -!- LKoen has quit (Remote host closed the connection). 19:32:44 -!- oerjan has joined. 19:36:54 -!- AnotherTest has quit (Ping timeout: 260 seconds). 19:37:58 zzo38: yeah, AAX, AU for Mac etc.. I’m more or less familiar with VST only, though 19:41:49 -!- ais523 has joined. 19:41:52 -!- AnotherTest has joined. 19:43:26 hmm… suppose I have three integers 0 ≤ a, b, c ≤ k (for constant and fairly small k); is there a commutative function . such that we can always find 0 ≤ x, y, z ≤ k such that x.y = a, y.z = b, z.x = c? 19:43:35 (the definition of . is allowed to depend on k) 19:43:46 the answer is yes if k is prime, we can just use addition 19:43:54 however, that doesn't generalise to cycles of even length 19:44:09 i.e. w.x = a, x.y = b, y.z = c, z.w = d 19:44:39 so I'm interested if there's some operation that does (bear in mind it has to be commutative, otherwise you can just use the K combinator) 19:45:59 obviously you can't do it for cycles of length 2, so maybe it's impossible for length 4 19:46:05 -!- AnotherTest has quit (Ping timeout: 240 seconds). 19:47:35 s/addition/addition mod k/ 19:48:15 or could it be noncommutative but essentially dependent on each parameter? (x′ ≠ x => x.y ≠ x′.y & w.x ≠ w.x′) 19:49:19 not for what I'm thinking of, unless I'm missing something 19:51:05 the context is that I'm trying to reduce the space usage of (preconstructed, i.e. no write operations supported) cuckoo hashes, via spreading the value over multiple buckets and somehow recombining it at the end 19:51:36 but it's the recombination step that needs this property and I'm not sure if there's an appropriate function 19:52:15 oh, duh: if a = b, then x = z (by the pigeonhole principle) 19:52:24 err, in the original example 19:52:30 here we have if a = b, then w = y 19:52:34 then that implies that c = d 19:52:47 This is just asking for a [K]-valued symmetric matrix with a/b/c on the superdiagonal, right? 19:53:34 I don't see what you mean 19:53:42 how big is the matrix? 19:54:10 K by K 19:54:25 I guess you mean a commutative function that can be specified efficiently rather than just a lookup table. 19:54:34 nah, a lookup table is OK 19:54:41 the problem is ensuring that you can always find x, y, z 19:55:25 but there are plenty of functions that work for odd cycles, it seems (probably /any/ Abelian group operation works) 19:55:30 and I just proved that no function works for even cycles 19:55:58 Oh, I did misread what makes this interesting, never mind. 19:56:40 actually, more interesting still is the three-argument case (where we're spreading each value over three buckets) but it's a little unclear how to even formulate the problem there 19:57:48 and hmm, addition mod a non-prime does /not/ work, so it's not just arbitrary group operations that you need, there's some other condition too 19:58:53 Well, can't you still just define f(0,1) = f(1,0) = a, f(1,2) = f(2,1) = b, f(2,0) = f(0,2) = c? 19:59:07 oh, f isn't allowed to depend on a, b, c 19:59:09 -!- LKoen has joined. 19:59:27 otherwise it's easy, yes 19:59:38 Oh, OK. It just depends on k. 19:59:56 right 19:59:57 -!- LKoen has quit (Remote host closed the connection). 20:01:24 -!- erkin has quit (Ping timeout: 260 seconds). 20:02:08 I guess the condition that's needed here isn't full commutativity, but rather that it has to work both for x.y = a and y.x = a (but not necessarily with the same x, y in both cases) 20:04:53 perhaps something like x.y = 2x+y (mod a prime) 20:05:29 OK, so for values <= k, you have (k^2 + k)/2 degrees of freedom. 20:05:45 Wait, wht do you mean by not necessarily the same x, y? 20:06:18 like, the solution for x.y = a, y.z = b, z.x = c might be different from the solution for y.x = a, y.z = b, z.x = c (i.e. same inputs but different argument order) 20:23:09 ais523: your question was very confusing because you started out asking for the specific case where a,b,c are three, but k varies, in such a way that it looked to me like you were interested in when k is even. but then you changed it to adding more variables. could you please formulate what you really want? 20:23:46 oerjan: what I really want is as general as possible, but making things work for arbitrary k is less important than making it work for arbitrary cycle sizes 20:24:07 i'm asking you to make a clear statement of the problem. 20:24:12 and I'm pretty tired and haven't really got my head around the problem 20:25:19 okay 20:27:55 the "general" problem which this was reduced from was: find an operator such that given a large number of randomly generated equations consisting of variables and that operator on the left, and constants on the right, the resulting set of equations has the maximum possible chance of being solvable 20:28:29 obviously this is impossible if the set of expressions contains, say, a.b = 4 and a.b = 5, so it can't be done in general 20:28:42 as in, there's no way to make a 100% chance of solvability 20:28:45 but I'd like to get it as high as possible 20:29:38 -!- dingbat has joined. 20:29:46 so I'm initially looking at the most basic case (where the LHS is just a single use of the operator), and looking at it as a graph; the operator uses are like edges which connect the variables, which are vertices 20:30:30 if a subgraph has more edges than vertices then it's clearly impossible barring very good luck (at most a 1/k chance that it works) 20:30:42 if every subgraph has fewer edges than vertices it's trivial 20:31:10 so the only remaining case is where there are subgraphs where the number of edges and vertices are equal, but no subgraphs with more edges than vertices 20:31:14 which implies that the subgraph is a cycle 20:31:43 but it doesn't imply any particular orientation of the edges 20:35:02 OK, looks like there's an easy counterexample for a 4-cycle even in the asymmetric case: w.x=1, y.x=1, y.z=2, z.w=3 20:35:24 the point being that w.x=1 and y.x=1 together imply that w=y because by the pigeonhole principle, this operation will have to have a left and a right inverse 20:35:25 [[Special:Log/newusers]] create * 8sync * New user account 20:35:27 * w.z = 3 20:42:49 -!- wob_jonas has joined. 20:44:27 ais523: yes, that 20:44:38 it's not possible for a four-cycle because of what you said 20:44:44 yep 20:44:59 ok, so what condition are you ready to relax? 20:45:19 I think the ideal is to move the operation up to three arguments 20:45:32 but then the simplifying assumption doesn't really work 20:45:46 we just have these randomly generated equations and want an operation that maximises the chance they're solvable 21:04:40 ais523: i don't think your argument that it doesn't work for 4 is quite there, precisely because you can _not_ correct to * w.z = 3, the order is freely chosen. 21:06:22 * _cannot_ 21:07:19 oerjan: no, these are randomly generated equations, so they might have been generated as w.z = 3 21:07:28 rather than the other way round 21:07:45 still, being able to work with most sequences of directions is better than not being able to work with any of them 21:12:44 I think even a three-arg completely symmetric function can't work for a four-cycle. 21:13:35 Suppose f is three-arg completely symmetric from the same fixed domain, and for input (a,b,c,d) you want to always have (x,y,z,w) st a=f(x,y,z), b=f(y,z,w), c=f(z,w,x), d=f(w,x,y). 21:13:38 not in general, but the odds that all three arguments are involved in the same cycle becomes way lower 21:17:36 Hmm wait 21:22:27 -!- j-bot has quit (Ping timeout: 240 seconds). 21:24:52 Maybe that's actually possible with some sizes of domains, by simply taking f={(x,y,z)|>x+y+z mod k}, such as when k isn't divisible by 3 or something. 21:25:09 Maybe there you get in trouble with 6-cycles or something? I dunno. 21:26:24 wob_jonas: oh, I see; a=b implies x=w but that doesn't particularly seem to imply anything about the relationship between c and d 21:27:03 ais523: what's implied is actually that if you permute (w,x,y,z) in any way, (a,b,c,d) is permuted in the exact same way 21:27:37 as a special case, if any two in (w,x,y,z) are equal, then the corresponding two among (a,b,c,d) are equal 21:27:40 and of course {(x,y,z,w)|>(a,b,c,d)} is still bijective 21:33:36 but yes, f(x,y,z)=x+y+z works for a 4-cycle in the 3-input case (and in general addition works for an (n+1)-cycle in an n-input case) 21:38:05 ais523: yes, but you run into a problem if you have a 6-cycle and you want the output to depend on three adjacent ones among the six inputs in a symmetric way 21:38:28 and a 9-cycle too 21:38:56 ah yes, I see 21:38:56 -!- AnotherTest has joined. 21:43:05 hellais523 21:44:39 are you allowed to use a three-arg operation, but take the first, second and fourth of each four adjacent input variables as input to it in some cyclic order of the input variables? or would that not help in whatever your original problem was? 21:45:31 because I think that might work for every cycle length with the right k 21:46:19 wob_jonas: the original problem is pretty much "we have a random set of equations of a given complexity, the form/syntax is fixed but the meaning isn't, try to define the meaning to make it as solvable as possible"; if they aren't solvable we have to generate a new set of equations 21:46:47 this is part of a compression routine, and we have to count the number of rerolls, so each newly generated set is going to cost a small amount of space 21:47:49 it's an idea for a compressor that I had this morning and I'm trying to work out how theoretically viable it is 21:48:09 -!- FreeFull has quit (Ping timeout: 260 seconds). 21:48:20 -!- shachaf_ has joined. 21:48:30 -!- FreeFull has joined. 21:48:44 -!- Melvar has quit (Ping timeout: 260 seconds). 21:49:36 ais523: hmm... I don't understand how that would make a good compressor, at least if you want to find arbitrary functions rather than nice ones 21:49:50 I mean, if you have a nice function like addition or three-arg addition, then sure 21:49:54 wob_jonas: the function is hardcoded in the decompressor 21:50:03 but I need to know which one to hardcode 21:50:08 but for one with a random lookup table, I don't understand 21:50:24 even if you can compute it and its inverse efficiently because of crypto magic 21:50:36 I don't understand how it would help compress anything 21:51:06 do you know how a bloom filter works? 21:51:14 no 21:51:21 the idea is to compress hash tables using something like a cross between a bloom filter and a cuckoo hash 21:52:05 let's see… the idea of a bloom filter is that you hash the input into a set of random numbers which are a subset of a larger set 21:52:14 normally a fixed number of them (say ten) 21:52:28 then you take the union of all the resulting sets for inputs that the filter needs to return true for 21:52:34 I'm looking bloom filter up now 21:52:35 ais523: that scheme reminds me of fractal compression somehow 21:52:43 I think I've heard of that, just not under this name 21:52:58 for most inputs that you don't want a true return value for, at least one of the resulting numbers won't be in the set (not guaranteed, just likely) 21:53:05 -!- AnotherTest has quit (Ping timeout: 240 seconds). 21:53:05 -!- sleffy has quit (Ping timeout: 240 seconds). 21:53:19 it's mentioned in the very last chapter of TAOCP vol 3 I think 21:53:19 -!- arseniiv has quit (*.net *.split). 21:53:19 -!- Gregor has quit (*.net *.split). 21:53:19 -!- impomatic has quit (*.net *.split). 21:53:20 -!- lifthrasiir has quit (*.net *.split). 21:53:20 -!- APic has quit (*.net *.split). 21:53:20 -!- trn has quit (*.net *.split). 21:53:20 -!- diginet has quit (*.net *.split). 21:53:20 -!- shachaf has quit (*.net *.split). 21:53:20 -!- Yurume_______ has quit (*.net *.split). 21:54:07 -!- arseniiv has joined. 21:54:07 -!- impomatic has joined. 21:54:07 -!- lifthrasiir has joined. 21:54:07 -!- diginet has joined. 21:54:07 -!- Yurume_______ has joined. 21:54:14 -!- trn has joined. 21:54:39 -!- diginet has quit (Excess Flood). 21:54:47 -!- shachaf_ has changed nick to shachaf. 21:54:59 -!- Gregor has joined. 21:55:03 -!- diginet has joined. 21:55:44 -!- zzo38 has quit (Ping timeout: 260 seconds). 21:58:22 -!- diginet_ has joined. 21:59:05 -!- Melvar has joined. 22:00:10 -!- lifthrasiir_ has joined. 22:00:24 -!- diginet has quit (Ping timeout: 260 seconds). 22:00:24 -!- brandonson has quit (Ping timeout: 260 seconds). 22:00:24 -!- Storkman has quit (Ping timeout: 260 seconds). 22:00:31 -!- diginet_ has changed nick to diginet. 22:00:37 -!- APic has joined. 22:00:41 -!- brandonson has joined. 22:00:44 -!- Storkman has joined. 22:00:47 ais523: do you know what game and category has the largest absolute difference in time between TAS and human WR? 22:00:55 -!- impomatic has quit (Ping timeout: 267 seconds). 22:00:55 -!- lifthrasiir has quit (Remote host closed the connection). 22:12:00 -!- tswett has quit (Read error: Connection reset by peer). 22:12:40 -!- tswett has joined. 22:12:51 quintopia: how would you could games that nobody have completed in realtime? 22:12:58 but where there's a TAS completion 22:13:52 s/could/count/ 22:17:48 quintopia: not off by heart 22:18:20 it's probably going to be one of the longest TASes on tasvideos, though, or else a game with a credits warp or similar trick that can't be done in realtime 22:19:05 one of the longest tases? how would that help? 22:19:08 -!- friendlyGoat has joined. 22:19:43 a credits warp that hasn't yet been executed real time would work, but I don't know of a game like that 22:21:50 a game like nethack that has no delays so a TAS can theoretically do everything arbitrarily fast might work, but there are very few such games 22:23:28 the problem is that a game with a large difference would have to be one where there is a lot of execution that even the best speedrunner can't learn to do somewhat consistently, and in that case the game would be too tedious to be enjoyable 22:23:43 so nobody would actually realtime speedrun it 22:25:24 ‎<‎wob_jonas‎>‎ one of the longest tases? how would that help? ← if the TAS's speed gain is based on optimisation, then a longer TAS would imply a longer realtime speedrun, and by more 22:26:07 ais523: dunno, perhaps, but I think much of the length would be unavoidable waits 22:26:38 maybe you're right, I just think there must be some game with a quick credit warp that nobody can do in real time 22:26:41 it's ironic that it's hard to do pointfree programming without the "." point character <-- not true, you can use fmap hth 22:26:43 huh, I was going to guess Final Fantasy 8, but the realtime WR is actually something like 40 minutes faster 22:27:12 40 minutes faster? wth 22:27:26 for Final Fantasy 9, though, the TAS is over an hour faster 22:27:35 that's a good start 22:29:00 it could be language choice and/or platform choice, I guess 22:29:11 a language with less text and a platform with faster loading will go a long way in cutscene-heavy games 22:29:34 sure, but don't both realtime and TAS usually choose the fastest language? 22:29:44 at least when there's such a big difference 22:30:31 http://tasvideos.org/Movies-C3041Y.html this is the category of TASes with heavy skips. perhaps one of those is one with a very slow realtime record. 22:30:58 older TASes used to choose English even when Japanese was faster 22:31:15 but determining the realtime speedrun times is tricky because there's like three or four major sites collecting them 22:31:16 nowadays the rule is that language choice doesn't count against your time (when comparing runs, time lost/gained to language is ignored) 22:31:33 I see 22:31:34 so many people choose the fastest language because they think it's more fun to watch because you have to wait less, but many others choose their native language 22:32:01 I know people don't always choose the fastest language when the difference isn't too significant 22:32:11 but that's not what happens here 22:32:25 hmm, it looks like it's FF9's steal mechanics that make the TAS so much faster 22:32:38 you can get 1/256 probability steals easily in a TAS but they aren't worth going for in realtime 22:39:31 @hoggle (b -> c) -> (a1 -> a2 -> m b) -> a1 -> a2 -> m c 22:39:31 Data.Function.Tools apply2way :: (a -> b -> c) -> (d -> a) -> (d -> b) -> d -> c 22:39:31 Data.Function.Between.Lazy (^ 22:39:31 Data.Function.Between.Strict (^ 22:40:20 ais523: I see 22:40:49 curious formatting error 22:43:23 what did you say was the difference? http://tasvideos.org/3299M.html vs https://www.speedrun.com/scooby-doo_mystery_mayhem_gba#Any is again around one hour for [Tier: Vault]GBA Scooby-Doo! Mystery Mayhem 22:45:01 @hoogle (^@~) 22:45:01 Data.Function.Between.Lazy (^ 22:45:01 Data.Function.Between.Strict (^ 22:45:02 Data.Function.Between.Lazy (<^ 22:45:18 i suspect something goes wrong with the @ character 22:45:40 any other modules that have operators with @? 22:45:41 oerjan: I was wondering why some responses seemed to have truncated lines, but I didn't guess it was that character 22:45:50 i looked up the module 22:45:50 @hooble <@> 22:45:51 Control.Comonad (< 22:45:51 Control.Comonad (< 22:45:51 Reactive.Banana.Combinators (< 22:45:54 @hoogle <@> 22:45:54 Control.Comonad (< 22:45:54 Control.Comonad (< 22:45:54 Reactive.Banana.Combinators (< 22:46:03 @hoogle .@. 22:46:03 No results found 22:46:11 @hoogle -,-'-@ 22:46:11 Unknown flag: -, 22:46:14 um 22:46:29 @hoogle -- -,-'-@ 22:46:29 Unknown flag: -- -,-'-@ 22:46:50 @hoogle (-,-'-@) 22:46:50 package base 22:46:50 package bytestring 22:46:50 package containers 22:49:57 the web hoogle doesn't seem to have that package 22:51:26 ok it had comonad. the web interface doesn't have this bug 22:51:51 @tell int-e @hoogle has a bug where it cuts off when results contain @ 22:51:51 Consider it noted. 22:52:00 -!- tswett has quit (Read error: Connection reset by peer). 22:52:26 @tell int-e (the web lookup doesn't have the problem, e.g. +comonad <@> ) 22:52:27 Consider it noted. 22:52:27 -!- tswett has joined. 22:52:40 @hoogle +comonad <@> 22:52:41 Control.Comonad (< 22:52:41 Control.Comonad (< 22:54:02 let me try the one in PPCG chat 22:55:15 huh what? 22:56:43 -!- friendlyGoat has quit (Quit: Leaving). 22:57:10 it doesn't seem to be in the room 22:57:39 wob_jonas: the haskell room in PPCG's chat sometimes has a lambdabot, although it seems to be offline now. 22:57:58 I see 22:58:40 in fact i think i'm alone in the room 22:58:46 it's not a very active one 22:59:06 (the previous message was someone commenting on my quine answer) 23:00:03 -!- danieljabailey has quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in). 23:00:18 whoa, mölkky 23:00:20 -!- danieljabailey has joined. 23:02:37 `? mölkky 23:02:39 mölkky? ¯\(°​_o)/¯ 23:03:53 -!- saiya has joined. 23:03:53 -!- saiya has quit (Client Quit). 23:03:56 oerjan: Why does quine 2 use c as a dummy variable rather than s/h/o/w? 23:04:20 I mean, not that it matters. 23:04:44 shachaf: h could work, but the others would make the decimal numbers longer 23:04:52 oerjan actually cares about golfing there 23:05:20 Ah, right. 23:05:59 wob_jonas: i used s/h/o/w before i noticed the length thing. didn't think of keeping h until i'd changed them 23:06:05 * shachaf: 23:07:06 shachaf: although for quine 3, i made a point of using many more letters than necessary, to make the code easier to follow 23:07:19 -!- saiya has joined. 23:07:39 (so that each use of a letter has approximately the same meaning everywhere) 23:07:40 what's the realtime record corresponding to http://tasvideos.org/3134M.html GB Pokémon red AND blue two players on two game boys coop both collect every pokemon, glitchless? that sounds like someone must have done it realtime, but probably not quickly 23:08:33 although it's also possible that nobody has done it without accidentally invoking a glitch 23:11:33 `? password 23:11:34 The password of the month is . 23:11:45 is that the first time? 23:11:49 -!- arseniiv has quit (Quit: gone completely :o). 23:12:09 `` dowg password | grep -i redacted 23:12:12 11544:2018-05-05 learn The password of the month is . 23:12:53 `` dowg password | grep -i secret 23:12:55 No output. 23:13:00 hm 23:13:24 `dowt password 23:13:26 4901:2014-09-28 learn password is XQELEKCTHZVBDBQR \ 5001:2014-10-02 learn The password is XQELEKCTHZVBDBQR \ 5002:2014-10-02 revert \ 5006:2014-10-02 learn The password is XQELEKCTHZVBDBQR \ 5052:2014-10-14 learn The password of the month is \'PlayItSweetly,TakeMeDown,Oh,Jazzman\' \ 6625:2016-01-29 learn The password of the month is fisherman3 \ 7083:2016-03-05 learn The password 23:14:05 that was a pretty long month 23:14:32 `2 dowt password 23:14:34 2/8:word of the month is qjkxbmwvz \ 7370:2016-04-12 learn The password of the month is supercalifragilisticexpialidocious \ 7525:2016-04-24 learn The password of the month is zU0dIxy1RhtbmYoTJFigBQ \ 7526:2016-04-24 learn The password of the month is supercalifragilisticexpialidociouszU0dIxy1RhtbmYoTJFigBQ (There. Compromise.) \ 7642:2016-05-02 learn The password of the month is kOMMlIEBERmAIuNDmACHE \ 8507:201 23:15:08 -!- zzo38 has joined. 23:15:21 `n 23:15:21 3/8:6-06-17 learn The password of the month is viskalikkjesovabortsumarnatta \ 8508:2016-06-17 learn The password of the month is v\xc3\xafskAlikkjesOvab0rtsUmarnatta \ 8877:2016-07-29 learn The password of the month is late. \ 8887:2016-08-02 learn The password of the month is Strindberg \ 9030:2016-09-12 learn The password of the month is au c\xc5\x93ur de septembre \ 9130:2016-10-01 learn 23:16:30 `n 23:16:30 4/8: The password of the month is Bierstub\xc3\xab. \ 9627:2016-11-05 learn The password of the month is \xe2\x9b\x84 \ 9813:2016-12-02 learn The password of the month is lutefisk \ 9815:2016-12-02 undo -2 \ 9816:2016-12-02 revert \ 10065:2017-01-01 learn The password of the month is A\xd0\x90\xce\x91A\xd0\x90\xce\x91A\xd0\x90\xce\x91A\xd0\x90\xce\x91A\xd0\x90\xce\x91 \ 10206:2017-02-04 lea 23:17:19 `` hg cat -r 9627 wisdom/password 23:17:20 The password of the month is ⛄ 23:17:33 `icode ⛄ 23:17:34 ​[U+26C4 SNOWMAN WITHOUT SNOW] 23:17:37 of course 23:18:24 `` hg cat -r10065 wisdom/password 23:18:25 The password of the month is AАΑAАΑAАΑAАΑAАΑ 23:18:37 `n 23:18:37 5/8:rn The password of the month is n9y25ah7 \ 10373:2017-03-08 learn The password of the month is OSBDemoLap9W53! \ 10595:2017-04-09 learn The password of the month is bad \ 10898:2017-05-14 le/rn password//The password of the month is poochpoochpoochpoochpooch \ 10979:2017-06-02 learn The password of the month is out of date tdnh \ 10980:2017-06-02 revert \ 10981:2017-06-02 revert \ 11081: 23:19:31 n 23:19:39 n 23:19:44 `n 23:19:45 6/8:2017-07-11 learn The password of the month is blowin\' in the wind. \ 11155:2017-08-16 learn The password of the word is unacceptably delayed \ 11164:2017-08-22 slwd password//s, word, month, \ 11180:2017-09-02 learn The password of the month is chanterelles \ 11206:2017-10-01 learn The password of the month is revolutionary \ 11236:2017-11-04 learn The password of the month is unavailab 23:20:25 `n 23:20:26 7/8:le due to budget cuts \ 11250:2017-12-01 learn The password of the month is equally offensive to all beliefs \ 11251:2017-12-01 learn The password of the month is equally offensive to all beliefs (but not time zones) \ 11291:2017-12-31 learn The password of the month is early. \ 11345:2018-02-15 learn The password of the month is late. \ 11444:2018-03-07 learn The password of the month is Schizophren 23:20:58 `n 23:20:59 8/8:ic Lagomorph \ 11508:2018-04-14 learn The password of the month is way too late to fool anyone. \ 11509:2018-04-14 slwd password//s,.$,, \ 11544:2018-05-05 learn The password of the month is . 23:22:13 quiz: which password has been repeated 23:25:24 ``` f=wisdom/password; hg log -T "{rev} {date|isodate}\n" "$f" | head -n 60 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done 23:25:36 ``` f=wisdom/password; hg log -T "{rev} {date|isodate}\n" "$f" | head -n 333 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done | sport 23:25:54 No output. 23:26:07 No output. 23:26:39 ``` f=wisdom/password; hg log -T "{rev} {date|isodate}\n" "$f" | head -n 8 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done 23:26:44 2018-05-05: . \ 2018-04-14: way too late to fool anyone \ 2018-04-14: way too late to fool anyone. \ 2018-03-07: Schizophrenic Lagomorph \ 2018-02-15: late. \ 2017-12-31: early. \ 2017-12-01: equally offensive to all beliefs (but not time zones) \ 2017-12-01: equally offensive to all beliefs 23:27:01 ``` f=wisdom/password; hg log -T "{rev} {date|isodate}\n" "$f" | head -n 120 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done | sport 23:27:24 1/4:2018-05-05: . \ 2018-04-14: way too late to fool anyone \ 2018-04-14: way too late to fool anyone. \ 2018-03-07: Schizophrenic Lagomorph \ 2018-02-15: late. \ 2017-12-31: early. \ 2017-12-01: equally offensive to all beliefs (but not time zones) \ 2017-12-01: equally offensive to all beliefs \ 2017-11-04: unavailable due to budget cuts \ 2017-10-01: revolutionary \ 2017-09-02: chanterelles \ 2017-08-22: unacceptably delayed \ 2017-08-16: The 23:28:59 -!- Cale has quit (Read error: Connection reset by peer). 23:30:40 `n 23:30:41 2/4:password of the word is unacceptably delayed \ 2017-07-11: blowin' in the wind. \ 2017-06-02: out of date tdnh \ 2017-06-02: poochpoochpoochpoochpooch \ 2017-06-02: out of date tdnh \ 2017-05-14: poochpoochpoochpoochpooch \ 2017-04-09: bad \ 2017-03-08: OSBDemoLap9W53! \ 2017-02-04: n9y25ah7 \ 2017-01-01: AАΑAАΑAАΑAАΑAАΑ \ 2016-12-02: lutefisk \ 2016-12-02: ⛄ \ 2016-12-02: lutefisk \ 2016-11-05: ⛄ \ 2016-10-01: Bierstubë. \ 2016-09-12: a 23:31:13 huh... hackeso can be as slow to react as hackego apparently 23:31:17 `n 23:31:18 3/4:u cœur de septembre \ 2016-08-02: Strindberg \ 2016-07-29: late. \ 2016-06-17: vïskAlikkjesOvab0rtsUmarnatta \ 2016-06-17: viskalikkjesovabortsumarnatta \ 2016-05-02: kOMMlIEBERmAIuNDmACHE \ 2016-04-24: supercalifragilisticexpialidociouszU0dIxy1RhtbmYoTJFigBQ (There. Compromise.) \ 2016-04-24: zU0dIxy1RhtbmYoTJFigBQ \ 2016-04-12: supercalifragilisticexpialidocious \ 2016-03-05: qjkxbmwvz \ 2016-01-29: fisherman3 \ 2014-10-14: 'PlayItSweetly,TakeMeDow 23:31:21 `n 23:31:22 4/4:n,Oh,Jazzman' \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-10-02: password is XQELEKCTHZVBDBQR \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-09-28: password is XQELEKCTHZVBDBQR 23:31:25 `n 23:31:25 1/4:2018-05-05: . \ 2018-04-14: way too late to fool anyone \ 2018-04-14: way too late to fool anyone. \ 2018-03-07: Schizophrenic Lagomorph \ 2018-02-15: late. \ 2017-12-31: early. \ 2017-12-01: equally offensive to all beliefs (but not time zones) \ 2017-12-01: equally offensive to all beliefs \ 2017-11-04: unavailable due to budget cuts \ 2017-10-01: revolutionary \ 2017-09-02: chanterelles \ 2017-08-22: unacceptably delayed \ 2017-08-16: The 23:33:50 -!- sleffy has joined. 23:37:23 -!- ais523 has quit (Quit: quit). 23:37:28 f=wisdom/password; hg log -d "<2014-12-01" -T "{rev} {date|isodate}\n" "$f" | head -n 120 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done | sport 23:39:18 apparently it's slow for hg to start and access the repository or something 23:39:59 ``` f=wisdom/password; hg log -d "<2014-12-01" -T "{rev} {date|isodate}\n" "$f" | head -n 120 | while read r d t; do echo -n "$d: "; hg cat -r$r wisdom/password | sed "s/^The password of the month is //"; done | sport 23:40:00 oh wait 23:40:06 1/1:2014-10-14: 'PlayItSweetly,TakeMeDown,Oh,Jazzman' \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-10-02: password is XQELEKCTHZVBDBQR \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-09-28: password is XQELEKCTHZVBDBQR 23:40:06 I forgot the bkacticks 23:40:09 better 23:40:10 `n 23:40:11 1/1:2014-10-14: 'PlayItSweetly,TakeMeDown,Oh,Jazzman' \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-10-02: password is XQELEKCTHZVBDBQR \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-09-28: password is XQELEKCTHZVBDBQR 23:40:12 `n 23:40:13 1/1:2014-10-14: 'PlayItSweetly,TakeMeDown,Oh,Jazzman' \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-10-02: password is XQELEKCTHZVBDBQR \ 2014-10-02: The password is XQELEKCTHZVBDBQR \ 2014-09-28: password is XQELEKCTHZVBDBQR 23:40:17 what? 23:40:21 oh, is that the oldest entry? 23:41:09 ``` f=wisdom/password; hg log -T "{date|isodate}\n" "$f" | tac 23:41:10 2014-09-28 20:04 +0000 \ 2014-10-02 04:01 +0000 \ 2014-10-02 04:10 +0000 \ 2014-10-02 04:15 +0000 \ 2014-10-14 07:48 +0000 \ 2016-01-29 17:09 +0000 \ 2016-03-05 17:33 +0000 \ 2016-04-12 22:17 +0000 \ 2016-04-24 17:03 +0000 \ 2016-04-24 17:05 +0000 \ 2016-05-02 01:20 +0000 \ 2016-06-17 02:10 +0000 \ 2016-06-17 02:11 +0000 \ 2016-07-29 00:51 +0000 \ 2016-08-02 03:17 +0000 \ 2016-09-12 03:41 +0000 \ 2016-10-01 00:22 +0000 \ 2016-11-05 04:16 +0000 \ 2016-12-02 23:41:16 oh, that's the oldest 23:41:38 it didn't get regular until 2016 23:46:15 I suspect it's still not really regular 23:47:19 by the way, I was still thinking of the quine suite thing. I'll have to try to write a quadruple in perl, I think it's just barely possible 23:48:44 fancy 23:48:58 I couild be wrong though, and I won't find out until I write it 23:49:57 -!- brandonson has quit (Ping timeout: 260 seconds). 23:51:32 -!- brandonson has joined. 23:53:29 my current thinking is that the first one is just like eval~'nonsense of all high bytes' except the quoting mechanism might change, the second one is like sub\nb{<< x2 .v10.125\nsub\nb{<< x2 .v10.125\n\n} so it uses none of double quote or apostrophe or q, 23:53:59 sadly it uses up newline and space but then we still have tabs and two forms of quoting 23:54:59 then the third one will be something like *p=[some string literals separated by commas];print@p[some numbers separated by commas] 23:57:18 and the fourth one will have assignments to scalars like ($A=q/.../)=>($B=q/.../)=>...=>($M=q/.../^q/.../)=> where $M gets the value "print" and then finishes up with STDOUT->$M($F=>$G=>...=>$Z) which I think can catch up with itself if you use two different quote delimiters