←2017-10-20 2017-10-21 2017-10-22→ ↑2017 ↑all
00:02:16 -!- augur_ has joined.
00:05:09 -!- augur has quit (Ping timeout: 246 seconds).
00:09:34 -!- augur_ has quit (Ping timeout: 252 seconds).
00:09:49 -!- augur has joined.
00:56:47 -!- sleffy has quit (Ping timeout: 248 seconds).
01:22:39 -!- oerjan has joined.
01:25:30 -!- Bowserinator has quit (Remote host closed the connection).
01:44:03 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:53:58 -!- moony has joined.
02:17:11 -!- augur has quit (Ping timeout: 246 seconds).
02:18:59 -!- Bowserinator has joined.
02:19:41 -!- Bowserinator has changed nick to Guest43044.
02:20:13 -!- Guest43044 has changed nick to Bowserinator.
02:20:14 -!- Bowserinator has quit (Changing host).
02:20:14 -!- Bowserinator has joined.
02:53:59 -!- ais523 has joined.
02:55:58 -!- augur has joined.
02:57:49 <shachaf> `? hmph
02:58:01 -!- ais523 has quit (Remote host closed the connection).
02:58:18 <shachaf> LackEgo
02:59:11 -!- ais523 has joined.
03:00:34 -!- doesthiswork has joined.
03:09:58 -!- Cthulhux has quit (Ping timeout: 252 seconds).
03:10:31 -!- Cthulhux has joined.
03:28:59 -!- imode has joined.
03:32:55 -!- trn has quit (Remote host closed the connection).
03:35:01 -!- hppavilion[1] has joined.
03:53:56 -!- trn has joined.
04:22:24 -!- augur has quit (Ping timeout: 246 seconds).
04:44:07 <zzo38> What can you think about this experimental compression algorithm for 16 colour pictures? http://forums.nesdev.com/viewtopic.php?p=206353#p206353 I have implemented it; in that forum you can also see the picture they gave as an example, and my results with it.
04:45:14 <ais523> zzo38: this is basically a huffman coding problem; the ideal run length encoding format would be based on the probability distribution of run lengths
04:45:39 <ais523> (arithmetic coding would be the "ideal" in terms of saving size, but on a NES it would probably require too much ROM space to write a decoder for it)
04:47:46 <zzo38> Yes, I know that, although somehow psycopathicteen suggested this way, so that is what I implemented. Of course if it does base on probability distribution, then those Huffman tables will also need to be stored.
04:48:13 <ais523> right
04:48:28 <ais523> this encoding basically says that 1 and 2 are very likely (50% and 25% respectively) and longer runs much rarer
04:49:12 <ais523> the run length encoding used by bzip2 is probably even denser for that distribution, it exploits the fact that you can't have two runs of the same character in a row
04:49:32 <ais523> the way it works is that in order to write a run of one character, you just write it, in order to write a run of two characters, you write it twice
04:49:45 <ais523> but for a run of three or more, you write the character three times followed by the repeat count
04:50:07 <ais523> the encoding knows whether to expect a repeat count by seeing if it just saw three of the same character
04:50:11 <zzo38> The encoding specified there already can't have two runs of the same character in a row; perhaps read http://forums.nesdev.com/viewtopic.php?p=206306#p206306 for some related context (the previous version)
04:51:53 <zzo38> "Each color would have a list of the most to least frequent adjacent color (excluding itself) with a hardcoded huffman tree."
04:52:33 <zzo38> So the format actually makes it impossible to represent two runs of the same character in a row.
04:53:44 <ais523> ah right
04:58:04 <zzo38> The implementation I have made has type 0 as the end marker instead of type 4 (since it is simply a 2-bit number), always stores the first pixel uncompressed as 4-bits (it look like they may have forgotten to mention how to store the first pixel, I suppose), and has a 42 byte header (longer if the palette is included in the output).
04:58:43 <zzo38> (The header specifies the tile size and the five most common colours to come next after each of the sixteen colours.)
04:59:41 <zzo38> (Of course you can then strip out the header if you do not need it.)
05:11:25 -!- contrapumpkin has quit (Ping timeout: 258 seconds).
05:14:06 -!- contrapumpkin has joined.
05:31:41 <imode> so. NDF is equivalent to petri nets, in that it isn't TC without some kind of check for zero.
05:51:33 -!- sleffy has joined.
05:52:47 -!- puckipedia has quit (Read error: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac).
05:53:01 -!- puckipedia has joined.
05:56:23 -!- jaboja has quit (Remote host closed the connection).
06:18:33 -!- erkin has joined.
07:07:52 <Slereah> What's the best representation for quantum states for computation
07:08:02 <Slereah> Real and imaginary part or polar coordinates
07:30:00 <zzo38> How is NDF working?
07:30:06 <zzo38> What is NDF?
07:36:35 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
07:49:37 -!- sleffy has quit (Ping timeout: 248 seconds).
07:52:52 <imode> zzo38: NDF = nondeterministic fractran.
07:53:18 <imode> meaning instead of there being a well-defined rule order (rule 1 comes before rule 2, rule 2 before rule 3, etc.), you can execute any valid rule any time.
08:00:32 -!- doesthiswork has quit (Quit: Leaving.).
08:15:57 -!- augur has joined.
08:16:24 -!- augur has quit (Remote host closed the connection).
08:17:41 <ais523> what about probabilistic Fractran (where each rule is equally likely to run), can you make that work with probability 1?
08:22:25 <imode> ais523: well, it's essentially still NDF. the only way you could make it work is if you had some method of enforcing ordering to the rules.
08:23:01 <imode> then it'd be turing complete, but from what I can see, it's not possible without a check to see if a given register is zero. petri nets have the same problem (and have mostly the same base, multiset rewriting)
08:23:20 <imode> this is why inhibitor arcs are a common extension to make them turing complete.
08:25:08 <imode> but I'm wondering if there's some dumb way to manipulate register checks. the only thing you're lacking is a check for zero, but if you can turn that into a check for one and shift all of your other checks up by one, you "technically" have the same functionality, only with the ability to determine whether a register is in a default state (i.e symbolically empty).
08:30:12 <ais523> imode: in this case there is a zero test, but a probabilistic one
08:30:31 <ais523> you can have a rule that's unlikely to run if a given value is nonzero because there'd be many more alternatives
08:30:43 <imode> hm.
08:30:56 <imode> that's an interesting entry point.
08:31:44 <imode> you might be able to make that work, but I like going with "asshole fractran", where if you can choose the rule that moves you into the next symbolic state, you run with it. :P
08:32:58 <ais523> probabilistic fractran is quite close to real-life systems like biochemistry, so it'd be nice if it were TC
08:33:36 <imode> what's been confusing me is that, somehow, P systems are turing complete.
08:34:04 <imode> while NDF is apparently not, but P systems seem to be equivalent to NDF.
08:34:29 <imode> membrane dissolution corresponds to flag changes and thus state changes.
08:35:32 <imode> though to be honest I can't tell whether P systems emphasize maximal rule application (i.e all possible rules are applied at once before you update the state) or some other weird application method.
09:18:09 -!- imode has quit (Ping timeout: 248 seconds).
09:47:37 -!- ais523 has quit (Quit: quit).
09:51:42 -!- oerjan has quit (Quit: Nite).
10:38:29 -!- lezsakdomi has joined.
10:51:05 -!- Bowserinator has quit (Quit: ZNC Sucks >_>).
12:06:03 -!- AnotherTest has joined.
12:12:35 -!- AnotherTest has quit (Ping timeout: 240 seconds).
12:35:12 -!- LKoen has joined.
12:37:00 -!- AnotherTest has joined.
12:37:46 -!- Phantom_Hoover has joined.
12:37:46 -!- Phantom_Hoover has quit (Changing host).
12:37:46 -!- Phantom_Hoover has joined.
12:38:00 -!- jaboja has joined.
13:09:40 -!- jaboja has quit (Ping timeout: 255 seconds).
13:20:29 -!- boily has joined.
13:37:30 <boily> `5 w
13:37:35 <boily> @massages-loud
13:37:35 <lambdabot> \oren\ said 14h 25m 8s ago: https://i.redd.it/pj7ssi2nwzsz.jpg
13:38:23 <boily> \oren\: ヘ\\オレン\!www
13:39:21 * boily lightly, persistently, precisely mapoles fizzie. fizziello. please HackEgo PLZKTHXHTH
13:47:21 <fizzie> Huhwha.
13:48:05 <int-e> ^style
13:48:05 <fungot> 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
13:48:08 <fizzie> It's done the "socat 100% CPU use" thing *again*.
13:48:29 <fizzie> I will poke it with a stick.
13:48:32 -!- HackEgo has joined.
13:48:35 <int-e> fizzie: that bug is fixed in the repo!
13:48:42 <fizzie> int-e: Was it?
13:49:18 <int-e> but glad I'm not the only one who was bitten by this
13:50:52 <int-e> hmm, let me try to reconstruct
13:51:35 <int-e> "2017-01-25: Socat version 1.7.3.2 fixes uninterruptable hang / CPU loop on host resolution problems"
13:53:28 <int-e> fizzie: http://repo.or.cz/socat.git/commit/6b596b8852d8fad2675894e3ceb18a04801eaf23
13:53:57 <int-e> (it's still a bit worrying that there would be a SIGSEGV in the first place)
13:55:05 <int-e> And, apparently, lambdabot is still using 1.7.3.1 hmm. I should do something about that.
13:55:31 -!- jaboja has joined.
13:56:53 <fizzie> Hmm. "socat version 1.7.2.4+sigfix"
13:57:19 <fizzie> ...except this is probably the socat in the HackEgo chroot...
13:57:49 -!- AnotherTest has quit (Ping timeout: 255 seconds).
13:57:50 <fizzie> Which seems to be the same.
13:58:33 <boily> `thanks fizzie
13:58:39 <HackEgo> Thanks, fizzie. Thizzie.
13:59:41 <int-e> so what does the +sigfix mean...
14:00:47 -!- doesthiswork has joined.
14:02:01 <int-e> (It does sound like it could be the right thing, but I bet socat does more than one thing with signals.)
14:03:04 -!- lambdabot has quit (Remote host closed the connection).
14:06:05 -!- lambdabot has joined.
14:06:09 -!- boily has quit (Quit: CAPABLE CHICKEN).
14:06:10 <int-e> @bot
14:06:17 <lambdabot> :)
14:06:25 -!- int-e has left ("SALAD CHICKEN").
14:06:25 -!- int-e has joined.
14:06:43 -!- atslash has joined.
14:34:17 <fizzie> int-e: Not sure, the deb version number doesn't mention the "sigfix", so I can't tell from the changelog. Though there is an entry saying "Backport upstream fix to prevent DoS with fork, fixes CVE-2015-1379 (closes: #776234)", and *that* bug says "socats signal handler implementations are not asnyc-signal-safe", so it's probably that.
14:35:02 <fizzie> I should just upgrade that box from jessie to stretch.
14:39:50 <int-e> fizzie: that description sounds like http://repo.or.cz/socat.git/commit/2af0495cc6534a08d0783a1613d6c9a488ab97e6 ... and it looks like that patch is what introduced the infinite loop via the SIGSEGV handler. (If the SIGSEGV handler returns without disabling itself, and without doing any dirty platform-specific fixups, then it will immediately trigger again.)
14:41:06 <int-e> Anyway, stretch ships 1.7.3.1, which is still affected. I installed the .deb from sid on stretch...
14:43:01 -!- jaboja has quit (Ping timeout: 240 seconds).
15:02:07 <int-e> fizzie: err, never mind. the stretch version is fine; it includes a patch for the problem.
15:02:27 -!- doesthiswork has quit (Quit: Leaving.).
15:17:54 -!- ATMunn has quit (Read error: Connection reset by peer).
15:17:58 -!- ATMunn_ has joined.
15:18:21 -!- ATMunn_ has changed nick to ATMunn.
15:31:24 -!- ais523 has joined.
15:33:17 -!- AnotherTest has joined.
16:11:31 -!- sleffy has joined.
16:48:17 -!- atslash has quit (Ping timeout: 248 seconds).
16:48:40 -!- atslash has joined.
16:56:03 -!- LKoen has quit (Remote host closed the connection).
16:57:46 -!- imode has joined.
17:08:28 -!- sleffy has quit (Ping timeout: 240 seconds).
17:26:37 -!- LKoen has joined.
17:30:24 -!- ais523 has quit (Remote host closed the connection).
17:31:35 -!- ais523 has joined.
17:33:09 <quintopia> hellais523
17:36:37 -!- sleffy has joined.
17:41:19 -!- jaboja has joined.
17:51:49 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:03:20 -!- atslash has quit (Quit: This computer has gone to sleep).
18:04:07 -!- LKoen has quit (Remote host closed the connection).
18:20:04 -!- iovoid has joined.
18:20:09 -!- iovoid has quit (Changing host).
18:20:09 -!- iovoid has joined.
18:25:08 -!- erkin has quit (Ping timeout: 240 seconds).
18:35:42 -!- erkin has joined.
18:43:41 -!- jaboja has quit (Ping timeout: 240 seconds).
18:51:41 -!- moony has changed nick to nvm.
18:58:49 * ais523 has an idea for an esolang
19:00:11 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=53233&oldid=53222 * Ais523 * (+18) /* C */ +[[Countercall]]
19:09:07 -!- [io] has joined.
19:09:31 -!- [io] has quit (Changing host).
19:09:31 -!- [io] has joined.
19:09:31 -!- [io] has changed nick to Guest64997.
19:10:40 -!- jaboja has joined.
19:10:41 -!- iovoid has quit (Ping timeout: 248 seconds).
19:10:53 -!- Guest64997 has changed nick to iovoid.
19:11:06 <HackEgo> [wiki] [[Countercall]] N https://esolangs.org/w/index.php?oldid=53234 * Ais523 * (+2738) new language!
19:11:42 <HackEgo> [wiki] [[User:Ais523]] https://esolangs.org/w/index.php?diff=53235&oldid=52144 * Ais523 * (+17) +[[Countercall]]
19:11:56 <ais523> it's nice to have an esolang idea and make it into a finished esolang-documentation in under 20 minutes
19:12:57 <Slereah> What's a good way to implement quantum states on a simulation
19:13:18 <Slereah> It's a bit hard due to the possible entangling
19:14:11 <Slereah> I'm thinking maybe every qubit is a list of states, and every of those states has a list of pointers to other states
19:15:21 -!- jaboja has quit (Ping timeout: 240 seconds).
19:16:03 -!- atslash has joined.
19:16:17 <Slereah> So that [|0> x |1> + |1> x |0>] would be something like two qubits defined as [ [0, ptr], [1, ptr] ] and [ [1, ptr], [0, ptr] ]
19:16:32 <Slereah> And each pointer points to the appropriate state it is entangled to
19:17:10 <zzo38> One way is to use a full state vector, but then it becomes larger; it is 2 to the power of however many bits.
19:17:32 <Slereah> Full state vector sounds unwieldy to use, especially if I want to implement registers
19:17:57 -!- ^io has joined.
19:18:02 -!- ^io has quit (Changing host).
19:18:02 -!- ^io has joined.
19:18:06 <zzo38> Yes, I think it is unwieldy, but I don't know how well any other way will work, either.
19:18:27 <Slereah> Plus I'm guessing that most states will be either not entangled at all or just entangled to one other state
19:18:39 -!- iovoid has quit (Killed (wolfe.freenode.net (Nickname regained by services))).
19:18:39 -!- ^io has changed nick to iovoid.
19:18:50 <Slereah> I dunno, do you think the idea I proposed would work?
19:19:27 <Slereah> Well i guess the pointer should be a list of pointers or something a bit more complex, in case there's three or more states involved
19:20:59 <FireFly> Hmm
19:30:57 <Slereah> Hm, wait
19:31:01 <Slereah> I guess it should be more
19:31:21 <Slereah> [ [0, 1], ptr ] and [ [1, 0], ptr ]
19:31:22 <j-bot> Slereah: [ (0 , 1 ] , ptr ] and [ [ 1 , 0 ] , ptr ])
19:31:27 <Slereah> Too slow!
19:31:35 <Slereah> heheh
19:32:07 <Slereah> Or more generally [ state, [ptr1, ptr2, ...] ]
19:32:26 <FireFly> ais523: so adding a constant or multiplying a positive counter by a constant seems straightforward at least
19:32:45 <ais523> FireFly: yes
19:33:16 <ais523> hmm, maybe a multiply+divmod construction is the way to go? implementing divmod in this seems like a nightmare though
19:33:28 <FireFly> same for running a procedure C+constant or C-constant iterations
19:33:46 <Slereah> Wait
19:33:54 <FireFly> yeah, it does, I was trying to think of a way to do it but it doesn't seem particularly easy
19:33:56 <Slereah> I think the general one would be like....
19:34:19 <Slereah> [ [state1, state2, ...], [ptr1, ptr2, ...] ]
19:34:20 <j-bot> Slereah: |spelling error
19:34:20 <j-bot> Slereah: | [state1, state2, ...], [ptr1, ptr2, ...] ]
19:34:20 <j-bot> Slereah: | ^
19:34:29 <FireFly> hush, j-bot
19:34:57 <Slereah> Where there's an implicit tensor product on every state
19:35:09 <Slereah> and the states are summed with the states of the pointer list
19:36:06 <Slereah> I think that could work
19:36:36 <Slereah> Hm wait
19:36:39 <Slereah> that's no good
19:36:59 <Slereah> It needs to be the other way around
19:37:11 <Slereah> The various possible states in the array for a single particles
19:37:25 <Slereah> otherwise I can't keep track of the memory
19:39:39 <Slereah> Ah, I guess I need more information
19:40:12 <Slereah> [ [state1, state2, ...], [ [ptr11, ptr12, ...], [ptr21, ptr22, ...], ... ] ]
19:40:13 <j-bot> Slereah: |spelling error
19:40:13 <j-bot> Slereah: | [state1, state2, ...], [ [ptr11, ptr12, ...], [ptr21, ptr22, ...], ... ] ]
19:40:13 <j-bot> Slereah: | ^
19:40:46 <Slereah> So that this structure corresponds to the state [ state1 x ptr11 x ptr12 x ... + state2 x ptr21 x ptr22 x ... + ... ]
19:40:58 <Slereah> I think that should work
19:42:21 -!- fungot has quit (Ping timeout: 258 seconds).
19:45:58 -!- jaboja has joined.
19:53:46 -!- jaboja has quit (Ping timeout: 255 seconds).
20:00:18 -!- fungot has joined.
20:08:19 <Slereah> and I think that works for every type of one-particle Hilbert space
20:31:33 -!- AnotherTest has quit (Ping timeout: 246 seconds).
20:32:03 <HackEgo> [wiki] [[Feather]] https://esolangs.org/w/index.php?diff=53236&oldid=40334 * Ais523 * (+387) given that I spent a decent chunk of time and sanity discussing Feather a while ago, it's only fair to let everyone else know where they can find it
20:32:14 -!- AnotherTest has joined.
20:36:43 -!- iovoid has changed nick to Guest1166.
20:36:53 -!- Guest1166 has quit (Ping timeout: 255 seconds).
20:40:12 -!- jaboja has joined.
20:43:22 <HackEgo> [wiki] [[Countercall]] https://esolangs.org/w/index.php?diff=53237&oldid=53234 * Ais523 * (+91) /* Syntax */ mention the comment syntax; this was always planned, I just forgot to write it down
20:44:24 <FireFly> oh, new stuff on feather eh
20:45:35 <ais523> no, just a link to old stuff
20:45:46 <FireFly> ah
20:45:53 <ais523> but letting people know where they can find information on Feather seems like a useful addition to our article on it
20:46:28 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
20:49:28 -!- lezsakdomi has quit (Ping timeout: 240 seconds).
20:57:34 <zzo38> Do you know about "third man argument"? I read the Wikipedia article about it, and it look to me, Self-Predication is wrong. Being F is the wrong kind of property to say that the form of F-ness is or is not F is a statement that is meaningful.
20:58:33 <FireFly> ais523: I had actually missed that conversation I think
20:58:44 <zzo38> (I am also not so sure of One/Many; they aren't necessarily contrary, because it can depend how do you do the dividing.)
21:01:05 <shachaf> I watched a movie called The Third Man once.
21:01:32 <zzo38> Is there any relation to third man argument?
21:46:15 -!- PinealGlandOptic has joined.
22:03:24 -!- Bowserinator has joined.
22:05:14 -!- LKoen has joined.
22:09:40 -!- LKoen has quit (Ping timeout: 255 seconds).
22:12:52 -!- sleffy has quit (Ping timeout: 252 seconds).
22:22:51 -!- PinealGlandOptic has quit (Quit: leaving).
22:25:35 -!- sleffy has joined.
23:05:23 -!- AnotherTest has quit (Ping timeout: 255 seconds).
23:13:56 -!- nvm has quit (Remote host closed the connection).
23:14:29 -!- nvm has joined.
23:21:08 -!- sleffy has quit (Ping timeout: 240 seconds).
23:23:48 -!- boily has joined.
23:25:57 -!- LKoen has joined.
23:45:15 <zzo38> Is there a X resource manager implementation in Haskell? I have implemented X resource manager in JavaScript. One idea for implementing it in Haskell might be that the database has type (XRM x y), which has resources of type ([(Binding,x)],y) where the first half of the pair is the key and the second part is the value. (So, you can't have duplicate keys.) (The type (XRM String String) will be the usual way, although this doesn't allow for XrmUnique
23:48:25 -!- 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.”).
23:53:11 -!- Phantom_Hoover has joined.
23:53:11 -!- Phantom_Hoover has quit (Changing host).
23:53:11 -!- Phantom_Hoover has joined.
←2017-10-20 2017-10-21 2017-10-22→ ↑2017 ↑all