00:00:18 -!- bb010g has quit (Quit: Connection closed for inactivity). 00:04:05 -!- hjulle has joined. 00:21:30 ;5uv-o 00:21:32 oops 00:24:48 you may have to change your password 00:41:16 help 00:41:24 damn doesn't exist 01:03:20 `help 01:03:20 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 01:07:14 -!- bb010g has joined. 01:16:39 -!- trout has quit (Ping timeout: 265 seconds). 01:19:34 -!- hamrove has joined. 01:39:58 -!- MDude has changed nick to MDream. 02:00:10 -!- Phantom_Hoover has quit (Quit: Leaving). 02:40:32 -!- hjulle has quit (Ping timeout: 245 seconds). 03:00:54 -!- variable has joined. 03:18:57 -!- spatterworthy has quit (Ping timeout: 246 seconds). 03:26:59 -!- Sprocklem has joined. 03:31:18 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:43:29 -!- hamrove has quit (Quit: hamrove). 04:33:37 -!- variable has changed nick to trout. 04:48:18 -!- trout has quit (Ping timeout: 264 seconds). 05:15:51 -!- zzo38 has joined. 05:20:30 Another way to do color codes in cells is to use the PC memory format, so there is a color code in each cell 05:30:25 color codes for text or graphics? 05:33:17 Color codes for text is what I meant 05:34:14 Ah 05:34:56 Yeah ncurses does that IIRC, you | the color into the character you write 05:35:21 whcih implies the higher bits are used for color 05:37:26 I don't mean ncurses though, I mean poking the data directly into the memory; such a thing is only for PC though 05:37:51 PC color codes are also different numbers than ANSI color codes. 05:38:52 yah, i would think so, curses was invented on some mainframe architecture, i think. 05:40:33 also I remember on windows you can instead use conio.h 05:41:22 -!- Sprocklem has quit (Ping timeout: 245 seconds). 05:49:50 How would you make a transform from one program to a program which on alternating steps runs the original program and tries to figure out a proof that the original program does not halt? Now is it the new kind of halting problem? (Well, not quite the new kind) 05:52:36 I suppose, you could simply chack whether the state of the program is one that it was in before? 05:53:12 (wait, that only works if the memory doesn't grow) 05:53:20 @tell int-e Ah, finally the cake is working. I was worried... <-- wait this means you shouted "cake!" *without* having read the latest comic tdnh 05:53:20 Consider it noted. 05:53:36 Yes, that is one case, at least, but there are other cases too 05:53:55 @tell int-e wait scratch that i'm getting confused about the age of logs i'm reading 05:53:55 Consider it noted. 05:54:44 that's what happens when i don't log off before going to bed 05:55:31 oerjan: well that's better than me. without school or work I was recently corrected about the day of the week from thinking itwas friday to monday 05:55:48 OKAY 05:56:35 The day of the week is pretty arbitrary isn't it 05:56:58 yeah. but very traditional. 05:57:28 we've probably not skipped a single one since the ancient jews. 05:58:16 although the french tried. 05:58:36 suppose the 7-day cycle had existed since the first humans 05:58:41 The chinese apparently had a 10 day week (reading wiipedia) 05:58:51 s/ii/iki/ 05:59:02 ais523: WELL OF COURSE DON'T YOU READ THE BIBLE 05:59:02 how few humans would there have to be to have a decent chance of all of them forgetting what day of the week it was simultaneously, amd being unable to reconstruct? 05:59:32 oerjan: that doesn't imply that the seven days cycled, did it? 05:59:34 one too big party 05:59:48 ais523: hm 05:59:49 if they were programmers, 100 05:59:50 I think the Romans had a 9-day cycle, anyway 05:59:55 nones 05:59:58 and ides 06:00:01 i vaguely thought it was 8... 06:00:08 nones and ides happened once a monht 06:00:12 and calends, too 06:00:28 so each month was separated into three pieces, each of which was numbered separately 06:00:34 I guess it seemed like a good idea at the time? 06:01:06 zzo38: your transform sounds sort of trivial, once you've selected a formal proof system 06:02:44 I think I would prefer a 9 day system. then we can have 2 days work, one day off 06:03:04 don't some jobs have a 2 on, 1 off, 2 on, 2 off system? 06:03:16 that seems even better 06:03:20 ais523: except some parts of the year didn't have months originally 06:03:35 oerjan: What kind of formal proof system is it though? 06:03:39 oerjan: I think they did in the Roman calendar 06:03:42 perhaps not in the early days, thoguh 06:03:53 right, that would help sync with the moon 06:04:08 zzo38: i assume gödel implies you cannot really select a "best" one. 06:04:27 so you could go with ZFC, or homotopic type theory, or whatever. 06:04:43 (i hear the latter is all the rage) 06:05:47 ais523: well i'm talking about the roman calendar, from when someone here(?) pointed at a good site explaining its evolution. 06:05:52 OK I looked it up a few information in Wikipedia 06:07:42 Is it ever possible that applying such a transformation twice makes a difference (if the transformation method does something unusual)? 06:07:50 -!- zadock has joined. 06:08:22 lots of things are possible 06:09:08 zzo38: well your transform never makes the program _less_ halting. 06:09:20 oerjan: I do see that at least yes 06:10:42 I don't think that, if your proof system is correct, it's possible to prove that you can prove something, but not prove it 06:10:44 perhaps I'm wrong though 06:11:04 actually I think this is a property of proof systems that has a name and gets discussed by logicians 06:11:32 perhaps I should go find my copy of Forever Undecided, it has a lot of discussion about that sort of thing 06:11:37 argh bloody tonsils or whatever it hurts when i swallow 06:11:44 I thought that too but also am unsure, even if a proof system can make up a proof system somehow 06:12:34 I don't think that, if your proof system is correct, it's possible to prove that you can prove something, but not prove it <-- i refuse to believe you're not garbling whatever what was supposed to mean. 06:12:55 oh wait 06:13:00 missed a negation 06:13:09 * oerjan fails at refusal 06:13:26 ais523: in fact i think there's such a theorem but i cannot remember who it's named after 06:13:43 from what I remember reading about this stuff 06:13:57 it's a property a system can have, which is useful in some proofs, and which is implied via various other plausible groups of properties 06:14:15 so the theorem you're vaguely remembering is probably along the lines of "if a proof system has properties X, Y, and Z, it has that one too" 06:14:47 hm löb's theorem is sort of the wrong way 06:17:49 Can a formal system make up its own new kind of formal system by adding "this statement cannot prove itself" as a new axiom? 06:18:15 dunno 06:18:37 zzo38: well, if you take Gödel's counterexample "this statement is not provable" 06:18:57 you know that statement is not provable in a correct system (if it were, it would be false) 06:19:19 and its negation is not provable either (its negation is "the negation of this statement is provable", and if it were, you'd again be proving a false statement) 06:19:30 thus you can add either it or its negation as an axiom 06:19:34 and still have an internally consistent system 06:19:36 Yes, I read about that too 06:19:51 IMO it wouldn't be a very useful axiom though 06:23:27 http://blog.fogus.me/2015/04/27/six-works-of-computer-science-fiction/ <-- way for a link to make me feel cheated the second i open it tdnh 07:24:20 -!- TodPunk has quit (Read error: Connection reset by peer). 07:37:38 -!- llue has quit (Quit: That's what she said). 07:37:48 -!- lleu has joined. 07:57:22 -!- jameseb has quit (Ping timeout: 276 seconds). 07:57:39 -!- TodPunk has joined. 07:59:23 -!- jameseb has joined. 08:11:56 Hmm ed's ! command doesn't appear to allow cd to work properly 08:12:22 that's because cd is a shell builtin 08:12:35 WOT? 08:12:35 you're changing the current directory of the spell you spawned, not the editor that spawned it 08:12:54 [wiki] [[CalScript]] M http://esolangs.org/w/index.php?diff=42773&oldid=42764 * Vriskanon * (+100) Added tokens and memory info. 08:13:10 I have shown #esoteric /bin/cd before, I doubt it'd work with ed directly 08:13:15 but you could probably tweak it to do so 08:13:32 (it works by attaching a debugger to the parent process and forcibly getting that process to call the change-directory syscall itself) 08:14:05 Hmm... Maybe I should download the source code for ed and add filsytem stuff to it 08:14:52 Ed is written in C, almost certainly, so it shouldn't be hard 08:23:30 -!- idris-bot has quit (Ping timeout: 250 seconds). 08:23:51 -!- mroman has quit (Ping timeout: 256 seconds). 08:24:05 -!- mroman has joined. 08:24:17 -!- idris-bot has joined. 08:24:19 orin: that's called ex hth 08:24:35 does ex have a cd 08:24:47 yes, at least the vim based one 08:25:14 ex is simply a different mode of running vim (you can switch from inside) 08:25:21 fungot: morning. 08:25:21 mroman: what's this " it doesn't compile 08:25:24 oh it's chdir 08:25:48 fungot: That's a start of a string. 08:25:48 mroman: i don't think anyone but me's ever used intercal quotes to parens when there are fnord 08:25:54 vim help says cd 08:26:03 fungot: Ow. " in intercal? I don't know intercal. 08:26:03 mroman: ( define subset? ' ( a) ab acdafg ( b) think long and hard about the concept of code being outstanding... right? 08:26:12 chdir means the same thing 08:26:18 mroman: in INTERCAL, parens are ' to ' or " to " 08:26:42 or well, INTERCAL '' and "" do the same thing as parens in most languages 08:26:50 with the benefit of occasionally being ambiguous in weird ways 08:27:41 ex is not full backward compatible to ed 08:28:06 specifically ex uses q! while ed uses Q 08:29:18 hm 08:29:54 -!- Patashu has joined. 08:34:59 I think strings should be 5"hello 08:35:14 and/or [hello] 08:36:11 Ideally it would support hollerith for auto-generated code, and matching delimiters for humnas 08:36:40 hollerith means the generator doesn't have to translate escapes 08:49:51 -!- lleu has quit (Quit: That's what she said). 09:06:28 -!- idris-bot has quit (Quit: Terminated). 09:06:45 -!- idris-bot has joined. 09:09:45 Holy crap. The ed source contains the following line: if( errno == ERANGE || li > INT_MAX || li < INT_MIN ) 09:09:48 { 09:09:51 set_error_msg( "Numerical result out of range" ); 09:10:16 Which assumes that li, a long, has a lager range than an int 09:10:34 which it doesn't, on most 32 bit systems 09:11:35 that would have made sense in the days of 16-bit systems 09:11:41 which is where I learned to program 09:11:52 or, well, it was Windows 3.1 code but running on Windows 95 09:12:02 yeah, that makes sense as the origin 09:12:03 err, where I learned to program C and C++, I should say 09:12:42 I learned BASIC and Pascal earlier than that (and eventually got a computer with BASIC in the ROM of my own; it was obsolete at the time and its owners were trying to get rid of it, so it only cost £20 IIRC) 09:13:07 * Taneb never actually learnt to program 09:13:32 Taneb: can you program, though? 09:13:44 ais523, I can pretend to program very well 09:14:13 Is long a 64 bit integer on 64 bit systems? 09:14:21 orin: yes on Linux, no on Windows, typically 09:14:28 Ah. 09:14:44 More seriously, I sort of just picked stuff up, I did learn Haskell at some point, and I get lost very easily in any program of any appreciable size 09:14:51 this is apparently because on Linux 32-bit programs, "long is pointer-sized" is a more common assumption than "long is 32 bits"; on Windows, it's the other way round 09:15:04 oh, Haskell, right 09:15:15 given how little it has in common with anything else 09:15:27 I can imagine knowing that quite well and still having not that much contact with the rest of the programming world 09:15:35 I had a little Python and JavaScript before I started Haskell, but not much at all 09:15:40 (although, my day job is in OCaml, so) 09:15:47 actually I'm not even sure why I wrote this thing in OCaml 09:15:50 I can program in imperative languages. I can write toy programs in functional languagaes 09:16:01 I can't remember if I was asked to, or if I chose it, and if I chose it, why 09:16:25 it's not like I was good at OCaml at the time (I'm much better at it now, after working in it for 3-4 years) 09:16:45 I once wrote a program inFortran 77 for no good reason 09:17:07 other than i was reading a book that had examples in fortran 09:17:27 I once wrote a program in Prolog with no way to run it 09:17:31 no idea if I still have it or if it would have worked 09:17:36 that was based entirely on reading manuals 09:17:44 Really, I think I'm a maths student who likes computer science more than anything else 09:17:58 (strangely enough, I remembered enough Prolog from back then to actually write in it once I had an impl) 09:18:22 I had a course in prolog where I never actually ran any prolog programs, just wrote and analyzed them 09:18:54 to be fair, actually running Prolog programs doesn't give much insight into what they do or whether it's working 09:19:27 I think my uni course will take me about as close to Eodermdrome as to Prolog :/ 09:19:53 -!- hjulle has joined. 09:20:18 the amazing thing about Prolog is that I don't think there's another language like it (apart from uncomputable vaporware esolangs) 09:20:46 (I have the working name "Proud" for a language which is Prolog minus the arbitrary restrictions needed to make it computable, and have no idea why I chose that name any more) 09:21:02 -!- Phantom_Hoover has joined. 09:21:07 why is Perl called perl? 09:21:26 I don't know why anything is called anything 09:21:27 ais523, "PROlog UnDecidable"? 09:21:36 orin: I know that one 09:21:47 Larry Wall read through all the three- and four-letter words in the dictionary 09:21:52 didn't find any he liked 09:22:05 and then went through the five-letter words until he finally found a name he thought was acceptable 09:22:12 then he discovered it was already taken, so had to misspell it 09:23:49 orin: Perfect emacs rewriting language 09:23:51 obviously. 09:23:53 `? perl 09:23:55 perl? ¯\(°​_o)/¯ 09:24:05 `learn Perl is the Perfect Emacs Rewriting Language 09:24:12 Learned 'perl': Perl is the Perfect Emacs Rewriting Language 09:24:45 Anyway if your professor says, you can write the program in any language so long as it works, that is an excuse to use Fortran or PL/I or any other ancient and forbidden tongue. 09:25:19 orin: they said that in my Systems and Control GCSE 09:25:25 and I had a huge urge to write it in assembler 09:25:46 but given that that was an exam that I wanted to do really well at and I had a feeling I shouldn't annoy the examiner, I wrote it in pseudo-BASIC instead 09:26:37 but without -ffree-form 09:26:42 free-form is for whimps. 09:26:50 Yeah that's what I did 09:27:14 -!- ais523 has left (" fizzie: it makes demons fly out of my window, washing the windows api"). 09:27:18 -!- ais523 has joined. 09:27:20 I used the line numbers and the weird three number goto and everythinmg 09:27:28 what does -ffree-form do? 09:27:55 (also, I did do well at that exam, I got a letter back from the exam board saying I had one of the top 5 marks in the country on that exam) 09:28:11 (then the school stopped teaching the subject altogether a few years later) 09:28:29 it means you don't have to put the line numbers aon particular columns and begin the statement at charcter number 7 and put a C in character 1 for commnets 09:29:25 oh, I was assuming BASIC, not Fortran 09:29:45 actually this gives me an evil idea 09:29:50 fixed-form BASIC 09:30:09 line numbers in particular columns, REM has to be in column 1, etc. 09:30:43 i don't think REM in column 1 is backward compatible 09:31:03 unless you're satisfied with 9 comment lines 09:31:32 or wait is this 0 or 1 indexing 09:32:07 or wait you mean REM doesn't get a line number 09:32:22 * oerjan learned BASIC too long ago 09:32:29 I was wondering about that myself 09:32:33 I can see a few potential solutions 09:32:43 one is to use fancy Unicode line numbers that let you fit larger numberes into one column 09:32:54 I guess, failing that, you could put the number at the end of the previous line 09:34:19 What if a lanuage used Roman line numbers 09:34:38 I'm surprised that hasn't been done yet 09:34:42 if it hasn't 09:34:48 I can believe it happening in something INTERCAL-related 09:35:00 I. WRITE HELLO WORLD 09:35:09 II. END 09:35:25 meanwhile, I'm reading a paper on how to do a FizzBuzz in Haskell without checking /anything/ twice, O(n) in program size in the number of "fizz"/"buzz" keywords 09:35:27 oh, I remember 09:35:33 it's QVICKBasic 09:35:40 from the ICFP contest a few years ago 09:35:43 if you haven't seen that, you should 09:35:50 it is one of the most amazing esoprogramming projects ever 09:35:57 (not QVICKBasic, the contest as a whole) 09:36:32 orin: http://boundvariable.org/task.shtml 09:36:35 ais523: show me that paper 09:37:01 myname: https://themonadreader.files.wordpress.com/2014/04/fizzbuzz.pdf 09:37:01 i don't quite get where the problem is 09:37:11 this doesn't look very submitted, as papers go 09:37:14 but it's in the form of a paper 09:37:22 at least every third number is a fizz 09:37:45 number of fizz is in O(numbers) 09:38:01 myname: no 09:38:09 huh? 09:38:14 as in, if you add more pairs than just (3, "fizz"), (5, "buzz") 09:38:24 say you add in more primes and more humorous noises 09:38:36 the size of your program needs to be O(n) in that 09:38:47 anyway, the reason I mentioned this is that it reminded me of yacc 09:38:57 and now I'm trying to figure out if a yacc fizzbuzz is even a meaningful problem 09:40:27 hmm, this thing has just two references; one to Dijkstra, the other to Wikipedia 09:42:59 Why not just do struct {char*s,int i} noises[]={{"fizz",3},{"buzz",5}}; 09:43:19 and then write an interpreter? 09:43:23 yeah 09:43:33 you may still end up checking something twice 09:43:45 what? 09:43:58 I don't think so... 09:44:36 depends on how your interp works 09:44:45 Is 'capital punishment' == 'death sentence'? 09:44:49 I think it might work if you have an accumulator variable 09:44:55 mroman: pretty much, they're used in different contexts 09:45:02 yeah. 09:45:15 "capital punishment" = "this countries' laws allow for execution of people committing certain crimes" 09:45:25 "death sentence" = "a ruling that a specific person should be executed" 09:45:31 I see. 09:45:38 but they're close enough in meaning for people to use them interchangeably 09:45:56 Susan-Anne White has quite a manifesto. 09:46:45 -!- zadock has quit (Quit: Leaving). 09:47:42 for(i=0;i for(i=0;i hmm, westernish europe 09:47:54 what country is this? 09:48:24 orin: where does that print the number itself if none of them match? 09:48:48 oh, right. you need to have a boolean for that... 09:49:50 "westernish europe"? 09:49:51 also you're missing a pair of braces, meaning that you'll only print one newline at the end of the program 09:49:53 Portugal? 09:50:02 mroman: UTC+2 09:50:05 -!- hjulle has quit (Ping timeout: 248 seconds). 09:50:15 which given that it's summer time, means western but not as far west as the UK 09:50:16 for(i=0;i although if you are in Portugal, it's using some weird DST rules 09:50:31 either that or my clock is wrong or your clock is wrong 09:50:36 `time 09:50:37 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: time: not found 09:50:44 `` time 09:50:47 real: 0m1.575s, user: 0m0.000s, sys: 0m0.000s 09:50:49 oh right 09:50:51 `date 09:50:54 Tue Apr 28 09:50:53 UTC 2015 09:51:13 somehow, even nowadays I slip that I grew up on DOS 09:51:42 yeah. so I think it's trivial to do it, if you store the numbers and words in a data structure separately 09:54:52 although, it's not necessary to test if i%4==0 if i%2==1 09:55:10 so there are still uneccary tests 09:56:28 I think it's probably more efficient to just check anyway, than to write extra logic to detect that case 09:56:35 although arguably that violates the rules 09:56:44 it didn't really make the details of the rules clear 09:57:18 so, it turns out there's no fizzbuzz in INTERCAL 09:57:58 wat 09:58:10 oh you mean no one wrote one 09:58:44 what? let me check Rosetta Code 09:58:59 oerjan: not in the Pit, anyway 09:59:03 http://rosettacode.org/wiki/FizzBuzz 09:59:04 indeed 09:59:07 which claims to be a repository of all known INTERCAL programs 09:59:08 no intercal 09:59:11 it may, however, be lying 09:59:18 but there's a Chef implementation 09:59:35 actually INTERCAL is a really hard language to write this in 09:59:42 especially if you don't use the standard library 10:00:04 yeah, the problem is that it's hard to write even a BF interpreter in intercal 10:00:23 BF interp is easier, I think 10:00:29 no modulo, no string handling other than single chars 10:00:37 is there an easy way to remap array indexes so that they're easy to increment and decrement in intercal? 10:01:01 I mean, remap integers to other integers that way, and then you use them as array indices 10:01:04 b_jonas: there's a one-statement increment in INTERCAL that isn't too awful that's been known for a while now 10:01:06 to implement bf 10:01:22 ais523: is there a decrement too? 10:01:34 I have been considering the "some formula which cycles through 2^n possible values in an arbitrary order" thing, but didn't come up with a solution 10:01:34 just increment isn't enough 10:01:46 ais523: it needn't be 2**n values 10:01:46 and yes, to decrement you can complement then increment then complement, among other things 10:02:06 hmm 10:02:25 DO .1 <- "?'"'"'"'"'"'"'"'"'".1~.1"~.1'~.1"~.1' ~.1"~.1'~.1"~.1' ~.1"~.1'~.1"~.1' ~.1"~.1'~.1"~.1' $#1"~"#32767$#1"'$.1"~"#0$#65535" 10:02:32 sorry for the gratuitous whitespace 10:02:56 DO .1 <- "?'"'"'"'"'"'"'"'"'".1~.1"~.1'~.1"~.1'~.1"~.1'~.1"~.1'~.1"~.1'~.1"~.1'~.1"~.1'~.1"~.1'$#1"~"#32767$#1"'$.1"~"#0$#65535" 10:02:58 that's better 10:03:55 IIRC, if you remove one of the "…~.1" repetitions, it works for all numbers but 65534 10:03:59 I mean, I certainly prefer languages that have a large selection of arithmetic built in, but if you're using intercal, there's really no reason to use numbers in their original meaning, is there? 10:04:09 indeed 10:04:13 Maybe there is some little reason for that, like if arrays are stored continuously 10:04:57 (((((#65535 $ #65535) ~ ((?32 ((((V32 ((&32 (.4 $ .2) ~ (#0 $ #65535)) $ .9) (#0 $ #65535)) $ #0) ~ (#32767 $ #1)) $ .2) ~ (#0 $ #65535)) $ #65535)) $ .4) ~ (#0 $ #65535)) $ .9) <- (#435 $ #72) 10:05:00 or... can you give computed percentages? 10:05:17 this one was the culmination of literally years of work 10:05:20 and isn't in INTERCAL syntax yet 10:05:24 and has the input operands hardcoded 10:05:36 and no, not in C-INTERCAL I don't think (you probably can in CLC-INTERCAL) 10:05:38 what does it do? 10:05:59 addition 10:06:03 ah 10:06:18 specifically, you give it the bitwise-AND and bitwise-XOR of two numbers 10:06:42 and it returns the bitwise-XOR of a specific one of those numbers and their sum 10:07:11 so a little extra code allows you to convert it to an addition routine 10:07:15 no loops, no threading, it's great 10:07:24 it takes violin a little under 2 minutes to run on this laptop 10:07:29 _threading_? 10:07:30 that scares me 10:07:48 threading to do addition 10:07:50 yeah, that's my Slashdot sig, I managed to golf it to fit it within the size limits 10:07:52 give me a moment 10:08:54 (1)DOCOMEFROM!2~.2'~#1WHILE:1<-"'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1" 10:09:09 that's way more efficient than the reverse assignment method 10:09:13 That looks way scarier than my GF(128) obfu, because that only has to compute an inconvenient operation from convenient primitives. in intercal, you have to go backwards, computing convenient operations from crazy primitives. 10:09:57 the reason to use threading is simply that x WHILE y runs y for as long as x is running 10:10:02 and thus is a convenient way to do a loop 10:10:19 GF(128) obfu => http://www.perlmonks.com/?node_id=863110 10:10:51 that algorithm there is actually incredibly conventional, it basically starts with two numbers, adds them bitwise to produce a value and a carry, then uses the value and shifted carry as inputs to the next round 10:10:56 and repeats until there are no carries left 10:11:02 the violin code is a little more unconventional 10:11:28 though maybe a better analog would be http://www.perlmonks.com/?node_id=989716 which does implement useful operation (addition) from inconvenient ones (indexing and amending bits in the Zeckendorf representation) 10:11:45 I see 10:12:23 `carry` = (`a` bitwise-OR (`x` bitwise-AND `carry`)) leftshifted 1 10:12:29 (zzo38 has implemented even more useful stuff in zeckendorf) 10:12:37 `a` and `x` are the and and xor of the original numbers 10:12:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: a`: not found 10:12:44 based on that, we then define the carry in terms of itself 10:13:32 yeah 10:13:47 and it's only about 16 steps to stabilize 10:13:58 not, say, 65536 steps which some formulas could do 10:14:08 b_jonas: oh, you don't understand 10:14:13 it's not an iterative algorithm 10:14:14 it's a constraint 10:14:22 violin has to use a SAT solver to solve it 10:14:27 oh 10:14:27 which is why it's so slow 10:14:31 whoa 10:14:37 a sat solver? 10:14:43 that's even scarier 10:15:00 -!- TodPunk has quit (Read error: Connection reset by peer). 10:15:15 INTERCAL expression syntax is now NP-complete, you can write arbitrary boolean satisfaction problems in it 10:15:29 -!- TodPunk has joined. 10:15:31 what 10:15:37 how does it achieve that? 10:16:26 basically you write them on the left of the arrow 10:16:47 hmm 10:16:49 all compilers agree that it's legal to select 16 bits from a 32-bit number, then mingle that with something 10:17:10 also, all compilers agree that it's illegal to selec 17 or more bits from a 32-bit number, producing a value greater than 65535, then mingle that with something 10:17:10 and it can contain indexing on the left and right hand side of the arrow? 10:17:31 how does it even determine which variables to modify? 10:17:38 (there's some grey area if you select 17 or more bits but the value is less than 65536 bits, but you can easily avoid that case) 10:17:45 and, ugh, I didn't think of array indexing on the left of the arrow 10:18:25 -!- MauBot has joined. 10:19:10 like, if you say DO.1~.2<-.3 how does it know whether to modify .1 or .2 ? 10:19:57 oh, it modifies everything mentioned to the left of the arrow 10:20:00 including the constants, in some mpls 10:20:04 *impls 10:20:06 uh 10:20:08 although rather predictably in most 10:20:10 ok 10:20:21 violin will find each possible solution with nonzero probability 10:20:22 I have been considering the "some formula which cycles through 2^n possible values in an arbitrary order" thing, but didn't come up with a solution <-- if you make that 2^n-1, it's what i did for the unlambda interpreter gc 10:20:38 and is there a way to force it to keep some values constant when searching for a solution? 10:20:40 oerjan: oh good 10:20:50 also the unlambda interp has a gc? or was it just refcounting? 10:21:10 b_jonas: currently no, for violin integration I'm planning a "don't modify constants unless you have to" approach 10:21:25 -!- MDream has changed nick to MDude. 10:21:40 ais523: ok, but how about non-constants? like if I want to search a solution where .1 doesn't change but .2 does 10:22:12 hmm, is there a multiple assignment syntax so you can give more than one condition by the way? 10:22:16 b_jonas: then you have to pass in the value indirectly on the right of the arrow 10:22:18 I read that as integrating an actual violin, before realizing there could be a language called violin 10:22:22 -!- Wazza has joined. 10:22:30 also, you can't directly do a multiple assignment 10:22:37 but you can just write DO .1$.2 <- .3$.4 10:22:47 um yes, for two values 10:22:47 -!- Wazza has left ("Textual IRC Client: www.textualapp.com"). 10:22:54 that won't work for two dwords or three words 10:23:07 you can only do 32 bits atm, yes 10:23:26 ok 10:23:40 I guess too much generality would make it too easy to program 10:23:53 it's not INTERCAL without arbitrary restrictions 10:24:00 although I have been considering bignum mingle as a usefulish operation 10:27:23 ais523: ok refcounting it was 10:28:10 -!- boily has joined. 10:32:41 -!- iamevn_ has joined. 10:34:53 -!- nortti has quit (Ping timeout: 265 seconds). 10:35:01 -!- nortti has joined. 10:35:32 -!- iamevn has quit (Ping timeout: 245 seconds). 10:43:36 -!- AnotherTest has joined. 10:44:05 -!- MauBot has quit (Remote host closed the connection). 10:48:24 Ok, I added a 'C' command to ed that changes direcotry 10:49:22 As long as I'm mangling GNU software, anything else I shouold add? 10:49:58 orin: why don't you just use ex instead? 10:50:10 because that's not as fun 10:51:30 Maybe I can add syntax highlighting 10:51:35 lol 10:52:04 orin: doesn't it already have that via w|your-syntax-highlighter-executable 10:52:09 or maybe with a ! instead of | 10:52:52 Good point. Maybe I whould just add a command to set an executable to pass all output through 10:54:32 Well technically that doesn't do exactly what I mean, but I see the value in externalizing the highlighting 10:56:00 hellorin. what kind of atrocities are you commiting to ed? 10:56:15 boily: it's a saner method than /bin/cd at least 10:56:37 I added a 'C' command, and now I think i'll add syntax highlighting 10:57:04 apparently early UNIX had a /bin/goto that exploited the fact that the shell of the time, pre-sh, read the file back from disk after every command was executed 10:57:08 so it manually moved bits of the shellscript around 10:57:32 /clear 10:57:36 /flush 10:57:39 /aaaaaaaaaaaaaaaargh! 10:58:24 http://ctrlv.in/565704 11:00:37 *strchr(*ibufpp,'\n')=0; 11:00:46 beacuse i'm awful. 11:01:57 remind me to mapole you when I won't be having a cold and have a little bit more muscular strength twh 11:02:39 scary 11:02:51 -!- ais523 has quit (Ping timeout: 264 seconds). 11:03:27 well it seems that there is always a newline at the end 11:03:46 (based on the lack of egfaulting) 11:05:15 boily: hey have you been infecting me 11:05:26 oh i was supposed to eat 11:05:51 hellørjan. I don't think so hth 11:06:07 i recommend not having a throat that hurts when you swallow hth 11:08:02 my sinuses are blocked, coughing light green extraterrestrial radioactive stuff, but at least my throat doesn't hurt. 11:08:12 yay! 11:08:35 now i can think "at least my sinuses aren't blocked" 11:10:38 So I think I'll add an F [command] command, which causes ed to pass all output of 'p' and 'n' through the command. 11:11:08 and maybe an option to set this from the command line 11:11:24 'F' for 'formatter' 11:12:20 orin: um, at that point you might want to add some escape code for multibyte commands before you use up all letters for insignificant commands 11:12:36 that could hurt you later if you find more useful commands you'd want to put on the single letters 11:12:53 you know, like the way the vanilla nethack key layout is messed up 11:13:23 Nah, I'll just start using é and æ 11:13:44 orin: in what encoding? 11:13:50 whatever 11:14:08 probably utf-8 11:14:24 you'll just run out of all 256 bytes. many are already used up for ranges or commands. 11:15:07 I mean, all i'd need to do is check for a byte above 128, and in that case read the next byte 11:15:20 and check what it is. 11:16:08 -!- f|`-`|f has quit (Ping timeout: 240 seconds). 11:16:56 But I dunno if I'll add more than 2 commands. I'll get bored pretty fast 11:17:31 apparently people used to modify the local versions of commands a lot in the old world 11:22:25 the haskell libraries list seems severely infested with top posters 11:23:12 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 11:24:01 oerjan: what do you mean? 11:24:37 people who quote the message they're replying to, _never_ removing anything, regardless of thread depth 11:24:48 and put their own answer at the top 11:25:03 oh. mailing lists. 11:25:37 I usually do that, but put my reply at the bottom 11:26:04 -!- ChanServ has set channel mode: +o oerjan. 11:26:13 -!- oerjan has kicked orin Crimes against humanity. 11:26:18 -!- oerjan has set channel mode: -o oerjan. 11:26:27 -!- orin has joined. 11:26:30 lol 11:26:55 'Crimes against humanity' 11:27:46 logically I think the reply shuld be at the bottom, but only if your software doewsn't automatically display the post your repling to 11:28:12 e.g. email 11:28:38 logically i think it's the sender's responsibility to be non-annoying to a large fraction of recipients. 11:28:58 I guess.... 11:29:45 in this case i'm browsing the mailing list from a web archive. it 11:30:01 Hm.. could you not write a script to go through your emails and cut out lines that consist of />>>>>>>>>>>>>>>*/ 11:30:02 why was there a return key there. 11:30:20 orin: it's not my emails, i'm reading it on the web. 11:30:28 ooooo 11:30:59 Actually that could also cut out lines with brainfuck code in them 11:31:07 that's a problem 11:32:03 -!- boily has quit (Quit: REPLICATING CHICKEN). 11:32:22 does that mean we'll have two boilys next time 11:34:02 no, it means there was never one boily. the boily we get each time is a duplicate of the original boily, whowe've never met. 11:35:04 aha 11:36:16 Does garnierite have anythign to do with the shampoo? 11:37:19 apparently they're both named after french people 11:38:05 garnyayite 11:48:20 -!- AnotherTest has quit (Ping timeout: 244 seconds). 12:10:50 -!- AnotherTest has joined. 12:32:46 -!- Patashu has quit (Ping timeout: 244 seconds). 12:59:42 wtf 13:02:21 wwtf? 13:02:47 -!- nortti has quit (Ping timeout: 265 seconds). 13:05:26 -!- nortti has joined. 13:09:13 SUCCESS 13:09:40 http://ctrlv.in/565759 13:14:01 + 13:14:35 is it a problem if it passes the line numbers into the highlighter? 13:16:10 I suppose I could fork again and add the line numbers at the end of the pipeline 13:17:46 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 13:18:21 eh, for now it's ok 13:21:34 -!- hamrove has joined. 13:22:56 hello 13:29:03 I'm adding new features to the ed editor, what features do you think it needs? 13:30:48 shred. 13:31:18 what would that do? 13:39:12 some kind of "wipe" solution? 13:39:28 -!- AnotherTest has quit (Ping timeout: 256 seconds). 13:39:38 oh, like destory the data on disk? 13:40:13 thats probably beyond my programmign porwess 13:53:42 -!- e_svedang has joined. 14:14:59 -!- e_svedang has quit (Ping timeout: 255 seconds). 14:17:12 -!- variable has joined. 14:30:01 -!- f|`-`|f has joined. 14:30:12 -!- Sgeo__ has joined. 14:31:28 -!- Vorpal has quit (Ping timeout: 240 seconds). 14:32:48 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 14:33:08 -!- spiette has quit (Ping timeout: 240 seconds). 14:33:32 -!- spiette has joined. 14:33:57 -!- Vorpal has joined. 14:33:57 -!- Vorpal has quit (Changing host). 14:33:57 -!- Vorpal has joined. 14:50:55 can ed execute shell commands? 14:50:59 and collect the output? 14:51:08 that would be a feature 14:51:26 https://github.com/orenwatson/orens-fun-ed 14:51:41 yes it does do that: for example 14:51:47 e !ls 14:52:11 neat 14:52:29 I'm working on an editor in java 14:52:45 using lanterna 14:52:55 what kind of editor 14:52:59 text editor 14:53:16 with support for 2D languages 14:53:33 i.e. you can type normalle and it'll write it backwards or downwards and that stuff. 14:53:36 *normally 14:53:50 Oh, cool! that would really help 14:54:03 and you can configure letters that change directions 14:54:14 so it automatically switches after typing a ^ for example 14:54:53 orin: I'll let you know once I have a decently working version. 14:59:17 -!- GeekDude has joined. 14:59:51 I suppose it is much easier to hack stuff that was already written... 15:04:38 -!- GeekDude has quit (Ping timeout: 252 seconds). 15:04:54 -!- variable has quit (Quit: 1 found in /dev/zero). 15:08:30 -!- variable has joined. 15:14:07 -!- Sprocklem has joined. 15:14:23 -!- orin has quit (Ping timeout: 255 seconds). 15:15:56 -!- GeekDude has joined. 15:16:08 -!- orin has joined. 15:17:11 -!- hamrove has quit (Quit: hamrove). 15:20:35 orin: I certainly feel that way. 15:21:33 oerjan: wait scratch that i'm getting confused about the age of logs <-- I forgive you 15:21:52 * int-e is in a benevolent mood 15:37:04 -!- variable has quit (Ping timeout: 250 seconds). 15:40:50 int-e: about the difficulty of writing versus modifying a program, or about replies should be at the bottom 15:43:00 -!- Jafet has quit (Ping timeout: 256 seconds). 15:43:26 -!- Jafet has joined. 15:44:08 -!- jix has quit (Ping timeout: 256 seconds). 15:44:16 -!- jix has joined. 15:50:21 -!- Jafet has left. 15:50:28 orin: I meant the former, but I also feel the same way about top-posting. 15:51:10 -!- Jafet has joined. 15:51:30 A: Because it upsets the natural flow of reading. 15:51:30 Q: Why is top posting so rude? 16:09:38 int-e: yay 16:12:06 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 16:20:18 -!- bb010g has quit (Quit: Connection closed for inactivity). 16:21:53 int-e: that was to the forgiveness, i find the "don't cut away anything" part of posting more annoying than the actual top posting part 16:22:01 *top posting 16:23:43 oerjan: I thought so, but I replied to orin. 16:30:44 oerjan: The two issues are related though: inline replies encourage people to cut down the context. 16:32:00 hm 16:32:16 -!- hamrove has joined. 16:58:30 -!- e_svedang has joined. 16:58:46 `relcome e_svedang 16:58:48 ​e_svedang: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 17:01:14 -!- hamrove has quit (Quit: hamrove). 17:08:48 -!- AnotherTest has joined. 17:10:24 -!- HackEgo has quit (Ping timeout: 252 seconds). 17:11:45 -!- hamrove has joined. 17:12:30 -!- orin has quit (Quit: Lost terminal). 17:13:27 -!- variable has joined. 17:17:07 -!- oren has joined. 17:17:35 Gregor: HackEgo ran away 17:18:06 blah now DF is hanging my computer? god damn it 2GB of memory used to be a megaton! 17:18:18 -!- e_svedang has left ("Using Circe, the loveliest of all IRC clients"). 17:19:07 argh too much drooling 17:19:27 um. wat 17:20:33 oren, DF as in Dwarf Fortress? 17:20:49 yeah 17:21:00 i've got an infection such that it hurts to swallow, but never swallowing doesn't really work either. thus drooling. 17:21:33 oren: i think 2GB was about the _disk space_ on the first computer i installed linux on, back in 1999 17:22:04 oerjan: be more masochistic hth 17:22:16 quintopia: sorry no can do 17:22:43 what about throat numbing medicine? what about soaking up drool with crackers? 17:23:53 i don't have crackers. i do have plenty of paper tissue. 17:23:57 hmm try swallowing lots of tiny ice cubes 17:24:42 I think an eggo would work as a tray to make tiny ice cubes 17:24:44 i don't have ice cubes, and i don't see why that should help. 17:24:54 what's an eggo 17:25:01 (i don't think i have one) 17:25:03 toaster waffle 17:25:08 @google leggo my egoo 17:25:08 fancy 17:25:09 https://www.leggomyeggo.com/ 17:26:39 eggos were my lunch every day in middle school 17:28:46 isn't ridiculously detailed simulation like the point of DF, obviously it will always want to use as much resources as you have. 17:29:07 just be glad it's not 3d graphics on top 17:29:33 one day it will be 17:30:06 (i don't know that it would add that much load since the simulation would be cpu-bound and the graphics gpu-bound) 17:31:28 debian installer CDs now boot with grub-2 instead of isolinux? 17:33:30 heh, I don't even know what an installer CD is anymore... I guess I have one for Windows XP somewhere... 17:33:51 I use an installer SD usually 17:34:30 (For the last few installations of Linux I've used debootstrap from Knoppix, which I find convenient because Knoppix can access an existing network.) 17:34:30 int-e: I don't boot from the CD either, I just load the kernel and initrd on the tiny netboot installer CD from a boot loader instead 17:34:38 so this change isn't really relevant to me 17:34:41 I'm just surprised 17:35:12 but what's the problem with using grub 2 anyway? 17:35:20 int-e: no problem 17:35:42 but I don't burn a CD, and don't install a bootloader just to run an installer image 17:36:13 I just download the files to hard disk, and load them from my already installed grub-l bootloader or from a cd that has a grub-l bootloader 17:36:48 I have a script here to convert between boot loader config files => http://www.perlmonks.com/?node_id=928102 17:37:04 but I don't use that, I just type the command manually because I know what the debian installer expects 17:38:15 -!- Sprocklem has quit (Ping timeout: 264 seconds). 17:39:41 I'll probably start to use grub2 when I'm forced to because I get hard disks larger than 2 tebibytes and so can't use a dos partition table 17:39:53 and not before that 17:40:41 how common are such hard disks now? 17:40:50 not that I'll be buying any soon 17:43:44 mine is 64 GB 17:44:22 Hence why I have so many SD cards 17:46:32 I love having lots of disk space 17:46:45 but currently the big hard disks seem to be 2 terrabytes size 17:47:20 Right, 1TB seems to be the standard size for a new desktop pc, 500GB is also still a thing. 17:47:23 terrabytes: the data standard for all of Holy Terra 17:48:01 nobody said anything about holyness... 17:48:29 int-e: its a 40K refrence. 17:48:38 Ah. (And welcome to the bianual smartass competition!) 17:49:15 oh, I'm up against some terrifying competition 17:49:41 I hope I can do well! 17:50:48 anyway the disk space you get depends on how much you spend 17:51:09 sure 17:51:23 -!- Vorpal has joined. 17:51:23 -!- Vorpal has quit (Changing host). 17:51:23 -!- Vorpal has joined. 17:58:37 hi 17:58:43 hai 17:59:48 I need a hostname for a new RPi. I already have a RPi, but this new RPi 2 needs a name 18:00:12 Hm 18:00:20 patrick 18:00:49 oren, doesn't fit my theme. Which is mythological beasts. The existing RPi is cerberus. The laptop I'm typing on is dragon. 18:01:43 veela 18:02:03 wait did rowling invent them 18:02:24 Never heard of them, what are they? 18:03:30 oren, also plus points if the name fits the device. The RPi acts as a VPN and ssh endpoint. So Cerberus, the gatekeeper of the underworld is a fitting name. 18:03:49 And phoenix is an old Pentium 3, reborn from various spare parts 18:05:58 guardians. gargoyles 18:06:17 Vorpal: chimera hth 18:06:25 (courtesy of the yafgc character) 18:06:38 oren, yes that would fit the new RPi too, since it will be a ssh end point in a new location 18:06:45 Also runs RADIUS 18:07:52 god, this memory card in this older RPi is slow, it previously ran on an external hdd, but I switched that over to the new RPi 18:10:54 -!- oerjan has set topic: Vǫwël Cøntınùům | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ | http://esolangs.org/. 18:23:26 -!- hamrove_ has joined. 18:26:18 -!- hamrove has quit (Ping timeout: 252 seconds). 18:31:06 -!- hamrove has joined. 18:34:08 -!- hamrove_ has quit (Ping timeout: 256 seconds). 18:44:41 If I flip a fair coin until the number of heads exceeds the number of tails, or vice versa, by 50, then what's the expected value of the total number of flips? 18:46:16 2500 18:47:08 Based on a random walk moving, on average, the square root away from the center line after a given distance. 18:49:09 neat 18:51:42 -!- variable has quit (Ping timeout: 256 seconds). 19:00:53 -!- fractal has quit (Changing host). 19:00:54 -!- fractal has joined. 19:18:48 MDude: i find the argument lacking, although simulation seems to confirm the answer. 19:21:15 -!- Sprocklem has joined. 19:31:58 it's not exactly 2500, but on the order of that 19:38:22 -!- zzo38 has quit (Remote host closed the connection). 19:47:11 -!- Sprocklem has quit (Ping timeout: 245 seconds). 20:04:01 -!- hamrove has quit (Quit: hamrove). 20:05:44 tromp: it actually _is_ exactly 2500 20:09:49 oerjan: proof? 20:11:07 @let rwStep l = 0:zipWith((+)`on`(/2))l(drop 2 l)++[0] 20:11:08 Defined. 20:12:34 @let rwe = map toInteger (iterate rwStep (replicate 101 0) !! 100000) 20:12:35 .L.hs:143:11: 20:12:35 No instance for (Integral a0) arising from a use of ‘toInteger’ 20:12:35 The type variable ‘a0’ is ambiguous 20:12:40 eep 20:12:55 @let rwe = map round (iterate rwStep (replicate 101 0) !! 100000) :: [Integer] 20:12:56 Defined. 20:13:08 > rwe !! 50 20:13:09 *Exception: stack overflow 20:13:12 oerjan: that's not a proof 20:13:37 coppro: it's a proof if i can get lambdabot to calculate it, but it's a little heavy 20:14:04 but lambdabot doesn't cache anything does it... 20:14:26 too much laziness. 20:14:35 oh whatever. 20:15:23 @let fp = [0,99,196,291,384,475,564,651,736,819,900,979,1056,1131,1204,1275,1344,1411,1476,1539,1600,1659,1716,1771,1824,1875,1924,1971,2016,2059,2100,2139,2176,2211,2244,2275,2304,2331,2356,2379,2400,2419,2436,2451,2464,2475,2484,2491,2496,2499] 20:15:25 Defined. 20:16:11 > let tab = fp ++ 2500 : reverse fp in tab == rwStep tab 20:16:13 False 20:16:23 wait what 20:17:48 that gives True in GHCi :( 20:18:32 > length fp 20:18:33 50 20:18:40 :t fp 20:18:41 Num t => [t] 20:19:11 perhaps a rounding error. hm how can i make it exact... aha! 20:19:30 > let tab = fp ++ 2500 : reverse fp :: [CReal] in tab == rwStep tab 20:19:31 False 20:20:52 @let rwSum l = 0:zipWith((+))l(drop 2 l)++[0] 20:20:53 Defined. 20:21:13 oerjan: it's not a proof, it's just a simulation 20:21:43 coppro: the simulation is to find the answer. once you have the answer you can make a proof. 20:21:50 right 20:22:05 all i need to show is that the answer is a fixpoint of rwStep 20:22:50 hm wait how can there possibly by round-off error whan all i'm doing is half-integers 20:23:23 @let tab = fp ++ 2500 : reverse fp 20:23:24 Defined. 20:23:31 :t tab 20:23:32 Num a => [a] 20:24:00 > map (*2) tab == rwSum tab 20:24:02 : can't find file: L.hs 20:24:05 > map (*2) tab == rwSum tab 20:24:06 : can't find file: L.hs 20:24:13 fffffffff 20:24:16 > map (*2) tab == rwSum tab 20:24:19 False 20:28:23 oh wait duh 20:28:33 i copied the wrong version 20:28:49 @let rwStep l = 0:zipWith((+)`on`(/2).(+1))l(drop 2 l)++[0] 20:28:49 Parse failed: Ambiguous infix expression 20:28:59 :t on 20:29:00 (b -> b -> c) -> (a -> b) -> a -> a -> c 20:29:16 > (0$0`on`) 20:29:17 The operator ‘on’ [infixl 0] of a section 20:29:17 must have lower precedence than that of the operand, 20:29:17 namely ‘$’ [infixr 0] 20:29:49 wtf is happening 20:30:04 @let rwStep l = 0:zipWith((+)`on`(/2).(+1))l(drop 2 l)++[0] 20:30:04 Parse failed: Ambiguous infix expression 20:30:16 @let rwStep l = 0:zipWith((+)`on`((/2).(+1)))l(drop 2 l)++[0] 20:30:17 .L.hs:159:1: Warning: 20:30:17 Pattern match(es) are overlapped 20:30:17 In an equation for ‘rwStep’: rwStep l = ... 20:30:28 argh 20:30:35 @let rwStep2 l = 0:zipWith((+)`on`((/2).(+1)))l(drop 2 l)++[0] 20:30:36 Defined. 20:30:44 > tab == rwStep2 tab 20:30:45 True 20:30:47 finally 20:30:51 > tab !! 50 20:30:53 2500 20:31:00 coppro: that counts as a proof hth 20:33:10 oerjan: I do not have the time right now to determine if it does 20:33:20 that's rather esoterically dense code 20:36:06 ok but all it does is calculate the expected time to escape at this time given the expected time to escape after one step. 20:38:43 also, the stepping function is contracting in l^1 norm, thus has a unique fixpoint. 20:41:06 at least in nonnegative values. 20:41:35 *thus converges to 20:48:30 quintopia: the original author of the blog post weighs in on reddit: http://www.reddit.com/r/math/comments/341ugi/a_radical_new_look_for_logarithms_interesting/cqrurrt?context=3 20:49:57 -!- S0lll0s has joined. 20:50:10 hey 20:50:28 so I made something: https://github.com/S0lll0s/zunscript 20:50:56 first time I do anything meta-programming-ish 20:58:42 [wiki] [[Talk:Al Dente]] http://esolangs.org/w/index.php?diff=42774&oldid=41877 * Tanner Swett * (+746) Responses 21:04:04 -!- Patashu has joined. 21:08:12 oerjan: isn't the answer infinity? 21:10:22 i think we were confused with the expected number of steps until *either* #heads or #tails leads by 50, which is indeed exactly 2500 21:10:51 but the one sided expectations are infinite 21:14:00 the original question was the former 21:14:45 tromp: ^ 21:14:49 -!- AnotherTest has quit (Remote host closed the connection). 21:15:46 oops; missed the vice-versa:( 21:16:30 S0lll0s: clicked on link, thought it had to do with 東方. 21:17:21 i am disapint 21:20:20 s/pint/point/ 21:21:02 actually this is cool even if it doesn't have yukkuris in it 21:29:22 -!- Patashu has quit (Ping timeout: 256 seconds). 21:33:58 the hell are yukkuris? 21:35:51 http://yukkuri.wikia.com/wiki/Yukkuri 21:37:40 heads filled with delicious bean paste 21:38:38 from a subculture of a subculture within japanese otaku subculture 21:41:21 the creator of Touhou is named (well, pseudonamed) "ZUN" 21:58:09 -!- spatterworthy has joined. 22:02:05 -!- spatterworthy_ has joined. 22:04:32 -!- spatterworthy has quit (Ping timeout: 246 seconds). 22:08:44 -!- ent0nces has joined. 22:19:24 -!- Phantom_Hoover has joined. 22:28:27 -!- ent0nces has quit. 22:43:01 -!- boily has joined. 22:44:15 -!- hjulle has joined. 22:58:47 -!- spatterworthy_ has quit (Ping timeout: 246 seconds).