00:03:08 <zzo38> 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:14:00 <HackEso> 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:06 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: o.O: not found
00:16:04 <boily> I need to corrupt new coworkers to the Wonderful World of Tile Shuffling.
00:23:53 <shachaf> oerjan: what's with the number 14 twh
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:16 <HackEso> 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 <HackEso> 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 <boily> puns are groaning.
01:07:07 <int-e> boily: tile shuffling?
01:10:11 <int-e> fungot: tile shuffling?
01:10:27 -!- int-e has left.
01:10:27 -!- int-e has joined.
01:10:50 <HackEso> 446) <oerjan> sllide: @ is an OS made out of only the finest vapour
01:13:55 <int-e> I guess I'll never know
01:14:36 <boily> int-ello. tile shuffling is mahjong. mahjong is good for you!
01:16:17 <fungot> boily: when a rule change is canceled. if, at
01:16:29 <boily> fungot: then, what do you think about tile shuffling?
01:16:33 <boily> fungot: September.
01:16:34 <fungot> 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 <int-e> but it requires too many players
01:17:49 -!- brandonson has quit (Ping timeout: 256 seconds).
01:19:00 <shachaf> int-e: How many players should a game require?
01:19:23 -!- brandonson has joined.
01:19:39 <int-e> For me to play it? One, perhaps two.
01:21:13 <int-e> I'm assuming boily's talking about the 4 player game rather than the solitaire that happens to use Mahjong pieces.
01:22:13 <shachaf> I've been playing some of this 2-player game recently: http://www.spyparty.com/
01:23:44 <zzo38> How many players the game require depends on the game.
01:24:20 <zzo38> Mahjong is played with four players (although there are variants for two or three players, too)
01:24:31 <shachaf> Zero-player games are the most fun, but no one has ever managed to play them.
01:26:24 <zzo38> 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 <boily> helloochaf. are people never or always playing zero player games?
01:27:08 <int-e> boily: noone is playing them all the time
01:27:25 <zzo38> 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 <shachaf> If you have a negative buddy, sometimes you can play a zero-player game together.
01:28:15 <int-e> I suppose the universe is a zero player game
01:28:43 <doesthiswork> 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 <wob_jonas> int-e: no, the universe is an all-player game. everyone in the universe is playing it.
01:29:20 <int-e> wob_jonas: they are mistaken, they're merely game tokens
01:30:04 <wob_jonas> int-e: https://stickman.qntm.org/comics.php?n=924
01:32:10 <int-e> it's ironic, everybody wants to be a player, but is getting played instead.
01:32:57 <zzo38> 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 <Sgeo__> Oh dear god qntm made a webcomic
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 <esowiki> [[Pinkcode]] https://esolangs.org/w/index.php?diff=54987&oldid=54981 * Impomatic * (+386)
06:45:45 <esowiki> [[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 <impomatic> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> This is still re https://codegolf.stackexchange.com/questions/163607/write-a-quine-suite
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 <arseniiv> 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 <wob_jonas> *p=["foo","bar"]; isn't even longer than @p=("foo","bar"); so I might not even be losing length by omitting parenthesis
13:27:12 -!- LKoen has joined.
13:28:35 <wob_jonas> 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 <esowiki> [[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 <zzo38> 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 <zzo38> (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:25:38 <zzo38> 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 <arseniiv> yeah, the problem is, today tunings aren’t first-class and are local to a processing unit
17:34:22 <arseniiv> 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 <arseniiv> and also it seems Xenharmonic wiki is supposed to move in near future (July)
17:37:38 -!- brandonson has joined.
17:46:38 -!- LKoen has joined.
17:50:01 <esowiki> [[Special:Log/newusers]] create * Voltage2007 * New user account
17:53:00 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=54989&oldid=54986 * Voltage2007 * (+266) /* Introductions */
17:55:13 <esowiki> [[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 <zzo38> 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 <arseniiv> 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 <tswett> 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:09 <zzo38> 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 <tswett> 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 <tswett> And I don't remember what I was thinking about what an empty type should actually be.
18:55:17 <zzo38> (I don't know much about VST, as I do not use it.)
19:02:15 <arseniiv> 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 <zzo38> That is why I suggested using Csound to translate them
19:04:34 <arseniiv> 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:05:25 <arseniiv> 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 <arseniiv> (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:17:18 <zzo38> 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 <arseniiv> 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 <ais523> 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 <ais523> (the definition of . is allowed to depend on k)
19:43:46 <ais523> the answer is yes if k is prime, we can just use addition
19:43:54 <ais523> however, that doesn't generalise to cycles of even length
19:44:09 <ais523> i.e. w.x = a, x.y = b, y.z = c, z.w = d
19:44:39 <ais523> 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 <ais523> 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 <ais523> s/addition/addition mod k/
19:48:15 <arseniiv> or could it be noncommutative but essentially dependent on each parameter? (x′ ≠ x => x.y ≠ x′.y & w.x ≠ w.x′)
19:49:19 <ais523> not for what I'm thinking of, unless I'm missing something
19:51:05 <ais523> 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 <ais523> but it's the recombination step that needs this property and I'm not sure if there's an appropriate function
19:52:15 <ais523> oh, duh: if a = b, then x = z (by the pigeonhole principle)
19:52:24 <ais523> err, in the original example
19:52:30 <ais523> here we have if a = b, then w = y
19:52:34 <ais523> then that implies that c = d
19:52:47 <shachaf> This is just asking for a [K]-valued symmetric matrix with a/b/c on the superdiagonal, right?
19:53:34 <ais523> I don't see what you mean
19:53:42 <ais523> how big is the matrix?
19:54:25 <shachaf> I guess you mean a commutative function that can be specified efficiently rather than just a lookup table.
19:54:34 <ais523> nah, a lookup table is OK
19:54:41 <ais523> the problem is ensuring that you can always find x, y, z
19:55:25 <ais523> but there are plenty of functions that work for odd cycles, it seems (probably /any/ Abelian group operation works)
19:55:30 <ais523> and I just proved that no function works for even cycles
19:55:58 <shachaf> Oh, I did misread what makes this interesting, never mind.
19:56:40 <ais523> 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 <ais523> 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 <shachaf> 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 <ais523> oh, f isn't allowed to depend on a, b, c
19:59:09 -!- LKoen has joined.
19:59:27 <ais523> otherwise it's easy, yes
19:59:38 <shachaf> Oh, OK. It just depends on k.
19:59:57 -!- LKoen has quit (Remote host closed the connection).
20:01:24 -!- erkin has quit (Ping timeout: 260 seconds).
20:02:08 <ais523> 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 <ais523> perhaps something like x.y = 2x+y (mod a prime)
20:05:29 <shachaf> OK, so for values <= k, you have (k^2 + k)/2 degrees of freedom.
20:05:45 <shachaf> Wait, wht do you mean by not necessarily the same x, y?
20:06:18 <ais523> 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 <oerjan> 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 <ais523> 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 <oerjan> i'm asking you to make a clear statement of the problem.
20:24:12 <ais523> and I'm pretty tired and haven't really got my head around the problem
20:27:55 <ais523> 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 <ais523> 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 <ais523> as in, there's no way to make a 100% chance of solvability
20:28:45 <ais523> but I'd like to get it as high as possible
20:29:38 -!- dingbat has joined.
20:29:46 <ais523> 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 <ais523> 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 <ais523> if every subgraph has fewer edges than vertices it's trivial
20:31:10 <ais523> 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 <ais523> which implies that the subgraph is a cycle
20:31:43 <ais523> but it doesn't imply any particular orientation of the edges
20:35:02 <ais523> 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 <ais523> 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 <esowiki> [[Special:Log/newusers]] create * 8sync * New user account
20:42:49 -!- wob_jonas has joined.
20:44:38 <wob_jonas> it's not possible for a four-cycle because of what you said
20:44:59 <wob_jonas> ok, so what condition are you ready to relax?
20:45:19 <ais523> I think the ideal is to move the operation up to three arguments
20:45:32 <ais523> but then the simplifying assumption doesn't really work
20:45:46 <ais523> we just have these randomly generated equations and want an operation that maximises the chance they're solvable
21:04:40 <oerjan> 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:07:19 <ais523> oerjan: no, these are randomly generated equations, so they might have been generated as w.z = 3
21:07:28 <ais523> rather than the other way round
21:07:45 <ais523> 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 <wob_jonas> I think even a three-arg completely symmetric function can't work for a four-cycle.
21:13:35 <wob_jonas> 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 <ais523> not in general, but the odds that all three arguments are involved in the same cycle becomes way lower
21:22:27 -!- j-bot has quit (Ping timeout: 240 seconds).
21:24:52 <wob_jonas> 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 <wob_jonas> Maybe there you get in trouble with 6-cycles or something? I dunno.
21:26:24 <ais523> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> and of course {(x,y,z,w)|>(a,b,c,d)} is still bijective
21:33:36 <ais523> 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 <wob_jonas> 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:56 -!- AnotherTest has joined.
21:44:39 <wob_jonas> 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 <wob_jonas> because I think that might work for every cycle length with the right k
21:46:19 <ais523> 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 <ais523> 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 <ais523> 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 <wob_jonas> 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 <wob_jonas> I mean, if you have a nice function like addition or three-arg addition, then sure
21:49:54 <ais523> wob_jonas: the function is hardcoded in the decompressor
21:50:03 <ais523> but I need to know which one to hardcode
21:50:08 <wob_jonas> but for one with a random lookup table, I don't understand
21:50:24 <wob_jonas> even if you can compute it and its inverse efficiently because of crypto magic
21:50:36 <wob_jonas> I don't understand how it would help compress anything
21:51:06 <ais523> do you know how a bloom filter works?
21:51:21 <ais523> the idea is to compress hash tables using something like a cross between a bloom filter and a cuckoo hash
21:52:05 <ais523> 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 <ais523> normally a fixed number of them (say ten)
21:52:28 <ais523> then you take the union of all the resulting sets for inputs that the filter needs to return true for
21:52:35 <quintopia> ais523: that scheme reminds me of fractal compression somehow
21:52:43 <wob_jonas> I think I've heard of that, just not under this name
21:52:58 <ais523> 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 <wob_jonas> 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 <quintopia> 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 <wob_jonas> quintopia: how would you could games that nobody have completed in realtime?
22:12:58 <wob_jonas> but where there's a TAS completion
22:17:48 <ais523> quintopia: not off by heart
22:18:20 <ais523> 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 <wob_jonas> one of the longest tases? how would that help?
22:19:08 -!- friendlyGoat has joined.
22:19:43 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> so nobody would actually realtime speedrun it
22:25:24 <ais523> <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 <wob_jonas> ais523: dunno, perhaps, but I think much of the length would be unavoidable waits
22:26:38 <wob_jonas> 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 <oerjan> <wob_jonas> 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 <ais523> huh, I was going to guess Final Fantasy 8, but the realtime WR is actually something like 40 minutes faster
22:27:26 <ais523> for Final Fantasy 9, though, the TAS is over an hour faster
22:29:00 <ais523> it could be language choice and/or platform choice, I guess
22:29:11 <ais523> a language with less text and a platform with faster loading will go a long way in cutscene-heavy games
22:29:34 <wob_jonas> sure, but don't both realtime and TAS usually choose the fastest language?
22:29:44 <wob_jonas> at least when there's such a big difference
22:30:31 <wob_jonas> 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 <ais523> older TASes used to choose English even when Japanese was faster
22:31:15 <wob_jonas> but determining the realtime speedrun times is tricky because there's like three or four major sites collecting them
22:31:16 <ais523> 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:34 <ais523> 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 <wob_jonas> I know people don't always choose the fastest language when the difference isn't too significant
22:32:25 <ais523> hmm, it looks like it's FF9's steal mechanics that make the TAS so much faster
22:32:38 <ais523> you can get 1/256 probability steals easily in a TAS but they aren't worth going for in realtime
22:39:31 <oerjan> @hoggle (b -> c) -> (a1 -> a2 -> m b) -> a1 -> a2 -> m c
22:39:31 <lambdabot> Data.Function.Tools apply2way :: (a -> b -> c) -> (d -> a) -> (d -> b) -> d -> c
22:40:49 <oerjan> curious formatting error
22:43:23 <wob_jonas> 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:18 <oerjan> i suspect something goes wrong with the @ character
22:45:40 <oerjan> any other modules that have operators with @?
22:45:41 <wob_jonas> oerjan: I was wondering why some responses seemed to have truncated lines, but I didn't guess it was that character
22:45:50 <oerjan> i looked up the module
22:49:57 <oerjan> the web hoogle doesn't seem to have that package
22:51:26 <oerjan> ok it had comonad. the web interface doesn't have this bug
22:51:51 <oerjan> @tell int-e @hoogle has a bug where it cuts off when results contain @
22:52:00 -!- tswett has quit (Read error: Connection reset by peer).
22:52:26 <oerjan> @tell int-e (the web lookup doesn't have the problem, e.g. +comonad <@> )
22:52:27 -!- tswett has joined.
22:54:02 <oerjan> let me try the one in PPCG chat
22:56:43 -!- friendlyGoat has quit (Quit: Leaving).
22:57:10 <oerjan> it doesn't seem to be in the room
22:57:39 <oerjan> wob_jonas: the haskell room in PPCG's chat sometimes has a lambdabot, although it seems to be offline now.
22:58:40 <oerjan> in fact i think i'm alone in the room
22:58:46 <oerjan> it's not a very active one
22:59:06 <oerjan> (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:20 -!- danieljabailey has joined.
23:03:53 -!- saiya has joined.
23:03:53 -!- saiya has quit (Client Quit).
23:03:56 <shachaf> oerjan: Why does quine 2 use c as a dummy variable rather than s/h/o/w?
23:04:20 <shachaf> I mean, not that it matters.
23:04:44 <wob_jonas> shachaf: h could work, but the others would make the decimal numbers longer
23:04:52 <wob_jonas> oerjan actually cares about golfing there
23:05:59 <oerjan> 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:07:06 <oerjan> 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 <oerjan> (so that each use of a letter has approximately the same meaning everywhere)
23:07:40 <wob_jonas> 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 <wob_jonas> although it's also possible that nobody has done it without accidentally invoking a glitch
23:11:34 <HackEso> The password of the month is <redacted>.
23:11:45 <oerjan> is that the first time?
23:11:49 -!- arseniiv has quit (Quit: gone completely :o).
23:12:09 <oerjan> `` dowg password | grep -i redacted
23:12:12 <HackEso> 11544:2018-05-05 <int-̈e> learn The password of the month is <redacted>.
23:12:53 <oerjan> `` dowg password | grep -i secret
23:13:26 <HackEso> 4901:2014-09-28 <mroman̈_> learn password is XQELEKCTHZVBDBQR \ 5001:2014-10-02 <oerjän> learn The password is XQELEKCTHZVBDBQR \ 5002:2014-10-02 <oerjän> revert \ 5006:2014-10-02 <oerjän> learn The password is XQELEKCTHZVBDBQR \ 5052:2014-10-14 <mromän> learn The password of the month is \'PlayItSweetly,TakeMeDown,Oh,Jazzman\' \ 6625:2016-01-29 <oerjän> learn The password of the month is fisherman3 \ 7083:2016-03-05 <int-̈e> learn The password
23:14:05 <oerjan> that was a pretty long month
23:14:34 <HackEso> 2/8:word of the month is qjkxbmwvz \ 7370:2016-04-12 <oerjän> learn The password of the month is supercalifragilisticexpialidocious \ 7525:2016-04-24 <int-̈e> learn The password of the month is zU0dIxy1RhtbmYoTJFigBQ \ 7526:2016-04-24 <gameman̈j> learn The password of the month is supercalifragilisticexpialidociouszU0dIxy1RhtbmYoTJFigBQ (There. Compromise.) \ 7642:2016-05-02 <oerjän> learn The password of the month is kOMMlIEBERmAIuNDmACHE \ 8507:201
23:15:08 -!- zzo38 has joined.
23:15:21 <HackEso> 3/8:6-06-17 <oerjän> learn The password of the month is viskalikkjesovabortsumarnatta \ 8508:2016-06-17 <oerjän> learn The password of the month is v\xc3\xafskAlikkjesOvab0rtsUmarnatta \ 8877:2016-07-29 <oerjän> learn The password of the month is late. \ 8887:2016-08-02 <oerjän> learn The password of the month is Strindberg \ 9030:2016-09-12 <oerjän> learn The password of the month is au c\xc5\x93ur de septembre \ 9130:2016-10-01 <oerjän> learn
23:16:30 <HackEso> 4/8: The password of the month is Bierstub\xc3\xab. \ 9627:2016-11-05 <oerjän> learn The password of the month is \xe2\x9b\x84 \ 9813:2016-12-02 <oerjän> learn The password of the month is lutefisk \ 9815:2016-12-02 <shachäf> undo -2 \ 9816:2016-12-02 <shachäf> revert \ 10065:2017-01-01 <oerjän> 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 <int-̈e> lea
23:17:19 <oerjan> `` hg cat -r 9627 wisdom/password
23:17:20 <HackEso> The password of the month is ⛄
23:17:34 <HackEso> [U+26C4 SNOWMAN WITHOUT SNOW]
23:18:24 <oerjan> `` hg cat -r10065 wisdom/password
23:18:25 <HackEso> The password of the month is AАΑAАΑAАΑAАΑAАΑ
23:18:37 <HackEso> 5/8:rn The password of the month is n9y25ah7 \ 10373:2017-03-08 <int-̈e> learn The password of the month is OSBDemoLap9W53! \ 10595:2017-04-09 <oerjän> learn The password of the month is bad \ 10898:2017-05-14 <boil̈y> le/rn password//The password of the month is poochpoochpoochpoochpooch \ 10979:2017-06-02 <oerjän> learn The password of the month is out of date tdnh \ 10980:2017-06-02 <shachäf> revert \ 10981:2017-06-02 <shachäf> revert \ 11081:
23:19:45 <HackEso> 6/8:2017-07-11 <int-̈e> learn The password of the month is blowin\' in the wind. \ 11155:2017-08-16 <oerjän> learn The password of the word is unacceptably delayed \ 11164:2017-08-22 <oerjän> slwd password//s, word, month, \ 11180:2017-09-02 <oerjän> learn The password of the month is chanterelles \ 11206:2017-10-01 <oerjän> learn The password of the month is revolutionary \ 11236:2017-11-04 <shachäf> learn The password of the month is unavailab
23:20:26 <HackEso> 7/8:le due to budget cuts \ 11250:2017-12-01 <oerjän> learn The password of the month is equally offensive to all beliefs \ 11251:2017-12-01 <oerjän> learn The password of the month is equally offensive to all beliefs (but not time zones) \ 11291:2017-12-31 <int-̈e> learn The password of the month is early. \ 11345:2018-02-15 <int-̈e> learn The password of the month is late. \ 11444:2018-03-07 <oerjän> learn The password of the month is Schizophren
23:20:59 <HackEso> 8/8:ic Lagomorph \ 11508:2018-04-14 <oerjän> learn The password of the month is way too late to fool anyone. \ 11509:2018-04-14 <oerjän> slwd password//s,.$,, \ 11544:2018-05-05 <int-̈e> learn The password of the month is <redacted>.
23:22:13 <oerjan> quiz: which password has been repeated
23:25:24 <wob_jonas> ``` 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 <wob_jonas> ``` 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:26:39 <wob_jonas> ``` 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 <HackEso> 2018-05-05: <redacted>. \ 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 <wob_jonas> ``` 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 <HackEso> 1/4:2018-05-05: <redacted>. \ 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:41 <HackEso> 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 <wob_jonas> huh... hackeso can be as slow to react as hackego apparently
23:31:18 <HackEso> 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:22 <HackEso> 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 <HackEso> 1/4:2018-05-05: <redacted>. \ 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 <wob_jonas> 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 <wob_jonas> apparently it's slow for hg to start and access the repository or something
23:39:59 <wob_jonas> ``` 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:06 <HackEso> 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:11 <HackEso> 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:13 <HackEso> 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:41:09 <wob_jonas> ``` f=wisdom/password; hg log -T "{date|isodate}\n" "$f" | tac
23:41:10 <HackEso> 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:38 <oerjan> it didn't get regular until 2016
23:46:15 <wob_jonas> I suspect it's still not really regular
23:47:19 <wob_jonas> 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:58 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> sadly it uses up newline and space but then we still have tabs and two forms of quoting
23:54:59 <wob_jonas> 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 <wob_jonas> 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