00:03:45 `wisdom 00:04:19 abstract nonsense/We would have an explanation of abstract nonsense here, but it fled into a diagram and we haven't been able to chase it. 00:05:15 hmm 00:05:46 we got lost while chasing it? 00:06:09 int-e: it's more that diagram is very very complicated 00:06:14 *+the 00:06:29 we need an abstract machete to get close 00:06:39 I still don't see how that's stopping us from starting to chase it. 00:07:02 `? gordonian diagram 00:07:06 stupid pedants 00:07:09 gordonian diagram? ¯\(°​_o)/¯ 00:07:24 oerjan: takes one to know one 00:07:48 int-e: itym "gordian" hth 00:07:55 as I said. 00:08:05 (you're right, of course) 00:08:15 IT IS A RUSE 00:08:23 -!- jaboja has joined. 00:08:31 (admiral ackbar, darths & droids version) 00:08:42 Mah, I just don't know my Greek mythology very well. 00:08:47 s/Mah/Nah/ 00:09:05 it's a bit of a labyrinth 00:09:21 quick, think of a minotaur pun... 00:11:57 HAHA. "If for some reason you don’t receive this email, please be sure to check your spam folder." 00:11:57 `le/rn_append abstract nonsense/We will try again once we find an abstract machete. 00:12:14 Learned 'abstract nonsense': We would have an explanation of abstract nonsense here, but it fled into a diagram and we haven't been able to chase it. We will try again once we find an abstract machete. 00:15:04 * oerjan doesn't think he has a spam folder, and hopes no one's ever got caught in the filter. 00:15:42 (it's funny because the email was kind of important...) 00:16:02 int-e: was that in the actual email? 00:16:19 oerjan: that should say "Relearned" tdnh 00:16:44 shachaf: hm. it's redundant with *append, though. 00:17:10 `le/rn_append quasitesting/Hi. 00:17:18 olsner: yes! 00:17:18 int-e: don't think of a minotaur pun. don't think of, at, or about puns. hth. 00:17:19 Can't open wisdom/quasitesting: No such file or directory. \ Learned 'quasitesting': Hi. 00:17:26 int-e: haha, wow 00:18:00 `? quasitesting 00:18:02 Hi. 00:18:05 hmph 00:18:14 `forget quasitesting 00:18:16 Forget what? 00:18:32 `forget quasitesting 00:18:33 rm: cannot remove `wisdom/quasitesting': No such file or directory \ Forget what? 00:21:37 oerjan: Remember? "Forget what?" is a joke? 00:21:42 -!- p34k has joined. 00:22:15 hppavilion[1]: are you confused about something 00:22:29 oerjan: You `forgot quasitesting twice 00:22:45 yes, i wanted to see if it gave an error if there was nothing. 00:22:51 oerjan: Oh, OK 00:23:05 it should silence rm so that its own error message is more visible 00:23:18 olsner: ER... 00:23:30 or the message that is not an error at all 00:23:30 nm 00:24:33 -!- jaboja has quit (Ping timeout: 240 seconds). 00:24:49 `learn nm means "no minotaur" hth 00:24:51 Learned 'nm': nm means "no minotaur" hth 00:25:03 speedy 00:25:14 `? speedy gonzales 00:25:15 speedy gonzales? ¯\(°​_o)/¯ 00:25:22 I probably spelled it wrong 00:25:48 not that i know. 00:25:51 could just be that there is no wisdom to be found there 00:27:40 boily: but... aren't puns the main export of this channel... 00:28:53 the Wisdom, in its Wisdom, may have no Wisdom. 00:29:40 I'd say puns are the main product of this channel, but I don't think there's a lot of export going on 00:30:00 or maybe I just hope not 00:30:50 the PDF *may* have fallen in Outsiders' hands. >_>'... 00:31:21 coppro: chelloppro. don't worry, I haven't forgotten you about the updates; just being generally busy and/or sick lately. 00:31:45 i'd say copprello is better 00:31:58 I agree with myname 00:32:17 Also, ahoily 00:33:47 ahoily is great 00:34:14 myname: It's my favourite porthello 00:35:34 mynamello, hppavellon[1]. 00:35:34 indeed, it has this fengshui ring to it. コップレッロ。 00:35:46 boily: It does 00:36:50 #define octalcase '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7' 00:36:53 i'm very proud of that 00:37:20 `le/rn speedy gonzales/Sp e e d y G o n z a l e s i s t h e f a s t e s t m o 00:37:22 Learned «speedy gonzales» 00:37:26 u ... 00:37:28 ... s e i n a l l M e x i c 00:37:34 o ... 00:37:37 ... ! 00:37:40 lol 00:37:56 i knew it'd get cut off but i didn't think it would be that much 00:38:06 `? speedy gonzales 00:38:06 Sp e e d y G o n z a l e s i s t h e f a s t e s t 00:38:21 <\oren\> arriba arriba andale! 00:38:54 oh irssi didn't chop it up as logically as i'd expected. 00:38:59 (when does it ever) 00:41:07 thoughts on that octalcase? :3 00:42:07 a good langiage could have done it with case '0'..'7' 00:42:18 that's gnu c 00:43:11 -!- lynn_ has changed nick to lynn. 00:44:33 clearly, #define decimalcase octalcase: case '8': case '9' 00:45:01 :D 00:48:13 as i said, in a good language ... 00:49:38 you can use a good language to generate the C code 00:50:30 Use a C code to generate a C code. 00:50:56 like haskell? 00:51:00 It's C all the way down, and then it becomes turtle graphics. 00:51:20 but then you not only have to deal with C code being bad for the task at hand, but also deal with C code being bad at generating code 00:54:33 -!- bender| has joined. 01:03:14 -!- hydraz has changed nick to demhydraz. 01:04:34 -!- demhydraz has changed nick to hydraz. 01:36:26 one of my two wiktionary edits this year got broken because they got the idea to make their cite templates (even more) incompatible with wikipedia's 01:36:40 THEY'RE NOT WORTHY 01:39:36 -!- lynn has quit (Ping timeout: 244 seconds). 01:40:47 wait. wiktionary isn't compatible with wikipédia? why? 01:41:07 MY QUESTION EXACTLY 01:42:23 -!- lambda-11235 has joined. 01:49:38 -!- nooga has quit (Ping timeout: 268 seconds). 01:51:45 -!- gitwalrus has joined. 01:53:59 anyone know if there is another alphabetti spaghetti implementation out there? i wrote one and i want to compare it to another to see how closly it matches the standard. 01:55:05 i thought hppavilion[1] had monopoly on walruses around here 01:55:34 * oerjan cannot remember any, anyway 01:56:25 idk this is my first time here also my first time playing around with esolangs. 01:57:12 `relcome gitwalrus 01:57:26 (come on, you lazy bot...) 01:57:28 darn 1 sec too late 01:57:32 mwah ah ah :D 01:57:38 (come on, I said!) 01:57:40 ​gitwalrus: 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 EFnet or DALnet.) 01:57:44 ah, there she is. 01:57:51 `? HackEgo 01:57:52 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 01:58:27 -!- boily has quit (Quit: COWARD CHICKEN). 01:58:49 `learn_append HackEgo HackEgo is the slowest bot in Mexico! 01:58:51 Learned 'hackego': HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in Mexico! 01:59:06 thanks! from the wiki it looks like brainf*ck is the most used one around right? 01:59:55 it has the most derivatives by far. 02:00:19 some day, we'll get around to updating the featured article to something else. 02:01:03 -!- p34k has quit. 02:02:32 XD well it looks like one of the silliest languages. is there a particular implementation (preferably open source) you can recommend? 02:03:01 not sure, there are so many and i don't do much brainfuck myself. 02:04:06 brainfuck is not so silly. try Chef... 02:04:51 well, HackEgo took 2 seconds this time 02:04:54 that's not too bad 02:05:08 izabera: it's fast once it has been woken up 02:05:21 well, sometimes. 02:06:29 oerjan i saw that brefily on the wiki. maybe ill try and make a brainfuck that can call c functions sort of like the lua API can. 02:06:53 imagine someone using a forklift every time HackEgo needs to get out of storage. 02:07:53 gitwalrus: i'm sure there's one already. 02:08:14 (if it exists, there's a brainfuck derivative for it.) 02:08:27 oerjan: those with lua extension? 02:08:28 not sure 02:10:17 i suppose making a extentible brainfuck kind of ruins the point. why bother making complcicated algorithms when you can import a c function from a .dll or something? 02:11:20 for me esoteric languages are about exploring the boundary of what's turing complete or not 02:11:46 my fav thing is making a language that's just _barely_ turing complete, especially if you wouldn't expect it to be 02:12:16 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:12:21 im kind of confused on what turing complete means. can you explain it? 02:12:50 gitwalrus: Walrus? 02:12:58 Yay! 02:13:16 gitwalrus : basically a language that can run any program 02:13:23 gitwalrus: we have multiple different models of computation that eventually reduces to the same computational ability. Turing-completeness is a term for that ability 02:13:50 mad: Any *computable program 02:14:01 gitwalrus: Do you know what a turing machine is? 02:14:15 one easy-to-understand model that is Turing complete is an ordinary programming language with infinite usable memory 02:14:17 well, yeah, but "computable" kindof means "computable by a turing machine" so it's kinda self referential :D 02:14:39 mad: Yes, but "any program" includes, e.g. "Will-it-halt" 02:14:43 (not "arbitrary". it demands infinite memory) 02:14:49 mad: It has to be a computable program 02:14:53 Will-it-blend 02:15:05 "will-it-halt" is not a program 02:15:07 lifthrasiir: Turing machines? No 02:15:10 it's a question :D 02:15:17 mad: Yes, it is, it's just an uncomputable progr- oh 02:15:31 it is a question, there is no program for that 02:16:00 gitwalrus: Of course, I'm going to have to tax you $(19+2i)/(1+2i) years for the Grand Walrus Empire 02:16:07 ah okay. that makes a little more sense. probably one of those things that makes more sense the more you mess with it. who comes up with the names for these languages? 02:16:10 a tax? 02:16:15 gitwalrus: They have a git tax 02:16:32 gitwalrus: Quick question. What is the plural of walrus? 02:16:52 don't tell me it's walri 02:16:55 gitwalrus: Turing Machine is named after its creator, Alan Turing 02:16:56 lifthrasiir: Shush 02:17:05 then i guess i'll use svn to avoid the tax. 02:17:26 gitwalrus: xD 02:17:32 hppavilion[1]: i dont know what the plural is, walruses maybe? 02:18:03 AFAIK it's correct. 02:18:05 walrii 02:18:10 gitwalrus: It's walri. Like lifthrasiir said not to tell them. 02:18:21 mad: That's the plural of walri 02:18:34 mad: it's walri, s/us$/i$/ as in radius-radii 02:18:37 gitwalrus: https://www.youtube.com/watch?v=Ubw5N8iVDHI 02:19:01 lifthrasiir: You don't include the $ in the second segment 02:19:09 s/us$/i/ 02:19:12 oops 02:19:13 lol 02:19:23 hppavilion[1]: I'm now advocating for (lowercase) "i" for the first person plural-plural pronoun (derived from "us") 02:19:26 lifthrasiir: https://www.youtube.com/watch?v=Ubw5N8iVDHI 02:19:46 lifthrasiir: You mean ii? 02:19:52 no, just i 02:20:06 lifthrasiir: But it's plural-plural 02:20:08 kewl. you learn something new everyday. has anyone ever written a semi-large program using esolangs or is it all about the shorest possible algortithm? 02:20:31 fungot is fairly large 02:20:31 myname: hi fiz. fnord i've always had to beat people giving incorrect information 02:20:35 also "what is the plural of warlus" is wrong 02:20:51 gitwalrus: Yes, but they're usually autogenned 02:20:54 human lanuages are awful. who came up with the grammar for those things? 02:20:55 you should say "what is the plural of walrii" since it's in genitive case 02:21:14 in plural it would be "the plural of walroorum" 02:21:24 gitwalrus: I have an example, in a minute 02:21:33 gitwalrus: https://arin.ga/FQLSPy/raw 02:21:34 gitwalrus: Try running it 02:21:48 gitwalrus: (Taneb made that one) 02:22:01 gitwalrus: https://github.com/fis/fungot 02:22:01 myname: what are you shaving? :) that just makes you a cave man? 02:22:14 (AKA Von Doorn) 02:22:45 hppavilion[1]: autogenerated stuff is lame 02:22:48 mad: "of" does _not_ govern the genitive you infidel 02:22:58 hppavilion[1]: how am i supposed to use that program? 02:22:59 myname: Autogenerated stuff makes me worship people as gods 02:23:05 gitwalrus: An online interpreter 02:23:14 why that 02:23:26 autogenerating is like the least impressive thing you can do 02:23:33 i know but like input wise. 02:23:40 gitwalrus: I recommend http://copy.sh/brainfuck/ 02:23:41 * mad is into case system vandalism :3 02:23:43 seeing as it comes with no instructions. 02:23:45 gitwalrus: Copy/paste 02:23:59 gitwalrus: It's brainfuck; there's only one way to interact 02:24:06 gitwalrus: Run it with some arbitrary input 02:24:18 fungot is a way better example 02:24:19 myname: heh, no problem. what's your question 02:24:29 it is actually written and it is jere right now 02:24:51 myname: Fair point 02:24:54 hppavilion[1]: *van doorn 02:25:02 oerjan: Right, van 02:25:31 oerjan : what case should "of" take then? 02:26:07 got to go. thanks for the help! 02:26:12 -!- gitwalrus has left. 02:26:13 OK 02:26:48 myname: Autogenerated stuff makes me worship people as gods <-- http://oerjan.nvg.org/esoteric/emmental/ul.emm now grovel hth 02:27:12 oerjan: First I have to confirm its autogeneration 02:27:27 * hppavilion[1] kisses oerjan's boot and begs for mercy 02:27:38 wat 02:27:52 oerjan: I'm trying to figure out how Taneb made the banner generator, but I really have no clue xD 02:27:58 Wait, I think I might know 02:28:07 Yep, monospace 02:28:12 Wait, but... 02:28:38 mad: in english, it takes the oblique case. the most corresponding latin word might be "de" which i think takes ablative. 02:29:05 does english have an oblique case separate from accusative? 02:30:16 latin genitive split into both ablative and dative in daughter languages (though ablative is more common) 02:30:21 hppavilion[1]: the autogeneration is the EmmUnl.hs in the same directory hth 02:31:37 mad: well, no, "oblique" is like a sack term which includes the accusative but also dative 02:31:52 (not being distinguished in english) 02:31:57 oh 02:32:25 yeah I was thinking of oblique as in "not nominative not accusative" 02:32:35 which is probably a more common use for the term 02:32:43 huh 02:33:24 oerjan: Are there any good resources on using haskell to generate Eso- wait, no, probably not 02:34:29 other way of referring to nominative/everything-else I've heard is subject case / regime case 02:34:44 hm "The term "objective case" is generally preferred by modern English grammarians." 02:35:39 hppavilion[1]: i dunno, if so i wasn't using them. 02:35:56 oerjan: So you just figured it out on your own? 02:36:47 hppavilion[1]: well it's basically using haskell to make an assembler for emmental 02:36:58 oerjan: Ah. 02:37:19 and then using the assembler to make an underload interpreter. 02:37:53 oerjan: So you wrote an assembler from some higher language to emmental in Haskell, then used that higher language to interpret Underload?? 02:37:58 with complications because the instruction values get moved around between a couple phases 02:38:30 http://esolangs.org/wiki/Brainfuck_code_generation exists. I'll check it. 02:39:14 Nope... 02:39:51 hppavilion[1]: it's not that high-level. more like a macro system over emmental with instructions varying between phase 02:40:01 oerjan: high/er/ level 02:41:31 mad: i thought genitive was basically replaced by the preposition "de" in daughter languages? 02:46:38 I've just, with two NOP instructions, added both do-while and if-then to BF 02:46:49 (I'm making a BF to target compilers to) 02:49:45 helloerjan 02:49:54 hitopia 02:50:18 afk 02:51:31 oerjan : usually yes 02:51:39 french sometimes use à as well 02:58:28 -!- ais523 has quit. 02:58:40 -!- ais523 has joined. 03:12:01 hmm, I need to save one character in my latest Isabelle theory... it has 22223 bytes now. 03:12:51 int-e: Is Isabelle whitespace-sensitive? 03:13:22 int-e: Alternatively, just add 11110 bytes of junk 03:13:46 hppavilion[1]: no it's not... 03:14:03 101010 is my favourite number 03:14:14 hppavilion[1]: in which base? 03:14:24 ais523: Decimal, of course. Why? 03:14:31 that number works in a lot of bases 03:14:33 int-e: Then why not just cut out a newline or something? 03:14:44 ais523: Yes, but if I meant e.g. binary I would prefix it as such 03:15:09 0b = binary, 0q = quaternary, 0o = octal, 0x = hexadecimal, 0i = imagidecimal 03:15:19 (base i) 03:16:11 (unary) 03:17:01 I would like to bloat utf-8 to the logical extreme. utf-1 03:17:17 hppavilion[1]: because I have a style to stick to. I replaced a "by blast" by "by fast". Yay. 03:17:19 0 is a character, 10 is a character, 110 is a character... 03:17:29 int-e: Yay! 03:17:32 int-e: Does it still work? 03:17:34 (both blast and fast are automatic proof methods) 03:17:43 Ah 03:17:45 sometimes they both work. 03:18:01 int-e: I like how you changed the proof to be bytier xD 03:18:35 well, all this will be for naught when I start adding comments. 03:18:43 but in the meantime it feels good ;-) 03:18:47 :) 03:18:52 int-e: Save the uncommented file? 03:19:05 already done, it's a git repo... 03:19:15 int-e: Ah, good 03:19:19 int-e: What're you proving? 03:19:54 ooh, something about post correspondence problem and the first-order theory of relations. 03:20:25 * hppavilion[1] nods silently 03:20:35 Got it. I understand. Etc. 03:21:33 You know the C2BF compiler out there? 03:24:20 We should make one targeting Unlambda or something... 03:24:38 Maybe not unlambda, but some sort of CL language 03:25:03 Then again, c2bf died a long time ago (2006) 03:25:30 So we could just make a new one based on a slightly-less-impossible BF derivative 03:26:24 how about just an LLVM backend 03:26:29 then you can compile anything you want to BF 03:27:10 coppro: How so? 03:27:20 coppro: Ah, with the LLVM backend, I get it 03:27:29 coppro: Well that would be too much more efficient 03:27:34 hppavilion[1]: true 03:27:45 how about we write the backend in unlambda 03:28:51 coppro: Perhaps xD 03:28:55 coppro: I'm creating Target: Eso 03:29:07 A big GH repo for compilers to esolangs 03:36:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:39:11 -!- hppavilion[1] has joined. 03:53:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:58:42 -!- sebbu has quit (Ping timeout: 276 seconds). 04:23:16 -!- treaki_ has joined. 04:24:34 -!- treaki__ has quit (Ping timeout: 260 seconds). 05:27:27 -!- tromp has quit (Ping timeout: 244 seconds). 05:37:03 -!- hppavilion[1] has joined. 05:42:58 "I have discovered a truly marvelous proof of the Banach-Tarski paradox that this margin can be made large enough to contain." 05:47:01 I feel like Weird Sun Twitter should be on TVTropes 05:53:01 *AllTheTropes 06:07:40 so far my project of rewriting coreutils from scratch is like 80% parsing input and 20% doing actual things 06:07:57 is that expected? 06:09:21 -!- lleu has joined. 06:11:17 so far i definitely spent a lot of time writing an improved getopt and a parser for chmod and something that creates the right strings for tr 06:12:15 s/a lot of/most of the/ 06:18:44 izabera: what language are you rewriting coreutils in? and is this for fun or is there a more serious purpose behind it? 06:19:20 c, for fun/personal project 06:24:51 i want to create a bot or something with a small system where i wrote all the stuff in /bin 06:54:22 -!- lambda-11235 has quit (Quit: Bye). 07:16:25 -!- sebbu has joined. 07:19:59 -!- tromp has joined. 07:49:07 Ugh... I feel so stupid 07:49:15 I can't even get a BF terp to work, for some reason 07:50:27 ^bf ,[.,]!shocking! 07:50:27 shocking! 07:51:04 hppavilion[1]: are you using one or making one 07:51:13 oerjan: Making 07:51:32 oerjan: Slightly extened so I can compile things to it, but I'm not using those features 07:51:48 if you're making one, do you skip over loops if they start with the cell 0 07:52:09 (that's no. 1 stumbling point for beginning bf implementers, i think) 07:52:41 oh right, i even defined a bf derivative for it 07:52:57 (NewbieFuck) 07:53:32 otoh i'd have thought you'd be past that stage by now. 08:07:04 oerjan: Yes 08:07:24 oerjan: It's a bug with loops never terminating 08:08:00 oerjan: I check if the current cell is 0, if so I jump to the corresponding close brace (which can be ] OR }, but } is a NOP) 08:08:04 oerjan: If not, I do nothing 08:08:25 oerjan: At the closing brace, I repeat in reverse, finding the corresponding opening brace and jumping to it 08:08:50 (and subtracting 1 to make sure it doesn't skip over it when it increments the program counter) 08:09:19 oerjan: I repeat it no matter what, even though it's less efficient 08:10:42 oerjan: Does the standard BF hello world (the one given in the article) depend on cell size or the like? 08:10:49 Because mine has 32-bit unsigned integer cells 08:10:54 And that might require byte cells 08:13:35 i don't know 08:14:56 i suspect not... 08:15:08 ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 08:15:16 !bf32 ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 08:15:16 Hello World! 08:15:31 hppavilion[1]: nope, 32 should work fine 08:15:38 (for the first one) 08:15:58 oerjan: Yep, that's the one I used 08:17:50 no imbalanced loops, no overflows, no negative numbers... indeed that should be fine. 08:18:01 does anyone here have enough reputation on codegolf.stackexchange.com to see deleted answers? 08:18:34 izabera: only on stackoverflow 08:18:53 thanks anyway.. 08:19:05 -!- lynn has joined. 08:20:59 !bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++ 08:21:00 No output. 08:21:04 oops 08:21:07 !bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:21:07 ​( 08:21:12 > ord '(' 08:21:14 40 08:21:19 oops 08:21:29 that's not doing 32 bit 08:21:34 -!- ais523 has quit (Ping timeout: 244 seconds). 08:22:05 !bf8 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:22:05 ​( 08:22:10 !bf16 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 08:22:11 ​( 08:22:53 ... 08:23:49 * oerjan makes another mark for "universe too mad to bother with" 08:35:22 -!- mad has quit (Quit: Pics or it didn't happen). 08:35:58 -!- lynn_ has joined. 08:37:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 08:37:55 -!- lynn has quit (Ping timeout: 248 seconds). 08:41:13 -!- lynn has joined. 08:44:13 -!- lynn_ has quit (Ping timeout: 248 seconds). 09:01:33 -!- lynn has quit (Ping timeout: 240 seconds). 09:19:36 -!- oerjan has quit (Quit: Nite). 09:21:52 -!- nooga has joined. 09:31:24 -!- AnotherTest has joined. 09:33:51 -!- lynn has joined. 09:39:44 -!- ski_ has joined. 09:39:51 -!- ski has quit (Ping timeout: 240 seconds). 09:45:13 -!- lynn has quit (Quit: Leaving). 10:17:42 -!- PinealGlandOptic has joined. 10:29:55 -!- Elronnd has quit (Quit: Let's jump!). 10:41:51 -!- PinealGlandOptic has quit (Quit: leaving). 10:53:26 @tell oerjan I fixed `! bf32 (HackEgo) but I can't touch !bf32 (EgoBot). The interps/bf bit that extracts the bitness from the command name wasn't working; fixed it by using I_CMD instead of CMD. 10:53:26 Consider it noted. 10:53:32 `! bf32 +[[->++<]>[-<+>]>+<<]>>++++++++++++++++++++++++++++++++. 10:53:33 ​@ 10:53:46 > ord '@' - 32 10:53:47 32 10:53:50 Now that's 32. 10:54:15 -!- lynn has joined. 11:19:09 -!- Elronnd has joined. 11:40:42 -!- Frooxius has joined. 11:41:39 -!- benderpc_ has joined. 11:44:06 -!- bender| has quit (Ping timeout: 268 seconds). 11:51:50 -!- lynn has quit (Ping timeout: 244 seconds). 11:52:46 -!- earendel has joined. 12:23:06 <\oren\> the character 32 is space 12:27:17 -!- lynn has joined. 12:28:58 Yes, but there's an offset of 32 in the program. 12:29:05 Presumably to make 8, 16 and 32 all printable. 12:29:10 (And non-blank.) 12:31:26 -!- gde33|2 has quit. 12:45:51 -!- lynn has quit (Ping timeout: 276 seconds). 12:58:14 -!- treaki_ has quit (Quit: Leaving). 13:03:57 -!- nooga has quit (Ping timeout: 250 seconds). 13:08:06 -!- carado has quit (Remote host closed the connection). 13:18:04 -!- carado has joined. 13:24:22 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 13:58:12 -!- ski_ has changed nick to ski. 13:59:31 -!- nooga has joined. 14:10:28 -!- benderpc_ has changed nick to bender|. 14:28:55 guys, how about we stop arguing about wether to use pi or tau. just introduce a constant that 1.5 rimes pi. let's call it a ti. 14:31:04 that's a completely irrational proposal 14:31:21 (also, honestly, nobody important is arguing) 14:31:45 nevermind, i just wanted to make a lame pun 14:32:09 pi has more legs to stand on 14:33:07 -!- nooga has quit (Ping timeout: 248 seconds). 14:36:09 <\oren\> i like the idea of using the degree instead 14:36:35 you mean 180? 14:36:42 <\oren\> the "specific degree of length" = pi/180 14:37:18 But the 180 is so artificial. 14:37:39 <\oren\> welcome to bablyon! 14:38:18 Perhaps proponents of pi could be called areans, and proponents of tau could be circumferians. :P 14:38:39 <\oren\> and my proposal is the babylonians 14:41:18 -!- p34k has joined. 14:41:27 <\oren\> you could also use the gradian if you're french 14:41:57 <\oren\> 1/400 of a tau 14:49:00 <\oren\> or the mil 14:49:29 <\oren\> which is 1/1000 of a radian 14:50:10 <\oren\> wait no 14:50:25 <\oren\> 1/6400 of a tau 14:51:25 1/3^26 of 1.5 pi 14:51:48 ARGH! 14:52:33 There used to be a great scanned and OCR-ed version of the Abramowitz and Stegun handbook at http://convertit.com/Go/ConvertIt/Reference/AMS55.ASP but now it's disappeared and I'm stupid enough to not have downloaded a local copy 14:52:40 -!- Lord_of_Life has quit (Excess Flood). 14:54:56 Luckily http://people.math.sfu.ca/~cbm/aands/toc.htm seems to have another version that might help. 14:55:10 It's not as complete, but still 14:55:10 -!- Lord_of_Life has joined. 14:55:21 Does anyone happen to have a full copy of the former site? 15:04:20 FOUND IT! it's at http://www.convertit.com/Go/ConvertIt/Reference/AMS55.asp 15:04:25 I'll fix my link 15:05:18 <\oren\> www? 15:05:45 <\oren\> speaking of which, how do i make orenwatson.be redirect to www.orenwatson.be? 15:05:55 \oren\: yes. I'm quite sure my old link used to work, but they must have reconfigured some servers or something 15:06:39 \oren\: do you mean how to make the domain point there, or how to make the http server send a Found redirect to point to the other domain? 15:09:31 <\oren\> either one... I'm looking at my route-53 page and it doesn't seem to have an easy option for either 15:10:17 and why would you do that? 15:10:45 \oren\: if the domain doesn't yet point to anything, then you have to fix that first, otherwise there's no webserver to tell you where to redirect. 15:12:17 <\oren\> oh, I see. I can just create a new record pointing to where www.orenwatson.be also points 15:12:18 oh, orenwatson.be is gone completely... fun :P 15:13:20 <\oren\> i think it's working now 15:13:28 nah, needs to propagate still 15:14:00 750 seconds for me 15:14:33 (starting from 900, I presume) 15:14:46 yeah. 15:17:54 Dumb question. The chrome browser still doesn't have native MathML display support, right? 15:21:07 -!- nooga has joined. 15:28:51 <\oren\> chrome apparently had it and then removed it becaus eof "Security concerns" 15:30:26 <\oren\> yay it's working! 15:31:28 well, mathml looks complex. 15:31:50 they cited a small user base as well. 15:32:47 -!- MDude has joined. 15:32:59 int-e: of course it has a small user base! browser features spread VERY slowly, because people only put something to webpages if the browsers can already show it, and browser devs put features in the browser only if it's needed to show webpages. That's why we're still stuck with jpeg images only. 15:33:20 and gifs 15:33:35 and gifs and pngs, yes, but jpeg as the only lossless format that could spread much 15:33:35 though there are a lot of sites serving pngs these days 15:33:43 ?! 15:33:43 Maybe you meant: v @ ? . 15:33:49 jpeg is lossy 15:33:51 the gif problem is mostly solved, my problem is more the jpeg 15:33:53 yes, lossy 15:33:55 that's what I mean 15:34:08 jpeg is the only lossy one, suitable to photos, that is well-spread 15:34:39 yes, yes it is. it appears to be "good enough". 15:34:49 despite that there are tons of more modern and more versatile formats (including jpeg2000), but since browsers don't support them, every webpage uses only jpegs, and since every webpage uses jpegs, browsers don't support anything else 15:35:10 And here I was just reading about Pale Moon devs not being able to keep up because the project was too huge. 15:35:24 I don't think having features develop faster would help with that. 15:35:52 in contrast look what happens when there's some serious bandwidth usage... i.e. video... in that area, many formats are supported and sites go out of their way to use the best format that the browser they're talking to understands... not the least common denominator 15:36:15 I think it's more that file formats aren't a visible enough thing for the public to demand more. 15:36:36 For MathML, the result is all kinds of crazy javascript libraries that try to render ALL of maths on client-side, without any server-side preprocessing to CSS to make it faster, because that's more convenient to the server maintainers, even if it means you need like gigabytes or ram to just view a webpage with maths, unless 15:36:44 If people arne't already suing a file format, they see no reason to demand using it online. 15:36:51 the webpage is sensible enough to use mathml, and the javascript libraries are there only as a fallback. 15:37:42 fungot: what do you think of suing a file format? 15:37:43 int-e: 08:35 fnord fnord has joined esoteric" did not change much, just to be safe 15:37:44 *using 15:37:48 What browsers other than firefox have mathml support? 15:38:16 Do other popular browsers (whatever they are these days, I don't follow this android smartphone thing too much) have it? 15:39:48 Safari, apparently 15:40:57 does opera mobile or whatever it is that people use on android support it? 15:41:11 or the browser that comes with android phones? 15:48:17 looks like opera lost mathml when switching to chromium 15:50:27 I see 15:50:52 Well, if firefox and safari has it, that's a lot of users 15:52:10 I myself use firefox for most webpages. http://dlmf.nist.gov/ has mathml, plus a javascript fallback and image fallback. It's quite well made. 15:55:16 http://mathoverflow.net/ has a javascript solution (called mathjax) that has various frontends, including mathml, but it requires client-side javascript for anything, sadly. 15:56:15 I might want to eventually put up a reformatted miror of a certain website that has lots of math-formulas, so I want to find out how this stuff works. I'll probably try to use mathml and some sort of fallback, but all on server side so you don't need javascript to render them. 15:57:30 -!- MoALTz_ has joined. 15:57:34 -!- earendel has quit (Ping timeout: 260 seconds). 16:00:51 -!- MoALTz has quit (Ping timeout: 276 seconds). 16:01:48 -!- MoALTz_ has changed nick to MoALTz. 16:09:36 -!- lambda-11235 has joined. 16:22:17 -!- ais523 has joined. 16:34:52 -!- ais523 has quit (Read error: Connection reset by peer). 16:35:02 -!- ais523 has joined. 16:36:19 -!- bender| has quit (Ping timeout: 252 seconds). 16:38:02 syntax idea: use unary + as the constructor for nonempty option types 16:48:16 -!- hppavilion[1] has joined. 16:49:53 <\oren\> wht not just serve images for math, with LaTeX in the alt text 16:50:31 <\oren\> black and white PNG's can't be that huge 16:51:06 \oren\: wouldn't scale to the user's font size 16:51:13 lol, opera mobile 16:53:32 <\oren\> ais523: measure the size in ch. 16:53:45 <\oren\> then it will scale when the font size does 16:54:00 \oren\: but PNG doesn't scale properly 16:54:02 it gets pixelated 16:55:07 <\oren\> why not svg then 16:55:25 svg would work 16:57:44 \oren\: images don't respect the user's chosen font and colors. mathml does, it works the same as ordinary html and css. 17:08:13 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 17:23:14 -!- hppavilion[1] has joined. 17:23:58 -!- mihow has joined. 17:27:14 -!- earendel has joined. 17:38:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 17:47:48 <\oren\> why would anyone be against having a slovenian supermodel as their first lady? 17:49:50 -!- hppavilion[1] has joined. 17:55:25 I don't know, they usually come with a president attached to them 17:56:12 <\oren\> right but apparently ted cruz attacked trump by saying his supermodel wife is unsuited to be first lady 17:56:44 <\oren\> that doesn't make sense to me 17:57:23 oh, those are replublicans 17:57:26 they don't make sense 17:57:41 not sure where I got the extra l. 17:58:19 <\oren\> the first lady of the united states is not allowed to be hot! 17:58:24 Anyway, personally I'd be interested in how the media would adapt to Bill Clinton being first lady :P 17:58:36 <\oren\> first lord? 17:58:45 (that term is so sexist) 17:58:45 <\oren\> first gentleman? 18:00:25 Anyway, is it Ted who chose that subject or is he just following Trump's lead of not engaging in any political topics? 18:00:31 <\oren\> yah, i think "first gent" would sound cool 18:00:44 That's a good candidate. 18:04:31 -!- jaboja has joined. 18:05:38 They use "First Gentleman" for the husband of a state governer 18:05:47 Thanks 18:07:26 @tell oerjan I fixed by BF interpreter. It turned out I had < increment the pointer. *derp*. 18:07:26 Consider it noted. 18:10:21 -!- lynn has joined. 18:12:58 -!- J_Arcane has joined. 18:23:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 18:25:10 -!- mihow has quit (Quit: mihow). 18:27:48 -!- hppavilion[1] has joined. 18:42:54 `? λ 18:43:13 ​λ? ¯\(°​_o)/¯ 18:43:16 `? lambda 18:43:18 lambda? ¯\(°​_o)/¯ 18:43:21 `? lamda 18:43:23 lamda? ¯\(°​_o)/¯ 18:44:04 what could it be, the most functional letter of the Greek alphabet? 18:51:25 int-e: phi 18:51:52 b_jonas: hmm, a capital one? 18:52:06 int-e: no, a lower case phi 18:52:10 \varphi 18:52:14 hmm. 19:15:47 -!- ais523 has quit (Quit: dinner). 19:44:36 I'm making a game about badly-authored software that it is your job to hack 19:45:58 ah https://xkcd.com/327/ 19:54:43 int-e: Yep :) 19:56:03 int-e: One example is that, to read toolconf.conf which is secured so that it can't be read without the password (which is "herbert", though that's irrelevant), you must actually /secure/ the file with a new password 19:56:48 int-e: Because the programmer who made it didn't think to add an "is this file already secured?" check to file securing 19:57:30 One of my friends, who I've been playing computer games with lately but haven't for the past couple of days because my headset broke, said he misses me 19:57:32 I feel validated 19:57:45 So with `sec toolconf.cfg ` followed by `unsec toolconf.cfg ` or `auth toolconf.cfg ` you can change the filepass then unlock it for reading 19:57:52 Taneb: :) 19:58:08 (Though you have to auth every other command if you use that command) 19:58:21 (toolconf.cfg contains the data for the filesystem encryption) 19:58:59 int-e: I'm just trying to figure out how to fit the massive insecurity into the plot :P 19:59:39 I think the goal is that the creator made it less-than-secure so someone could take up his work once he's gone, but only if they can unencrypt the filesystem 20:00:34 The language you play the game in is a mix of simplified bash (no redirection yet) and a custom 1337 h4xx0r language with special commands 20:02:12 What letter should signify the computer's owner? 20:05:24 hppavilion[1]: "insecurity: the game" (who needs a plot?) 20:06:58 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:08:10 -!- hppavilion[1] has joined. 20:08:37 Obviously, a letter that isn't used in English anymore. 20:09:31 But Þ seems too straightforward 20:09:57 The owner's handle is thelemax 20:10:32 \oren\: You like letters. What do you think? 20:11:23 -!- ais523 has joined. 20:11:29 -!- ais523 has quit (Client Quit). 20:11:39 -!- ais523 has joined. 20:11:39 Maybe I'll call him ꙮ 20:12:42 `olist 1030 20:12:43 `unidecode ꙮ 20:13:05 ​[U+A66E CYRILLIC LETTER MULTIOCULAR O] 20:13:05 olist 1030: shachaf oerjan Sgeo FireFly boily nortti b_jonas 20:15:17 lovely, my CaC server has remounted the file-system read-only again. 20:15:28 oh look 20:15:36 int-e: hardware trouble? 20:15:55 Probably? :P 20:16:42 this is helpful. "mpt-statusd: detected non-optimal RAID status" 20:17:26 perhaps one drive has failed? 20:19:05 Well, I don't see the hardware. 20:19:08 /dev/mapper/vg_cac-root_cac on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) 20:19:35 and I don't care... the most important bit on that server is mroman's burlesque interpreter 20:20:00 (so apparently the remount happened 2 weeks ago ;-) ) 20:22:16 I have a leftover SSH open to the HackEgo one in a screen, and it seems to have printed noisy kernel stack traces on Mar 13, 20, 21, 22 and 23. 20:22:41 my last /var/log/messages entry was from Mar 12 03:00:19 20:23:04 Mar 25 16:02:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:04 Mar 25 16:12:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:04 Mar 25 16:22:07 www2 mpt-statusd: detected non-optimal RAID status 20:23:06 (and there was one every 10 minutes up to that point) 20:23:15 Heh, well, it's happening there every 10 minutes now. 20:23:39 Mar 12 03:00:19 cheap mpt-statusd: detected non-optimal RAID status 20:23:44 same "service" :P 20:24:23 On that one it's been going on since the start of /var/messages, Mar 20 06:27:05. 20:24:37 But there's also all these sporadic "sending NMI to all CPUs" + backtrace ones. 20:24:56 I get those as well. 20:25:54 I wonder how the kernel knows what to do with root=/dev/mapper/vg_cac-root_cac 20:25:59 The "detected non-optimal RAID status" messages go back as far as these logs go -- every 10 minutes, like clockwork, from at least as far back as Feb 21 06:28:04. 20:28:40 Is there any uber-simple GUI library out there that I can use to make a better GUI library? Preferably with Python bindings? 20:28:45 This one is just your normal LVM thing. There's a "physical" /dev/sda that's got two partitions (sda1, sda5), the latter of which is a LVM physical volume for VG "debian7", LVs "root" and "swap_1". 20:30:41 dmsetup status has this, hmm. UUID: LVM-AlBirrduArMwzyJYtPrhgGT7y4C6LR09ZLaUeCzKSoP1bZQ6HohxDJHKMoPjxXf6 20:33:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 20:34:11 @tell hppavilion[1] html hth 20:34:11 Consider it noted. 20:34:53 It seems that there's a "hardware" RAID thing at least somehow visible. At least /proc/mpt/summary and /proc/mpt/ioc0/summary imply as much. 20:35:09 -!- hppavilion[1] has joined. 20:35:19 I don't know how to ask status information from it, though, because mpt-status doesn't say anything; there's just the cryptic non-optimality messages. 20:38:21 Hmm. Ok, it pieces together /dev/sda3 and /dev/sda4 here... 20:39:54 This system doesn't have anything like that. And anyway; mpt-status reports nothing at all, which appears to be the reason why mpt-statusd prints out that message. 20:40:21 ah, stupid me... the kernel doesn't know what to do with the root= command line; the initrd will handle that. 20:40:49 The check is if (mpt-status -i $ID) |grep -q 'state OPTIMAL'; then BADRAID=false; else BADRAID=true; logger -t mpt-statusd "detected non-optimal RAID status"; fi 20:41:02 So printing nothing counts as "non-optimal". 20:41:40 there is no raid, so that makes sense :P 20:42:58 I guess. But there's still that controller, I would've expected it to say something. 20:45:34 Maybe the SCSI controller's a virtual one and doesn't do the things mpt-status expects, or something. 20:50:17 it is some vmware thing 20:50:23 Seems that way. 20:55:43 oh well, at least I've explained some of the apparent magic now... that's something :) 21:05:16 -!- yorick__ has joined. 21:05:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:06:51 -!- hppavilion[1] has joined. 21:08:50 -!- yorick has quit (Ping timeout: 244 seconds). 21:20:13 -!- Sgeo__ has joined. 21:37:18 'But to any programmer, it’s painfully easy to see why “Null” could cause problems for a database.' 21:38:00 you have to be doing something very loosely-typed if "null" the string causes problems 21:38:24 I want to say something like "No, just the ones not being idiots who cause the problem", but some systems are big enough that a single person can't really fix them 21:38:52 ais523, http://www.bbc.com/future/story/20160325-the-names-that-break-computer-systems 21:39:58 Actually, it's the BBC controlling us from London. 21:40:26 zzo38: You should say "Unfortunately, there's a radio connected to my brain" to vaporware. 21:53:19 For some reason the poster at the hospital that says "testing for HIV is an everyday part of living in London" just sounds weird. 21:54:06 https://pbs.twimg.com/media/CF1kQXuWAAAAQjJ.jpg 21:54:36 That one, yes. 21:54:49 (That's the image I used to verify the text.) 21:55:14 So you mean that all information on the poster taken together means that there are $((500000/365)) people living in London? 21:55:26 or maybe that's 500000. 21:55:46 anyway, nice find 21:57:29 Mostly it just makes me wonder which inherent part of living in London necessitates the daily HIV tests. 21:57:47 Well, it's not necessarily you who're getting tested for HIV. 21:58:26 Maybe you're otherwise affected by the tests. 22:00:16 Also today I went to snoop around the King's Cross / St. Pancr(e)as area. They had a lock. 22:00:21 The kind that boats go through. 22:01:09 Is that like the kind of eye a camel goes through? 22:01:19 -!- lynn has quit (Read error: Connection reset by peer). 22:01:43 I was going to say it's bigger, but I'm not entirely sure what sort of eyes camels do go through. 22:02:15 "eye of a needle" presumably 22:02:37 in which case the problem is that boats can actually pass the lock 22:03:36 Only if they have a key, right? 22:03:49 (provided it has water and the gates actually close and open) 22:04:07 shachaf: I'm not sure, but you may be missing out on a meaning of "lock". 22:04:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:04:14 And anyway camels can go through the eyes of needles. 22:04:27 “With man this is impossible, but with God all things are possible.” 22:04:38 There's a smartphone app that can allegedly control the fountains on Granary Square -- these ones: https://googledrive.com/host/0B4J9OAzXNfZANkM4WXNHSG93YVU -- but the reviews in Play Store seemed so pessimistic I didn't even bother to try. 22:04:46 -!- lynn has joined. 22:05:09 Although there was someone with a phone doing something that looked like trying to make them go. 22:05:11 that's a clever app 22:06:15 well, a clever idea for an app 22:06:24 The app is the snake game, in theory. I think there were also some colored lights to show your particular snake, and support for up to 4 people simultaneously. Or something like that, anyway. 22:06:44 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:07:24 The fountains did act a bit like in a snake game, but if someone was playing them, they weren't very good. 22:08:08 Actually the people that acted like they were trying to do something with their phones are those two in the photo. 22:08:30 fizzie: hmm... fountains and snakes? can you get wishes from them too? 22:08:50 maybe they have bad reviews from the people who die to water mocassins 22:09:40 The reviews mostly said stuff like "Two of us attempted but could not connect." or "Says there are no games and info link goes to 404 page" or "Was there twice at the right time. Couldn't connect to cloud error kept coming up". 22:11:15 https://www.kingscross.co.uk/img/790x444/src/media/11A5729-800x450.jpg <- that's what it's supposed to look like. 22:19:00 fizzie: install it, get it to work, reverse engineer the protocol it uses to communicate with the fountains, and write a better program for it. 22:19:35 Or just skip the app, log in to the insecure control computer of the fountain with "admin" as the username and "admin" as the password or something obvious like that, and replace its software. 22:19:57 That's how anything controlled by software in the real world works these days, don't they? 22:21:11 b_jonas: only if you have a dark room with three monitors running terminals with black background and green foreground 22:23:18 I don't work in dark rooms. 22:23:27 I prefer brightly lit. 22:23:45 then I'm afraid admin/admin won't work for you. 22:23:52 you have to follow the proper protocol in these things 22:25:36 no way. you only have to follow the protocol if the other side is implemented properly to actually enforce the protocol. 22:28:01 So I've decided to create an esolang. 22:28:32 Well 22:28:43 You've certainly come to the right IRC channel 22:28:56 It's more or less Smalltalk. 22:29:05 I'm just gonna monologue for a while. 22:29:18 I'm listening (reading?) 22:29:21 so it's not smalltalk 22:29:32 because that would be a dialogue? 22:29:47 So, it's an object-oriented language. Like most object-oriented languages, the state consists primarily of a bunch of objects... blah blah blah. 22:30:00 There's a certain number of basic object types. 22:30:27 Note that in theory, it's not possible to determine the BOT of an object at runtime, because an object can lie about what kind of object it is. 22:31:01 There's GENERIC, CLASS, DICT, and BLOCK. I think that's it. 22:31:16 adversarial typing 22:32:15 If you have an object, you can do a method call on it. Doing this requires passing in two other objects: the name of the method, and the argument. 22:32:31 The object will then do something and return another object. 22:34:10 -!- llue has joined. 22:34:22 Every object contains a class pointer. Note that a class pointer doesn't have to point to a CLASS; it can point to any kind of object. 22:34:55 tswett: what's GENERIC, and are there some sort of integers or other lightweight objects that don't have any pointers at all? 22:35:18 in fact, what are GENERIC, CLASS, DICT, and BLOCK? 22:35:26 and what does an object store? 22:35:47 In the general case, when you call a method on an object, what happens is that the class's #get_method method is called with the method name as an argument, and then whatever is returned, its #execute method is called with a certain dictionary as an argument. 22:36:31 The dictionary's values are the object you called the method on, and the argument you passed to the method. 22:36:52 Now, this process obviously has the potential for infinite regress. So we cheat a bit. 22:37:13 For a GENERIC object, the process is always as above, but for the other types of objects, there are certain method calls that skip the process. 22:37:41 -!- lleu has quit (Ping timeout: 244 seconds). 22:38:05 tswett: also, are you planning to make an implementation for this? and test programs 22:38:23 It's been a long, long time since I implemented one of my own esolangs. 22:38:31 For a CLASS object... lemme think about this a bit. 22:38:42 implement one of mine then 22:43:14 All objects have a local variable dictionary. This is actually a dictionary carried within the object; it's not a pointer to another object. 22:43:30 So. 22:43:44 tswett: is that like ruby objects (as opposed to smalltalk objects)? 22:44:02 b_jonas: I don't know about Ruby, so I don't know what you mean. 22:45:00 -!- hppavilion[1] has joined. 22:45:03 -!- jaboja has quit (Ping timeout: 250 seconds). 22:46:01 For a CLASS object, when you call its #get_method method, the CLASS object calls #get on its own "method_dictionary" instance variable in order to get the method. If this returns null, the CLASS object then calls #get_method on its "superclass" instance variable. 22:46:13 It returns whatever the first non-null thing was. 22:47:51 For a DICT object, when you call its #get method, it returns its corresponding instance variable. 22:48:10 For a BLOCK object, when you call its #execute method, the content of the block actually executes. 22:48:16 By the way... 22:48:38 A BLOCK object, in addition to the class pointer and local variable dictionary, has an actual block of code in it. 22:51:16 tswett: Smalltalk full objects (not the lightweight ones like integers) have a fixed set of instance variable fields determined by their class, plus they may own an array. Ruby full objects have a dictionary of instance variables, plus possibly some specific data if their class is derived from one of the approximately 15 primitive builtin ruby objects like Array, Hash, String, Regex 22:52:17 This sounds a lot more like Ruby than Smalltalk, then. 22:54:21 In ruby, those primitive types of what can be stored in an object are identified by this enum ruby_value_type thingy, which has values 1..15 for the primitive types (including not only Array, Hash, String but also Class and Bignum), plus 6 types for lightweight values that aren't pointers (fixints and 5 more), and 4 values for internal things that aren't objects and ruby variables can never hold them but are managed by the garbage collector 22:55:31 (just like how a perl scalar can have multiple representations depending on what it is required to hold, but it can't be an AV or HV despite that interanlly those structures LOOK very similar to scalars for a good reason, only they're not exposed as such to userspace) 22:56:17 The most important of those 4 internal things is T_NODE which holds pieces of the interpreted ruby code tree. 22:57:09 Now, a key feature is that generally, calling an object's methods and looking up objects in dictionaries are the *only* things you can do with an object. 22:57:39 Anyway, the generic or basic fullweight type is T_OBJECT, which only has the instance dictionary, nothing special. Any ruby object whose class isn't any of the special lightweight ones and isn't derived from any of the 14 classes corresponding to the other full representation types is represented as such. 22:59:39 -!- llue has quit (Quit: That's what she said). 22:59:49 Also, I'm not sure if all the 14 specialized representations have an instance dictionary. I don't remember that. Every full object has a class pointer though, that's for sure. 22:59:55 -!- lleu has joined. 23:00:39 There's one exception. When "the general method call case" calls the #execute method on a BLOCK, that BLOCK receives a special "self pointer" that it can do a lot more stuff with. 23:01:22 Also, the instance dictionary is stored in some efficient way for optimization, so that the keys (names) are shared among instances. 23:01:36 Or something. I don't really know the specifics of the implementation. 23:03:12 Now, there's nothing preventing you from changing either the class or the basic-object-type of an object that already exists. 23:04:00 You could do something like "Object.set_class(Object)", causing the class of the class "Object" to change from "Class" to "Object". 23:05:23 tswett: right 23:06:18 By the way, don't take me as an authority on either smalltalk or ruby. I'm making up half of this stuff from half-forgotten memories. Verify in the smalltalk book and the ruby source code if you want to be sure. 23:07:23 So yeah. The general philosophy is "just let the programmer do anything at all". 23:08:10 Except, of course, violate an object's sovereignty. 23:09:37 -!- Lord_of_Life has quit (Excess Flood). 23:12:12 -!- jaboja has joined. 23:12:17 <\oren\> huzzah! http://orenwatson.be/ is working 23:12:36 orenwatson.be.working 23:13:01 `unidecode ␡ 23:13:19 ​[U+2421 SYMBOL FOR DELETE] 23:13:40 -!- Lord_of_Life has joined. 23:14:36 <\oren\> ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␠␡ 23:15:36 https://www.quora.com/What-are-some-of-the-most-clever-ways-a-programmer-can-mess-with-a-friend/answers/20717097?srid=dS99 is amazing 23:19:07 <\oren\> i'm pretty sure I could have done that in VB when I was in high school 23:20:00 <\oren\> Mostly because VB makes it easy to make a realistic looking interface... 23:21:04 -!- glitchmatick has joined. 23:21:13 hello 23:21:20 <\oren\> hi 23:22:00 `welcome glitchmatick 23:22:05 glitchmatick: 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 EFnet or DALnet.) 23:24:59 <\oren\> hppavilion[1]: anyway it seems like what he did was make a chat client with a green-on-black interface and pretend to be the shell 23:25:32 <\oren\> kind of elaborate for a prank 23:32:50 -!- oerjan has joined. 23:33:52 @messages- 23:33:52 fizzie said 12h 40m 26s ago: I fixed `! bf32 (HackEgo) but I can't touch !bf32 (EgoBot). The interps/bf bit that extracts the bitness from the command name wasn't working; fixed it by using I_CMD instead of CMD. 23:33:52 hppavilion[1] said 5h 26m 26s ago: I fixed by BF interpreter. It turned out I had < increment the pointer. *derp*. 23:34:10 @fizziesnack 23:34:10 Unknown command, try @list 23:37:24 hppavilion[1]: how right-biased of you. 23:39:07 <\oren\> I have added 𝕬𝕭𝕮𝕯𝕰𝕱𝕳𝕴𝕵𝕸𝕹𝕺𝕽𝕾𝕿𝖀𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟, with uncial letters I copied from the Book of Kells 23:41:35 \oren\: That does seem like the most likely result 23:42:13 \oren\: I'm kind of tempted to make my own Bloody Smurf (one that actually works) and get gullible people to use it 23:42:29 <\oren\> it's called nmap 23:42:37 @messages-load 23:42:37 shachaf said 3h 8m 25s ago: html hth 23:42:42 \oren\: how kelligraphic 23:42:50 <\oren\> (the bloody smurf that acutually works) 23:43:15 `? html 23:43:18 HTML is just pictures and words. 23:43:21 \oren\: No, it wouldn't work as in actually hacking things 23:43:29 <\oren\> why not? 23:43:42 `learn HTML is short for "hope this mess loads" 23:43:43 \oren\: It would be like a game disguised as a real hacking client that you throw at people 23:43:45 Relearned 'html': HTML is short for "hope this mess loads" 23:43:59 `learn HTML is short for "hope this mess loads". 23:44:01 Relearned 'html': HTML is short for "hope this mess loads". 23:45:00 \oren\: Because I don't know how hacking works 23:48:51 -!- glitchmatick has quit (Ping timeout: 276 seconds). 23:49:34 fizzie++ slightly less transient 23:50:49 :D (regarding 'HTML') 23:50:55 ack 23:51:09 * oerjan swats myname and int-e for their puns in the log -----### 23:51:27 oerjan: why that? 23:51:32 <\oren\> `u8tbl 0x1d9b 0x1da7 23:51:33 Segmentation fault 23:51:41 <\oren\> `` u8tbl 0x1d9b 0x1da7 23:51:42 ​ᶛᶜᶝᶞᶟ \ ᶠᶡᶢᶣᶤᶥᶦᶧ 23:51:44 oerjan: hey, why don't i get a swat 23:52:01 shachaf: i may not have got to that point yet. 23:52:05 shachaf: ... 23:52:21 how is a pun a reasonable excuse for swating? 23:52:30 myname: it's traditional 23:52:37 okay 23:52:49 i liked it. the pun, that is 23:53:13 although i've been lazily leaving things to boily's mapole recently 23:53:51 i still don't get why you read all the backlogs 23:54:22 <\oren\> `` u8tbl 0x16f1 to 0x16f8 23:54:23 No output. 23:54:26 <\oren\> `` u8tbl 0x16f1 0x16f8 23:54:27 ​ᛱᛲᛳᛴᛵᛶᛷᛸ 23:55:54 <\oren\> `` u8tbl 0x31f0 0x31ff 23:55:55 ​ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ 23:56:18 <\oren\> oh, right the extra katakana used for ainu 23:57:20 <\oren\> `` u8tbl 0x2934 0x2937 23:57:20 ​⤴⤵⤶⤷ 23:57:27 `file bin/u8tbl 23:57:28 bin/u8tbl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xf4bd6215e42f01142295c499b7a9bf8a7c37e01a, not stripped 23:58:21 `` mv bin/u8tbl{,.elf}; mkx 'bin/u8tbl//u8tbl.exe $@' 23:58:24 HAXINATOR 23:58:25 bin/u8tbl 23:58:34 `u8tbl 0x31f0 0x31ff 23:58:35 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:58:40 oerjan: well i don't remember making any puns 23:58:41 oops 23:58:41 <\oren\> `` u8tbl 0x27a9 0x27aa 23:58:42 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:58:51 oerjan: but i'm sure i must've 23:59:05 `` mv u8tbl.{elf,exe} 23:59:05 mv: cannot stat `u8tbl.elf': No such file or directory 23:59:07 H4X1N470R is a better name 23:59:23 oh dear 23:59:25 `` mv bin/u8tbl.{elf,exe} 23:59:25 <\oren\> `` u8tbl 0x27a9 0x27aa 23:59:54 ​/hackenv/bin/u8tbl: line 1: u8tbl.exe: command not found 23:59:55 ...did we cause some kind of deadlock 23:59:55 No output. 23:59:59 <\oren\> `` u8tbl 0x27a9 0x27aa