00:03:03 -!- tromp has quit (Ping timeout: 276 seconds). 00:07:46 Taneb: I may have asked this before, but what strategies are used when generating brainfuck code? 00:08:42 hppavilion[1], you need to keep in mind your data structure is a tape, and the only loop you have is a fairly simple while loop 00:08:53 Taneb: OK. 00:09:12 Design your data structure carefully and don't be afraid to change it if it isn't working 00:10:03 Taneb: For a compiled-to-brainfuck language, would data markup be useful? 00:10:20 I don't know, that's not something I have any experience with 00:10:20 Basically, a way to tell it to set certain cells to values before initialization? 00:10:27 Taneb: Fair enough 00:13:46 what about a looped tape? 00:14:03 rdococ: Been there, done that 00:14:07 rdococ: You use a deque 00:14:10 > and < are roll 00:14:11 Not in scope: ‘are’ 00:14:11 Perhaps you meant one of these: 00:14:11 ‘arr’ (imported from Control.Arrow), 00:14:18 ' pushes a new 0 00:14:35 rdococ: Seems like it would trivially reduce to BF, but it's actually very different 00:14:38 so you can add and remove stuff in tapes? 00:14:44 rdococ: Yes? 00:14:53 I mean increment or decrement the value 00:14:58 rdococ: Yes 00:15:03 -!- lleu has quit (Read error: Connection reset by peer). 00:15:10 rdococ: + pops a value and pushes its successor, - does the same with predecessor 00:15:14 [ and ] are the same 00:15:14 what if the program was looped? 00:15:14 hppavilion[1]: and ] are the same 00:15:38 , and . are the same (usually, though you may want to make them different) 00:15:39 like what we were discussing about a prolog processor 00:15:48 rdococ: Looped program? Like Fueue? 00:16:55 rdococ: Or like this language I made which's name has slipped my mind? 00:18:23 prolog processor? 00:18:30 speaking of fueue, where's mroman now? 00:18:33 rdococ: Yeah, prolog processor. 00:18:38 boily: Good question 00:18:48 rdococ: You're the one who brought it up 00:19:21 rdococ: Do you want to design a FORTH-like language? 00:20:59 hmm 00:21:12 rdococ: Called FITH 00:21:14 @ask mroman hello? hello? hello? 00:21:14 Consider it noted. 00:21:53 -!- atrapado has quit (Quit: Leaving). 00:21:58 there's one called FIFTH 00:22:04 it's esoteric 00:23:41 rdococ: FITH would not be. Well, not completely. 00:24:07 rdococ: It'd be eso- by virtue of being a FORTH, and would have optional esoteric features, but it would also be quite straightforward 00:24:27 In theory, it'd be suitable for a wide range of applications, from hobbyist OS dev to systems programming to space flight 00:24:33 k 00:24:49 interesting 00:24:59 so it'd be stack based 00:25:24 I recently came across a language called 8th, which is apparently a commercial FORTH with big ambitions 00:25:30 it's unclear whether anyone actually uses it 00:26:03 -!- Sprocklem has quit (Ping timeout: 240 seconds). 00:27:28 and it would do stuff like maths and input 00:27:52 -!- Sprocklem has joined. 00:27:56 ais523: is it trying to add some safeguards to detect stuff early (possibly at compile time), like unpaired push/pop on the main stack or wrong types? 00:28:12 b_jonas: I don't know the details 00:28:30 nothing in the tutorial looked different from actual Forth except that it appeared to have a type system, and I suspect one that isn't checked at any point 00:28:35 hmm, that reminds me, 00:28:35 you just have to write the types correctly 00:28:55 I should add that language that tries to pretend it's forth-like to the esowiki because it probably counts as an esolang 00:29:04 I'll add a todo-entry 00:29:52 [wiki] [[User:B jonas]] https://esolangs.org/w/index.php?diff=46743&oldid=46727 * B jonas * (+143) 00:32:19 hmmm 00:32:26 2d stack? 00:33:03 -!- p34k has quit. 00:34:10 hmm 00:35:13 add 2 mult 3 2 00:36:22 rdococ: 2D stack? How does that work? 00:36:59 not infinity 1d stacks 00:37:07 diagonals? 00:37:13 you could have horizontal stack 00:37:16 rdococ: But a 2D stack. Explain? 00:37:17 or vertical stack 00:37:28 Oh, I think I see 00:37:29 hmm 00:37:37 You can pop from multiple places 00:37:50 rdococ: But how do you tell it where to pop from? 00:37:57 rdococ: Also, the analogy breaks down a bit in 2D 00:38:06 rdococ: Because it matters what direction the stack grows in 00:38:06 but then you could change a stack's direction and make it a snake 00:38:13 hmm 00:38:22 rdococ: I'd prefer to just use a good old deque 00:38:27 true 00:38:36 what about a branching stack? 00:38:50 `google spaghetti stack 00:38:58 add (mult 3 2) (div 2 3) would branch into two branches 00:39:02 mult branch and div branch 00:39:07 @google spaghetti stack 00:39:08 https://en.wikipedia.org/wiki/Parent_pointer_tree 00:39:16 but it sounds less esoteric and more useful 00:39:20 rdococ: That's not how FORTH works 00:39:28 ik 00:39:31 rdococ: This is meant to be useful while preserving roots in esotericness 00:39:33 Failed to connect to socket 2. \ \ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://google.com/search?q=%73%70%61%67%68%65%74%74%69%20%73%74%61%63%6b' \ Alert!: Unable to access 00:39:38 Are there any Magic: the Gathering cards which create new state-based actions? 00:39:42 rdococ: FORTH would be 2 3 +, not + 2 3 00:40:00 And FORTH is better because of that 00:40:19 Because you can do things other than arithmetic, which still works in prefix, but is much more confusing 00:40:40 rdococ: So the instructions I'm already thinking of are: 00:40:42 pls give me an example 00:40:57 rdococ: $ or DROP makes sense in postfix, but not as much in prefix 00:41:04 drop? 00:41:12 rdococ: POP a value and throw it away 00:41:24 example pls 00:41:38 rdococ: 2 3 4 $ + is equal to 2 3 + 00:42:05 Because the 4 gets DROPed 00:42:09 oh 00:42:16 It seems useless, but it doesn't have to be a scalar like 4 00:42:29 It could be an expression with side-effects 00:42:36 int-e: int-ello. I seem to have begun binging QC. welp. 00:42:37 oh, okay 00:42:40 interesting 00:42:43 2 3 "press any key to continue" . , $ + 00:42:54 That will add 2 and 3, but not until you approve of it 00:43:02 wow 00:43:03 cool 00:43:05 that's 00:43:06 wow 00:43:14 rdococ: Want me to make a full list of instructions? 00:43:16 never thought of it that way 00:43:20 rdococ: Just the basic ones 00:43:29 so it drops ,? 00:43:32 what's , do? 00:43:33 rdococ: Yes 00:43:36 rdococ: , is GETCH 00:43:40 GETCH? 00:43:55 rdococ: , gets a single character of input (a single keypress) and PUSHes its ord() onto the stack 00:44:12 rdococ: So , $ is a GETCH that doesn't change the stack 00:44:26 cool 00:44:28 sounds good 00:44:40 rdococ: But $ only drops one value; if it's an instruction that creates two new values (e.g. , ,), you need two $s 00:44:43 so . pops and outputs the string? 00:44:55 that was pushed before it 00:45:15 so is FORTH all like this, or does it have other things? 00:45:39 -!- XorSwap has joined. 00:47:29 rdococ: Yes, pretty much all stacks 00:47:29 hmm by the looks of it, it's all in that stack based no--hey, what about brainstack? stack based brainfuck! 00:47:38 rdococ: That's been done. 00:47:41 rdococ: Repeatedly. 00:47:42 wow 00:47:44 yeah 00:47:46 rdococ: Please do not make a new one. 00:47:47 didn't sound so good 00:48:04 I have not made a single bf derivative in my time here 00:48:18 mine are not that esoteric 00:48:41 <\oren\> my brainfuck interpreter uses a stack 00:48:47 wow, really? 00:48:54 \oren\: eh? 00:49:03 what other paradigms are there? 00:49:13 <\oren\> http://www.orenwatson.be/bfim.htm 00:51:52 hmm 00:51:53 so 00:51:58 holy syntax highlighting batman! those are some saturated colours! 00:52:05 a stack based language which is a more esoteric version of forth 00:52:16 yeah, ow my eyes 00:52:23 infact, rip them 00:52:24 also, you use tabs. tabs are evil. four spaces! 00:52:31 tabs! 00:52:34 tabs! 00:52:46 SPACES! 00:52:54 tabs are sometimes 4 spaces, sometimes 8! 00:52:58 boily: Tabs are configurable-width 00:53:04 I prefer 4. 8 looks like someone stretched it into spaghetti 00:53:15 four. spaces. 0x20. four of 'em. 00:53:18 and 2 looks like msl aaaaaaaaaaaaaah 00:53:28 00:53:31 boily: You can tell it how wide you want your tabs to be in spaces. So tabs allow better personal preferences 00:53:52 Iwillusetabsfromnowontoannoyboily 00:53:58 yay! 00:54:04 justkidding 00:54:17 and then you're going to tell me that braces go alone on their own lines. 00:54:19 I'mnotthatevil 00:54:22 HERETICS Y'ALL! 00:54:32 braces don't need to exist 00:54:37 lua doesn't have them 00:54:43 and they're filthy 00:54:45 dirty 00:54:47 unholy 00:56:53 Of course, I don't really care whether tabs or spaces are used; just do whatever your dev environment spits out when you hit newline 00:58:15 When I push newline it results in newline! 00:58:25 really?wow 00:58:37 he means 00:58:37 this 00:58:44 ais523: How would one typecheck an imperative stack-based language? Row polymorphism doesn't seem like it would help unless the language is functional. 00:59:00 functional FORTH? 00:59:09 rdococ: That will be a feature, but not the core of the langauge 00:59:32 (However, I generally use two spaces for indent, and put the brace on the same line as if/function/while/whatever.) 00:59:52 -!- tromp has joined. 00:59:58 -!- tromp has quit (Remote host closed the connection). 01:00:15 boily: I will accept your "four spaces" theology if you're willing to use ​as your space 01:00:15 -!- tromp has joined. 01:00:29 hppavilion[1]: you seem to have accidentaly a word. 01:00:34 boily: I did not 01:00:37 boily: `unidecode 01:01:33 `unidecode use ​as 01:01:41 ​[U+0075 LATIN SMALL LETTER U] [U+0073 LATIN SMALL LETTER S] [U+0065 LATIN SMALL LETTER E] [U+0020 SPACE] [U+200B ZERO WIDTH SPACE] [U+0061 LATIN SMALL LETTER A] [U+0073 LATIN SMALL LETTER S] 01:01:46 hppavilion[1]: declarative FORTH 01:01:58 rdococ: That's kind of pointless 01:02:14 it is? 01:02:25 rdococ: FORTH is good because it's fast and works well with the low-level system, which does /not/ go well declarative languages 01:02:34 declarative prologassembly? 01:02:51 rdococ: Granted, if you can make a schema for a low-level language that works well on bare metal, I will concede 01:03:20 basically, the prolog processor would take data, then apply all the substitution rules in a loop 01:03:34 rdococ: It has to work well on arbitrary, typical processors 01:03:41 oh 01:03:42 rdococ: Like an intel 01:03:53 I think Forth is probably good for including in ROM BIOS (some old computers include BASIC), and can also be used as the built-in programming environment of a system that doesn't otherwise have one it can work good too 01:04:02 you mean a language, not the processor we were gonna design 01:04:14 rdococ: Yes 01:04:22 rdococ: We can still design a processor. 01:04:47 hmm 01:05:04 declarative languages still have some form of order to them, just not top to bottom 01:05:07 rdococ: But if you can find a way to (abstractly) make a declarative language that works well on bare metal, I will concede and help you design implement the rest of it 01:05:10 e.g. church numerals 01:05:11 rdococ: Correct 01:05:26 hmm 01:05:29 rdococ: Church encoding is best to avoid in actual computing 01:05:51 rdococ: Practically speaking, using church encoding is horribly inefficient. It's much better to just let the language access the actual computer. 01:05:53 hppavilion[1]: church numerals would be really slow, wouldn't support fractions 01:06:02 rdococ: Church encoding can support fractions 01:06:10 it can, but it'd still be slow 01:07:21 hmm 01:07:23 (λxyz.zxy)(λsx.s(s(x)))(λsx.s(s(s(x)))) 01:07:26 well, 01:07:33 rdococ: Look into x86 to start 01:07:53 every instruction is bound to have a side effect when it's machine code 01:08:10 I has x64 01:08:16 rdococ: https://en.wikipedia.org/wiki/X86#Basic_properties_of_the_architecture 01:08:23 but I will look 01:08:26 rdococ: x64 is still x86 01:08:33 rdococ: I think. It's confusing 01:08:46 x64 is the 64-bit variant of x86, which is 32-bit (originally 16-bit) 01:08:52 I think 01:10:05 k 01:10:11 -!- tromp has quit (Remote host closed the connection). 01:10:42 CISC 01:11:29 rdococ: You are correct that at ASM levels, all instructions tend to have side effects. This is why you should start with a robust framework for allowing side effects in your BMDL (bare-metal declarative language. Feel free to rename it now) 01:11:58 I would recommend naming it after a bird of prey for now, or a mythical creature 01:11:58 k 01:12:03 Pheonix 01:12:08 You can always rename it later 01:12:12 both bird and mythical 01:12:17 rdococ: I was seeing if you would choose that xD 01:12:21 and melts metal 01:12:27 rdococ: Oooh, that's good 01:12:31 I didn't think of that 01:12:35 xd 01:12:56 hmm 01:13:16 rdococ: So what kind of language do you want this to be? Most declarative languages are functional, logical, or functional-logic (which is the one I know the least about, despite being literally just functional+logic) 01:13:23 But you can also base it off other systems 01:13:36 hmm 01:13:56 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:14:22 well, stringal? 01:14:24 rdococ: You might want to choose to do something marginally declarative to start, like using FSMs for CF 01:14:36 rdococ: Like Thue? 01:14:39 yeah 01:14:40 thue 01:14:46 hmm 01:14:49 rdococ: That's going to be a MASSIVE pain to pull off, as most low-level architectures don't do strings very well 01:15:01 well, apply that string substitution idea 01:15:07 to memory 01:15:17 rdococ: Consider that a string will almost always change length when substituted 01:15:25 rdococ: That'll be pretty inefficient 01:15:31 true 01:15:33 hmm 01:16:37 so it has to be easily convertible into machine code, and yet a non-imperative flow 01:17:00 rdococ: I would just choose Logic or Functional. Functional is better understood by most people (including me), so I'd stick with that. 01:17:45 which one would be easier to pull off in a low level language? 01:18:05 rdococ: Probably functional, TBH 01:18:48 "functional programming uses functions while logic programming uses predicates. A predicate is not a function; it does not have a return value. Depending on the value of it's arguments it may be true or false; if some values are undefined it will try to find the values that would make the predicate true." 01:18:54 that makes sense 01:19:00 I guess functional is the way to go then 01:19:12 rdococ: Yep 01:22:20 rdococ: I seem to have forgotten, what are we trying to do? xD 01:22:34 rdococ: We're making a bare-metal declarative language, aren't we 01:23:20 yes 01:23:57 -!- idris-bot has quit (Ping timeout: 248 seconds). 01:24:15 all of the memory in a Pheonix program would be local to their "functions" 01:24:19 nah 01:24:25 rdococ: That probably won't work well. 01:24:34 or 01:24:37 rdococ: So we want this to be the kind of thing you might write an OS with? 01:24:40 all memory is cleared when you enter a goto? 01:24:54 rdococ: Functional languages generally don't /have/ gotos 01:24:57 For any graph does there exist a topology in which it is planar? 01:25:08 rdococ: They have call/cc sometimes, but that's as close as it gets 01:25:27 hppavilion[1], counterpoint: http://hackage.haskell.org/package/GotoT-transformers-1.0.0.1/docs/Control-Monad-Trans-Goto.html 01:25:29 hppavilion[1]: but they have functions which don't fit a low level language, so goto is the closest we'll get 01:25:41 rdococ: OK 01:25:51 rdococ: Do we want the language to directly manipulate memory? 01:26:11 rdococ: Like, with support for MOV and such? 01:26:14 rdococ: e.g. should it be like a declarative ASM, or more like a declarative C? 01:26:52 ASM definitely 01:26:54 hmm 01:27:23 rdococ: OK 01:27:25 should we define "declarative" as a different kind of control flow, or as no side effects? 01:27:28 rdococ: That means no type system 01:27:33 fine by me 01:27:35 rdococ: Functional is no side effects 01:27:47 rdococ: Declarative is control flow, usually 01:27:50 that's bound to be impossible if we want to keep it low level 01:27:56 rdococ: "Declarative" is really just "not imperative" 01:28:02 we could do declarative with side effects 01:28:04 rdococ: Well, Haskell has "no side effects" 01:28:09 rdococ: In a way 01:28:12 haskell is functional 01:28:20 rdococ: Yes. 01:28:46 rdococ: It's not "No side effects" so much as "side effects are done in a way that makes it fit certain properties" 01:29:16 okay 01:29:18 so 01:29:43 basically, Pheonix would be an ASM-like language with a declarative control flow. 01:29:56 instead of going top to bottom with gotos and a loop 01:31:09 hmm 01:31:55 the way I see it, functional is just no memory 01:32:09 rdococ: Perhaps it should have FSM-like nodes? 01:32:15 perhaps 01:32:25 And nodes can do one of two things 01:32:29 (1) Activate other nodes 01:32:32 what would a node look like? one line? or like a subroutine but different 01:32:48 (2) Return to their caller 01:32:55 k 01:33:04 Along with various functionalized ASM instructions 01:33:25 they'd be able to return values to their caller, right? 01:34:05 -!- Frooxius has quit (Read error: Connection reset by peer). 01:34:43 rdococ: Of course. 01:34:48 right 01:35:01 hppavilion[1]: Zucchini. 01:35:07 rdococ: But they'd only be able to return 64-bit integers 01:35:16 boily: No, that's more neural network than FSA 01:35:20 so f(g(3, h())) would activate node f, which would activate g, which would activate h, which would return... 01:35:22 boily: Node activation is more like calling 01:35:26 boily: I misspoke 01:35:32 like my example? 01:35:40 but of course it would be ASMized 01:36:11 nodes would have access to some operations, like addition 01:36:59 rdococ: Yep 01:37:00 hmm 01:37:12 rdococ: Yes, but they are limited to side effect-reduced instructions 01:37:19 and they wouldn't have as much side effects 01:37:29 rdococ: So things like MOV are handled by the compiler, rather than by the programmer 01:37:42 even though it's an ASM like language 01:37:57 -!- jaboja has joined. 01:38:00 -!- tromp has joined. 01:38:06 it hardly sounds like assembly :/ 01:38:33 also, i/o is important 01:39:43 rdococ: Yes, I/O would be handled by special nodes I think 01:40:37 so this is like little ASM programs that activate other little program nodes or return to their caller 01:40:51 wait, can a node activate other nodes and return at the same time? 01:41:03 or return after activating other nodes 01:41:17 rdococ: (a) It is like that (b) It can't activate other nodes while returning 01:41:26 rdococ: But it can activate then return 01:41:33 rdococ: "Activate" was poor word choice on my part 01:41:37 It's more like calling 01:41:39 yes 01:41:40 calling 01:41:44 that's how I imagined it 01:41:46 rdococ: Let's translate http://wiki.osdev.org/Bare_bones into a mockup in this language 01:42:28 what about output? 01:42:32 rdococ: Do you know of any online collaborative compilers? 01:42:46 output is usually where most functional languages can't avoid side effects 01:42:49 rdococ: You call a special node with desired output 01:43:01 rdococ: Input is where the issues lie; output is just fine 01:43:29 I guess the only "memory" this would have is which node is activated 01:43:33 running* 01:43:50 rdococ: So to print "A", you'd do something like `out(65)' with 01:43:56 s/ with// 01:44:05 rdococ: Correct 01:44:13 one issue is that if you need to use input for more than one thing - like 3 + (x - (5 + 2x)) 01:44:29 rdococ: Everything memorial is dealt with by the compiler 01:44:32 * boily is singing mrs. robinson ♪ 01:44:48 rdococ: That's a good observation 01:44:50 but how would you tell the compiler that we need a previous input? 01:45:11 rdococ: I would have something like a "one-shot input function" 01:45:17 one-shot? 01:45:26 rdococ: It gets input the first time it's called, and on all subsequent calls it returns that value 01:45:50 uh 01:45:52 maybe 01:45:58 but then how do you get another input? 01:46:05 would you be able to call things with values? 01:46:18 e.g. pass arguments like f(3, g(2)) 01:46:54 rdococ: http://collabedit.com/7k7sj 01:46:55 hmm 01:47:39 that editor is terrible, I can't even chat properly 01:47:53 just remembered titanpad 01:48:07 rdococ: Ooh, linky? 01:48:22 titanpad.com 01:48:38 no sign up, instantly start typing 01:48:42 rdococ: Should I create the doc or you? 01:48:54 https://titanpad.com/VGxMnOzLl4 01:49:02 https://titanpad.com/fHMbT3YH5G 01:49:08 ah, let's use yours 01:52:48 -!- Frooxius has joined. 01:52:54 -!- Frooxius has quit (Remote host closed the connection). 01:58:16 -!- Sgeo has joined. 02:07:08 -!- Frooxius has joined. 02:08:26 connection keeps cutting off 02:08:29 to titanpad 02:08:51 rdococ: Ah 02:08:59 rdococ: I'll make a custom doceditor later 02:19:37 -!- XorSwap has quit (Quit: Leaving). 02:30:57 The documentation of new version of SmileBASIC does not mention any QR codes, but it does seem it may be possible to store a program on a tape. 02:31:40 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 02:32:53 -!- boily has quit (Quit: MERCHANDISE CHICKEN). 02:34:37 -!- iconmaster has quit (Ping timeout: 268 seconds). 02:35:40 -!- hppavilion[1] has joined. 02:38:26 rdococ: I'm back 02:38:52 hi 02:38:58 -!- bb010g has quit (Quit: Connection closed for inactivity). 02:42:49 -!- tromp has quit (Remote host closed the connection). 02:44:15 -!- rdococ has quit (Read error: Connection reset by peer). 02:54:18 <\oren\> https://www.youtube.com/watch?v=s0mXCnzisV4 02:55:49 \oren\: ...huh? 02:56:57 <\oren\> shāyú! 02:57:25 Hm... 02:58:02 -!- Reece` has quit (Quit: Leaving). 02:59:08 \oren\: I'm designing an IL/Processor and trying to figure out what I'm missing... 03:07:40 -!- tromp has joined. 03:09:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:11:49 -!- me2 has quit (Read error: Connection reset by peer). 03:13:01 -!- me2 has joined. 03:13:40 What do you have so far? 03:17:40 -!- hppavilion[1] has joined. 03:26:08 What do you have so far? 03:28:46 Hm... 03:28:50 zzo38: Me? 03:29:34 I kind of want to adapt the processor into a full emulated computer... 03:29:36 Yes 03:31:29 zzo38: For the processor, I have registers, a memory model, and a collection of instructions 03:31:46 Register manipulation 03:31:51 Arithmetic 03:31:52 Logic 03:32:01 Left shift 03:32:09 JMP/JZ/JNZ 03:32:18 CJMP 03:32:27 Relations 03:32:32 And load-store 03:33:09 Does it use any special registers? 03:34:11 zzo38: Special registers as in things like an accumulator? 03:34:29 If so, yes. ACC, IMP, EXP 03:34:43 And in processor mode, CDE and ARG 03:34:46 What do those registers do? 03:34:56 hi zzo38 03:34:58 zzo38: ACC is where all arithmetic operations are done 03:35:04 Do you like the Mill CPU? 03:35:08 IMP and EXP are for loads and stores respectively 03:35:32 And CDE and ARG are for syscalls or whatever. For messing with BIOS or something. 03:35:59 I don't know what is Mill CPU? 03:36:37 I'm considering writing a custom BIOS for it, too 03:37:00 I found some information of Mill CPU on Wikipedia 03:40:09 zzo38: You can find some more information at millcomputing.com 03:40:35 zzo38: It's a CPU architecture with all sorts of exciting features. You should watch the talks on the website, if you do video. 03:41:43 I like some of the ideas 03:50:59 <\oren\> `u8tbl 0x0363 0x036f 03:51:16 zzo38: Which ideas? 03:51:19 ​ͣͤͥͦͧͨͩͪͫͬͭͮͯ 03:52:52 <\oren\> `` u8tbl 0x0363 0x036f | sed s/../ &/g 03:52:55 sed: -e expression #1, char 5: unterminated `s' command \ /hackenv/bin/`: line 4: /g: No such file or directory 03:53:03 <\oren\> `` u8tbl 0x0363 0x036f | sed 's/../ &/g' 03:53:05 ​ ͣͤ ͥͦ ͧͨ ͩͪ ͫͬ ͭͮͯ 03:53:12 <\oren\> `` u8tbl 0x0363 0x036f | sed 's/./ &/g' 03:53:15 ​ ͣ ͤ ͥ ͦ ͧ ͨ ͩ ͪ ͫ ͬ ͭ ͮ ͯ 03:56:11 <\oren\> `u8tbl 0x10900 0x10915 03:56:12 ​𐤀𐤁𐤂𐤃𐤄𐤅𐤆𐤇𐤈𐤉𐤊𐤋𐤌𐤍𐤎𐤏 \ 𐤐𐤑𐤒𐤓𐤔𐤕 03:56:19 <\oren\> rrgh 03:57:23 <\oren\> why won't my phoenician show up 03:57:49 <\oren\> `` u8tbl 0x10900 0x10915 03:57:50 ​𐤀𐤁𐤂𐤃𐤄𐤅𐤆𐤇𐤈𐤉𐤊𐤋𐤌𐤍𐤎𐤏 \ 𐤐𐤑𐤒𐤓𐤔𐤕 03:58:45 <\oren\> `` u8tbl 0x1d434 0x1d467 03:58:47 ​𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿 \ 𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍𝑎𝑏 \ 𝑐𝑑𝑒𝑓𝑔𝑕𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟 \ 𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧 03:58:58 <\oren\> italic does fine 03:59:06 huh, my client can render all of those apart from the lowercase h 03:59:21 what a weird omission 03:59:30 <\oren\> the h is a noncharacter 04:00:12 <\oren\> it is filled by the ℎ in letterlike symbols 04:02:44 <\oren\> `u8tbl 0x2d00 0x2d25 04:02:48 ​ⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏ \ ⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟ \ ⴠⴡⴢⴣⴤⴥ 04:04:01 <\oren\> `u8tbl 0x10c7 0x10c7 04:04:03 ​Ⴧ 04:05:16 <\oren\> `u8tbl 0x10cd 0x10cd 04:05:18 ​Ⴭ 04:06:08 <\oren\> `u8tbl 0x10fa 0x10ff 04:06:09 ​ჺ჻ჼჽჾჿ 04:07:55 <\oren\> `u8tbl 0x2d27 04:07:56 ​/hackenv/bin/u8tbl: line 1: 293 Segmentation fault u8tbl.exe $@ 04:08:01 <\oren\> `u8tbl 0x2d27 0x2d27 04:08:02 ​ⴧ 04:08:35 <\oren\> `u8tbl 0x2d2d 0x2d2d 04:08:36 ​ⴭ 04:09:21 <\oren\> `u8tbl 0x0528 0x052f 04:09:22 ​ԨԩԪԫԬԭԮԯ 04:09:59 \oren\: ooh, segfault. 04:10:05 \oren\: Don't be a dick to computers 04:10:28 <\oren\> `u8tbl 0x26e8 0x26eb 04:10:30 ​⛨⛩⛪⛫ 04:12:19 <\oren\> `u8tbl 0x37f 0x37f 04:12:20 ​Ϳ 04:12:34 <\oren\> rrgh glitched 04:12:53 <\oren\> ok so some characters need fixing... 04:14:54 Hm... 04:14:58 How should my processor work? 04:15:14 It has the necessary instructions already 04:23:44 <\oren\> oh I see why phoenician doesnt work! 04:23:59 <\oren\> it's rtl! 04:25:25 \oren\: Fail! 04:25:33 :) 04:27:20 <\oren\> and irssi desn't know that it exists 04:28:16 <\oren\> whatever, i added 𐤀𐤁𐤂𐤃𐤄𐤅𐤆𐤇𐤈𐤉𐤊𐤋𐤌𐤍𐤎𐤏𐤐𐤑𐤒𐤓𐤔𐤕 to the font demo anyway 04:28:53 <\oren\> `unidecode 𐤀𐤁𐤂𐤃 04:28:54 ​[U+10900 PHOENICIAN LETTER ALF] [U+10901 PHOENICIAN LETTER BET] [U+10902 PHOENICIAN LETTER GAML] [U+10903 PHOENICIAN LETTER DELT] 04:29:55 <\oren\> `botsnack 04:30:00 ​>:-D 04:30:23 <\oren\> Hackygo knows phoenician 04:34:07 -!- Hurqalya has joined. 04:34:42 -!- Hurqalya has left. 04:34:47 (hit him (between (get-attr him eyes))) 04:35:04 (assert (not (has-attr me self-esteem))) 04:36:03 (with (both (* 1000 lie) good-disguise) (hit him (between (get-attr him eyes)))) 04:36:14 s/both/all 04:36:21 s/all/all\// 04:48:51 -!- Hurqalya has joined. 04:57:12 -!- bb010g has joined. 05:03:16 -!- tromp has quit (Remote host closed the connection). 05:06:52 -!- Hurqalya has quit (Ping timeout: 260 seconds). 05:07:11 -!- Hurqalya has joined. 05:09:45 YES! MY HEX GENERATOR WORKS! 05:15:14 (Not to be confused with a hex editor) 05:21:35 -!- ais523 has quit. 05:21:46 -!- Hurqalya has quit (Remote host closed the connection). 05:22:04 -!- Hurqalya has joined. 05:28:49 YES! 05:28:51 IT WORKS! 05:28:54 THE PROCESSOR WORKS! 05:29:04 * hppavilion[1] dances 05:30:15 I THINK! 05:30:26 Memory is saved in a .mem file 05:30:30 As bytes 05:31:06 In the process, I invented a simple program that allows me to generate memory files with a simple hex-based syntax 05:33:15 -!- jaboja has quit (Ping timeout: 246 seconds). 05:33:26 -!- Hurqalya has left. 05:46:09 -!- jaboja has joined. 05:47:11 -!- Kaynato has quit (Ping timeout: 244 seconds). 05:49:47 * hppavilion[1] rings the esobell 05:51:03 The esobell shakes a bit, then sends out three notes of silence. 06:09:15 zgrep: I have my processor working 06:09:27 I've only implemented MOV, SWP, and NOP so far, but it's getting there 06:09:51 But those instructions are far too normal. :P 06:09:59 zgrep: I'm not at the eso part yet 06:10:06 They're already too normal. :P 06:10:13 zgrep: Also, this is more a target platform than an esolang 06:10:25 People don't want to be able to *use* things, not really. :P 06:10:32 zgrep: I'm planning to write an esos for it 06:17:11 zgrep: One of my goals is to make a low-level functional language that compiles to it, thus allowing me to make the OS partially in something like Haskell 06:22:47 -!- lambda-11235 has quit (Quit: Bye). 06:24:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 06:33:35 -!- hppavilion[1] has joined. 06:53:27 -!- tromp has joined. 06:57:55 -!- tromp has quit (Ping timeout: 248 seconds). 06:58:33 -!- jaboja has quit (Ping timeout: 240 seconds). 07:15:38 -!- jaboja has joined. 07:54:57 -!- tromp has joined. 07:58:56 -!- tromp has quit (Ping timeout: 244 seconds). 08:03:25 -!- jaboja has quit (Ping timeout: 248 seconds). 08:36:53 -!- deltab has quit (Ping timeout: 250 seconds). 08:37:13 -!- heroux has quit (Ping timeout: 268 seconds). 08:38:28 -!- heroux has joined. 08:38:40 -!- deltab has joined. 08:39:29 -!- me2 has quit (Ping timeout: 250 seconds). 08:39:29 -!- pdxleif has quit (Ping timeout: 250 seconds). 08:41:39 -!- fractal has quit (Ping timeout: 250 seconds). 08:44:47 -!- me2 has joined. 08:45:29 -!- pdxleif has joined. 08:55:26 An alternative XML representation for RDF could be made up in order to make it easier to use with XSLT, since the standard RDF/XML isn't suitable for this purpose. 09:03:56 (There otherwise probably isn't much point in using XML) 09:04:54 -!- jaboja has joined. 09:05:18 -!- tromp_ has joined. 09:09:52 -!- tromp_ has quit (Ping timeout: 252 seconds). 09:25:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 09:31:28 -!- fractal has joined. 09:40:07 -!- mychal has joined. 09:44:14 -!- oerjan has joined. 09:45:24 still no glogbot :( 09:48:52 -!- AnotherTest has joined. 09:49:04 clog is there though 09:49:25 (good *yawn* morning) 09:49:43 yes, but it's so much less readable to my eyes 09:51:20 you can postprocess the logs hth 09:51:36 i think postprocessing is just called processing 09:51:48 i am, in vim 09:52:17 whoa whoa whoa 09:52:25 does glog stand for gregor log 09:52:40 :%s/\(.\{85\}\) /\1^M / 09:52:52 just do that enough times, and i get wrapping 09:53:06 shachaf: quite possible 09:53:43 *i do 09:55:32 -!- J_Arcane has quit (Ping timeout: 268 seconds). 10:08:59 You can use the "fmt" program to implement word wrapping 10:10:45 this is in windows. 10:15:26 also, i don't see fmt supporting my need to have the continuation lines be indented more 10:15:49 (otherwise it's even more unreadable than unformatted) 10:26:06 `le/rn spaghetti stack/A spaghetti stack is the most edible data structure. 10:26:46 Learned «spaghetti stack» 10:27:19 A spaghetti stack is what a Haskell programmer would call a linked list, right? 10:27:27 i dunno 10:28:20 seems so. 10:29:00 -!- AnotherTest has quit (Ping timeout: 246 seconds). 10:32:55 -!- Elronnd has quit (Quit: Let's jump!). 10:34:08 -!- Elronnd has joined. 10:41:14 @tell rdococ It's spelled "Phoenix" hth 10:41:14 Consider it noted. 10:43:24 For any graph does there exist a topology in which it is planar? <-- wat. "planar" means in the plane, no other topology allowed hth 10:44:26 @tell Taneb Not every graph can be embedded in the plane. Every (finite) graph can be embedded in R^3. 10:44:26 Consider it noted. 10:50:26 -!- jaboja has quit (Remote host closed the connection). 11:04:00 -!- mychal has quit (Quit: Leaving). 11:05:57 -!- hipsterslapfight has joined. 11:24:29 -!- boily has joined. 11:25:08 hobbily 11:27:34 -!- jaboja has joined. 11:30:29 oerjan: oooh, does it still work when the graph has the same cardinality as R? (assuming the axiom of choice... I suppose it does but it's a bit tricky to argue about it. 11:30:32 ) 11:30:40 bon matørjan. 11:31:48 int-e: hm i vaguely think i saw a trick where you use two planes and straight lines between them 11:32:09 and with a bit of care the lines never cross outside the planes 11:32:27 (one plane for edges and one for nodes, i guess) 11:32:49 might not even need AoC 11:32:51 oh, I realize I was hoping to use straight lines for the edges 11:34:39 hm you just need a line for the nodes, maybe. 11:35:40 then an edge from not x to node y consists of a line from (0,0,x) to (x,y,0) and a line from (x,y,0) to (0,0,y). or something like that. 11:35:44 *node 11:35:53 *line segment 11:41:11 int-e: oh. don't about a single straight line per edge. 11:41:20 *don't know 11:43:25 https://en.wikipedia.org/wiki/Graph_embedding#Embeddings_of_graphs_into_higher-dimensional_spaces has a method. 11:43:29 ah, you can just put the nodes on the curve (x,x^2,x^3). 11:43:47 int-e: ooh 11:46:18 damn what is this kind of matrix called again... [1,x,x^2;1,y,y^2;1,z,z^2] 11:47:08 rings a bell. 11:47:26 https://en.wikipedia.org/wiki/Vandermonde_matrix 11:47:42 (found it via polynomial interpolation) 11:48:20 anyway, the 4-D case shows that no 4 distinct points of (x,x^2,x^3) lie in a plane... this generalizes to arbitrary dimensions. 11:49:51 that doesn't quite imply no intersections. 11:49:56 (hmm, there's some projective geometry element in there. nice.) 11:50:29 or wait, does it 11:50:53 bah of course it does. 11:52:15 in projective coordinates, (x^3,x^2,x,1), (y^3,y^2,y,1), (z^3,z^2,z,1), (t^3,t^2,t,1) lie in the same plane if they are linearly dependent... but the determinant is (x-y)(x-z)(x-t)(y-z)(y-t)(z-t), which is only 0 if two of the points are the same. 11:52:29 (modulo sign of the determinant... I didn't check that) 11:53:01 mhm 11:53:20 I just had the stupidest idea for an M:tG card ever. 11:53:37 I have written some program dealing with farbfeld and one thing is that the command "ff-gradient 100 100 r FF0000 DDDDDD 0000FF | ff-paeth e | ff-bright a 1 | ffpng > /var/www/img_19/example1.png" results in this picture: http://zzo38computer.org/img_19/example1.png 11:53:43 b_jonas: What idea is it? 11:56:41 It's a split card. Slough | G | Sorcery | You may put a Swamp from your hand onto the battlefield tapped. || Slough | G | Sorcery | Tap target Snake. It doesn't untap during its controller's next untap step. 11:58:47 I would think that each half should have a different name? 11:59:02 (Although a similar effect could also be made as a modal spell) 12:01:03 zzo38: yes, that's part of why it's stupid. Runed Halo needs you to be able to name half of a split card. 12:03:33 I guess a modal spell could work. So that would be. Slough | G | Sorcery | Choose one. / - You may put a Swamp from your hand onto the battlefield tapped. / - Tap target Snake. It doesn't untap during its controller's next untap step. 12:06:25 Runed Halo would still work though even if both half have the same name; it give you protection from both (although your card does not target, damage, or become attached to players; also it seem to me that half of split card are supposed to have two different names anyways) 12:06:42 zzo38: how does Conjurer's Ban work? 12:07:47 zzo38: or Pithing Needle ... although an activated ability would hardly fit on half of a split card 12:09:04 While on the stack it only has one name; in all other zones the split card has two names, is I think how it is working. 12:11:44 Hmm, actually, looking at existing split cards, I think you could fit a sorcery ability and an activated channel or forecast or cycling ability on a split card. Channel would be a bad match for other reasons, but forecast or cycling could go into a fuse bar. 12:12:14 Although that would require a two line high fuse bar. 12:12:16 Hmm. 12:12:35 Well, forecast would. Cycle would fit in one line. 12:12:44 s/Cycle/cycling 12:12:56 (So if it is a permanent card (although no existing split cards are), then regardless of which half is cast, it is both while in play.) 12:13:26 Um, permanent cards don't get to be split cards, they get to be primal clay instead, which is even more confusing. 12:14:16 Just like split cards and morph cards and flip cards and double-sided cards, primal clay cards have their *copiable* characteristics changing. 12:14:41 And it's not just one very old card (Primal Clay), they printed another one recently 12:15:14 Molten Sentry 12:15:18 ok, not very recent 12:15:24 in Ravnica 12:16:05 Oh, and they reprinted the actual Primal Clay in M13 12:16:27 Making it a split card or flip card would have been less confusing. 12:17:05 No wait, Primal Clay has three modes. Then you're screwed anyway, it can't be represented as a split or flip card. 12:21:00 Primal Clay function in battlefield 12:26:20 -!- boily has quit (Quit: SERIF CHICKEN). 12:35:51 zzo38: yep. 12:36:00 zzo38: and split cards on the stack. 12:37:09 but they basically do the same thing: multiple sets of characteristics, one of which is active in that zone. 12:37:37 flip and transform and morph also do that, only those change within that battlefield without becoming a new object (but possibly gaining a new timestamp) 12:46:20 @messages-load 12:46:20 oerjan said 2h 1m 54s ago: Not every graph can be embedded in the plane. Every (finite) graph can be embedded in R^3. 12:46:40 oerjan, yeah, I think I was asking the wrong question 12:46:42 Taneb: see discussion above 12:47:47 Taneb: i can think of one alternative interpretation, although that one's also pretty trivial (make tubes) 12:48:02 I think that was what I meant 12:49:49 you can put some graphs on the torus that aren't planar, was that what you were thinking of? 12:50:08 but if you just glue more tubes on, you can embed any graph. 12:53:44 eek is xkcd having one of those big explorable ones again 12:57:23 am i suppose to watch the plants grow, or what. 12:57:26 *+d 12:59:03 * int-e finally reads oerjan's link on graph embedding and learns about the "moment curve" name. 13:03:14 oh. i'd somehow missed that it listed the same thing you did. 13:03:15 -!- lleu has joined. 13:05:53 (the answer to the plant question is apparently yes.) 13:07:08 -!- tromp_ has joined. 13:09:07 oh something faster growing 13:09:09 On my phone there was just a tree (or something; forgot already) repeatedly flipping (horizontally); on this workstation there's nothing. 13:09:14 oerjan: is taht still the april fools one? 13:09:32 b_jonas: i have no idea. but there are plants growing. 13:09:45 up to three trees now, one pretty large 13:10:17 i never saw anything other than excuses for being broken 13:10:22 for april fools 13:10:44 fizzie: it starts very slowly. also you should add more lights. 13:11:02 * oerjan went to explainxkcd, although that's about all it said. 13:11:24 -!- tromp_ has quit (Ping timeout: 246 seconds). 13:11:47 (and they never mentioned anything about april fool) 13:12:09 you can also adjust direction and color. 13:12:51 i don't see any flipping btw, just general waving in the wind 13:13:00 (and sudden spurts of growth) 13:13:48 sometimes _really_ sudden. the entire trunks seem to happen instantly 13:16:34 -!- Reece` has joined. 13:22:36 wait what, it seems to have reset while i was browsing elsewhere. 13:22:51 * oerjan closes 13:44:04 oerjan: By "nothing", I mean the top navigation bar is immediately adjacent to the bottom navigation bar. 13:45:43 The flipping seems to have been a "loading" screen that got stuck; on my phone it now shows up briefly, before showing what I think is what you're talking about. (At least there's a bit of ground and a lamp.) 13:45:52 (On the desktop there's still nothing.) 13:46:19 ic 13:47:10 getting the readers to watch grass grow certainly seems like an april fools joke. 13:47:36 Better than watching paint dry. 13:47:39 -!- Sgeo has quit (Read error: Connection reset by peer). 13:47:40 especially when it's buggy. 13:48:47 fizzie: Depends on the paint. 13:54:02 -!- tromp_ has joined. 13:55:00 -!- AnotherTest has joined. 14:08:23 -!- J_Arcane has joined. 14:23:16 -!- I has joined. 14:23:39 -!- I has changed nick to Guest81305. 14:26:14 -!- oerjan has quit (Quit: Later). 14:26:35 hmm, my garden is growing aninmals. a man, a turtle, a doe? 14:26:44 int-e: yep 14:26:52 -!- tromp_ has quit (Remote host closed the connection). 14:55:41 -!- lleu has quit (Quit: That's what she said). 14:57:13 -!- p34k has joined. 14:59:17 -!- rdococ has joined. 15:02:39 -!- AnotherTest has quit (Ping timeout: 276 seconds). 15:02:57 -!- AnotherTest has joined. 15:12:09 -!- lambda-11235 has joined. 15:17:53 -!- spiette has joined. 15:21:07 -!- jaboja has quit (Ping timeout: 260 seconds). 15:21:45 -!- Kaynato has joined. 15:27:34 -!- tromp_ has joined. 15:32:00 -!- tromp_ has quit (Ping timeout: 250 seconds). 15:38:58 -!- Phantom_Hoover has joined. 15:47:55 -!- lleu has joined. 16:23:43 -!- Kaynato has quit (Ping timeout: 244 seconds). 16:31:25 -!- Phantom_Hoover has quit (Quit: Page closed). 16:36:56 -!- Kaynato has joined. 16:48:57 `? continuous chess 16:49:25 continuous chess? ¯\(°​_o)/¯ 16:49:40 Where are the rules for that? It was so good 16:54:22 esochess 16:55:14 `? chess 16:55:21 Chess is a complex boardgame, where players exchange unclear royal steaks until they decide which of them has lost. The game is recorded through the Gringmuth Moving Pineapple Notation. 16:56:50 ??? 17:14:58 -!- Kaynato has quit (Ping timeout: 252 seconds). 17:16:25 -!- earendel has joined. 17:21:00 -!- gniourf has quit (Quit: Leaving). 17:26:54 -!- Kaynato has joined. 17:30:50 -!- XorSwap has joined. 17:45:02 It's a good wisdom, a nice mix of facts and fiction. 17:45:23 `wisdom 17:45:44 agdq/AGDQ is Awesome Games Done Quick, an annual video games speedrunning event for charity ever winter, see http://gamesdonequick.com and https://gamesdonequick.com/tracker/events/ 17:45:51 `wisdom 17:45:54 catamorphism/A catamorphism is when you recurse too greedily and too deep. 17:46:09 http://codu.org/logs/_esoteric/2013-08-27.txt has some more information about chess 18:25:22 -!- XorSwap has quit (Ping timeout: 252 seconds). 18:28:17 -!- tromp_ has joined. 18:31:55 -!- ais523 has joined. 18:32:53 -!- tromp_ has quit (Ping timeout: 244 seconds). 18:34:10 -!- Kaynato has quit (Ping timeout: 252 seconds). 18:38:09 -!- hppavilion[1] has joined. 18:39:41 rdococ: Hi 18:40:21 -!- XorSwap has joined. 18:41:38 hppavilion[1]: hi 18:41:50 rdococ: I've been implementing Gryphon 18:42:01 rdococ: You load os.mem and it starts executing from location 0xF0000 18:42:34 (os.mem is a binary file holding the bytes of non-volatile memory for Gryphon) 18:42:41 (You write the OS at 0xF0000 to make things work) 18:43:11 ok 18:43:36 rdococ: There's no assembly yet though 18:43:45 hmm 18:43:52 rdococ: And no memory protection, though that might be a thing the OS does (I'm not sure how that works) 18:44:02 So you can write self-modifying code if you're feeling diabolical 18:44:40 good idea 18:44:44 -!- XorSwap has quit (Ping timeout: 244 seconds). 18:44:57 rdococ: No, that's a bad idea. A bad, bad idea 18:45:13 an esoteric idea? 18:45:16 rdococ: I'm still trying to figure out how IO is accomplished. I can't take advantage of anything the host OS has, so I'm thinking pixel drawing 18:45:26 rdococ: No, it's been done before, and it's objectively evil 18:45:43 objectively? 18:45:52 how is self modifying code objectively evil? 18:47:15 * rdococ is confuse 18:47:31 rdococ: Because you can't read it before compiling without deep thought 18:48:08 rdococ: If the code changes at runtime, then (A) You can't be sure if what you're reading is everything and (B) Compilation becomes a LOT more difficult, because things might change that you weren't expecting 18:48:21 true 18:51:03 -!- Kaynato has joined. 19:03:00 Self-modifying code is OK, although it depend on the instruction set and programming language in use; in some cases it is bad or impossible. However in many cases it can probably be avoided (especially should be if the program is stored in ROM) 19:03:50 -!- Kaynato has quit (Ping timeout: 244 seconds). 19:11:30 zzo38: or when the cpu is modern enough that modifying instructions will cause lots of cache and instruction decoding penalties, and/or require a jump or even special insn cache flush instructions to make sure the cpu notices, or when the computer is multi-tasked so the same mapped executable is ran by multiple processes or threads running concurrently. 19:12:34 The 6502 required self-modifying code, but at that time you didn't have reasons to avoid it. Now we do have very good reasons to avoid self-modifying code, but luckily the x86 doesn't require you to use it. 19:12:40 In the first case, I consider that to be a bad design. In the last case, the executable should have a flag somewhere to indicate if it needs to be mapped separately or not. 19:13:18 zzo38: they do have a flag. they tell that the executable section is mapped read-only. 19:14:19 OK, so, normally it should map read-only and shareable, then. 19:15:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 19:18:40 zzo38: there's probably a shareable flag too, not only access control flags 19:19:01 that's how mmap works, I don't know how ELF works with executables and dynamic libraries 19:31:41 -!- Kaynato has joined. 19:48:34 -!- hppavilion[1] has joined. 20:06:42 -!- Phantom_Hoover has joined. 20:10:32 -!- Kaynato has quit (Ping timeout: 244 seconds). 20:17:18 Currently the wide banks of UTCE are all Japanese, although possibly one or two wide banks could be allocated for astrology if there is room. 20:23:41 -!- Kaynato has joined. 20:24:25 (Maybe you have a better idea though) 20:25:40 -!- Caesura has joined. 20:29:07 -!- Kaynato has quit (Ping timeout: 252 seconds). 20:29:46 -!- tromp_ has joined. 20:30:28 -!- lambda-11235 has quit (Quit: Bye). 20:33:44 -!- impomatic has joined. 20:33:58 Hi :-) 20:34:24 -!- tromp_ has quit (Ping timeout: 268 seconds). 20:35:05 -!- zzo38 has quit (Remote host closed the connection). 20:45:51 -!- atrapado has joined. 20:49:21 impomatic: Hi! 20:49:27 rdococ: Here's a project I started a while ago 20:49:38 * hppavilion[1] waits for rdococ to confirm that they are present 20:54:24 -!- oerjan has joined. 20:56:09 `? agdq 20:56:23 AGDQ is Awesome Games Done Quick, an annual video games speedrunning event for charity ever winter, see http://gamesdonequick.com and https://gamesdonequick.com/tracker/events/ 20:56:46 `` sed -i 's/ever/every/' wisdom/agdq 20:57:05 No output. 21:01:28 -!- Lord_of_Life has quit (Excess Flood). 21:03:41 -!- Lord_of_Life has joined. 21:03:43 the moderators at the yafgc forum aren't the most prompt at deleting spam. although they do get to it eventually. 21:07:37 -!- Caesura has quit (Ping timeout: 252 seconds). 21:10:39 hppavilion[1] 21:10:43 I am not present. I am rdococ. 21:13:12 hppavilion[1] 21:19:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:19:13 ... 21:19:35 -!- hppavilion[1] has joined. 21:21:21 hppavilion[1] 21:21:24 I am rdococ, not present 21:22:30 rdococ: I saw 21:23:15 rdococ: I'm making a language called Archae, which is an anti-tarpit with no documentation. 21:23:31 rdococ: You can access it only via the internet, and the goal is to figure out how it works 21:23:55 rdococ: Would you like to help me design it 21:23:56 ? 21:25:17 (Are there dual combinators? Like k = λxy.x, so ʞ = ʞx.xy 21:25:28 hmm 21:25:36 an anti-tarpet? 21:25:38 tarpit* 21:26:11 rdococ: http://esolangs.org/wiki/Uniquode 21:26:18 rdococ: That's an example of an anti-tarpit 21:26:53 hnn 21:27:22 how about duel combinators 21:27:34 core war for lambda calculus 21:27:35 (It doesn't make much sense for k, as where does the y come from for ʞ, but for s it makes a bit more sense- ~Sxz(yz) = xyz) 21:27:40 shachaf: Oooh, sounds fun 21:27:55 combinatoral logic? 21:29:25 rdococ: You mean Combinatory logic? 21:29:37 rdococ: You do get PMs, don't you? 21:30:32 yes 21:30:35 I see your PM 21:30:38 but it doesn't make a sound 21:30:40 rdococ: OK, because you didn't respond 21:30:43 Oh 21:30:43 unless it mentions my name 21:30:59 rdococ: So answer? Do you want to help design Archae? 21:31:25 rdococ: We can design it on a normal temp channel so that it will alert you 21:32:34 maybe 21:32:39 nah, just use my name 21:34:29 hmm 21:34:32 so an anti-tarpit 21:34:57 so should it be easy to code or hard to code? 21:35:33 it should overwhelm you with possibilities so it's impossible to know where to begin 21:35:58 okay 21:36:07 so take Lua, make a billion massive libraries, done 21:36:16 or virtually any other language 21:36:27 rdococ: No, it's like Uniquode 21:36:39 rdococ: It's a character-by-character thing 21:36:45 hm 21:36:46 okay 21:36:52 so how many characters can we use? 21:37:29 rdococ: Any unicode character is up for grabs, though we should avoid CJK 21:37:36 rdococ: Basically, the Unicode that is relevant to English speakers 21:37:56 ... 21:37:57 idk 21:38:00 rdococ: Most english speakers can't tell the difference between CJK characters at a glance, so we won't be using much of those 21:38:32 rdococ: We'll just do it a block at a time 21:38:53 rdococ: I think we should use a temp channel so that it won't be spoiled for anyone else on this channel 21:39:04 k 21:39:06 rdococ: /join ##zodiac 21:39:13 (That's a channel I own but rarely use) 21:40:16 How do you handle the feeling of hopelessness when the easiest bit of a module you have an exam for in 11 days seems so hard 21:40:35 Taneb: is it a d-module? 21:40:38 by saying your dog ate it 21:40:51 I'm afraid it's a linear optimization and game theory module 21:41:21 differential operators are linear 21:41:26 so it's basically the same thing 21:41:36 well, usually linear 21:42:13 what's a "d-module"? 21:42:20 `? d-module 21:42:33 D-modules are just modules over the ring of differential operators. Taneb invented them. 21:42:56 Taneb: what sort of things are linear optimization and game theory about 21:43:10 Game theory, and also linear optimization 21:43:37 i don't know much about those topics 21:43:40 what parts are hard 21:44:47 linear optimization isn't hard, it's very simplex 21:46:28 Unfortunately, the bit I'm struggling with is the background of what non-linear optimization looks like 21:46:35 With lagrangian mutlipliers and what have you 21:52:40 -!- Caesura has joined. 21:55:03 -!- ais523 has quit. 22:10:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:11:05 -!- hppavilion[1] has joined. 22:14:13 -!- shikhin has changed nick to korv. 22:14:26 -!- korv has changed nick to shikhin. 22:15:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:15:58 -!- iconmaster has joined. 22:21:24 -!- idris-bot has joined. 22:29:44 -!- J_Arcane_ has joined. 22:31:02 -!- J_Arcane has quit (Ping timeout: 244 seconds). 22:31:09 -!- J_Arcane_ has changed nick to J_Arcane. 22:36:40 I just LOVE helpful error messages. "libdvdread: Can't open /dev/dvd for reading" ... well, turns out it was trying /dev/rdvd ... thanks! 22:38:01 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:41:12 -!- Guest81305 has quit (Quit: This computer has gone to sleep). 22:42:45 what 22:42:49 how did it get them mixed up 22:53:54 -!- boily has joined. 23:02:55 -!- oerjan has quit (Quit: Nite). 23:03:57 -!- ais523 has joined. 23:05:45 -!- atrapado has quit (Quit: Leaving). 23:10:19 `wisdom 23:10:32 mips/MIPS Is Popular in Schools. 23:11:17 `wisdom 23:11:21 category-helpdesk/category-helpdesk is a helpdesk with identity and composition. This channel isn't it. 23:11:37 `` culprits wisdom/category-helpdesk 23:11:47 int-e ais523 oerjan elliott Bike FreeFull boily 23:12:02 pm functionality isn't working? 23:17:25 I created that one? 23:17:31 rdochelloc. pm? 23:17:37 hellochef. 23:18:14 -!- Sgeo has joined. 23:32:20 rdhelloc 23:40:25 rdhelloc it'll be from now, it is. 23:43:15 fungot: have you ever porthelloed someone? 23:43:16 boily: mr president, commissioner, i would like to refer to mrs wallis' point regarding quite a lot of european industries happy. i regard this as being a provisional situation and a step backwards in terms of social security systems or, properly speaking, pension schemes. i share the honourable members are perfectly aware, that will continue to be strong with the weak and weak with the strong, which enables us to achieve a bet 23:45:58 -!- hppavilion[1] has joined. 23:46:19 Here's something I started thinking of that's probably been done before 23:46:23 -!- tromp_ has joined. 23:46:28 Hedwig's Little Theory of Reduction Machines 23:46:45 Reduction is the process of turning something into something simpler 23:47:28 Hedwig? 23:47:32 An automaton is said to be more complex than another automaton under a system if evaluating the the former produces the latter, but reducing the latter never produces the former 23:47:37 boily: Hedwig Notta. 23:47:45 boily: It's the alias I'm sticking with 23:49:02 -!- spiette has quit (Quit: :qa!). 23:49:03 Reduction Machines is just a fancy way of saying "this generalization of cellular automata I'm making up" 23:49:07 boily: Does this sound like something you've heard of? 23:49:41 The generalization defines things like static neighborhoods vs. static-individualized neighborhoods vs. dynamic neighborhoods 23:49:46 vaguely like lambda calculus' eta reduction, but otherwise nope. my mind's a 0x20. 23:49:58 boily: That does sound right 23:50:49 A reduction machine is cellular if its neighborhood is static or static-individualized. Dynamic-neighborhood automata cannot be cellular. 23:51:06 -!- tromp_ has quit (Ping timeout: 276 seconds). 23:52:40 (A machine has a static neighborhood if all of its states have the same neighborhood that remains constant at all points in time, a static-individualized neighborhood if the states have different neighborhoods, but they all remain constant, and a dynamic neighborhood if part of a reduction step involves changing the neighborhood of the current cell) 23:53:20 So Conway's Game of Life where each individual cell is a node on a graph and that node can connect to other nodes if certain conditions arise has a dynamic neighborhood 23:54:10 boily: It's probably related to eta reduction by virtue of being Turing-complete. Also, it was originally inspired by a functional programming language I was designing, so... 23:55:22 -!- p34k has quit.