00:58:23 helloerjan 00:59:11 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 `5 w 01:55:54 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 `n 01:55:56 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 `cwlprits bitcoin 01:56:47 Jafët 01:56:59 Does a chain really break once it reaches 21 million coins? 01:57:23 all cows are bovine 02:00:15 all chicken are boily. 02:00:48 boily: chicken of the woods is the best chicken hth 02:00:53 I'm still convinced that bitcoin is part scam, part money laundering. 02:01:34 helloochaf. next time I'm in the vicinity of the Mycoboutique, I'll buy some. 02:01:50 is that your fancy french name for the woods 02:01:53 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 I'm far from woods... 02:02:43 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 What does "Turing-compIete" mean (as opposed to "Turing-complete")? 03:47:39 `unidecode I 03:47:41 ​[U+0049 LATIN CAPITAL LETTER I] 03:47:42 huh 03:48:14 zzo38: thanks, those looked so similar in my browser font that i didn't notice there _was_ a difference 03:48:20 (which is probably the point) 03:48:36 Browser font? 03:48:39 or possibly the mediawiki font 03:49:00 shachaf: https://esolangs.org/wiki/Jeeves 03:49:58 I see. 03:50:52 itym Why, good Dr. Oerjan, they do in fact look similar! hth 03:51:02 (or evil, if you prefer that.) 03:51:05 Dr. Oerjan? 03:51:11 I thought Ørjan was the doctor? 03:51:17 `? ørjan 03:51:18 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 `` grWp -l twin 03:51:51 ​* \ ☾_ \ c# \ myname \ orin \ örjan \ ørjan \ pico \ sewerjan \ twint-e \ typoerjan \ אrjan 03:52:23 Sometimes certain people in this channel take things a bit too far. 03:52:48 they're all doctors, except sewerjan who couldn't afford the student fee 03:53:10 `? sewerjan 03:53:12 sewerjan is oerjan's extremely poor twin. 03:53:34 But you didn't say "we're all doctors" 03:53:45 `? örjan 03:53:47 ​Örjan is the diæresed twin. He will punctuate your vöẅëls, and maybe a few other unsuspecting letters. 03:53:54 `? typoerjan 03:53:55 typoerjan is oerjan's clumsy twin. 03:54:51 -!- tromp has joined. 03:55:22 `dowg sewerjan 03:55:32 10333:2017-02-22 learn sewerjan is oerjan\'s extremely poor twin. 03:55:43 `learn boorjan is oerjan's uneducated twin. 03:55:46 Learned 'boorjan': boorjan is oerjan's uneducated twin. 03:58:46 -!- tromp has quit (Ping timeout: 240 seconds). 03:59:41 `5 w 03:59:47 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 `n 03:59:52 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 `wgrep -i hz 07:22:03 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wgrep: not found 07:22:22 ``` grep -Ri hz wisdom 07:22:23 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 `2 ``` grep -Ri hz wisdom 07:22:36 2/1: 07:22:53 `1 ``` grep -Ri hz wisdom 07:22:54 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 what 07:23:19 ``` grep -Ri hz wisdom | tail -n+3 07:23:20 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 At least not that John. 07:25:17 apparently that name wasn't even invented by SMBC. I thought it was. 07:25:55 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 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 I expected they'd do more reprints from black-bordered world, but no, only one aside from basic lands. 08:03:22 (and why is the green-white faction green-white too) 08:06:54 Also, apparently that set still uses the fractions from unhinged 08:13:00 fractions *are* broken numbers after all 08:14:03 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 shachaf: that one is easy, but I recall there was some twisted harder version 08:15:15 Yes, it's easy. What's the harder version? 08:15:42 I don't remember 08:15:50 Hmm, easy? 08:16:27 Well, the solution is straightforward. 08:16:31 (the easy, but impossible, version uses integer coefficients) 08:16:59 You mean it's easy because the answer is "it's impossible"? 08:17:06 yes 08:17:14 Sure. 08:17:17 shachaf: no 08:17:26 but here the coefficients are natural numbers 08:17:28 I was talking to int-e. 08:17:31 which makes this possible 08:17:38 that doesn't make a difference 08:17:48 still possible with integer coefficients 08:17:57 Hmm, it is? 08:18:07 the degree is unknown, isn't it 08:18:08 That seems suspicious to me. 08:18:13 Yes, degree is unknown 08:18:14 yes, the degree is unknown 08:18:28 then it's impossible with integer coefficients 08:18:48 no way 08:19:02 you just need to pick your favorite transcendent real number and evaluate it there 08:19:07 right 08:19:12 that uniquely designates the polynomial 08:19:28 the result that is 08:19:43 anyway I want to think a bit 08:19:50 Hmm, I was thinking that the polynomial is evaluated at integer points as well. 08:20:10 oh, it is? that was the harder version, yes 08:20:22 and in that case, two points for natural coeffs and impossible for integer coeffs I believe 08:20:50 (I was also assuming that. Using a transcendental number makes it... ugly.) 08:21:33 Well, I was thinking it but didn't specify it. 08:23:00 ah yes, 2 is enough 08:23:51 Maybe specifying that I had a computable algorithm in mind is enough. 08:30:35 Is it enough? 08:31:11 -!- sleffy has quit (Ping timeout: 248 seconds). 08:32:07 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 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 ...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 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 It seems like it must be, but the relationship isn't obvious. 08:46:37 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 Hmm. 08:47:34 shachaf: yes 08:49:53 How does it work? 08:49:59 The obscure part to me is why it's called a kernel :/ 08:50:19 It's just an ordinary discrete, two-dimensional covolution, no magic at all? 08:50:24 *convolution 08:50:49 What are the functions being convolved? 08:51:00 the image 08:51:20 and the kernel, with the center at (0,0), and perhaps a switch from k(x,y) to k(-x,-y). 08:51:43 This works for a 1D image and 1D kernel, right? 08:51:53 The 1D image is presumably a function : [n] -> R or something like that. 08:52:02 What's the 1D kernel? 08:52:02 [n]? 08:52:10 [n] meaning the set of naturals < n 08:52:19 usually an interval [-k,k] 08:52:32 (of integers) 08:52:47 OK, and what's the convolution? 08:52:56 shachaf: works for 2D images too 08:53:00 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 Right? 08:53:08 shachaf: the image is one of the functions, and the kernel is the other one 08:53:27 f |-> \x -> sum_{i in Z} f(x-i)k(i) 08:53:58 shachaf: there has to be a sum in there (unless you're a mathematical physicsist and using tensor notation) 08:54:05 But you said k was only defined on the interval [-k,k]? 08:54:11 wob_jonas: A,b,c are operations 08:54:21 For example A = Σ, b = + , c = · 08:54:28 Which would make it (f * g)(x) = Σ_{i,j | i + j = x} { f(i)g(j) } 08:54:33 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 shachaf: um, that seems garbled 08:54:44 the non-ascii part that is 08:54:48 but yes 08:55:02 That's supposed to be a capital sigma and a multiplication dot 08:55:16 But A might be min, or maybe an integral or something. 08:55:19 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 right 08:55:39 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 hmm, redundancy is redundant. 08:56:23 `? redundancy 08:56:26 Since redundancy exists, it's redundant for Taneb to invent it. 08:56:32 Oh, I guess I see. 08:56:47 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 Concretely convolution in the finite case where b = + usually corresponds the antidiagonals of some matrix, right? 08:57:13 wob_jonas: well the question was about image processing :) 08:57:20 people often convolve images with bell curves, but since they don't need infinite precision, it's practically zero far enough 08:57:44 int-e: for image processing still, people blur images with gaussians 08:58:15 shachaf: yes, for 1d 08:58:39 So what's the matrix here? 08:59:14 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 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 int-e: that or something similar, which is a good approximation 08:59:48 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 they don't always exactly use [1/3,1/3,1/3] but still 09:00:07 wob_jonas: yes, box filters was the main point 09:00:15 What's does the matrix end up being there? 09:00:19 (I believe that's what they are called) 09:01:30 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 shachaf: [1;2;3;4;5;6;7]*[a,b,c] 09:01:59 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 int-e: that's the convolution 09:02:17 the usual definition would swap a and c. 09:02:20 wob_jonas: But what are the antidiagonals of that? 09:02:42 wob_jonas: wasn't that the question? 09:02:58 shachaf: one antidiagonal is [1*c, 2*b, 3*a] 09:03:11 or backwards maybe 09:03:16 whichever way you read it 09:03:53 int-e: " What's does the matrix end up being there?" 09:05:19 oh if you want to have a trace in the definition 09:05:33 int-e: no 09:05:37 Trace? 09:05:59 sum of diagonal entries, in the case of matrices 09:06:02 wob_jonas: Oh, I see. 09:06:13 So it's just antidiagonals in a non-square matrix. 09:07:50 -!- augur has quit (Remote host closed the connection). 09:10:46 So how does that work with the definition I gave above? 09:10:59 img : [7] -> R 09:11:14 krn : [3] -> R 09:13:14 b(i,j) = i-j, c(x,y) = x*y, A = sum 09:13:30 Pretty sure b should be + 09:13:58 + is standard; - is what implementations tend to do 09:14:00 depends on which direction you convolve. some call the plus version convolution, some call it correlation and the minus version convolution. 09:14:13 it's a terminology difference. 09:14:31 just like which direction of fourier transform is forward is also a terminology difference 09:15:06 you have to read documentation carefully to find out what conventions it uses for the formulas 09:15:24 It's a bit surprising that img/krn don't have the same domain. 09:15:30 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 But I suppose you can extend them both to Z and define them aas 0 everywhere else. 09:16:02 So how does the 2D version work? 09:16:14 -!- kurolox has joined. 09:16:23 same, but now i and j are pairs and b is pairwise addition 09:16:35 b((i1,i2),(j1,j2)) = (i1-j1,i2-j2) 09:16:36 (or pairwise subtraction, whichever) 09:16:41 or addition 09:16:42 Makes sense. 09:16:53 Subtraction is so confusing. 09:16:57 I want it to be commutative. 09:18:01 you can easily implement one from the other by reversing one of the inputs 09:18:09 Sure. 09:18:12 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 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 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 They do? 09:21:14 yes, that's one of the most important technological uses 09:28:40 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 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 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 fizzie probably went to work already, right? 12:12:40 What, on a Sunday? 12:13:06 I'm not that far gone yet. 12:37:50 -!- mroman has joined. 12:37:59 http://codepad.org/5cZlR8am <- feedback/ideas? 12:38:03 it's a 2d bot programming game. 12:38:16 with swarms of bots. 12:39:30 (if a bot dies it'll respawn at the base) 12:40:30 maybe st/ld should be 16bit 12:40:53 that way it's probably possible to have scouting bots scan the whole field into team memory 12:40:59 might be used for pathfinding then 12:54:01 can RET be used for computed gotos? 12:58:07 hmm, there's no indirect addressing it seems 13:01:23 oh and bots might want to know how healthy, strong or eagle-eyed they are. 13:10:57 hm. true. 13:11:02 ret? 13:11:03 yes 13:11:08 you can just push a number and then use ret 13:11:15 call/ret stack and data stack are the same 13:14:35 jumps/calls are absolute 13:14:40 but you can use ret. 13:15:11 and then there's the business of interleaving all that concurrent activity. 13:15:54 well each bot executes one instruction 13:15:56 then the next bot. 13:16:22 A1,B1,A2,B2,A3,B3 I guess. 13:16:50 although might be cool if bot can sleep 13:16:56 and forfeit their time slots for a few rounds. 13:17:06 i.e. if you have the ball 13:17:10 then the other bots sleep 13:17:18 which means the bot with the ball can move faster :D 13:18:27 http://codepad.org/UvEQlm3l <- updated 13:19:56 oh and yeah. bots keep their power-ups 13:20:14 so that taking them actually is of benefit. 13:25:20 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 I'd say that's a nop then. 13:28:42 can't walk into non free space 13:28:53 (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 `unidecode ςσ 16:06:17 ​[U+03C2 GREEK SMALL LETTER FINAL SIGMA] [U+03C3 GREEK SMALL LETTER SIGMA] 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 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 the moment your df interpreter doesn't terminate 16:41:41 you KNOW you fucked up BIG 16:41:44 because df doesn't even have loops. 16:42:28 df, hmm. dwarf fortress, probably not. 16:42:54 oh there was this deadfish thing 16:43:17 wtf 16:43:22 it's just horribly slow 16:43:25 WHAT THE FUCK 16:44:23 so what language stack did you write it in? 16:50:49 -!- tromp has quit (Remote host closed the connection). 16:53:14 python :D 16:53:52 . o O ( perhaps it's a long-winded program ) 16:53:56 isidsddsdiisddisiiisiiiiiiiiiiiiio 16:54:00 yay it works. 17:03:46 iiiidsiiiisddddddddddddo 17:03:54 this is great :D 17:05:33 iissdddsddddddo 17:05:36 hehe 17:06:18 iiisiiisiiiiiiiiiio 17:06:24 this looks optimal I'd say 17:06:50 hm. no. 17:18:02 hm 17:18:06 how do I define a nice heuristic function 17:18:11 so that it optimizes also for length. 17:19:34 ah 17:19:35 ok 17:19:40 iissdddsddddddddddddo 17:19:43 now it's optimal :D 17:21:41 iiisiiiisddddddddddddo 17:22:44 for numbers >3, you can just start from the nearest square... except when that square is 256 17:23:07 hi 17:24:33 (and there is a similar special case around 65536, of course) 17:26:39 now... should iissisdssss print 0 in deadfish? 17:29:30 hm. 17:29:49 but this is why I believe genetic evolutionary algo stuff will never find certain solutions. 17:30:06 int-e: I know :) 17:30:09 It seems not to be able to be able to find a solution for 257 17:30:17 I wrote a haskell program to generate the shortest dfconstants. 17:30:23 (https://esolangs.org/wiki/Deadfish/Constants) 17:31:33 yeah, 257 is awkward... iissisdddddddddddddddddddddddddddddddd 17:32:20 -!- tromp has joined. 17:36:07 It's never going to combine into that. 17:36:16 it'll reach 255 eventually 17:36:18 but then 17:36:20 it'll stuck 17:40:02 iissisdddddddddddddddddddddddddddddd'o 17:40:14 259 17:40:17 ok works :D 17:40:18 nice 17:41:07 sidssiisiisisdddddddddddddddddddddddddddddddd 17:41:13 probably needs some dead code elimination :D 17:41:20 sidss is pretty useless at the front :D 17:50:10 -!- tromp has quit (Remote host closed the connection). 17:54:53 isi+s+dAdsidi+iAss/aA-aiaiad*d-s-+diii+i+iadd/diA+d+/d 17:54:56 this will produce 257 :D 17:54:59 in extended deadfish :D 17:58:25 yey 18:05:17 -!- trn has quit (Ping timeout: 260 seconds). 18:12:30 [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 mroman: how about this, iiisisdddddddsddsiiisddddddsdddddddsddsiiiisiiiii produces -2 on a 32 bit deadfish implementation 18:48:34 (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 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 well, feel free to come up with code for such implementations 18:59:06 -!- trn has joined. 19:01:05 http://codepad.org/mfiYr4C4 19:01:19 my code is probably not the best to produce offspring anyway. 19:01:23 -!- imode has joined. 19:01:34 and always taking the ten best is probably not good. 19:01:41 because the ten best tend to look pretty much alike in the end 19:01:52 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 creationists were right. 19:17:30 evolution is a lousy idea :) 19:17:40 -!- o_0 has changed nick to n00blet. 19:26:16 so much fun... "iiisisdssissdsiississdddsiissiiiisiiiii" produces -2 as well, and is optimal. 19:27:13 iissdddsiiiiiisisdsiisisdsiisiiiiii produces 255, and iissdsdssisiiiisiisssdddsddds produces 257, all assuming 32 bit deadfish 19:31:37 -!- sleffy has joined. 19:35:04 and, finally, a Hello, world! program (with final newline): iiisdsiiiiiiiiossssiiisisioiiiiiiiooiiioisssiiisddsdddddoddddddddddddosssiiisiisddoddddddddoiiioddddddoddddddddossssiisiisdddodsssiiisio 19:48:18 -!- erkin has joined. 19:50:39 hey guys i created hardfish a much harder variant of deadfish 19:51:20 instead of s there's c 19:51:26 where c = one collatz step 19:51:41 so 257 is iiicicciicdcdidcc 19:52:29 or iiiciciicicdcdcc 19:54:30 mroman: http://codepad.org/vL6jJHNg 19:57:37 this assumes wrap around though right? 19:57:53 yes 19:58:22 That's what I mean by "32 bit deadfish", numbers wrap at 2^32. 20:00:00 hm. 20:00:09 are all numbers reachable with just i and c 20:00:49 obviously 20:01:00 but without any two i's in succession 20:02:17 hmm, yes. 20:06:42 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 ...repeatedly to get the number you desire. 20:10:10 [wiki] [[Special:Log/newusers]] create * Mroman2 * New user account 20:16:49 mroman: the approach is stupid though; for example, 257 is produced by iciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciccciciciccciciciccciciciciciccccicicciccicicicicicicicicccicciciciciciccccciciciccccicicccicicciccciccccccciciciccicicicc 20:16:54 [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=52940&oldid=52937 * Mroman2 * (+108) 20:17:05 [wiki] [[Hardfish]] N https://esolangs.org/w/index.php?oldid=52941 * Mroman2 * (+698) hardfiiiiish 20:17:49 interesting. 20:18:35 -!- n00blet has quit (Ping timeout: 240 seconds). 20:19:39 [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 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 Of course, I wonder how the world would react if I was also an extremely unforgiving, confusing person. 20:22:05 you are confusing 20:22:42 I'm not unforgiving, though, and I don't contradict myself in the span of a few minutes. 20:22:56 inb4 mroman and everyone else thinks I do. 20:23:12 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 [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52943&oldid=52942 * Mroman2 * (+129) /* Some Constants */ more constants 20:36:43 mroman: http://sprunge.us/WRFH -- hardfish constants :) 20:37:17 lol 20:37:19 nice 20:37:25 wait 20:37:26 no 20:37:34 you can't have ii in your programs 20:37:53 oh you actually forbade that. 20:37:59 yes. 20:38:10 okay, easy to fix 20:38:20 ah. found 30. iccicccicccicciccicicci 20:41:50 [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52944&oldid=52943 * Mroman2 * (+173) /* Some Constants */ more constants 20:42:13 my evolver seems to be unable to find something for 38. 20:42:22 -!- MrBusiness has joined. 20:46:52 [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52945&oldid=52944 * Mroman2 * (+55) /* Some Constants */ 20:52:21 mroman: http://sprunge.us/iKHK then 20:52:46 and a Hello, world!, assuming we add o: iciccicciciccioccicicccccccoicicciccicicciooccccccicccciciccioicciccoccccccccciccoicccccicioiccicicciciccioiciccccccccccicciocicicciccccioccccicccicocciccciccio 20:56:17 did you brute force them? 20:56:23 or use that log2 method? 20:56:30 that's brute force 20:56:44 the log2 method would produce much longer solutions 20:57:29 so it's not that hard :( 20:57:31 well.. 20:57:43 for example, 255, 256, 257 would have code of length 643 1106 226, respectively 20:58:10 :D 20:58:13 not very effecient yes 20:59:01 you computed all 2^34 programs? 20:59:05 in this short time? 20:59:06 o_O 20:59:17 it "only" grows as fast as the fibonacci numbers 20:59:27 well 20:59:29 not really 2^32 20:59:33 > fix (scanl(+)1.(0:)) !! 34 20:59:35 since ii is not allowed 20:59:36 9227465 20:59:48 still quite managable, really 21:01:23 what's with the line " 27 - cciccciccicicci" in [[Hardfish]], I think "cc" at the begin is a nop? 21:01:37 > fix (scanl(+)1.(0:)) !! 37 -- actually 21:01:40 39088169 21:02:11 zseri: it was evolved 21:03:46 mroman: but the program actually enumerates values, so if two prefixes produce the same value they only count as one 21:04:06 :D 21:04:08 it was EVOLVED 21:04:09 yes 21:04:14 but I need to do some changes to it. 21:04:16 too boring this way 21:05:08 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 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 [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 [wiki] [[Hardfish]] https://esolangs.org/w/index.php?diff=52947&oldid=52946 * Mroman2 * (+5) * typo 21:11:48 I'll pass, but 'r' is indeed interesting 21:12:22 [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 in particular, it raises the question how to write Hello world with as few 'o' instructions as possible :) 21:14:59 (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 ) 21:16:42 hmm, iriririr would produce 11? 21:17:19 14 21:17:35 ah, right 21:18:50 -!- Deewiant has quit (Ping timeout: 258 seconds). 21:25:41 qcrcrqirqrqic produces 11 according to my evolver :D 21:26:14 icrcr is also 14 21:26:40 qiriri is 14 as well 21:27:14 iqrqcqiqrqiq is 257 :D 21:28:35 but yes... whether it's possible to have less o's than output characters is interesting 21:29:06 although I have a hunch that these programs are probably longer than the ones with more o's in them 21:29:16 well... gotta go 21:29:19 -!- mroman has quit (Quit: cu). 21:30:35 Am I right in thinking that simply typed lambda calculus + a fixed point combinator is Turing complete? 21:49:38 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 Yes 21:59:30 :t \n f z -> n (\g x -> f (g x)) (\x -> x) z 21:59:31 (((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.