←2017-08-26 2017-08-27 2017-08-28→ ↑2017 ↑all
00:58:23 <moony> helloerjan
00:59:11 <oerjan> helloony
01:00:43 -!- ^arcade_droid has joined.
01:17:48 -!- tromp has quit (Remote host closed the connection).
01:54:19 -!- ^arcade_droid has changed nick to use_strategy_lol.
01:54:25 -!- use_strategy_lol has changed nick to ^arcade_droid.
01:55:49 <shachaf> `5 w
01:55:54 <HackEgo> 1/2:xyzzy//Nothing happens. \ bitcoin//bitcoins are coins that have been drilled through with a bit, and can be strung together in long chains. This practice dates to ancient China, and the Chinese remain experts in bitcoin manufacturing. A chain can support up to 21 million coins before breaking. \ bride theory//Bride theory is a theory involving
01:55:55 <shachaf> `n
01:55:56 <HackEgo> 2/2:a headhunter who dresses in yellow. \ tarafurnar//Tarafurnar is the event after which you'll be seen. \ acab//ACAB is short for "all codecs are broken".
01:56:39 <shachaf> `cwlprits bitcoin
01:56:47 <HackEgo> Jafët
01:56:59 <shachaf> Does a chain really break once it reaches 21 million coins?
01:57:23 <shachaf> all cows are bovine
02:00:15 <boily> all chicken are boily.
02:00:48 <shachaf> boily: chicken of the woods is the best chicken hth
02:00:53 <boily> I'm still convinced that bitcoin is part scam, part money laundering.
02:01:34 <boily> helloochaf. next time I'm in the vicinity of the Mycoboutique, I'll buy some.
02:01:50 <shachaf> is that your fancy french name for the woods
02:01:53 <shachaf> imo just go to the woods hth
02:01:59 -!- rdococ has left (""leave me alone"").
02:02:04 -!- rdococ has joined.
02:02:06 <boily> I'm far from woods...
02:02:43 <boily> but there is http://www.mycoboutique.com/fr/ .
02:06:15 -!- tromp has joined.
02:10:46 -!- tromp has quit (Ping timeout: 240 seconds).
02:17:51 -!- jaboja has quit (Ping timeout: 248 seconds).
02:42:45 -!- boily has quit (Quit: PILOT CHICKEN).
03:01:41 -!- ATMunn has quit (Quit: See ya! o/).
03:44:48 <zzo38> What does "Turing-compIete" mean (as opposed to "Turing-complete")?
03:47:39 <oerjan> `unidecode I
03:47:41 <HackEgo> ​[U+0049 LATIN CAPITAL LETTER I]
03:47:42 <oerjan> huh
03:48:14 <oerjan> zzo38: thanks, those looked so similar in my browser font that i didn't notice there _was_ a difference
03:48:20 <oerjan> (which is probably the point)
03:48:36 <shachaf> Browser font?
03:48:39 <oerjan> or possibly the mediawiki font
03:49:00 <oerjan> shachaf: https://esolangs.org/wiki/Jeeves
03:49:58 <shachaf> I see.
03:50:52 <oerjan> itym Why, good Dr. Oerjan, they do in fact look similar! hth
03:51:02 <oerjan> (or evil, if you prefer that.)
03:51:05 <shachaf> Dr. Oerjan?
03:51:11 <shachaf> I thought Ørjan was the doctor?
03:51:17 <oerjan> `? ørjan
03:51:18 <HackEgo> Your pal Ørjan is oerjan's good twin. He's banned in the IRC RFC for being an invalid character. Sometimes he publishes papers without noticing it.
03:51:37 <shachaf> `` grWp -l twin
03:51:51 <HackEgo> ​* \ ☾_ \ c# \ myname \ orin \ örjan \ ørjan \ pico \ sewerjan \ twint-e \ typoerjan \ אrjan
03:52:23 <shachaf> Sometimes certain people in this channel take things a bit too far.
03:52:48 <oerjan> they're all doctors, except sewerjan who couldn't afford the student fee
03:53:10 <shachaf> `? sewerjan
03:53:12 <HackEgo> sewerjan is oerjan's extremely poor twin.
03:53:34 <shachaf> But you didn't say "we're all doctors"
03:53:45 <shachaf> `? örjan
03:53:47 <HackEgo> ​Örjan is the diæresed twin. He will punctuate your vöẅëls, and maybe a few other unsuspecting letters.
03:53:54 <shachaf> `? typoerjan
03:53:55 <HackEgo> typoerjan is oerjan's clumsy twin.
03:54:51 -!- tromp has joined.
03:55:22 <shachaf> `dowg sewerjan
03:55:32 <HackEgo> 10333:2017-02-22 <oerjän> learn sewerjan is oerjan\'s extremely poor twin.
03:55:43 <shachaf> `learn boorjan is oerjan's uneducated twin.
03:55:46 <HackEgo> Learned 'boorjan': boorjan is oerjan's uneducated twin.
03:58:46 -!- tromp has quit (Ping timeout: 240 seconds).
03:59:41 <shachaf> `5 w
03:59:47 <HackEgo> 1/2:amiga//Amiga is Spanish for a female friend. \ pirate//Pirates are humourously nautical persons. Their grammar is friendly and plural. \ apt-get//apt-get installs whatever you wanted, plus whatever Mark Shuttleworth wanted. \ zork//Zork is like York, except for the first letter. Uaneb invented it. \ lie bracket//Politicians try to stay within t
03:59:51 <shachaf> `n
03:59:52 <HackEgo> 2/2:he lie bracket: Not so many lies that voters cannot stand it, but not so few that they think you have nothing to give them.
04:34:57 -!- hppavilion[1] has joined.
04:39:51 -!- fuzzybunny44 has joined.
04:51:11 -!- tromp has joined.
04:55:43 -!- tromp has quit (Ping timeout: 248 seconds).
05:36:04 -!- fuzzybunny44 has left.
05:42:31 -!- oerjan has quit (Quit: Nite).
05:42:54 -!- sleffy has joined.
05:45:19 -!- tromp has joined.
05:49:35 -!- tromp has quit (Ping timeout: 240 seconds).
06:29:51 -!- PinealGlandOptic has joined.
07:16:48 -!- atslash has joined.
07:21:55 -!- wob_jonas has joined.
07:22:03 <wob_jonas> `wgrep -i hz
07:22:03 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wgrep: not found
07:22:22 <wob_jonas> ``` grep -Ri hz wisdom
07:22:23 <HackEgo> wisdom/sbus:SBus is the standard bus in many a Sun SPARC-based system, capable of coping with thirty-two (32) bits in parallel, at rates of around 16.67 to 25 MHz. There is a 96-pin connector, and the cards lay parallel to the motherboard, like toppings on a sandwich. \ wisdom/2600:2600 Hz is a tone made by Captain Crunch's whistle. \ wisdom/john:J
07:22:35 <wob_jonas> `2 ``` grep -Ri hz wisdom
07:22:36 <HackEgo> 2/1:
07:22:53 <wob_jonas> `1 ``` grep -Ri hz wisdom
07:22:54 <HackEgo> 1/1:/hackenv/bin/`: eval: line 5: unexpected EOF while looking for matching ``' \ /hackenv/bin/`: eval: line 6: syntax error: unexpected end of file
07:23:06 <wob_jonas> what
07:23:19 <wob_jonas> ``` grep -Ri hz wisdom | tail -n+3
07:23:20 <HackEgo> wisdom/john:John is not Hziulquoigmnzhah of Cykranosh, the dread spawn of Cxaxukluth, according to http://smbc-comics.com/index.php?id=4072
07:25:10 <shachaf> At least not that John.
07:25:17 <wob_jonas> apparently that name wasn't even invented by SMBC. I thought it was.
07:25:55 <shachaf> Hmm, I guess "john" has a double meaning that I didn't intend there.
07:33:22 -!- tromp has joined.
07:33:41 -!- tromp has quit (Remote host closed the connection).
07:33:57 -!- tromp has joined.
07:37:16 -!- atslash has quit (Ping timeout: 240 seconds).
07:37:23 -!- atslash has joined.
07:44:52 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
07:56:30 -!- wob_jonas has joined.
07:57:11 <wob_jonas> M:tG stuff: http://www.manaleak.com/mtguk/2017/06/unstable-magic-the-gathering-spoilers-news-updates/ spoilers for the upcoming Unstable unset.
08:01:12 <wob_jonas> I expected they'd do more reprints from black-bordered world, but no, only one aside from basic lands.
08:03:22 <wob_jonas> (and why is the green-white faction green-white too)
08:06:54 <wob_jonas> Also, apparently that set still uses the fractions from unhinged
08:13:00 <int-e> fractions *are* broken numbers after all
08:14:03 <shachaf> Do you know this puzzle: I think of a polynomial of any degree with natural coefficients. How many points do you need me to evaluate it at to figure out what it is?
08:14:52 <wob_jonas> shachaf: that one is easy, but I recall there was some twisted harder version
08:15:15 <shachaf> Yes, it's easy. What's the harder version?
08:15:42 <wob_jonas> I don't remember
08:15:50 <int-e> Hmm, easy?
08:16:27 <shachaf> Well, the solution is straightforward.
08:16:31 <int-e> (the easy, but impossible, version uses integer coefficients)
08:16:59 <shachaf> You mean it's easy because the answer is "it's impossible"?
08:17:06 <int-e> yes
08:17:14 <shachaf> Sure.
08:17:17 <wob_jonas> shachaf: no
08:17:26 <int-e> but here the coefficients are natural numbers
08:17:28 <shachaf> I was talking to int-e.
08:17:31 <int-e> which makes this possible
08:17:38 <wob_jonas> that doesn't make a difference
08:17:48 <wob_jonas> still possible with integer coefficients
08:17:57 <shachaf> Hmm, it is?
08:18:07 <int-e> the degree is unknown, isn't it
08:18:08 <shachaf> That seems suspicious to me.
08:18:13 <shachaf> Yes, degree is unknown
08:18:14 <wob_jonas> yes, the degree is unknown
08:18:28 <int-e> then it's impossible with integer coefficients
08:18:48 <wob_jonas> no way
08:19:02 <wob_jonas> you just need to pick your favorite transcendent real number and evaluate it there
08:19:07 <int-e> right
08:19:12 <wob_jonas> that uniquely designates the polynomial
08:19:28 <wob_jonas> the result that is
08:19:43 <int-e> anyway I want to think a bit
08:19:50 <shachaf> Hmm, I was thinking that the polynomial is evaluated at integer points as well.
08:20:10 <wob_jonas> oh, it is? that was the harder version, yes
08:20:22 <wob_jonas> and in that case, two points for natural coeffs and impossible for integer coeffs I believe
08:20:50 <int-e> (I was also assuming that. Using a transcendental number makes it... ugly.)
08:21:33 <shachaf> Well, I was thinking it but didn't specify it.
08:23:00 <int-e> ah yes, 2 is enough
08:23:51 <shachaf> Maybe specifying that I had a computable algorithm in mind is enough.
08:30:35 <shachaf> Is it enough?
08:31:11 -!- sleffy has quit (Ping timeout: 248 seconds).
08:32:07 <int-e> I don't know; I suspect that if you input something like sum 1/2^2^k then the answer will include all the information one needs.
08:45:03 <int-e> In fact any computable transcendental number greater than 1 will work. The point is that if you use a number greater than 1, then the integer part of the result gives you an upper bound on the coefficients and the degree, so that when you reach the fractions, only finitely many candidate polynomials remain; you can evaluate all those at your number and eliminate those whose value does not equal...
08:45:09 <int-e> ...the given one. Because the number is transcendental, and disequality of computable reals is semidecidable, only one polynomial will remain in the end.
08:46:05 <shachaf> So is convolution with a kernel, the kind that people talk about in image processing, a special case of the usual convolution?
08:46:08 <shachaf> It seems like it must be, but the relationship isn't obvious.
08:46:37 <int-e> using a "nice" computable real like that sum 1/2^2^k one I suggested should make it much more efficient though :)
08:46:54 <shachaf> Hmm.
08:47:34 <wob_jonas> shachaf: yes
08:49:53 <shachaf> How does it work?
08:49:59 <int-e> The obscure part to me is why it's called a kernel :/
08:50:19 <int-e> It's just an ordinary discrete, two-dimensional covolution, no magic at all?
08:50:24 <int-e> *convolution
08:50:49 <shachaf> What are the functions being convolved?
08:51:00 <int-e> the image
08:51:20 <int-e> and the kernel, with the center at (0,0), and perhaps a switch from k(x,y) to k(-x,-y).
08:51:43 <shachaf> This works for a 1D image and 1D kernel, right?
08:51:53 <shachaf> The 1D image is presumably a function : [n] -> R or something like that.
08:52:02 <shachaf> What's the 1D kernel?
08:52:02 <int-e> [n]?
08:52:10 <shachaf> [n] meaning the set of naturals < n
08:52:19 <int-e> usually an interval [-k,k]
08:52:32 <int-e> (of integers)
08:52:47 <shachaf> OK, and what's the convolution?
08:52:56 <wob_jonas> shachaf: works for 2D images too
08:53:00 <shachaf> In general I expect a convolution to look like this: (f * g)(x) = A_{i,j | b(i,j) = x} { c(f(i), g(j)) }
08:53:03 <shachaf> Right?
08:53:08 <wob_jonas> shachaf: the image is one of the functions, and the kernel is the other one
08:53:27 <int-e> f |-> \x -> sum_{i in Z} f(x-i)k(i)
08:53:58 <wob_jonas> shachaf: there has to be a sum in there (unless you're a mathematical physicsist and using tensor notation)
08:54:05 <shachaf> But you said k was only defined on the interval [-k,k]?
08:54:11 <shachaf> wob_jonas: A,b,c are operations
08:54:21 <shachaf> For example A = Σ, b = + , c = ·
08:54:28 <shachaf> Which would make it (f * g)(x) = Σ_{i,j | i + j = x} { f(i)g(j) }
08:54:33 <int-e> f(x+i) k(i) which is probably how it's implemented, and corresponds to the switch from k(x) to k(-x) I suggested.
08:54:38 <wob_jonas> shachaf: um, that seems garbled
08:54:44 <wob_jonas> the non-ascii part that is
08:54:48 <wob_jonas> but yes
08:55:02 <shachaf> That's supposed to be a capital sigma and a multiplication dot
08:55:16 <shachaf> But A might be min, or maybe an integral or something.
08:55:19 <wob_jonas> and you either assume the kernel and image are zero in the rest of the places, or you say the sum only goes when both i and j are in the respective domains
08:55:30 <wob_jonas> right
08:55:39 <int-e> shachaf: f is the image; g is the kernel, possibly reflected, and one of the points is that g(j) is zero almost everywhere.
08:56:10 <int-e> hmm, redundancy is redundant.
08:56:23 <int-e> `? redundancy
08:56:26 <HackEgo> Since redundancy exists, it's redundant for Taneb to invent it.
08:56:32 <shachaf> Oh, I guess I see.
08:56:47 <wob_jonas> int-e: either that or it converges to zero exponentially fast as j goes to infinity and -infinity, and when computing we may approximate the small values with zeros
08:57:04 <shachaf> Concretely convolution in the finite case where b = + usually corresponds the antidiagonals of some matrix, right?
08:57:13 <int-e> wob_jonas: well the question was about image processing :)
08:57:20 <wob_jonas> people often convolve images with bell curves, but since they don't need infinite precision, it's practically zero far enough
08:57:44 <wob_jonas> int-e: for image processing still, people blur images with gaussians
08:58:15 <wob_jonas> shachaf: yes, for 1d
08:58:39 <shachaf> So what's the matrix here?
08:59:14 <int-e> wob_jonas: yes, but I believe they tend to do that by iterating rectangular filters like [1/3,1/3,1/3]
08:59:15 <wob_jonas> shachaf: the matrix is the outer product of two vectors, the first vector is column vector of values of f, second vector is row vector of rosw of g
08:59:37 <wob_jonas> int-e: that or something similar, which is a good approximation
08:59:48 <shachaf> Say I have an image [1,2,3,4,5,6,7] and I convolve it with the kernel [a,b,c]
08:59:53 <wob_jonas> they don't always exactly use [1/3,1/3,1/3] but still
09:00:07 <int-e> wob_jonas: yes, box filters was the main point
09:00:15 <shachaf> What's does the matrix end up being there?
09:00:19 <int-e> (I believe that's what they are called)
09:01:30 <wob_jonas> and then there are these fast methods for computing such convolutions even if the image and kernel are both big, of which the most famous is called fast fourier transform, but there are other transform methods
09:01:54 <wob_jonas> shachaf: [1;2;3;4;5;6;7]*[a,b,c]
09:01:59 <int-e> I'd expect [c, b+2c, a+2b+3c, 2a+3b+4c, ..., 5a+6b+7c, 6a+7c, 7a] in an actual implementation, and possibly truncated
09:02:13 <wob_jonas> int-e: that's the convolution
09:02:17 <int-e> the usual definition would swap a and c.
09:02:20 <shachaf> wob_jonas: But what are the antidiagonals of that?
09:02:42 <int-e> wob_jonas: wasn't that the question?
09:02:58 <wob_jonas> shachaf: one antidiagonal is [1*c, 2*b, 3*a]
09:03:11 <wob_jonas> or backwards maybe
09:03:16 <wob_jonas> whichever way you read it
09:03:53 <wob_jonas> int-e: "<shachaf> What's does the matrix end up being there?"
09:05:19 <int-e> oh if you want to have a trace in the definition
09:05:33 <wob_jonas> int-e: no
09:05:37 <shachaf> Trace?
09:05:59 <int-e> sum of diagonal entries, in the case of matrices
09:06:02 <shachaf> wob_jonas: Oh, I see.
09:06:13 <shachaf> So it's just antidiagonals in a non-square matrix.
09:07:50 -!- augur has quit (Remote host closed the connection).
09:10:46 <shachaf> So how does that work with the definition I gave above?
09:10:59 <shachaf> img : [7] -> R
09:11:14 <shachaf> krn : [3] -> R
09:13:14 <int-e> b(i,j) = i-j, c(x,y) = x*y, A = sum
09:13:30 <shachaf> Pretty sure b should be +
09:13:58 <int-e> + is standard; - is what implementations tend to do
09:14:00 <wob_jonas> depends on which direction you convolve. some call the plus version convolution, some call it correlation and the minus version convolution.
09:14:13 <wob_jonas> it's a terminology difference.
09:14:31 <wob_jonas> just like which direction of fourier transform is forward is also a terminology difference
09:15:06 <wob_jonas> you have to read documentation carefully to find out what conventions it uses for the formulas
09:15:24 <shachaf> It's a bit surprising that img/krn don't have the same domain.
09:15:30 <int-e> to actually get a result of length 9, you should pad 'img' with two zeros to the left and to the right.
09:15:37 <shachaf> But I suppose you can extend them both to Z and define them aas 0 everywhere else.
09:16:02 <shachaf> So how does the 2D version work?
09:16:14 -!- kurolox has joined.
09:16:23 <wob_jonas> same, but now i and j are pairs and b is pairwise addition
09:16:35 <int-e> b((i1,i2),(j1,j2)) = (i1-j1,i2-j2)
09:16:36 <wob_jonas> (or pairwise subtraction, whichever)
09:16:41 <int-e> or addition
09:16:42 <shachaf> Makes sense.
09:16:53 <shachaf> Subtraction is so confusing.
09:16:57 <shachaf> I want it to be commutative.
09:18:01 <wob_jonas> you can easily implement one from the other by reversing one of the inputs
09:18:09 <shachaf> Sure.
09:18:12 <int-e> subtraction corresponds to r = 0; for (int i = 0; i < ker.length; i++) r += img[x+i]*ker[i]; res[x] = r;
09:19:24 <shachaf> I like convolution in contexts where you don't have inverses so you can't even say f(i)g(x-i)
09:20:43 <wob_jonas> oh, and the whole thing is made cool by the fact that GPS devices do 1d convolution
09:20:56 -!- imode has quit (Ping timeout: 246 seconds).
09:21:04 <shachaf> They do?
09:21:14 <wob_jonas> yes, that's one of the most important technological uses
09:28:40 <wob_jonas> basically GPS satellites can't be each assigned different frequencies like radio stations, so you can't pick their signals out with just simple electronics, their signal is really weak, and they aren't just round-robin broadcasting either, they just all talk at the same time,
09:29:42 <wob_jonas> so to pick out the voice of one satellite from the others and all the other noise that's actually stronger than the signals, GPS clients digitize the signals they receive and convolve it with what the GPS is expected to say to find out when they received that signal, and they do the convolution in microchips digitally
09:29:59 <wob_jonas> it's quite crazy
09:39:05 -!- augur has joined.
09:43:05 -!- augur has quit (Ping timeout: 240 seconds).
10:06:04 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
11:29:56 <kurolox> fizzie probably went to work already, right?
12:12:40 <fizzie> What, on a Sunday?
12:13:06 <fizzie> I'm not that far gone yet.
12:37:50 -!- mroman has joined.
12:37:59 <mroman> http://codepad.org/5cZlR8am <- feedback/ideas?
12:38:03 <mroman> it's a 2d bot programming game.
12:38:16 <mroman> with swarms of bots.
12:39:30 <mroman> (if a bot dies it'll respawn at the base)
12:40:30 <mroman> maybe st/ld should be 16bit
12:40:53 <mroman> that way it's probably possible to have scouting bots scan the whole field into team memory
12:40:59 <mroman> might be used for pathfinding then
12:54:01 <int-e> can RET be used for computed gotos?
12:58:07 <int-e> hmm, there's no indirect addressing it seems
13:01:23 <int-e> oh and bots might want to know how healthy, strong or eagle-eyed they are.
13:10:57 <mroman> hm. true.
13:11:02 <mroman> ret?
13:11:03 <mroman> yes
13:11:08 <mroman> you can just push a number and then use ret
13:11:15 <mroman> call/ret stack and data stack are the same
13:14:35 <mroman> jumps/calls are absolute
13:14:40 <mroman> but you can use ret.
13:15:11 <int-e> and then there's the business of interleaving all that concurrent activity.
13:15:54 <mroman> well each bot executes one instruction
13:15:56 <mroman> then the next bot.
13:16:22 <mroman> A1,B1,A2,B2,A3,B3 I guess.
13:16:50 <mroman> although might be cool if bot can sleep
13:16:56 <mroman> and forfeit their time slots for a few rounds.
13:17:06 <mroman> i.e. if you have the ball
13:17:10 <mroman> then the other bots sleep
13:17:18 <mroman> which means the bot with the ball can move faster :D
13:18:27 <mroman> http://codepad.org/UvEQlm3l <- updated
13:19:56 <mroman> oh and yeah. bots keep their power-ups
13:20:14 <mroman> so that taking them actually is of benefit.
13:25:20 <int-e> what happens if you walk into an obstacle or other bot?
13:27:55 -!- tromp has quit (Remote host closed the connection).
13:28:36 <mroman> I'd say that's a nop then.
13:28:42 <mroman> can't walk into non free space
13:28:53 <mroman> (execept for picking stuff up or returning ball to base)
14:00:07 -!- tromp has joined.
14:04:46 -!- tromp has quit (Ping timeout: 240 seconds).
14:37:03 -!- ATMunn has joined.
14:54:30 -!- tromp has joined.
14:58:46 -!- tromp has quit (Ping timeout: 240 seconds).
15:06:34 -!- mroman has quit (Ping timeout: 260 seconds).
15:34:37 -!- AnotherTest has joined.
15:48:35 -!- tromp has joined.
15:53:15 -!- tromp has quit (Ping timeout: 252 seconds).
16:06:16 <int-e> `unidecode ςσ
16:13:46 -!- AnotherTest has quit (Ping timeout: 240 seconds).
16:15:50 -!- atslash has quit (Quit: Leaving).
16:16:09 -!- atslash has joined.
16:16:29 -!- jaboja has joined.
16:16:36 -!- atslash has quit (Client Quit).
16:21:09 -!- tromp has joined.
16:24:32 -!- mroman has joined.
16:24:38 <mroman> re
16:31:37 -!- tromp has quit (Remote host closed the connection).
16:33:14 -!- n00blet has joined.
16:37:58 -!- tromp has joined.
16:41:36 <mroman> the moment your df interpreter doesn't terminate
16:41:41 <mroman> you KNOW you fucked up BIG
16:41:44 <mroman> because df doesn't even have loops.
16:42:28 <int-e> df, hmm. dwarf fortress, probably not.
16:42:54 <int-e> oh there was this deadfish thing
16:43:17 <mroman> wtf
16:43:22 <mroman> it's just horribly slow
16:43:25 <mroman> WHAT THE FUCK
16:44:23 <int-e> so what language stack did you write it in?
16:50:49 -!- tromp has quit (Remote host closed the connection).
16:53:14 <mroman> python :D
16:53:52 <int-e> . o O ( perhaps it's a long-winded program )
16:53:56 <mroman> isidsddsdiisddisiiisiiiiiiiiiiiiio
16:54:00 <mroman> yay it works.
17:03:46 <mroman> iiiidsiiiisddddddddddddo
17:03:54 <mroman> this is great :D
17:05:33 <mroman> iissdddsddddddo
17:05:36 <mroman> hehe
17:06:18 <mroman> iiisiiisiiiiiiiiiio
17:06:24 <mroman> this looks optimal I'd say
17:06:50 <mroman> hm. no.
17:18:02 <mroman> hm
17:18:06 <mroman> how do I define a nice heuristic function
17:18:11 <mroman> so that it optimizes also for length.
17:19:34 <mroman> ah
17:19:35 <mroman> ok
17:19:40 <mroman> iissdddsddddddddddddo
17:19:43 <mroman> now it's optimal :D
17:21:41 <mroman> iiisiiiisddddddddddddo
17:22:44 <int-e> for numbers >3, you can just start from the nearest square... except when that square is 256
17:23:07 <rdococ> hi
17:24:33 <int-e> (and there is a similar special case around 65536, of course)
17:26:39 <int-e> now... should iissisdssss print 0 in deadfish?
17:29:30 <mroman> hm.
17:29:49 <mroman> but this is why I believe genetic evolutionary algo stuff will never find certain solutions.
17:30:06 <mroman> int-e: I know :)
17:30:09 <mroman> It seems not to be able to be able to find a solution for 257
17:30:17 <mroman> I wrote a haskell program to generate the shortest dfconstants.
17:30:23 <mroman> (https://esolangs.org/wiki/Deadfish/Constants)
17:31:33 <int-e> yeah, 257 is awkward... iissisdddddddddddddddddddddddddddddddd
17:32:20 -!- tromp has joined.
17:36:07 <mroman> It's never going to combine into that.
17:36:16 <mroman> it'll reach 255 eventually
17:36:18 <mroman> but then
17:36:20 <mroman> it'll stuck
17:40:02 <mroman> iissisdddddddddddddddddddddddddddddd'o
17:40:14 <mroman> 259
17:40:17 <mroman> ok works :D
17:40:18 <mroman> nice
17:41:07 <mroman> sidssiisiisisdddddddddddddddddddddddddddddddd
17:41:13 <mroman> probably needs some dead code elimination :D
17:41:20 <mroman> sidss is pretty useless at the front :D
17:50:10 -!- tromp has quit (Remote host closed the connection).
17:54:53 <mroman> isi+s+dAdsidi+iAss/aA-aiaiad*d-s-+diii+i+iadd/diA+d+/d
17:54:56 <mroman> this will produce 257 :D
17:54:59 <mroman> in extended deadfish :D
17:58:25 <rdococ> yey
18:05:17 -!- trn has quit (Ping timeout: 260 seconds).
18:12:30 <HackEgo> [wiki] [[Special:Log/newusers]] create * Bitmapper * New user account
18:28:11 -!- tromp has joined.
18:33:17 -!- tromp has quit (Ping timeout: 260 seconds).
18:33:53 -!- zseri has joined.
18:46:45 <int-e> mroman: how about this, iiisisdddddddsddsiiisddddddsdddddddsddsiiiisiiiii produces -2 on a 32 bit deadfish implementation
18:48:34 <int-e> (Unlikely to be optimal, but this involves quite a bit of manual effort so I will stop there. Also, doing that for 64 bits seems to be out of reach for me right now)
18:50:57 <zzo38> Some implementations may use decimal arithmetic, such as the one for Famicom and the one for MIX, and possibly some others too.
18:51:22 <int-e> well, feel free to come up with code for such implementations
18:59:06 -!- trn has joined.
19:01:05 <mroman> http://codepad.org/mfiYr4C4
19:01:19 <mroman> my code is probably not the best to produce offspring anyway.
19:01:23 -!- imode has joined.
19:01:34 <mroman> and always taking the ten best is probably not good.
19:01:41 <mroman> because the ten best tend to look pretty much alike in the end
19:01:52 <mroman> so it'll never really produce 257
19:05:17 -!- tromp has joined.
19:09:25 -!- n00blet has changed nick to n00blet_.
19:10:52 -!- n00blet_ has changed nick to o_0.
19:17:14 <mroman> creationists were right.
19:17:30 <mroman> evolution is a lousy idea :)
19:17:40 -!- o_0 has changed nick to n00blet.
19:26:16 <int-e> so much fun... "iiisisdssissdsiississdddsiissiiiisiiiii" produces -2 as well, and is optimal.
19:27:13 <int-e> iissdddsiiiiiisisdsiisisdsiisiiiiii produces 255, and iissdsdssisiiiisiisssdddsddds produces 257, all assuming 32 bit deadfish
19:31:37 -!- sleffy has joined.
19:35:04 <int-e> and, finally, a Hello, world! program (with final newline): iiisdsiiiiiiiiossssiiisisioiiiiiiiooiiioisssiiisddsdddddoddddddddddddosssiiisiisddoddddddddoiiioddddddoddddddddossssiisiisdddodsssiiisio
19:48:18 -!- erkin has joined.
19:50:39 <mroman> hey guys i created hardfish a much harder variant of deadfish
19:51:20 <mroman> instead of s there's c
19:51:26 <mroman> where c = one collatz step
19:51:41 <mroman> so 257 is iiicicciicdcdidcc
19:52:29 <mroman> or iiiciciicicdcdcc
19:54:30 <int-e> mroman: http://codepad.org/vL6jJHNg
19:57:37 <mroman> this assumes wrap around though right?
19:57:53 <int-e> yes
19:58:22 <int-e> That's what I mean by "32 bit deadfish", numbers wrap at 2^32.
20:00:00 <mroman> hm.
20:00:09 <mroman> are all numbers reachable with just i and c
20:00:49 <mroman> obviously
20:01:00 <mroman> but without any two i's in succession
20:02:17 <int-e> hmm, yes.
20:06:42 <int-e> As a sketch, assuming unbounded natural numbers, you can first make the number big (so that the +1 of the 3n+1 becomes negligible for the next phase), then adjust the log_2 to have the right fractional part (the precision required for that is bounded by the target number; if it's n, then you want the fractional part between the fractional parts of log_2(n-1) and log_2(n)), and then divide by 2...
20:06:48 <int-e> ...repeatedly to get the number you desire.
20:10:10 <HackEgo> [wiki] [[Special:Log/newusers]] create * Mroman2 * New user account
20:16:49 <int-e> mroman: the approach is stupid though; for example, 257 is produced by iciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciccciciciccciciciccciciciciciccccicicciccicicicicicicicicccicciciciciciccccciciciccccicicccicicciccciccccccciciciccicicicc
20:16:54 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=52940&oldid=52937 * Mroman2 * (+108)
20:17:05 <HackEgo> [wiki] [[Hardfish]] N https://esolangs.org/w/index.php?oldid=52941 * Mroman2 * (+698) hardfiiiiish
20:17:49 <mroman> interesting.
20:18:35 -!- n00blet has quit (Ping timeout: 240 seconds).
20:19:39 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52942&oldid=52941 * Mroman2 * (+36) /* Some Constants */ starting c is a nop obviously.
20:19:55 <rdococ> I'd talk here more often, but I'd run the risk of self-contradicting people who at the same time don't harbor any hate for me at all, and have a grudge against me.
20:20:54 <rdococ> Of course, I wonder how the world would react if I was also an extremely unforgiving, confusing person.
20:22:05 <mroman> you are confusing
20:22:42 <rdococ> I'm not unforgiving, though, and I don't contradict myself in the span of a few minutes.
20:22:56 <rdococ> inb4 mroman and everyone else thinks I do.
20:23:12 <rdococ> After all, that's all I ever seem to be.
20:23:13 -!- rdococ has left ("Leaving").
20:25:46 -!- sleffy has quit (Ping timeout: 240 seconds).
20:33:59 -!- MrBismuth has quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel).
20:36:39 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52943&oldid=52942 * Mroman2 * (+129) /* Some Constants */ more constants
20:36:43 <int-e> mroman: http://sprunge.us/WRFH -- hardfish constants :)
20:37:17 <mroman> lol
20:37:19 <mroman> nice
20:37:25 <mroman> wait
20:37:26 <mroman> no
20:37:34 <mroman> you can't have ii in your programs
20:37:53 <int-e> oh you actually forbade that.
20:37:59 <mroman> yes.
20:38:10 <int-e> okay, easy to fix
20:38:20 <mroman> ah. found 30. iccicccicccicciccicicci
20:41:50 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52944&oldid=52943 * Mroman2 * (+173) /* Some Constants */ more constants
20:42:13 <mroman> my evolver seems to be unable to find something for 38.
20:42:22 -!- MrBusiness has joined.
20:46:52 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52945&oldid=52944 * Mroman2 * (+55) /* Some Constants */
20:52:21 <int-e> mroman: http://sprunge.us/iKHK then
20:52:46 <int-e> and a Hello, world!, assuming we add o: iciccicciciccioccicicccccccoicicciccicicciooccccccicccciciccioicciccoccccccccciccoicccccicioiccicicciciccioiciccccccccccicciocicicciccccioccccicccicocciccciccio
20:56:17 <mroman> did you brute force them?
20:56:23 <mroman> or use that log2 method?
20:56:30 <int-e> that's brute force
20:56:44 <int-e> the log2 method would produce much longer solutions
20:57:29 <mroman> so it's not that hard :(
20:57:31 <mroman> well..
20:57:43 <int-e> for example, 255, 256, 257 would have code of length 643 1106 226, respectively
20:58:10 <mroman> :D
20:58:13 <mroman> not very effecient yes
20:59:01 <mroman> you computed all 2^34 programs?
20:59:05 <mroman> in this short time?
20:59:06 <mroman> o_O
20:59:17 <int-e> it "only" grows as fast as the fibonacci numbers
20:59:27 <mroman> well
20:59:29 <mroman> not really 2^32
20:59:33 <int-e> > fix (scanl(+)1.(0:)) !! 34
20:59:35 <mroman> since ii is not allowed
20:59:36 <lambdabot> 9227465
20:59:48 <int-e> still quite managable, really
21:01:23 <zseri> what's with the line " 27 - cciccciccicicci" in [[Hardfish]], I think "cc" at the begin is a nop?
21:01:37 <int-e> > fix (scanl(+)1.(0:)) !! 37 -- actually
21:01:40 <lambdabot> 39088169
21:02:11 <int-e> zseri: it was evolved
21:03:46 <int-e> mroman: but the program actually enumerates values, so if two prefixes produce the same value they only count as one
21:04:06 <mroman> :D
21:04:08 <mroman> it was EVOLVED
21:04:09 <mroman> yes
21:04:14 <mroman> but I need to do some changes to it.
21:04:16 <mroman> too boring this way
21:05:08 <int-e> zseri: people have the same complaint about DNA, most of it is, as far as we can tell, redundant, though sometimes we find a purpose for parts that were previously thought to be unused
21:06:49 <int-e> mroman: and it turns out that *a lot* of values collapse. Here's a list of the intermediate set sizes: http://sprunge.us/IIjH (there are two sets in each iteration, one for programs ending in 'c' and one for programs ending in 'i')
21:09:47 -!- PinealGlandOptic has quit (Quit: leaving).
21:10:39 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52946&oldid=52945 * Mroman2 * (-89) /* hardfish */ change a lot to make it more intelesting.
21:11:06 -!- dingbat has joined.
21:11:17 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52947&oldid=52946 * Mroman2 * (+5) * typo
21:11:48 <int-e> I'll pass, but 'r' is indeed interesting
21:12:22 <HackEgo> [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52948&oldid=52947 * Mroman2 * (+136) + let's support the o instruction as well.
21:13:01 <int-e> in particular, it raises the question how to write Hello world with as few 'o' instructions as possible :)
21:14:59 <int-e> (it's possible with a single 'o' if one can find a code segment that produces 72 from 0, and can also produce all the other necessary values... and that may be tough to put into practice.
21:15:03 <int-e> )
21:16:42 <int-e> hmm, iriririr would produce 11?
21:17:19 <mroman> 14
21:17:35 <int-e> ah, right
21:18:50 -!- Deewiant has quit (Ping timeout: 258 seconds).
21:25:41 <mroman> qcrcrqirqrqic produces 11 according to my evolver :D
21:26:14 <mroman> icrcr is also 14
21:26:40 <mroman> qiriri is 14 as well
21:27:14 <mroman> iqrqcqiqrqiq is 257 :D
21:28:35 <mroman> but yes... whether it's possible to have less o's than output characters is interesting
21:29:06 <mroman> although I have a hunch that these programs are probably longer than the ones with more o's in them
21:29:16 <mroman> well... gotta go
21:29:19 -!- mroman has quit (Quit: cu).
21:30:35 <Taneb> Am I right in thinking that simply typed lambda calculus + a fixed point combinator is Turing complete?
21:49:38 <int-e> Taneb: just to clarify, you'd have a fixed point combinator for each type?
21:50:14 -!- zseri has quit (Ping timeout: 260 seconds).
21:51:45 <Taneb> Yes
21:59:30 <int-e> :t \n f z -> n (\g x -> f (g x)) (\x -> x) z
21:59:31 <lambdabot> (((t -> t5) -> t -> t4) -> (t1 -> t1) -> t3 -> t2) -> (t5 -> t4) -> t3 -> t2
22:14:38 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
22:44:46 -!- tromp has quit (Read error: Connection reset by peer).
22:45:31 -!- tromp has joined.
22:55:47 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
23:07:59 -!- kurolox has quit (Ping timeout: 248 seconds).
23:31:13 -!- bouncingbuteo has joined.
23:32:36 -!- bouncingbuteo has quit (Client Quit).
23:42:36 -!- iovoid has quit (Quit: *).
23:43:11 -!- iovoid has joined.
←2017-08-26 2017-08-27 2017-08-28→ ↑2017 ↑all