00:00:00 19 ... that's the euclidean norm? 00:00:36 no, that one is 18 00:00:38 no, the mccarthy 91 00:00:44 ah 00:01:58 otoh I still haven't gotten Basic Brainfuck Optimization. My code is already optimal, how dare you submit anything shorter ;) 00:02:16 anyway, you catching up on leapfroggin means whatever henkma did is possible ;) 00:02:29 neener neener 00:02:31 incomprehensibly, Basic Brainfuck Optimization? 00:02:50 *int-e, 00:02:58 it just collapses +- -+ <> >< 00:03:28 Right 00:03:45 I'm (slowly) working on a very optimizing brainfuck compiler 00:03:55 it doesn't eliminate the second loop for [...][...] 00:04:17 nor does it do anything about >+<+>+< 00:04:22 and i guess i've already teased you with the fact i'm not doing anything really clever in it 00:04:33 oerjan: you did. 00:04:58 oerjan: if true, then I can beat you both, but it's more likely that I'm missing something straight-forward and easy 00:05:57 Any loop with equal numbers of >s and > length "c=='+'&&d=='-'||c=='-'&&d=='+'||c=='<'&&d=='>'||c=='>'&&c=='<'" 00:06:07 62 00:06:18 Another optimization would be to delete plus signs and minus signs before a comma if the implementation isn't "no change when EOF" implementation. You can also delete < > + - at the end of the program 00:07:02 int-e: ...there's no way you can be just 3 chars longer if you're doing _that_ kind of thing. 00:07:12 oerjan: the 62 makes me feel better, my program would be so much longer :) 00:07:58 However, shorter brainfuck code is a very different goal than shorter compiler target code 00:08:10 oerjan: it's obviously more than twice as long as necessary 00:08:43 but it's less obvious by how much 00:08:52 int-e: i can think of two trivial mistakes that i could have done in my code (and i did one initially), that would make it 3 chars longer, hth 00:08:57 So I guess what I've spent a few hours thinking about recently is mostly irrelevant here 00:10:45 Taneb: I've written one brainfuck-to-c converter, which recognized simple counting loops (like [-<+++<+>>]) and turned them into multiplications (a[p-1]+=3*a[p];a[p-2]+=a[p];a[p]=0;) 00:12:02 int-e, I think you can do another layer of cleverness beyond that with nested loops like that 00:12:10 Is level20.tex full of footnote fever or not? Someone on other channel also said they don't know, when I asked them. 00:13:26 Taneb: note that a corollary of my collatz_function work is that balanced bf loops are still tc so don't expect _always_ to be able to optimize. 00:13:42 oerjan, really? 00:14:14 Taneb: http://int-e.eu/~bf3/tmp/bf2c.hs ... really old, fairly stupid. 00:14:41 (I think I've seen a copy of that online somewhere, but I don't remember where) 00:14:45 oerjan, oh wow, tha makes this kind of harder 00:15:07 By kind of harder I mean "needs some thinking" --> "actually impossible in the general case" 00:15:24 that's optimization for ya *laugh track* 00:15:53 ^wiki Collatz_function 00:15:53 http://esolangs.org/wiki/Collatz_function 00:16:04 see there, all the generated loops are balanced 00:16:31 Right, something like >[-]+<[[-]>-<...]>[-...] is a balanced conditional. 00:16:49 i.e. if-then-else 00:17:42 yeah i remember when pikhq_ did his bf macro language he figured many things out with balanced loops because his language handled those better 00:18:06 it's just that the unbalanced stuff tends to be shorter 00:18:23 Yeah, but it's much harder to work with programmatically. 00:18:34 of course if cells are bounded you need unbalanced loops for tc 00:18:35 And I am a lazy man. 00:19:15 oerjan: hmm, actually ... with balanced loops you can only access a finite number of cells. so did you assume unbounded cells? 00:20:10 or did you accidentally prove the collatz conjecture ;) 00:20:18 int-e: ok maybe i'm doing one slightly but not that clever thing but without it it would also be much more than 3 chars longer. 00:21:21 oerjan: Oh and I gloated a bit about Enumerate Compositions earlier, but I shouldn't gloat too much. My version is 86 characters as well atm. 00:21:38 int-e: my proof is for 3 unbounded cells. 00:22:02 right. for unbounded cells, balanced loops should suffice. 00:22:07 which shortened by 2 the previous record. 00:22:52 Taneb: i suppose for bounded cells you _can_ optimize completely into a finite table thing. 00:23:02 (Though they could become necessary again when trying to minimize the number of cells.) 00:23:32 although it will have 256^n entries or the like. 00:23:48 And it's still a good argument for the optimizing compiler because now it would have to exploit the finite range of cells to optimize arbitrary programs. 00:24:01 With balanced loops. 00:26:23 int-e: i have a nicely shorter version of enumerate compositions, if anagolf just ignored trailing space... 00:28:00 yeah, unwords is annoyingly long 01:07:18 yay! Leapfrogging-- 01:08:30 ooh 01:08:56 oerjan: are they TC even with bounded cell size? 01:09:14 elliott: of course not, you can only access finite memory then 01:09:18 yeah 01:09:25 but bignum is not conventional for bf. 01:10:17 boolfuck is thataway -> 01:10:55 * oerjan suddenly imagines fibonaccifuck 01:11:02 oerjan, how would that work? 01:11:13 like boolfuck, except it's an error to ever have two neighboring 1s 01:12:17 ok, henkma's turn. 01:12:23 or oerjan's. 01:12:26 -!- boily has joined. 01:12:46 CHALLENGE O... hey, i need an idea first. 01:22:09 oerjan: is that more interesting than just doing s/[<>]/&&/g? 01:22:28 wat? 01:22:44 fibonaccifuck. I'd just double all arrows. 01:22:52 bah 01:23:04 SO INEFFICIENT 01:23:10 heh 01:26:49 Taneb: Tanelle. do you still boardgame? 01:27:38 s/[<>]/&[Trust me, this is an excellent idea. <_< >_> Nothing can go wrong!]&/g 01:29:25 pikhq_: exactly! 01:29:40 [Note that this cell is already zero.] 01:33:50 oerjan: wait, how would that be fibonacci? 01:34:17 elliott: count the number of such strings (with no consecutive 1s) of length n 01:34:34 binary 01:34:36 oh, huh. 01:34:37 elliott: fibonacci base 01:34:44 I should have known that. 01:34:58 aren't you the Zeckendorf fan? 01:35:10 Oh, recently I was figuring out the number of valid UTF-8 strings (disregarding the particular code points). 01:35:17 uh, I don't think so. 01:35:42 elliott: No, that's b_jonas. Ok, you're off the hook. 01:35:43 It works out to be 4-bonacci. 01:50:58 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 01:58:34 [wiki] [[BitZ]] M http://esolangs.org/w/index.php?diff=40930&oldid=40928 * Oerjan * (-15) improve reformatting 02:07:58 -!- mihow has joined. 02:19:00 -!- boily has quit (Quit: CONCLUSIVE CHICKEN). 02:20:41 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=40931&oldid=40887 * Oerjan * (+144) some proofreading 02:25:29 [wiki] [[ODDBALL]] M http://esolangs.org/w/index.php?diff=40932&oldid=13446 * Oerjan * (+0) OCPD crusade in progress 02:28:25 -!- aretecode has quit (Quit: Toodaloo). 02:35:06 [wiki] [[Hello, world!]] M http://esolangs.org/w/index.php?diff=40933&oldid=25342 * Oerjan * (+0) etc. 02:35:15 [wiki] [[COW]] M http://esolangs.org/w/index.php?diff=40934&oldid=36819 * Oerjan * (+0) etc. 02:35:24 [wiki] [[Shoopuf]] M http://esolangs.org/w/index.php?diff=40935&oldid=8338 * Oerjan * (+0) etc. 02:35:34 [wiki] [[Mouse]] M http://esolangs.org/w/index.php?diff=40936&oldid=38263 * Oerjan * (+0) etc. 02:35:50 um... 02:36:20 ? 02:36:26 -!- ChanServ has set channel mode: +q *!*@162.248.166.242. 02:36:34 ah 02:36:42 this will take a while :P 02:36:42 oerjan: mark the edits as bot edits 02:36:47 argh 02:36:48 then they won't spam recent changes, either 02:37:24 um i'm trying to do this with few keystrokes 02:37:27 yes 02:37:29 just put yourself in the bot group 02:37:36 (and keep marking them minor, though I think it's less important as a bot) 02:37:43 then they're hidden by default in recent changes and you can leave afterwards. 02:38:00 (IIRC) 02:39:24 do i just add my nick to Esolang:Bots or what 02:39:51 elliott: ^ 02:40:04 oerjan: one second 02:40:41 oerjan: Special:UserRights 02:40:45 I added you to the bot group, have fun 02:40:50 make sure to take it off once you're done 02:41:01 -!- ChanServ has set channel mode: +o elliott. 02:41:09 -!- elliott has set channel mode: -q *!*@162.248.166.242. 02:41:12 hopefully HackEgo won't report bot edits 02:42:07 yay 02:42:09 -!- elliott has set channel mode: -o elliott. 02:48:27 hm i hit the spam filter on a page with old
formatting 02:49:36 +q by IP, not nick? 02:49:48 so that's for the Brainfuck thing... way too easy 02:49:56 in retrospect. as usual. 02:51:13 shachaf: ask chanserv about that. 02:55:56 All hail oerjan, the new bot overlord! 02:56:13 i hope

is equivalent enough to

03:05:05 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 03:06:58 elliott: i seem not to have the right to unbot me 03:08:10 [wiki] [[Special:Log/rights]] rights * Ehird * changed group membership for User:Oerjan from bot, sysop to sysop 03:10:31 On multiple MediaWiki websites I get a problem that sometimes the status just says "Connecting" and then "Connected" and back and forth several times and then it says there is no data, and it won't work again until I restart the browser. It didn't used to do that; it start only recently. Do you know what is the problem? 03:10:55 Which websites? 03:11:37 Wikipedia and All The Tropes are two of them; some others that use MediaWiki are also affected. Esolangs seems to work though 03:13:15 Does the problem have anything to do with HTTPS? 03:14:07 Which status says that? 03:14:19 I mean the status bar in the browser 03:14:35 Which browser? 03:14:39 Mozilla 03:14:47 Also, it only started recently; it worked before! 03:14:58 I didn't have this problems before 03:15:15 I tried other browsers though, and got the same problem 03:15:24 The Mozilla Application Suite? Or Mozilla Firefox or something? 03:15:36 XUL Runner 03:15:55 you have out-zzo38ed my expectations 03:15:59 It is a custom browser based on XUL Runner 03:16:12 I haven't seen this behavior. 03:17:11 Clearing the cache doesn't help, and even if one site does this, other ones don't necessarily do it too during the same session, although if it does, then they are both broken during the current session. 03:17:52 zzo38: would you like to know how to make good AI :D 03:18:59 first, you should start with something relateable to all known intelligences, such as bughouse chess 03:20:33 Bike: so what's with left eigenvectors 03:21:24 i think that's just because matrices are 1,1-tensors 03:21:24 they're the same as right eigenvectors, but more row-like 03:22:03 ok, what's with rows 03:22:16 i /think/ a row vector is a covector, if you're saying column vectors are vectors 03:22:23 right 03:22:24 they're how you moves boats 03:22:30 well, neither of them is really a vector 03:22:39 psh they're plenty linear 03:23:13 if a vector is v : R^n, you can represent it as f : R -> R^n (""column vector"") or as g : R^n -> R (""row vector"") 03:23:20 where the latter is the dual space thing 03:24:17 people say "eigenvector with eigenvalue 1" instead of "fixed point" for some reason. it's silly 03:24:45 because linearity is p convenient 03:25:21 and a fixed point is just a specific kind of eigenvector when it comes to linear operators "so there" 03:27:06 ok 03:28:06 what's with people talking about properties of matrices instead of properties of the linear functions they represent 03:28:26 i don't know it sucks 03:28:41 have you ever been subjected to a linear algebra course in a school? avoid them 03:29:02 no but i feel like maybe i should?? 03:29:11 no it's all matrices and barely any linear 03:29:18 i mean it's good to know i guess, but still 03:29:36 my linear class started in august and we first got to eigenshit last week. 03:29:41 ok then what's the good way to do it 03:29:55 hell if i know 03:29:57 fake it til you make it 03:30:30 or maybe work on some "practical science computing project" where you have to know linalg. 03:30:43 int-e: ah you got the brainfuck optimization 03:31:07 i'm wondering what you missed before. 03:35:00 i mean, really, why would you ever compute a 4×4 determinant by hand 03:42:59 -!- J_Arcane has quit (Read error: Connection reset by peer). 03:43:06 -!- adu has joined. 03:43:30 -!- J_Arcane has joined. 03:45:48 [wiki] [[Container]] http://esolangs.org/w/index.php?diff=40997&oldid=40921 * Oerjan * (-1) intro fmt 03:46:29 -!- centrinia has quit (Ping timeout: 265 seconds). 03:46:55 oerjan: pairs beat lists. 03:48:19 -!- centrinia has joined. 03:48:47 ah 03:54:23 -!- zzo38 has quit (Read error: Connection reset by peer). 03:55:13 -!- zzo38 has joined. 04:00:04 https://www.youtube.com/watch?v=By1QCaNcXn4 04:05:47 What effect do some servers have if I set network.http.accept.default so that text/plain is given the highest quality number (q=1.0)? 04:10:41 -!- Bicyclidine has joined. 04:13:17 oerjan: The McCarthy solution is BEAUTIFUL! 04:15:55 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 04:17:32 ooh 04:29:23 [wiki] [[ATZ]] M http://esolangs.org/w/index.php?diff=40998&oldid=40915 * Thatguy25252525 * (-2) 04:41:09 -!- zzo38 has left. 04:41:11 -!- zzo38 has joined. 04:53:06 -!- oerjan has quit (Quit: Nite). 04:53:13 Oh man, my FOR loop is gonna be extra tricky. Think I may want to refactor into simpler sub expression types. 05:16:56 -!- NATT_SiM has joined. 05:18:44 <^v> <_> when i go here and see something extremely basic related to programming and think everyone is a noob 05:18:50 <^v> then realize the channel name 05:19:18 haha 05:19:44 std::cout << "Hello ^v!"; 05:20:15 <^v> i have given up on esolangs though 05:20:15 Hah! 05:20:26 <^v> call me a functionalityfag 05:20:26 ^v: Are you sure? 05:21:10 <^v> zzo38, for like 3 months i obsessed with everythin esolange, implemented like 20 into my irc bot, made another irc bot in brainfuck 05:21:15 <^v> and now its just meh 05:21:18 ^v: yeah, I'm not writing *a* for loop, but rather implementing the syntax for one with carrying accumulator and some sugaring for automatically recognizing certain incrementor types. 05:25:39 let's not do the -fag thing 05:28:35 ^v: have you learned category theory yet? 05:28:49 <^v> coppro, nope 05:29:53 ^v: that's a warning, btw. 05:59:33 -!- centrinia has quit (Ping timeout: 264 seconds). 06:30:07 -!- MDude has changed nick to MDream. 06:33:53 -!- NATT_SiM has quit (Remote host closed the connection). 06:34:48 Maybe level20.tex does not quite have footnote fever, because the footnotes do not themselves contain footnotes. 06:35:47 Are you the same person as `^_^v? 06:40:03 How many people in here have read the level20.tex (it is even linked from HackEgo)? Hopefully if you do then you can write complaints and other stuff about it in All The Tropes. 06:43:56 -!- NATT_SiM has joined. 06:43:56 -!- NATT_SiM has quit (Read error: Connection reset by peer). 06:49:10 -!- adu has quit (Quit: adu). 06:49:57 -!- qwertyo has joined. 07:17:30 Are the CELLs in BlooP/FlooP supposed to be indexed by constants only or by anything? It isn't quite clear; Wikipedia says constants only but I don't see that mentioned in a book. 07:18:46 i don't think it would affect the turing power, which is the point of the exercise 07:18:50 heh heh heh 07:21:04 Bike: Yes, although I found out that if they aren't indexed only by constants, that you don't need an IF statement, nor do you need multiplication, equality, or less/greater comparisons; and in BlooP only, you don't need QUIT BLOCK and ABORT LOOP. 07:21:28 I don't see why it should be constants only if it uses number like that, though. 07:22:47 I don't know if it can work like this when it is indexed only by constants. 07:34:10 um 07:35:41 how do you get turing completeness if you can't index cells? there's only one stack, the call stack 07:36:13 Another thing which isn't entirely clear is if a loop needs to have "AT MOST" if you want to be able to exit the loop early. 07:36:41 zzo38: meh, that's just syntax, isn't it? 07:37:36 -!- Phantom_Hoover has joined. 07:38:16 b_jonas: Yes, but still it isn't quite clear. 07:39:12 The Perl implementation of BlooP and FlooP requires only indexed by constants, although it does one thing that looks clearly wrong to me which is that it doesn't have a separate boolean type. 07:39:27 primTest n | even n = False 07:39:30 poor 2 ;( 07:41:10 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:41:58 zzo38: well, the book clearly says BlooP is supposed to describe exactly all the primitve recursive functions, but doesn't define the language rules properly, so I'd say it's just one of the not very well defined languages. 07:43:28 b_jonas: You are probably correct. 07:44:18 "bounded loop", that's one where you specify the number of iterations at the start. the details don't matter so much. 07:44:47 some of the details do, sadly, the details that change the power 07:45:59 oh, and BlooP wouldn't even have a stack at all 07:46:10 nor would FlooP 07:47:16 zzo38: You can index the cells by anything, it won't change the power. 07:47:39 there's no call stack 07:48:07 int-e: oh... maybe you're right, because bignums 07:48:12 bigints 07:48:23 you can store an indexed array in them 07:49:01 zzo38: int-e is right, BlooP has bigints, so you can store full arrays in a bigint 07:49:11 even though you only have a finite number of bigint cells 07:50:17 I know it won't change the power in that case, but I meant if you omit many of the other features I have specified, then are variable indexing necessary? 07:50:39 which other features exactly? 07:50:56 wait, does bloop have built-in less-than compare? 07:52:28 Yes, it does have. 07:53:22 The other features are the ones I have specified above: multiplication, comparison (for equality and less), the IF statement, and for BlooP only (not FlooP), the ABORT LOOP and QUIT BLOCK statements. 07:53:30 if it does, then you can even do stuff in only polynomial time blowup, as with multiplication and less-than comparison you can implement bigint array access in polynomial time 07:53:43 but I'm not sure it has less-than comparison 07:54:01 wow, Hofstadter's introduction to BlooP is horrible... 07:54:16 Nothing is clear, everything is up to interpretation. 07:54:20 int-e: of course it is 07:55:01 I used to like the book. 07:55:07 -!- Patashu has joined. 07:55:40 I guess I can still enjou some parts of it. 07:55:57 Just skip everything mathematical or computer sciency. 07:57:29 On page 409 at the bottom it says one operation considered primordial is "determining the larger (smaller) of two numbers". Page 419 lists the < and > symbols as part of the alphabet. 07:58:09 (Page numbers don't help me, I only have a german translation. The language keywords got translated, too.) 07:59:20 Maybe you can find them anyways by the description I have given. 08:05:35 the book fails to define the language. how do I know (except by intent) that ACK(CELL(1),CELL(2)) is not a valid expression, evaluating the the Ackermann function applied to the values of cells 1 and 2? 08:06:25 That said I guess you can take the examples and make the assumption that every intended language feature has been used in at least one of them. 08:06:47 I guess then you arrive at the restriction that cells can only be indexed by constants. 08:07:22 -!- clog has quit (Ping timeout: 255 seconds). 08:08:01 -!- clog has joined. 08:09:27 love the geocities link ... http://cgibin.erols.com/ziring/cgi-bin/cep/cep.pl?_key=BLooP (the other one is broken as well) 08:12:07 so there's an implementation at http://www.catb.org/esr/retro/ 08:16:27 (providing, obviously, one of many possible interpretations of Hofstadter's description, but it looks reasonable) 08:17:31 -!- FreeFull has quit (Ping timeout: 244 seconds). 08:18:47 -!- FreeFull has joined. 08:48:32 -!- centrinia has joined. 10:13:20 !blsq_uptime 10:13:20 10d 19h 46m 44s 10:13:29 hm. 10:13:45 !blsq ?? 10:13:45 "Burlesque - 1.7.3" 10:15:54 -!- blsqbot has quit (Remote host closed the connection). 10:17:44 -!- blsqbot has joined. 10:17:46 !blsq_uptime 10:17:46 7s 10:17:49 !blsq ?? 10:17:49 "Burlesque - 1.7.4.dev" 10:17:59 !blsq %:0 0 0V 10:17:59 <0,0> 10:18:56 !blsq "123"{ri?iSh}"[0-9]{1}"~a 10:18:56 "" 10:19:04 !blsq "123"{ri?iSh}"[0-9]+"~a 10:19:04 "" 10:19:19 !blsq "[0-9]"{ri?iSh}"123"~a 10:19:20 "234" 10:19:50 !blsq "[0-9]""123"~? 10:19:50 {"1" "2" "3"} 10:20:39 I should switch the order 10:47:33 I figured out a pun from the Hitch-Hikers' Guide just yesterday, and it hurts. 10:50:18 Which pun is that? 10:51:07 (Ooh, fancy; a master's thesis presentation on the Opus codec next Monday.) 10:51:33 young Zaphod boarded a mega-freighter ship waving toy pistols, and demanded conkers 10:51:44 conkers 10:52:23 I didn't realize it was a pun because it's in English and I'm not good in English puns, and also because I read it in translation first 10:57:16 I should add math commands that work on strings . 10:57:18 -!- qwertyo has quit (Quit: Leaving). 10:57:21 !blsq 5 "6"?+ 10:57:21 "56" 10:58:22 which would produce 11 of course 11:23:28 -!- boily has joined. 11:56:17 -!- Patashu has quit (Ping timeout: 258 seconds). 12:14:01 -!- ais523 has joined. 12:15:37 [wiki] [[My Unreliable Past]] N http://esolangs.org/w/index.php?oldid=40999 * Ais523 * (+8001) new language 12:16:04 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41000&oldid=40895 * Ais523 * (+25) /* M */ +[[My Unreliable Past]] 12:16:24 -!- sebbu has quit (Quit: reboot). 12:16:39 [wiki] [[User:Ais523]] http://esolangs.org/w/index.php?diff=41001&oldid=38302 * Ais523 * (+24) the end of my streak of languages that start with S 12:17:49 hey, people, I haven't given up on esolanging yet! 12:18:05 this language took like an hour from idea to spec, maybe a little more, I even thought up a name in that time 12:18:09 but I like it already 12:18:12 especially the I/O model 12:20:03 -!- centrinia has quit (Ping timeout: 258 seconds). 12:21:35 -!- boily has quit (Quit: CRYOGENIC CHICKEN). 12:24:41 -!- ais523 has quit (Ping timeout: 255 seconds). 12:26:25 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 12:28:50 Woo! 12:29:14 @tell ais523 Congrats on new esolang 12:29:14 Consider it noted. 12:29:22 -!- ais523 has joined. 12:30:51 Hi, ais523 12:31:15 hi Taneb 12:31:18 can't stay here long 12:31:21 but I'm here 12:31:37 My Unreliable Past looks interesting 12:32:49 Haven't had much chance to take a look at it though 12:34:53 is there a deeper meaning of J and V not being variables? 12:35:07 is it the initials of some revered master or something? 12:35:15 letters missing from the Latin alphabet 12:35:35 I see 12:35:52 Latin alphabet had W but not V? 12:38:20 no, but I and J were the same letter, so were U and V 12:38:32 and I thought 26 because letters in English was too trite, so I went for 24 instead 12:38:35 anyway, I have to go 12:38:38 I may well be back later 12:38:46 -!- ais523 has quit. 12:40:06 [wiki] [[Talk:My Unreliable Past]] N http://esolangs.org/w/index.php?oldid=41002 * B jonas * (+130) Created page with "Is this random starting state related to the idea of Boltzmann brains? ~~~~" 12:46:11 -!- sebbu has joined. 12:54:46 I'm thinking about adding infix operators to burlesque 12:55:25 but I have no idea what operators :) 12:57:47 divides 12:57:53 (I don't know Burlesque 12:57:54 ) 13:09:21 13:57 < Taneb> divides 13:09:29 ^- this already revealed that you don't know Burlesque :) 13:09:36 !blsq 81 9dv 13:09:36 1 13:09:40 !blsq 81 11dv 13:09:40 0 13:10:18 !blsq 20rof{3dv} 13:10:18 ERROR: Burlsque: (n!) Invalid arguments! 13:10:29 !blsq 20ro{3dv}f[ 13:10:30 {3 6 9 12 15 18} 13:12:41 !blsq 20ro{3.%}f[ 13:12:41 {1 2 4 5 7 8 10 11 13 14 16 17 19 20} 13:13:44 Taneb: http://fmnssun.github.io/Burlesque/ 13:15:58 [..] But pros will write it as "abc def ghj"{<-}ww [..] 13:16:03 the super-real pros will write it as 13:16:08 !blsq "abc def ghj"q<-ww 13:16:08 "cba fed jhg" 13:16:10 tho 13:16:13 ugh 13:17:24 -!- drdanmaku has joined. 13:17:27 !blsq "abc def ghj"qXXww 13:17:27 {'a 'b 'c ' 'd 'e 'f ' 'g 'h 'j} 13:17:53 !blsq "abc def ghj"qanww 13:17:53 {ERROR: Burlesque: (_+) Invalid arguments!} 13:17:58 !blsq "abc def ghj"{anSh}ww 13:17:59 "1 1 1" 13:18:03 !blsq "abc de.f ghj"{anSh}ww 13:18:03 "1 0 1" 13:18:47 !blsq "abc de.f ghj"wd:an 13:18:47 {"abc" "ghj"} 13:19:23 !blsq "abc de.f ghj"wd)an 13:19:23 {1 0 1} 13:19:53 !blsq "abc de.f ghj"wdqanfl 13:19:53 2 13:20:34 wdqanfl is actually the same as wd)an++ 13:20:47 !blsq "abc de.f ghj"wd)an++ 13:20:47 2 13:20:53 !blsq "abc de.f ghj"wdqanms 13:20:53 2 13:21:00 which is the same as wdqanms 13:21:24 !blsq "abc de.f ghj"qanww 13:21:25 A rose by any other name. 13:21:25 {ERROR: Burlesque: (_+) Invalid arguments!} 13:21:40 !blsq "abc de.f ghj"{anSh}wwL[ 13:21:40 5 13:21:48 that's not the same though. 13:22:10 wdqanfl, wd)an++, wdqanms ... choose whatever you like 13:23:18 fizzie: Any suggestions on Burlesque? 13:23:22 You have been using it for a while now. 13:23:31 (any *new* suggestions) 13:24:48 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41003&oldid=40926 * TomPN * (+64) /* def function */ 13:24:59 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41004&oldid=41003 * TomPN * (-1) /* def function */ 13:26:08 what? infix operators? in a stack-based language? 13:28:02 [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41005&oldid=40922 * TomPN * (+86) 13:30:33 [wiki] [[Talk:Dimensions]] N http://esolangs.org/w/index.php?oldid=41006 * TomPN * (+351) Created page with "== Proof of Turing-completeness == If 51 of the dimensions and the velocity instructions are unused, Dimensions reduces to brainfuck with alternate syntax. Therefore, Dimensio..." 13:30:50 b_jonas: maybe! 13:31:51 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41007&oldid=41004 * TomPN * (+45) 13:32:14 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41008&oldid=41007 * TomPN * (+0) 13:33:45 It's got functions now as well 13:33:50 like uhm 13:34:02 %add={?+} %add|5 6V 13:34:04 will result in 11 13:34:38 (which can also be written as 5 6%add! 13:34:39 ) 13:34:55 so 13:34:58 I might remove | 13:36:09 or re use it for dynamic assign 13:37:14 b_jonas: there are variables and a secondary stack now 13:37:23 so it's not purely stack-based anymore 13:37:54 !blsq %:'a 'n 9 'a 0V 13:37:55 <'a,0><'n,9> 13:38:15 !blsq %:'a %add={?+}V 13:38:15 ERROR: Burlesque: (f[) Invalid arguments! 13:38:24 !blsq %:'a %add={?+} 13:38:24 ERROR: Burlesque: (f[) Invalid arguments! 13:38:27 hm 13:38:31 -!- idris-bot has joined. 13:38:38 !blsq %:0 'a %add={?+}V 13:38:38 <'a,BlsqAssign "add" (BlsqBlock [BlsqIdent "?+"]) False False> 13:38:51 oh 13:38:57 this doesn't have a toDisplay :D 13:39:31 !blsq %:0 'a s0V 13:39:31 That line gave me an error 13:39:36 !blsq %:0 'a s0 V 13:39:36 That line gave me an error 13:39:38 !blsq %:0 'a g0 V 13:39:38 <'a,BlsqGet "0"> 13:39:50 weird 13:39:54 !blsq %:0 'a S0 V 13:39:54 That line gave me an error 13:40:37 !blsq nm',Q',Qmi 13:40:37 <,,,> 13:40:52 !blsq nm'{Q'}Qmi 13:40:52 <},{> 13:49:30 [wiki] [[Talk:Dimensions]] http://esolangs.org/w/index.php?diff=41009&oldid=41006 * Fizzie * (+676) /* Proof of Turing-completeness */ Why is it always non-nestable loops? 13:50:10 No new suggestions, but I haven't been golfing much the last few days either. 13:54:53 -!- MoALTz has joined. 13:54:54 mroman: sure, but still, infix operators? 13:55:12 -!- ais523 has joined. 13:56:24 -!- MoALTz_ has quit (Ping timeout: 245 seconds). 13:57:46 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 13:58:23 -!- MoALTz_ has joined. 13:58:42 b_jonas: there are prefix operators though 13:58:48 ) and : for example 13:59:08 which are technically operators 13:59:14 rather than stuff on parse-level 13:59:16 !blsq ()) 13:59:16 ) 13:59:25 !blsq ())to 13:59:25 "Special" 13:59:40 `! bf >,>+++++++++,>+++++++++++[<++++++<++++++<+>>>-]<<.>.<<-.>.>.<<. 13:59:43 !blsq (g0)to 13:59:43 "Dafuq? You found a type I don't know?" 13:59:47 oh wait, that program needs input 14:00:10 No output. 14:01:19 -!- MoALTz has quit (Ping timeout: 244 seconds). 14:01:40 ^bf >,>+++++++++,>+++++++++++[<++++++<++++++<+>>>-]<<.>.<<-.>.>.<<.!123 14:01:40 st.st. 14:01:45 Hmm. 14:01:59 Oh, just two ,s. 14:02:18 "+++++++++," looks like the strangest thing. 14:03:41 fizzie: it's apparently meant to detect newline and EOF conventions 14:04:14 Oh, I see. So you're supposed to only provide one character of input. 14:07:13 right, and it's meant to be a newline 14:07:25 You can't input a newline to fungot, sadly. 14:07:25 fizzie: fnord/ projects/ xer/ fnord only lists 146 files, none of which can be given in person. 14:07:57 fungot: Those are some highly suspicious files, then. 14:07:57 fizzie: if you're going 14:10:56 -!- oerjan has joined. 14:20:57 -!- S1 has joined. 14:22:09 -!- ais523 has quit (Ping timeout: 240 seconds). 14:24:23 !blsq {1 0 0}iR 14:24:23 {{1 0 0} {0 0 1} {0 1 0}} 14:24:39 !blsq {1 0 0}iRSP 14:24:39 "1 0 0\n0 0 1\n0 1 0" 14:24:39 young Zaphod boarded a mega-freighter ship waving toy pistols, and demanded conkers <-- ok i don't get it either 14:24:43 !blsq {1 0 0}iRsp 14:24:43 1 0 0 14:24:48 hm 14:25:09 oerjan: What's not to get? 14:25:23 b_jonas said there was a pun in it 14:25:56 it may not help that i didn't know what conkers were until today, but that still isn't enough for a _pun_ 14:26:09 your standards are high, eh 14:26:37 well, one can expect a good pun from Adams 14:27:34 maybe it wasn't intended but b_jonas thought it was 14:27:44 am I making sense? 14:27:51 um i still don't know what the _pun_ is. 14:28:26 maybe the similar sound of conker and conquer? ¯\(°_o)/¯ 14:28:27 | 14:28:27 o/`¯º 14:28:37 oerjan: the pun is that conkers sounds like "conquer" 14:28:41 ^ 14:28:45 OKAY 14:28:54 I didn't laugh either 14:29:59 -!- blsqbot has quit (Remote host closed the connection). 14:30:07 i'm not convinced that's intended either hth 14:30:12 me neither 14:30:39 -!- blsqbot has joined. 14:30:44 !blsq {1 0 0}iRsp 14:30:45 That line gave me an error 14:30:50 nooo 14:31:24 !blsq {error} 14:31:24 That line gave me an error 14:31:49 !blsq error 14:31:49 !blsq 1 14:31:49 That line gave me an error 14:31:50 That line gave me an error 14:31:52 ok 14:31:54 i broke it 14:32:01 very reproducible that error 14:33:29 !blsq 1 14:33:29 That line gave me an error 14:33:33 damnit 14:34:11 -!- AnotherTest has joined. 14:34:49 -!- blsqbot has quit (Remote host closed the connection). 14:36:19 -!- ais523 has joined. 14:36:45 -!- blsqbot has joined. 14:36:48 !blsq 1 14:36:48 1 14:36:52 !blsq 1 2 14:36:52 2 14:36:52 1 14:36:52 \o/ 14:36:55 !blsq 1 2 3 4 14:36:56 4 14:36:56 3 14:36:56 2 14:37:02 !blsq {1 0 0}iRsp 14:37:02 1 0 0 14:37:02 0 0 1 14:37:02 0 1 0 14:37:17 !blsq {0 0 1}iRsp 14:37:18 0 0 1 14:37:18 0 1 0 14:37:18 1 0 0 14:37:28 !blsq {1 0 0}iR<>sp 14:37:28 1 0 0 14:37:28 0 1 0 14:37:28 0 0 1 14:38:14 !blsq "@tell mroman hi"Q 14:38:15 @tell mroman hi 14:38:15 Consider it noted. 14:38:17 damn 14:38:25 @massages-low 14:38:25 Unknown command, try @list 14:38:29 @massages-loud 14:38:30 blsqbot said 14s ago: hi 14:38:40 -!- blsqbot has quit (Remote host closed the connection). 14:39:20 lambdabot doesn't give massages anymore? :| 14:43:25 -!- blsqbot has joined. 14:43:28 !blsq "@tell mroman hi"Q 14:43:28 | @tell mroman hi 14:43:35 !blsq {1 0 0}iR<>sp 14:43:36 | 1 0 0 14:43:36 | 0 1 0 14:43:36 | 0 0 1 14:43:55 !blsq "@tell \r\n huhu \rQUIT :muh"Q 14:43:56 | @tell 14:43:56 | huhu QUIT :muh 14:46:46 !blsq {1 0 0}iR<>)zi 14:46:46 | {{{0 1} {1 0} {2 0}} {{0 0} {1 1} {2 0}} {{0 0} {1 0} {2 1}}} 14:46:50 !blsq {1 0 0}iR<>)zisp 14:46:50 | [0, 1] [1, 0] [2, 0] 14:46:50 | [0, 0] [1, 1] [2, 0] 14:46:50 | [0, 0] [1, 0] [2, 1] 14:47:06 !blsq {1 0 0}iR<>)zizisp 14:47:07 | 0 [[0, 1], [1, 0], [2, 0]] 14:47:07 | 1 [[0, 0], [1, 1], [2, 0]] 14:47:07 | 2 [[0, 0], [1, 0], [2, 1]] 14:47:22 DAmnit. Some jackass tried to hack try-racket. 14:47:32 !blsq {1 0 0}iR<>)zi)?*sp 14:47:33 | [Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 1] [1, 0] [2, 0]", "\n", Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 0] [1, 1] [2, 0]", "\n", Sh, "\n", ERROR: Burlesque: (.*) Invalid arguments!, "\n", "[0, 0] [1, 0] [2, 14:47:38 wops 14:47:49 !blsq {1 0 0}iR<>)zim{p^?*}sp 14:47:49 | 0 0 14:47:49 | 2 0 14:47:49 | 0 0 14:48:18 !blsq {1 0 0 0}iR<>)zim{p^?*}sp 14:48:19 | 0 0 14:48:19 | 2 0 14:48:19 | 3 0 14:48:25 !blsq {1 0 0 0}iR<>)zim{p^?*} 14:48:25 | {{0 0} {2 0} {3 0} {0 0} {2 0} {3 0} {0 0} {2 1} {3 0} {0 0} {2 0} {3 1}} 14:48:37 !blsq {1 0 0 0 0}iR<>)zim{p^?*}sp 14:48:37 | 0 0 14:48:37 | 2 0 14:48:37 | 3 0 14:48:51 J_Arcane: Was he successful? 14:49:00 I don't think so. 14:49:26 He was trying a bunch of shit to break out of the sandbox, looks like all he managed to do was make Racket run out of memory. 14:50:59 !blsq {1 0 0 0 0}iR<>)zim{p^?*}tpsp 14:51:00 | 0 2 3 4 0 2 3 4 0 2 3 4 0 2 3 4 0 2 3 4 14:51:00 | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 14:51:13 !blsq {1 0 0 0}iR<>)zim{p^?*}tpsp 14:51:13 | 0 2 3 0 2 3 0 2 3 0 2 3 14:51:13 | 0 0 0 0 0 0 0 1 0 0 0 1 14:51:47 !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+ 14:51:47 | {0 2 3 0 2 3 0 3 3 0 2 4} 14:51:58 !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+bs 14:51:58 | "0 2 3 0 2 3 0 3 3 0 2 4" 14:52:02 !blsq {1 0 0 0}iR<>)zim{p^?*}tpp^?+BS 14:52:02 | 0 2 3 0 2 3 0 3 3 0 2 4 14:52:45 these new prefixes make it really hard to parse by eye :D 14:53:03 Is it >) zi m{ p^ 14:53:13 or is it )zi m{ p^ 14:53:19 or is it )zi m{p^?*} 14:53:52 mroman: uh, dunno 14:53:55 looks strange 14:54:04 (it's )zi m{p^?*}) 14:54:13 iR <> )z im { p^ ?* } 14:54:20 nope 14:54:21 wait no 14:54:26 the ) is a prefix 14:54:26 iR <> )zi m{p^?*} 14:54:37 b_jonas: ) can also be part of a command though 14:54:39 but what's the m{ part 14:54:50 m{.....} is short for {....}m[ 14:54:57 oh 14:54:58 scary 14:55:05 yeah 14:55:17 !blsq "a)zi"ps 14:55:18 | {a) zi} 14:55:23 !blsq "ab)zi"ps 14:55:24 | {ab ) zi} 14:55:53 !blsq "ab)zim{ab}"ps 14:55:54 | {ab ) zi BlsqMapBlock [BlsqIdent "ab"]} 14:56:15 no show for that either :) 14:56:40 !blsq "m{a)}"ps 14:56:40 | {BlsqMapBlock [BlsqIdent "a)"]} 14:56:52 ^- but this shows neatly that a) is parsed as a identifier 14:57:23 there's some really freaky parsing rules now thanks to parsec's try and all 14:57:28 !blsq %:aV 14:57:29 | ERROR: Burlesque: (f[) Invalid arguments! 14:57:29 | {aV} 14:57:29 | % 14:57:39 !blsq %:aVvv 14:57:39 | {aV} 14:57:39 | % 14:57:48 for example 14:57:50 vs 14:57:55 !blsq %:a bVvv 14:57:55 | ERROR: Burlesque: (f[) Invalid arguments! 14:57:56 | {a } 14:57:56 | % 14:58:09 vs 14:58:18 !blsq %:a 9 9V 14:58:18 | <9,9> 14:58:31 !blsq %:a 9V 14:58:31 | 9 14:58:32 | ERROR: Burlesque: (f[) Invalid arguments! 14:58:32 | {a } 14:58:36 !blsq %:a 9Vvvvv 14:58:36 | 9 14:58:36 | ERROR: Burlesque: (f[) Invalid arguments! 14:58:36 | {a } 14:58:55 wth 14:59:04 !blsq %:a 9V% 14:59:04 | 9 14:59:04 | ERROR: Burlesque: (f[) Invalid arguments! 14:59:04 | {a } 14:59:09 oh well 14:59:33 !blsq %:0 %=add{} %=sub{}V 14:59:33 | ERROR: Unknown command: (d{)! 14:59:33 | ERROR: Burlesque: (f[) Invalid arguments! 14:59:33 | {0} 14:59:43 !blsq %:0 %add={} %sub={}V 14:59:43 | 15:00:01 that a hashmap with an assignment as a key and value :) 15:00:14 !blsq (%add={}) 15:00:14 | BlsqAssign "add" (BlsqBlock []) False False 15:04:00 !blsq 2Jq.+10C! }fibernatschi 15:04:00 | 288 15:04:00 | 178 15:04:00 | 110 15:04:07 !blsq 3Jq.+10C! }fibernatschi 15:04:07 | 432 15:04:08 | 267 15:04:08 | 165 15:05:05 [wiki] [[Zero]] M http://esolangs.org/w/index.php?diff=41010&oldid=39480 * Nooodl * (+4) duh 15:06:46 !blsq |[3Jq.+10C!|] }fibernatschi 15:06:46 | ERROR: Unknown command: (|])! 15:06:46 | 432 15:06:46 | 267 15:06:51 !blsq |[3Jq.+10C!]| }fibernatschi 15:06:52 | {3 3 6 9 15 24 39 63 102 165 267 432} 15:08:45 what is harder? Malbolge or Zero? 15:09:29 !blsq {Jq.+10C!}{3}rs 15:09:29 | {3 J {.+} 10 C!} 15:09:36 !blsq {3}{Jq.+10C!}rs 15:09:36 | {432 267 165 102 63 39 24 15 9 6 3 3} 15:09:44 !blsq {3}{Jq.+10!C}BS 15:09:44 | J [.+] 10 !C 15:09:45 | {3} 15:09:49 !blsq {3}{Jq.+10!C}rsBS 15:09:49 | 3 3 6 9 15 24 39 63 102 165 267 432 15:10:04 !blsq q1{Jq.+15!C}rsBS 15:10:05 | 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 15:10:33 BS is so handy 15:13:18 -!- ais523 has quit (Ping timeout: 272 seconds). 15:15:01 -!- zzo38 has quit (Remote host closed the connection). 15:17:19 [wiki] [[Talk:Dimensions]] M http://esolangs.org/w/index.php?diff=41011&oldid=41009 * Oerjan * (+46) unsigned 15:18:28 oh it was fun while it lasted... henkma overtook me again. 15:27:34 S1: i think Malbolge is harder because it looks like you can decide halting pseudoprograms for Zero for a long stretch, while Malbolge has an absolute program size limit of just 59048 bytes 15:27:54 (there's a linked list that seems to go up to 100000 bits) 15:28:21 oh okay 15:29:08 in particular you can surely write a universal tc interpreter within those 100000 bits 15:29:32 but then you would need to include the "real" program in the input. 15:29:57 cheating I call that 15:30:07 at least that's not what I had in mind 15:31:36 right, in which case Zero cannot reliably be programmed to do everything tc to an arbitrary input. 15:31:52 but Malbolge is even more limited than that. 15:33:57 i spent some time on channel proving that you are bound to have several independently undecidable bits in a row, eventually, which is how you know you cannot ensure proper matching brackets. 15:36:33 -!- AnotherTest has quit (Ping timeout: 240 seconds). 15:38:12 -!- ais523 has joined. 15:38:46 is it just me who puts bounds on arrays in function parameters? 15:42:22 Why? Are you using Modula-2? 15:45:35 I mean, in C 15:45:51 like write_sha256(unsigned char out[static 32]) 15:45:53 that sort of thig 15:45:55 *thing 15:47:31 ais523, that seems a good idea 15:47:42 is that const correct? 15:47:58 sha256 is 32 bytes 15:48:07 yeah but out 15:48:20 it's writing into a parameter named out 15:48:27 yes 15:49:50 so there shouldn't be any const involved, the parameter's being written to 15:50:02 I'm not sure whether out will be downgraded to a pointer 15:50:04 and 15:50:14 if you can do out = (char*)foobaz; 15:51:01 i.e. char foo(char * p) { return *p; } isn't consty enough 15:51:15 that should be const char * const p 15:52:45 ais523: no, you're not the only one, because see https://gustedt.wordpress.com/2014/09/08/dont-use-fake-matrices/ 15:53:48 ais523: but I for one don't write that kind of thing these days, because instead I use more strongly typed C++ stuff 15:55:00 ais523: It's not a very widespread practice, but I doubt you're the *only* one using it. I think someone on ##c said they're using it too. 15:55:18 It's arguably kind of gratuitous use of C99, but then again so's restrict. 15:55:28 also, I love that they have "static" as the keyword 15:55:49 it was clearly a case of "what existing keyword used to be syntactically illegal in that context, and has a meaning vaguely approximating the meaning we want?" 15:55:55 like the "? extends" and "? super" in Java 15:56:15 ais523: sure C++ does that too with keywords 15:56:22 And static *has* been the go-to choice for that. 15:56:30 most languages do 15:56:43 fizzie: well, static can mean a bunch of things in English 15:57:50 On the other hand, C99 does introduce a number of "_Foo" keywords too (and C11 continues that). 15:58:56 fizzie: yes, and that's a good idea 15:59:48 fizzie: especially _Complex, because it allows potentially adding C99 complexes to C++ in the future, even though the C++ std committee doesn't seem to want that currently. 16:00:07 if they named the C99 keyword complex, that would have been impossible to match with C++ 16:00:08 Perhaps it could've been char foo[long 32], to denote the passed pointer points to an array that's at least 32 elements *long*. 16:00:52 fizzie: ugh... that wouldn't work because it becomes a C++ construction cast expression if there's parenthesis after the long 16:01:11 and the same is true for _Atomic vs atomic I think 16:02:17 keyword: one of auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas _Alignof _Atomic _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local. 16:02:23 Not such a long list. 16:02:46 fizzie: yeah, but there's also a few reserved words like asm 16:03:01 (and basically all C standard library function names are reserved) 16:03:20 (no wait, those are reserved only as macros or globals) 16:03:31 "asm" is not reserved, it's just mentioned in appendix J.5 as a common extension. 16:03:36 isn't it reserved? 16:03:40 let me check 16:04:40 asm is defined in C++11 16:04:49 and in C11 too 16:04:56 Well, in C11 it appears a total of four times, three times in J.5.10 and once in the index. And J.5p1 doesn't say anything about it being reserved either. 16:04:58 no wait 16:05:05 in C11 it's "common extensions 16:05:06 " 16:05:07 um 16:05:10 I just said that. 16:05:47 still, it's proerly a keyword in C++11 16:06:07 it's defined as a real keyword 16:06:27 and of course C++ has like thirty new keywords or something 16:07:53 some of them are library macros in C, like I think: alignas alignof bool static_assert thread_local and and_eq bitand compl not not_eq or or_eq xor xor_eq 16:09:04 and some of them are library types in c: char16_t char32_t wchar_t 16:09:26 There's no shortage of reserved identifiers in C, of course. /^_[A-Z_]/ for any use, /^_/ in general as identifiers with file scope in both ordinary and tag name spaces, and pretty much everything listed in the library section (with some restrictions -- like those that are defined as macros are only restricted identifiers if the header is included, and identifiers with external linkage can be ... 16:09:32 ... used for other purposes). 16:12:39 oh, I forgot these which are also macros in C: true false 16:13:49 there's of course a few C++ keywords that will never appear in C, because they're so C++-specific, these defniitely: catch delete dynamic_cast friend namespace operator private protected public template throw try typeid virtual 16:15:39 and a few others that are likely not to go in C but who knows for sure 16:24:56 ^bool 16:24:56 No. 16:28:39 ^bool 16:28:39 Yes. 16:29:08 ^ball 16:29:48 ^8ball Does this work? 16:29:48 Yes. 16:33:58 ^8ball Does this fail? 16:33:59 No. 16:34:04 fancy. 16:40:28 is it possible to determine a computer's hostname remotely? 16:40:47 someone sent me an email where the From, To, and body are all Shellshock exploit strings 16:41:00 except the body contains the hostname of the system that received it 16:41:19 -!- shikhin has joined. 16:41:27 -!- centrinia has joined. 16:41:35 and I'm unclear as to whether it was obtained via an exploit, or if they discovered it some other way 16:41:52 -!- S1 has quit (Ping timeout: 258 seconds). 16:43:10 ais523: maybe the hostname was on a dns server somewhere? 16:43:23 ais523: is it a windows machine or a unix one? 16:43:28 Linux 16:43:41 is the hostname "debian" or some other simliar very common hostname? 16:43:43 I'm planning to retire it soon 16:43:46 and no, it's custom 16:43:54 was it in a dns/ 16:43:56 ? 16:44:05 not as far as I know 16:44:21 or, well 16:44:23 it's in its own /etc/hosts 16:44:31 but not anyone else's as far as I know 16:44:32 hmm, does smtp tell the hostname if you run a client on that machine? 16:44:40 ah, that's an excellent idea 16:44:54 yeah, it announces the hostname in the 220 16:44:57 that's fine, then 16:45:13 that's almost certainly where the exploit attempt got the hostname from 16:45:21 ok 16:45:38 so I'm pretty sure that this was a failed (although clever) exploit 16:46:04 if you're interested, it was trying to run a wget command 16:46:11 I can give you the URL if you like 16:46:30 in case you want to give the hacker some false positives 16:48:48 b_jonas: thanks, anyway 16:48:57 it's nice to clear things up 16:51:06 no, thanks, I don't need it now 16:53:02 the other thing I'm wondering is why my server decided to send that email to me, rather than just drop it 16:53:17 it must have been sent to root@ or support@ or one of the similar addresses that are redirected to my address 16:53:25 -!- quintopi1 has joined. 16:53:40 ooh, I can probably check the headers 16:54:07 -!- quintopi1 has quit (Client Quit). 16:54:12 right, it was sent to root@«hostname» 16:54:19 -!- MDream has changed nick to MDude. 16:55:00 (does anyone else here use «» for quoting metasyntactic variables in computerese, because anything in ASCII could potentially be confused to be literal?) 16:56:44 ais523: no, but I sometimes use “” that way 16:57:01 wait, metasyntactic variables? no 16:57:04 I don't use it for that 16:57:13 I do the opposite: I quote literals with double quotes 16:57:48 -!- AnotherTest has joined. 16:58:40 My rfk86@ address only gets spam. 16:58:59 I don't think it has ever received a non-spam email. 16:59:00 ais523: if <> was good enough for backus, it's good enough for me. 16:59:23 oerjan: backus had more than one font, and wasn't afraid to use it 16:59:54 next you'll tell he wrote in hebrew or something. 17:06:11 meta-metasyntactic variables . 17:06:40 let's have randall munroe write a paper on it. 17:07:28 oerjan: what do you think of my esolang, btw? you're the resident fractran expert 17:07:41 although I'm not sure if the point being made has much to do with fractran 17:07:56 indeed. 17:08:47 it reminds me ever so slightly of the question of whether fractran with unordered commands is tc (no). 17:09:47 right 17:09:53 in this case, though, there is ordering 17:09:59 also the =0 thing screws up the proof 17:10:17 only slightly 17:10:45 I haven't thought about the matter much 17:10:59 although if you say fractran with unordered commands and =0 is sub-TC, I believe you 17:11:17 hm 17:11:23 maybe not. 17:11:49 you can encode what command to run in a flag which is to be zero 17:12:29 when doing computational class proofs, I find it easier to prove something's in a higher class than expected, than a lower class 17:14:46 -!- NATT_SiM has joined. 17:15:20 hm i'm not sure. 17:15:26 @oeis 1 1 2 3 5 10 20 39 78 17:15:27 Number of digits in n-th Fermat number (A000215).[1,1,2,3,5,10,20,39,78,155,... 17:21:27 -!- oerjan has quit (Quit: leaving). 17:22:00 -!- S1 has joined. 17:26:27 http://butt.holdings/ 17:36:29 pretty silly yo have sequences that are "Number of digits in some other sequence" 17:36:36 yo->to 17:41:32 @oeis 1 1 2 3 5 8 14 17:41:35 Number of compositions of the integer n in which the first part is >= the ot... 17:42:15 lambdabot should really respond with the A number 17:42:53 My for loop is going to drive me mad. 17:43:08 `? mad 17:43:09 ​"But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "we're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here." 17:43:51 I like thinking of the cat as the voice of reason. 17:44:01 I know how to write a for-like loop functionally, with carryover. What I do not seem to know how to do is write a macro that is general enough to make that process easy. 17:46:23 `? cat 17:46:24 Cats are cool, but should be illegal. 17:46:32 `? Alice 17:46:33 Alice? ¯\(°​_o)/¯ 17:47:06 `learn Alice doesn't want to go among mad people. 17:47:08 Learned 'alice': Alice doesn't want to go among mad people. 17:47:11 `? Alice 17:47:12 Alice doesn't want to go among mad people. 17:48:38 -!- Phantom_Hoover has joined. 17:48:39 It's the damn carry keyword that's the trickiest. See, Racket does this thing where some of the for loops accumulate the final value of each recursion in something, like a list or just a total or whatever. I want to write a generalized CARRY function that does this instead. 17:50:18 CARRY is like a BREAK, but you feed it a value, and that value becomes the new value of the accumulator, which is then passed to the next iteration. 17:50:33 -!- S1 has quit (Quit: S1). 17:50:43 does racket not have a weird panoply of iteration libraries like common lisp does 17:50:53 -!- NATT_SiM has quit (Remote host closed the connection). 17:50:56 Like a shitload of them. 17:51:11 defmacro is the loop of al loops. 17:51:12 wow why did i think "panoply" meant that, it totally does not 17:51:26 But that's the problem: it has a shitload of them. For each possibility. 17:51:51 Ie. accumulating to a list is a different function from accumulating a value, etc etc. 17:52:57 There are *30* different for loop functions in the Racket standard language. 17:53:18 one loop for everyone 17:53:29 -!- NATT_SiM has joined. 17:56:06 `? Bob 17:56:07 Bob? ¯\(°​_o)/¯ 17:57:09 `? aah 17:57:10 aah ambiguous acronym here 17:57:44 Also, I think I might simplify matters considerably if I just focus on iterating over a list, and then provide different functions to generate the list. Lists are much easier to iterate in Lisp ... 17:57:47 Bike: Wikipedia suggests it's used to "refer to any complete or impressive collection", so I don't see why it wouldn't work 18:05:49 -!- S1 has joined. 18:06:01 -!- S1 has left. 18:06:14 -!- DTSCode has quit (Read error: Connection reset by peer). 18:07:29 -!- DTSCode has joined. 18:12:52 Oh FFS. let* doesn't allow you to define a proc-id like let does, so the (let loop ...) form work work with it. 18:32:42 -!- FreeFull has quit (Quit: BBL). 18:36:35 sometimes hygienic macros are a pain in my ass. 18:43:58 -!- centrinia has quit (Ping timeout: 244 seconds). 18:55:47 -!- NATT_SiM has quit (Remote host closed the connection). 19:02:29 -!- NATT_SiM has joined. 19:03:34 -!- NATT_SiM has quit (Remote host closed the connection). 19:06:09 -!- ^v has quit (Quit: Leaving). 19:08:54 fungot: What do you think of cats? 19:08:54 fizzie: ( just five questions... all fit on a standard computer." 19:09:47 fungot: Yes, I think most cats would fit on a computer, though I'm sure there are exceptions. What's the second question? 19:09:48 fizzie: wow. no mutta siinä fnord fnord. kalan kuolema fnord kun tulin takaisin. en sitten tied. kun tnn tahtoisin olla kovin fnord, ihan sama se mulle on onks se lähellä vai kaukana ;p 19:10:18 fungot: Uh, don't mix Latin-1 and UTF-8 like that, please. 19:11:03 oooh fun it's a byte-based model? 19:11:37 Well, I mean, the language model units are just (integral) token IDs. 19:13:20 But the token text is "byte-based" in the sense that it's just whatever bytes there were in the input. 19:14:49 I was going to translate that for those people sadly deprived in the Finnish language understanding department, but can't quite convey the tune. 19:15:32 It's (very) approximately: "Wow. Well, there fnord fnord. The death of a fish fnord when I came back. I just don't know. Because today I'd like to be very fnord, I don't care at all whether it's near or far :p" 19:19:03 (It's also composed out of 4 different comments from the same person.) 19:23:14 presumably there are more fnords in Finnish, because there are more observed words in English? 19:23:27 or is the proportion of unique words much the same between small and large corpuses? 19:23:43 actually I'd expect it to be the same once the corpuses get sufficiently large, and probably related to e somehow 19:23:47 fungot: say something 19:23:47 ais523: which can be implemented in an esoteric language. 19:23:58 that made surprising sense in context 19:24:17 ais523: It's somewhat larger in Finnish because of so many uniquely inflected forms, I believe. 19:24:26 oh right, that might make sense 19:25:31 ais523: You get the same amount of OOV (out-of-vocabulary) words when using a 100k-word English lexicon compared to a 2.4M-word Finnish lexicon, or something like that, modulo probably misremembered exact numbers. 19:26:05 For "comparable" text data, which was something like newspaper stuff. 19:27:31 is this due to grammar-induced word variations? 19:27:37 Yes. 19:27:47 and perhaps compoundnouns 19:28:07 The general agglutitinativeness. 19:28:15 err, nouncompounds, the other sounds wrong even when translated into German :) 19:28:53 Sub-word units are popular for statistical language models of Finnish. 19:30:17 You can do a rule-based morphological analysis which won't go too badly wrong, or you can do http://www.cis.hut.fi/projects/morpho/ instead if you just want sub-word units and not linguistically meaningful morphemes. 19:35:02 https://twitter.com/omershapira/status/533289787667787776/photo/1 <- eso? 19:44:55 -!- vanila has joined. 19:45:08 argh, I'm totally ruined 19:45:19 How do you discover small Y combinators for SK calculus? 19:45:27 ever since I work with images and videos, all I see in images and videos is their quality, not their content! 19:45:29 vanila: brute force 19:45:30 it's just terrible! 19:47:13 vanila: look for combinators K such that K f -> f (f (f (f ...))) after doing a couple of hundred reductions, then take those candidates and look whether that goes on forever. 19:47:18 vanila: i found Y = S S K (S (K (S S (S (S S K)))) K) by just manually playing around 19:47:22 vanila: sorry, I should use M. 19:48:00 after noticing that SSK x y = x y x 19:48:24 that turns out to be the smallest possible one 19:48:42 that's so cool tromp :D 19:48:56 I should redo that brute force computation some time; I seem to have lost the code though. 19:49:55 tromp: you've proved it's the smallest possible? that surprises me 19:50:27 other people did; like int-e 19:50:59 I wrote a brute force search but I didnt find anything 19:51:01 Lymia: https://github.com/riven8192/LibStruct you wanted stack allocation in java, right? 19:51:09 (Just to see how close I was to an actual proof. I know so much more about that today then I did back then.) 19:52:13 elliott, it looks like more compiler magic 19:52:58 Doesn't stop the fundamental problem of not having a direct way to return multiple values from a function without stack allocation 19:53:00 Lymia: oh, I guess it can't do arrays without you unrolling them as fields? 19:53:06 yeah. 19:53:34 I guess the problem is just that java doesn't have references to stack-allocated objects. so there's nothing you can do. 19:54:43 super.visitIntInsn(SIPUSH, struct2info.get(_returnsStructType).sizeof); 19:54:43 super.visitMethodInsn(INVOKESTATIC, StructEnv.jvmClassName(StructMemory.class), "allocateCopy", "(" + wrapped_struct_flag + "I)" + wrapped_struct_flag, false); 19:54:51 Looks like it involves an allocation 19:54:51 :/ 19:55:12 -!- NATT_SiM has joined. 20:03:34 -!- NATT_SiM has quit (Remote host closed the connection). 20:14:13 Awesome. Thanks to some help from #racket, I now have my FOR w/CARRY. 20:15:37 gz 20:17:45 -!- Bicyclidine has joined. 20:17:46 -!- shikhin has quit (Ping timeout: 244 seconds). 20:19:59 -!- shikhin has joined. 20:20:25 -!- ^v has joined. 20:27:02 -!- NATT_SiM has joined. 20:27:15 -!- NATT_SiM has quit (Remote host closed the connection). 20:27:27 -!- NATT_SiM has joined. 20:32:43 -!- NATT_SiM has quit (Remote host closed the connection). 21:00:51 -!- FreeFull has joined. 21:04:09 -!- Bicyclidine has quit (Ping timeout: 265 seconds). 21:05:20 -!- NATT_SiM has joined. 21:05:29 -!- NATT_SiM has quit (Remote host closed the connection). 21:10:15 -!- Primal has joined. 21:12:03 -!- Primal has quit (Client Quit). 21:16:04 does someone have a roman numeral to number translator bot here? 21:16:17 does burlesque have such a builtin or something? 21:17:17 `! befunge ;@,2;ROMA4#;(3, 21:17:18 Unsupported instruction ';' (0x3b) (maybe not Befunge-93?) 21:17:25 oh, hmm 21:17:30 that's the wrong befunge 21:17:37 `! befunge98 ;@,2;ROMA4#;(3, 21:17:46 also I can't actually remember how befunge works 21:17:48 and I forgot an @ 21:17:52 `! befunge98 ;@,2;ROMA4#;(3,@ 21:17:53 No output. 21:18:01 `! befunge98 ;@.2;ROMA4#;(3.@ 21:18:02 No output. 21:18:07 hmm 21:18:07 ​.............................................................................................................................................................................. 21:18:21 oh right 21:18:24 `! befunge98 ;@.2;ROMA4#;(C.@ 21:18:25 No output. 21:18:39 I give up, I'd actually need to read docs to get this working 21:19:01 thanks 21:19:12 -!- Primal has joined. 21:19:24 oh, beautiful 21:19:30 someone just sent me spam, explicitly marked as spam 21:19:38 with a link at the top to "report it as spam" 21:19:49 that's going to catch loads of people into following the link 21:19:59 -!- Ether_ has joined. 21:21:42 `fromroman LXXXIV 21:21:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: fromroman: not found 21:22:06 `run type perl 21:22:07 perl is /usr/bin/perl 21:22:15 `run ls bin 21:22:15 ​` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bf \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquo 21:22:42 -!- nycs has joined. 21:22:47 `run echo $'#!/usr/bin/perl\n''$_=<>;sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$t=$_;$t}k for s""\$"..4e3;print eval(),$/' > bin/fromroman && chmod a+x bin/fromroman 21:22:49 No output. 21:22:54 `fromroman LXXXIV 21:22:54 Can't open LXXXIV: No such file or directory at /hackenv/bin/fromroman line 2. 21:23:00 Whats up 21:23:06 `run fromroman << 84 21:23:15 `run echo $'#!/usr/bin/perl\n''$_=shift;sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$t=$_;$t}k for s""\$"..4e3;print eval(),$/' > bin/fromroman && chmod a+x bin/fromroman 21:23:16 No output. 21:23:21 `run fromroman LXXXIV 21:23:22 84 21:23:23 `run fromroman L 21:23:24 50 21:23:26 `run fromroman X 21:23:26 10 21:23:33 I hope that's correct, I got it from my golf entry 21:23:43 but we should replace it with something that checks for invalid input 21:23:45 Roman numerals? 21:24:19 though actually, this should reject some of the invalid input already 21:24:20 -!- `^_^v has quit (Ping timeout: 255 seconds). 21:24:27 `run fromroman MMMIM 21:24:28 No output. 21:24:29 but not all 21:24:35 `run fromroman IS•• 21:24:36 No output. 21:24:39 `run fromroman MMMIX 21:24:40 3009 21:25:08 Can i test a bot? 21:25:20 ais523: it works by converting all numbers from 1 to 4999 to roman, and then checking that, so you have to hit a variable or other valid perl syntax to make it work wrong 21:25:23 like 21:25:26 Primal: if it's not particularly spammy, yes; otherwise, use #esoteric-blah or make your own channel 21:25:37 testing bots often does get a bit spammy, though 21:25:43 actually, let me try to make it safer 21:25:47 Nah i just need to do one thing 21:25:50 `run fromroman MMMMM 21:25:51 No output. 21:25:57 "p {{{random}}]++.end 21:26:03 ok well it broke 21:26:10 which bot is that? 21:26:11 ^prefixes 21:26:12 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 21:26:50 Its on my network im just using the chat as an indirect access point for the area thats running my bot sorry >_> 21:27:10 `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$r{$t}=$_;$t}k for s""\$"..4e3;print $r{(shift=~/(\w+)/)[0]},$/' > bin/fromroman && chmod a+x bin/fromroman 21:27:11 No output. 21:27:23 `fromroman L 21:27:24 50 21:27:25 Primal: oh, the bot's basically reading your logs rather than the channel itself? 21:27:27 `fromroman LXXXIV 21:27:28 84 21:27:33 Yeah 21:27:38 `fromroman L+1 21:27:38 50 21:27:53 ok, that's better 21:27:56 Just mine it ignores every other name variable 21:28:32 I dont think i could bring myself to have it log the entire channel that would just be rediculous 21:28:51 -!- DTSCode has quit (Quit: Leaving). 21:28:56 Primal: clog and glogbot disagree with you on that, I think 21:29:16 ? why 21:29:52 I already have all logs listed as a .txt-compressed file 21:30:08 I just dont want to have it open at all times for my bot to list it 21:30:36 `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$r{$t}=$_;$t}print k((shift=~/(\w+)/)[0]),$/' > bin/toroman && chmod a+x bin/toroman 21:30:38 No output. 21:30:41 `toroman 50 21:30:42 No output. 21:30:44 `toroman 10 21:30:45 No output. 21:30:53 -!- NATT_SiM has joined. 21:31:09 hmm, this is getting dangerously into the realm of "optimizing for the wrong thing" 21:31:15 something which is clearly ontopic for this channel 21:31:29 `run echo $'#!/usr/bin/perl\n''sub k{my$t;$t=~y/IVXLC/XLCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$t}$_=(shift=~/(\w+)/)[0];print k,$/' > bin/toroman && chmod a+x bin/toroman 21:31:30 No output. 21:31:32 let's try to minimize the CPU usage of mke2fs 21:31:33 `toroman 10 21:31:33 X 21:31:36 `toroman 50 21:31:36 well its event threaded based 21:31:36 L 21:31:40 `toroman 83 21:31:40 LXXXIII 21:31:42 `toroman 8000 21:31:43 DMMM 21:31:46 (I hope you have a ton of drives that need formatting in parallel, for you to test this on) 21:32:01 ais523: use ramdisks for that 21:32:26 How far can the toroman thing go up to 21:32:34 ais523: minimize the CPU usage on where? modern computers, or ancient slow cpus? 21:32:35 b_jonas: then mke2fs's CPU usage would hae a higher chance of actually being relevant 21:32:38 Primal: 3999 21:32:43 Ah 21:32:45 zzo38 :When will there be more blog posts on your gopher blog 21:33:06 b_jonas: let's pick a system that doesn't actually have hard drives 21:33:09 Commodore 64? 21:33:15 ooh! brilliant 21:33:43 ais523: minimize the cpu usage, but don't eliminate any of the disk seeking 21:34:19 b_jonas: right, we're optimizing for CPU usage here, other factors are secondary 21:34:27 -!- NATT_SiM has quit (Read error: Connection reset by peer). 21:34:28 ais523: also, wait, for which filesystem? there could be a difference between ext[23] which needs lots of inodes and stuff initialized and the more modern ext4 21:34:36 although, back in C64 days, CPU was actually a factor 21:34:38 "redis++(error.file)[]{{++++<>+++]."redis.compression|error|)([2.cpre]-reboot.false 21:34:48 Sorry i was just rebooting it 21:34:58 nowadays it takes some effort to construct a program where the CPU usage isn't dwarfed by the memory bandwidth requirements 21:34:59 ais523: are we formatting a tape or a diskette? 21:35:01 some hash algorithms can do it 21:35:10 b_jonas: tape, you can use ext2 with tapes, right? 21:35:17 I don't think you can 21:35:21 I mean 21:35:24 some tapes probably 21:35:30 but not the tape c64 has 21:35:33 that's seekable only manually 21:35:48 oh, I see! so you want to notify the user when to press the rewind button with minimal cpu time? 21:36:03 or does the user just rewind every time you reach the end of the tape? 21:36:15 and you notify him only when the formatting is complete? 21:36:17 you can get the cassette player to rewind when it reaches the end of the tape 21:36:18 btw my bot is i think listed as Ether in here idk if it even came in so i could just be putting in random stuff 21:36:32 ais523: rewind and play again? hmm 21:36:49 Primal: there's an "Ether_" here 21:36:58 I used to have a casette player which could just physically turn the read/record head around to see the other side of the tape 21:37:01 *cassette 21:37:10 Ok good 21:37:12 so it could play one side forwards, then the other side forwards 21:37:16 Thanks 21:37:25 and it had a mode where it could do that automatically 21:37:33 this sort of hardware support is clearly useful in minimizing CPU time 21:37:53 ais523: are we allowed to burn custom ROM? 21:38:09 because with the normal ROM, the interrupt location points into the ROM, which takes extra CPU 21:38:16 or can that be bank-switched off? 21:38:23 I don't really know how a c64 works 21:38:26 I actually don't know if that's bank-switchable 21:38:30 not familiar with the C64 either 21:38:39 and zzo's not here 21:38:49 The fact that im running off a windows 95 Threaded Cpu doesnt make my bots performance any better 21:38:55 The Datassette (or at least the 1530s I have) does have a (resetable) counter, you can ask the user to rewind/fast-forward to a particular value. 21:39:10 I suspect it's not all too accurate, though, so it's perhaps best to round down a little. 21:39:32 fizzie: sure, but we're minimizing cpu usage, so it's easier to just rewind completely all the time 21:39:50 it can't be completely accurate anyway so you need a loop to wait for the right sector, and that's easier if you always start rewinded 21:40:00 sector? block? what's the thingies on a tape called 21:40:00 That would presumably depend on how cheap it is to process all the incoming data. 21:40:04 I don't know how that works 21:40:19 fizzie: dunno, I have no idea what the casette controller is like 21:40:22 I'm having trouble parsing "windows 95 threaded cpu" 21:40:30 windows 95 is presumably the OS, and a cpu is a cpu 21:40:35 as in, is it like the PC floppy contorller which can just seek to a sector all alone? 21:40:37 but what does "threaded" refer to? 21:41:32 luckily I started computing when mostly reliable drives already existed 21:41:41 no messing with stupid tapes that fail to work all the time 21:41:59 -!- Bicyclidine has joined. 21:42:53 b_jonas: There's no "controller" to speak of, really. I mean, e.g. the motor to run the tape is just directly wired to the 6510 on-chip port, bit 5. 21:43:13 when I started with computers, 5¼-inch floppy drives were just starting to become common on hobbyist computers (most used tape before then, and most of the documentation I could find assumed tape computers) 21:43:38 fizzie: not for the motor, but recognizing the signal 21:44:12 Threaded refers to the threaded base event that helps me run the bots 4 library's so i can enter all of them at the same time without crashing my RAM and the python compiler script that runs the third library which is the main core of the bot 21:44:18 ais523: I specifically said the PC floppy controller. the floppy drive itself is very dumb, it has almost no electronics. 21:44:47 Primal: I don't understand any of that, but I think you're probably on the right channel 21:44:55 b_jonas: The read signal is just wired to the CIA 1 serial interface, and causes an IRQ to occur. 21:45:00 [wiki] [[Brainfuck implementations]] http://esolangs.org/w/index.php?diff=41012&oldid=40699 * 78.10.230.8 * (+124) /* Optimizing implementations */ +1 21:45:07 actually, one of the weakest points in my knowledge of computing is the hardware end of the interface between hardware and software 21:45:11 fizzie: an IRQ for every what? bit? block? byte? 21:45:13 except when I'm writing it myself 21:45:31 fizzie: what decodes the sound to digital data and how far does it go? like, is the error correction done in the cpu? in the controller? 21:45:59 fizzie: I mean, the PC floppy controller reads or writes an entire sector using DMA and then fires an interrupt 21:46:40 ais523: the IBM PC XT is a classic gem, it's worth to read about it 21:47:04 b_jonas: The IRQ happens whenever the analog waveform crosses a zero. 21:47:14 fizzie: oh... that sounds scary 21:47:15 b_jonas: And the software takes care of decoding the bits out of that. 21:47:24 Based on the timing. 21:47:25 so it's like once or twice every bit, at least 21:47:29 See http://wav-prg.sourceforge.net/tape.html 21:47:32 OK, so we're in the category of "this IRQ needs to be really crazily fast" 21:47:37 then the software must also do the error correction 21:47:56 ais523: um, no, it's the opposite way: the data on the tape is really slow 21:48:24 What browsers/ irc clients to you guys use 21:48:32 Of course it also means you can quite freely decide the encoding. But the default KERNAL stuff is really slow, yes. 21:48:45 Primal: someone was in here with MS Comic Chat a while back 21:48:48 at least I think it was here 21:48:58 lol 21:49:11 it seems like the sort of thing you'd like, based on your description of your hardware setup 21:49:14 fizzie: well, the limitation is mostly the bad sound quality you get from the casette and casette player 21:49:19 so it has to be slow 21:49:41 I think irssi is quite popular in here 21:49:46 that said, IIRC (I may be wrong on this), it was the first use to which Comic Sans was put outside Microsoft (again IIRC, it was created for Microsoft Bob but not actually used there) 21:49:48 is the floppy controller for the c64 also that crazy low-level? or is it saner? 21:49:51 let me go check Wikipedia to see how wrong I was 21:49:53 This is my secondary computer which i test crap on 21:49:57 b_jonas: Well, I mean, tapes came with faster loaders. 21:49:59 um... not saner 21:50:04 b_jonas: http://en.wikipedia.org/wiki/Fast_loader#Cassette_tapes 21:50:35 not quite right 21:50:40 b_jonas: Unless I misremember, there's the same processor in the floppy drive as there is in the computer, so there's rather more flexibility there. 21:50:47 it was created for Microsoft Bob, bot not ready in time, so I was right on that bit 21:50:49 Wait why do you guys need cassette tapes couldn't you just uh well i guess you need them if you want the data thats on it 21:50:56 nvm 21:50:57 but MS Comic Chat was not the first time it was used 21:51:19 fizzie: ah, so the casette controller does sometimes also have higher level stuff, nice 21:51:40 b_jonas: What's this "casette controller"? 21:51:43 I mean, there's the pc serial console, which sends or receives a byte and once, and interrupts you for each 21:51:59 fizzie: casette drive controller. the part of the hardware that interfaces the analog casette player to the computer. 21:52:34 isn't that what it's called? 21:52:50 b_jonas: Didn't we just go through that there isn't really much that you could call that. 21:53:01 Wait why do you guys need cassette tapes couldn't you just ← you may be missing the point of this channel (although as a Windows 95 user, you probably aren't) 21:53:01 im just gonna try and talk here through a terminal for a test brb 21:53:12 fizzie: yeah, but that thing you linked to says some computers have more than that 21:54:05 Im not missing the point im just randomly switching back and forth through stuff and checking things so im very scatter brained atm or w/e 21:54:50 b_jonas: I... which page? I don't see anything like that in either the Wikipedia page or the wav-prg tape explanation page. 21:55:54 Primal: if it helps, I had IE6 installed on my previous laptop 21:56:03 on the Linux partition, not the Windows partition 21:56:26 >_> well then i might try that out 21:57:40 [{say."@user.compiler:Primal"}]++(" end . #estoric/?channels=esoteric&uio=d4. " ) [{{ " Test " }}] 21:58:02 that is one weird syntax 21:58:02 ok well i have to get rid of [{say."@user.compiler:Primal"}]++(" end . #estoric/?channels=esoteric&uio=d4. " ) from showing 21:58:25 but the [{{}}] around " Test " is intentional? 21:58:37 fizzie: the wikipedia page, but maybe I just misunderstood it. sorry. 21:58:38 also, #estoric is a different channel 21:58:40 ais523: I don't know, I mean, it's got balanced brackets and all. 21:59:08 fizzie: actually this is reminding me uncomfortably of ESME 21:59:11 b_jonas: I mean, the page is mostly about the floppy drives, there's just a short three-paragraph thing about cassette tapes, and that's all software-related. 21:59:26 yeah i know its just having trouble determining stuff 21:59:41 heh, esotric 21:59:55 Ill have to go on my linux for anything further than that which just got outputed 22:00:13 Presoteric 22:02:26 [{{}}] yes this is intentional it helps the 2nd library core determine which place to put it in the output eh think of it as these [{{}}] weigh down the text output 22:02:45 Without those it usually deletes the text output when it gets run through 22:03:54 Ok ill be back in like a day or so w/e i have to go on a trip 22:04:14 Away from all the city life 22:04:21 -!- Ether_ has quit (Quit: Page closed). 22:04:29 -!- Primal has quit (Quit: Page closed). 22:04:41 wait, the bot was using web IRC? 22:04:52 …I need to stop thinking about this, it's making my head hurt 22:04:58 whoa 22:05:08 web irc... 22:05:25 actually, at this point I'm hoping that that was a really impressive and well-done trolling attempt 22:05:29 if that's true, then he was indeed on the right channel 22:05:34 ais523: hehehe 22:05:39 yes, that's the other possibility. 22:05:47 we'll see tomorrow, hopefully 22:05:55 the social route to something like that would be easier than the technical route 22:06:25 and as I said, it's very reminiscent of ESME, which I suspect was an excessively complex project to troll zzo38 22:06:55 sure 22:07:34 -!- NATT_SiM has joined. 22:08:34 in case it's relevant, that IP traces to a school in Washington 22:09:45 huh what 22:11:01 oh, different school. i'm off the hook 22:11:18 It seems moderately hard to find details on the kernel ROM tape loader routines, since all material seems to be about Turbo Tape -style faster loaders. (Which apparently just use pauses of two different lengths between the triggers to denote 0 and 1 bits, meaning one interrupt per bit.) 22:11:19 -!- Patashu has joined. 22:12:13 An "Information Processing Cooperative" sounds mighty shady. 22:12:42 http://en.wikipedia.org/wiki/Washington_School_Information_Processing_Cooperative 22:12:47 ais523: do you think tompn is a trolling attempt too, or does he just not understand what this eso stuff is about? 22:12:51 (If it were a "coöperative", then it'd be benign.) 22:13:12 probably indicates a high school. i think the major colleges have their own ipv4 blocks or some shit. 22:13:16 ais523: And did you notice another case of non-nested loops? 22:13:17 I don't get why people think TomPN is so uniquely terrible or anything. 22:13:23 aren't we used to mediocre languages by now? 22:13:28 fizzie: in Dimensions? 22:13:41 b_jonas: Right. I only remembered the musical notes discussion. 22:13:47 elliott: he isn't that terrible really, he just angered ais by removing some text he wrong 22:13:50 um 22:13:52 stuff 22:13:54 wrote 22:14:31 I agree that Primal's bot was fake. :p 22:14:43 "redis++(error.file)[]{{++++<>+++]."redis.compression|error|)([2.cpre]-reboot.false is some nice "code". 22:15:06 oh, embedded bf! 22:15:35 doesn't parse though 22:15:48 right, BF normally has matching brackets 22:15:54 also that doesn't look much like BF 22:16:06 an IRC bot using redis yet connecting through webchat is kind of a beautifully weird combination 22:16:15 elliott: you forget when TomPN put a link to the language on the Main Page 22:16:25 that's the first thing that alerted me that something was wrong 22:16:26 ais523: so did NSQX 22:16:26 ais523: ah yes! 22:16:35 it's called enthusiastic kids :p 22:16:48 I don't think I'm surprised by mediocricity or anything, I just can't fathom the strange antipathy towards nested loops. 22:17:12 there's the use of the phrase "instruction tape" to mean "data tape" 22:17:12 -!- NATT_SiM has quit (Remote host closed the connection). 22:17:24 it's now been explicitly /defined/ as "data tape" for Musical notes 22:17:26 Maybe with some sort of non-structured-programming background, but that sounds rather unlikely these days. 22:17:29 but it's a rather unintuitive definition 22:17:41 doesn't even FORTRAN support nested loops? 22:17:45 have you, like, never been actually trolled 22:17:52 i wanna say modern fortran only 22:18:24 Bicyclidine: the days of the truly great trolls have mostly died out 22:18:36 you get some pretty good attempts from time to time, though (also a lot more really bad ones) 22:18:46 The FORTRAN I was writing was loops based on line numbers. 22:18:50 mm random webpage says nested loops were common in 77 22:19:02 i guess that makes sense. i could check my book with unreadable code samples i guess 22:19:03 I would think you can nest those, since it's not like it'd complicate the implementation. 22:19:37 You can have several loops end at the same line, though. 22:19:51 fizzie: it's sort of a come from, isn't it? 22:19:58 It's reminiscent, yes. 22:20:00 as in, there's no explicit loop closing statement 22:20:33 does forth have a looping construct that doesn't nest though? I don't know, I'm not a forth guy 22:20:44 -!- AnotherTest has quit (Ping timeout: 244 seconds). 22:20:56 Though I think it's not untypical to put a "continue" statement on the closing line of the loop. 22:21:17 fizzie: is that like C's continue or what? 22:21:19 It's not really a loop closing statement then either, but it makes it look like one. 22:21:32 It's a nop. 22:21:40 ah, so like python's pass 22:21:44 Yes. 22:22:05 hmm, Algol used "skip" for the same purpose 22:22:14 and at least in mathematical Algol, it's normally only allowed as a no-op command 22:22:17 ais523: worms uses skip too, with a visual pun 22:22:44 however, in Algol 68, I believe it just refers to an arbitrary uninitialized value, which isn't evaluated when used as a command because Algol 68 is call by value 22:22:47 (um, is that a joke I have to explain, or does everyone on this channel get it by default?) 22:23:15 http://sprunge.us/HZKb -- that's the program-loading bit out of a Befunge-93 interpreter. 22:23:19 ais523: a variable predefined in the library? or no strict? 22:23:41 (um, is that a joke I have to explain, or does everyone on this channel get it by default?) ← it's hard to tell, after spending a while in this channel it becomes clear you can never understand the context of everything 22:24:06 fizzie: I was going to ask "why is there a Befunge-93 interpreter in Fortran", but there's no real point in asking the question 22:24:18 I guess it's more out of curiosity "why pick that specific combination of languages" than anything else 22:24:58 I used to use a Befunge-93 interpreter as my initial "getting to know a new language" program, that's why. 22:25:12 Also I believe the pasted snippet could be equivalently written as http://sprunge.us/WXhC 22:25:32 (It's still two loops, nested.) 22:26:04 fizzie: hmm, then there has to be a Befunge-93 interpreter task on rosettacode.org 22:26:23 fizzie: maybe add your interpreters there, possibly creating such a task if it doesn't yet exist 22:26:23 fizzie: also I'm not used to seeing indentation in fortran 22:26:27 it'd be like using indentation in asm 22:26:36 ais523: yeah... you don't indent on punch cardss 22:26:41 (which I assume some people actually use? I'd never really thought of it before this point, but it makes perfect sense for handwritten asm) 22:26:45 ais523: Yes, it's kind of strange. And it looks really silly when there's a continuation line. 22:27:16 fizzie: not if you're used to seeing ifdefs or labels pulled to the first column in C 22:27:44 b_jonas: the worms games? 22:28:00 In this case, I've put the continuation line marker in the only place it can go to, but also continued with the actual content, unidented. 22:28:31 To wit, http://sprunge.us/MNHG 22:28:45 elliott: yes 22:28:47 wow, I just realised Fortran 77 postdates both Algol 68 and INTERCAL-72 22:29:00 b_jonas: I got it but I'm not sure how much of the channel would :p 22:29:06 presumably it was in common use before then, just hadn't hit its "most commonly used ever standard" 22:29:26 b_jonas: I never registered that as a pun until you pointed it out though, heh 22:29:37 (you don't analyse games you start playing at age ~7-ish very much) 22:29:39 -!- nycs has quit (Quit: This computer has gone to sleep). 22:29:43 heh 22:29:58 FWIW, I missed the Worms comment, but did get it now that it was pointed out. 22:30:37 now I'm wondering what sort of self-respecting pentester uses a wget-based payload and doesn't execute the file they download 22:30:45 elliott: heh, that shows you're young 22:30:46 you're leaving traces not only in logs, but on the filesystem 22:31:02 although, hmm 22:31:02 worms is a new game 22:31:05 the file would go to / 22:31:19 which most email daemons can't write 22:31:25 b_jonas: So new, not even 20 years old. 22:31:27 b_jonas: yes, and in fact Armageddon was my first game, and it was years after it came out that I got it. (I'm 19.) 22:31:39 uh, first worms game. not first game in general. 22:31:45 the amiga worms games are kind of weird. 22:32:02 I hope you had at least played with older games since 22:32:14 these modern games have it too good with being able to use powerful hardware 22:32:17 worms including 22:32:22 included 22:32:51 I've played Worms 2 a bit but it mostly seems like a weaker version of W:A; they're practically the same game in many ways. (would W:A be DLC these days?) 22:32:53 elliott: We were actually kind of wondering here whether you'd be 19 or 18. (I got it narrowed to something thereabouts by log-grepping.) 22:33:00 the amiga ones I've tried but they're... not that great. 22:33:07 I can't get used to the rope physics. :p 22:33:25 (btw, I'm still surprised there are so many finns here) 22:33:26 http://en.wikipedia.org/wiki/Liero is what we used to play here. 22:33:36 oh, god, yeah, I've played liero 22:33:42 (Well, that and MoleZ.) 22:33:50 the rope physics on *that* sure are something 22:34:00 They're very physical, yes. 22:34:18 fizzie: I like your wife taking an interest in #esoteric. 22:34:34 well, good night 22:34:36 or is it just me? 22:34:39 night 22:35:53 i indent asm :( 22:36:08 It's more general than that, but it's possibly more about what sort of weirdoes the channel regulars are, as opposed to the so-called content. 22:36:21 I never realised the 'skip' pun in Worms either 22:36:34 I'm sure I've been satisfying on the "weirdo" front 22:36:36 oh wow, I only just realised what specifically in Worms was being referred to 22:36:48 tromp: so it looks like I was left with about 30k probably-nonterminating probably-not-fixed-point-combinators. 22:36:51 more like craptent 22:36:55 like, I thought you were referencing the specific game series, and you were 22:37:01 but I didn't get the greater specifics 22:37:20 (btw, was that thing ever useful except in situations where you were highly limited on ammo? and could it be set to limited ammo itself?) 22:37:21 tromp: of size 11 or less 22:37:23 Bicyclidine: Like, with multiple levels in case of nested control structures? 22:38:00 yeah. 22:38:18 Having a different indentation for e.g. labels and instructions (and sometimes directives) wouldn't be all that surprising. 22:38:32 yeah i mostly do that though. 22:40:08 ic, int-e. probably that includes 100s where it's not clear whether it's diverging 22:40:20 I draw lines with semicolons to the right of the instructions to indicate nestedness 22:40:22 even if you study them manually 22:40:37 tromp_: could be. 22:41:25 tromp_: but it's still interesting to filter out some obviously non-productive ones. 22:42:18 yes, a divergenct pattern detector should eliminate a large fraction of those 30k 22:47:48 [wiki] [[Smartboxes]] http://esolangs.org/w/index.php?diff=41013&oldid=39314 * 67.78.57.11 * (+7) /* maps */ 22:48:18 -!- oerjan has joined. 22:50:17 ais523: actually unordered fractran with =0 is tc by reduction from a minsky machine. just choose one boolean flag for each state, then the only thing you need =0 for is when doing a branch on zero in the decrement-and-branch-on-zero instruction. 22:50:50 oerjan: right, that makes sense 22:51:15 maybe I should make My Unreliable Past unordered, but I kind-of like the looping 22:51:28 especially because it matches the looping of input (which is necessary for other reasons) 22:51:39 meaning that it may be possible to write a self-interpreter even though you can't write cat 22:52:13 heh 22:54:56 what is it with me and languages which have pretty powerful I/O that nonetheless can't do cat? 22:55:15 you're a dog person? 22:56:40 -!- NATT_SiM has joined. 22:58:31 -!- nys has joined. 23:00:31 -!- Bicyclidine has quit (Ping timeout: 244 seconds). 23:01:56 -!- ais523 has quit. 23:02:16 tromp: http://sprunge.us/TRPL is what I have. 23:02:45 * oerjan looks at http://golf.shinh.org/p.rb?A057755 and thinks: does anagolf prohibit putting an actual link in the problem description? 23:06:53 -!- DTSCode has joined. 23:08:11 int-e: is unknown same as [0] ? 23:08:33 tromp: As far as I recall, the 3 alternative candidates that produced more than 3 f applications were not clean fixed point combinators (Y f is not equivalent to f (Y f)); but they nevertheless produce an arbitrary number of applications to f (for all k there is an M such that Y f ->* f^k M. In a Böhm tree model, that's still a fixed point. 23:08:43 tromp: "unknown" encompasses [0], [1] and [2]. 23:08:57 ic 23:10:17 and you think the [3]+++ can be shown to be M f -> f(f(f(diverge))) ? 23:10:47 where diverge has no whnf 23:11:00 I expect so. 23:11:54 seems clear then that there's only one clean Y combinator of size 12 23:12:53 "non-minimal", btw, are terms that have subterms of shape ``Kxy, ``SKM with M != K and ```SxyM with M=S or M=K. (rewriting such terms to ``xM`yM terminates.) 23:13:22 -!- NATT_SiM has quit (Remote host closed the connection). 23:13:47 So I'm filtering a bit more there than one would naively expect. 23:15:40 anyway, I'll revisit this another day 23:15:49 thanks for the investigation 23:19:13 -!- NATT_SiM has joined. 23:21:00 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:23:38 oh wait obvious simplification, but int-e is _still_ a byte shorter 23:24:04 I need to get better at golfing Haskell 23:25:17 using logarithms is possible but seems not to make it shorter 23:26:38 because then you also need a pesky ceiling 23:27:44 I have 3 approaches, 2 that work well in Haskell and 1 that works nicely in dc. 23:28:13 (dc's arithmetic is too slow for the naive method) 23:28:46 i just did the obvious thing and then removed the +1, and then i'm missing by a byte 23:29:43 it takes almost 5 seconds for computing the number of digits of 2^2^20 alone. 23:30:02 (in dc) 23:30:10 -!- centrinia has joined. 23:30:32 i noticed the other day a blog post comparing bignum implementations in languages with them builtin, and ghc won 23:30:40 -!- DTSCode has quit (Ping timeout: 240 seconds). 23:31:02 ghc has very cheap allocation and lets gmp use that. 23:31:34 hm 23:32:36 The comparison included conversion to strings, right? That may not be entirely fair... 23:32:56 oh i don't remember 23:33:28 damn now I need to find the link again... 23:33:53 i see your _actual_ dc method is faster than the haskell one. 23:35:59 I don't think it's measurable. 23:37:56 I get 0.001s for dc and 0.002s for haskell on my computer. 23:38:07 oh 23:38:22 well your submitted haskell was a lot more 23:38:53 But I have another Haskell version that takes 0.08s here, about 0.3 on anagol. 23:39:04 same length, unfortunately. 23:45:01 oerjan: anyway, resubmitting twice, the second time I got time: 0.000085sec for the same program that is listed as 0.0125. 23:46:15 ah 23:55:07 -!- olls has joined. 23:59:43 -!- olls_ has joined. 23:59:52 oerjan: ah, it came from HWN. http://www.wilfred.me.uk/blog/2014/10/20/the-fastest-bigint-in-the-west/ is the link. 23:59:57 -!- olls has quit (Ping timeout: 255 seconds).