00:00:05 instead, probably you need a full separate ordered associative array 00:00:10 sorted by insertion time 00:01:12 so a binary (or quaternary) heap sorted by the keys and an ordered tree sorted by the insertion dates, and when you move an element in the heap, track its position in the ordered tree 00:01:42 -!- moonythedwarf has quit (Ping timeout: 264 seconds). 00:02:02 hmm wait 00:02:08 actually you don't need a search tree 00:02:11 ais523 is right 00:03:08 you only need a heap sorted by the keys and a queue (possible implemented as circular array or just as an array with free space on both sides that is sometimes moved) and link the position of elements both ways 00:03:44 no wait 00:03:50 that won't work 00:03:56 I'm saying all stupid things 00:04:03 what was the task again? 00:04:29 "i have a set of key-value pairs and i want to store at most K of them. when i store the (k+1)th element i want to remove the oldest i inserted. when i get a value in this structure, i want that element to become the newest inserted " 00:04:52 what does the key even do? what is it a key of? 00:05:00 don't you just have ordinary pairs? 00:05:20 -!- moonythedwarf has joined. 00:05:22 you just need a plain queue 00:05:41 but i want to find an element by its key 00:05:54 oh, you didn't say that 00:06:07 sorry 00:06:40 wob_jonas: needs to be a linked queue so that you can delete from the middle, while preserving the order of other elements, in less than O(n) 00:06:47 assuming we're going for asymptotic performance here 00:07:08 http://www.bitsofpancake.com/programming/markov-chain-text-generator/ 00:07:42 in that case, have a separate associative array that is keyed by the keys and stores the position of that element in the queue. if the queue is array-based, then store a biased index that never changes, and store the bias separately; if you use a linked list based queue (less practical), then make the position (stored in the associative array) a po 00:07:43 inter to the element in the queue. 00:07:43 Time to shove a bunch of logs into a javascript maarkup chain someone else wrote. 00:07:53 wait 00:07:55 Even though we fungot is already here for that. 00:07:55 MDude: all operations on intercal source code), prepending a byte with 172 to the one implemented in c-intercal, and so on) with the best results. ( the previous character minus the previous sentence also explained what operands these operators have to rename the installation directory: mkdir build cd build ../configure to build in a linked c program ( for instance 00:08:04 you want to be able to delete an element from the middle? 00:08:08 using the key? 00:08:29 yes, then you need at least a linked list queue 00:08:32 wob_jonas: to replace the element back at the end of the list 00:08:42 in fact 00:08:52 you could make the links internal to the tree 00:08:56 that is, no separate linked list, 00:09:11 that's interesting 00:09:25 just have an associative array keyed on the keys, and as the value, you store the values and the key of the next newest element 00:09:32 and store the key of the oldest element somewhere 00:10:00 thanks for this 00:10:30 wob_jonas: oh, that's clever, but I think you need to doubly link 00:10:45 otherwise you can't update the link from the element immediately older than the one you delete 00:10:59 ais523: true, doubly link 00:11:14 also you need to store the total number of elements so that you know whether you need to delete the oldest at all 00:11:18 but that's easy enough 00:12:05 there's also an alternate solution too (the one you get if SQL databases are your only hammer): use two associative arrays, the first one is an ordered one keyed by insertion times, the second one is an unordered one keyed by the keys but also stores the insertion time as extra value 00:12:43 that's assimptotically slower, but much easier to implement, because you never have to modify elements 00:13:10 and yes, then too you need to track the number of elements 00:13:20 right, I was actually thinking "a relational database could solve this problem, I wonder what algorithm it'd use" 00:14:51 if you modify that a bit by using a heap (instead of an ordered assoc array on the insertion times) then you'll have to store the positions in the unordered assoc array and update those positions all the time 00:15:22 unless perhaps you use a linked heap, which is a bit ugly 00:16:11 the SQL-like solution with just two assoc arrays is the easiest to implement because you don't need custom data structures 00:18:16 using SQL as your only hammer is actually quite a useful crutch, even if it's not one I really like 00:18:24 I prefer other hammers 00:19:39 what's your favourite general-purpose hammer? 00:21:11 I'm not sure. 00:22:15 I think when making data structures, I try to use arrays and array indexes and similar over anything associative whenever I can get away with it (without too much trouble), at least if I'm programming in C++. I use associative arrays in perl, unless I need to optimize. 00:22:42 I do sort of like the SQL clutch in a way, but don't stick to it all the time. 00:23:31 I do like the part of the SQL clutch where I try to avoid deeply nested data structures, instead using shallow structures (whether array-like or associative) and pointing into them with indexes or keys 00:23:57 But I don't like the part of the SQL clutch where everything has to be associative so you can insert or delete arbitrarily. 00:24:03 Does that make sense? 00:24:39 The former part, avoiding deeply nested structures, applies even when I'm programming in perl. 00:25:32 well, on the occasions I've used deeply nested structures 00:25:41 it normally turned out in retrospect to be a mistake 00:25:51 also, if I find myself maintaining too many indexes (indices?) manually 00:25:59 I should probably be using a database instead 00:26:08 (see: aimake) 00:26:11 I don't usually have to maintain them. Just set them once. 00:28:45 Also, I don't like hash tables. If I do need an associative array (rather than get away with an array), and I'm not writing perl, I prefer to use a search tree. I do acknowledge that sometimes hash tables are faster, but that optimization is rarely relevant for whatever I'm writing, 00:28:49 because the associative array isn't usually in the fast path. The fast inner loops can generally be written so they use only arrays. 00:29:18 In perl, I do use the builtin hash tables though. 00:30:48 I used a trie when I needed to optimize an associative lookup in NH4 00:30:56 but that was just because they're easier to write than hash tables are 00:31:05 The reason why you rarely need associative arrays is this: most of the time you actually just write everything in them first, then when they're finished, you look up stuff in them or iterate on them. If that's the case, then an array you sort once and then binary search in is better. 00:31:51 At least, this is the case in the programs I write. If you're like writing a kernel, then you will totally need lots of hash tables and search trees. 00:32:13 -!- moonythedwarf has quit (Ping timeout: 244 seconds). 00:32:18 -!- oerjan has joined. 00:32:39 And sometimes you do need custom structures, you can't do everything the SQL way, but that's pretty rare. 00:33:21 (Well, it sort of depends on how many non-custom structures you know already.) 00:37:47 And obviously all this stuff depends a lot on your task and parameters, so use common sense and do whatever is best for the particular task rather than just one hammer. 00:38:33 bonsøirjan. 00:39:18 bod kveildy. 00:41:17 New operation (or, well, notation for an existing operation): reverse subtract 00:41:29 Does saying something to fungot change its seed, or is it just random? <-- it's random. in particular fungot has no way to convert a word into the right index pointer, only the reverse. 00:41:29 oerjan: 2. compile the externally-called files.) here's an idiom from the stack while skipping some of this is another compile-time error. 00:42:15 Basically, a rsub b is the same as b sub a. No new uses, but can make some stuff look better. 00:42:18 i'm not sure if the file format even allows it. 00:42:33 Notation is a backwards subtraction sign. 00:42:39 oerjan: ah. 00:43:03 > 2 `subtract` 4 -- haskell is way ahead of you 00:43:05 2 00:43:27 ais523: since you mention aimake, have you worked on that (or ayacc) again? 00:43:50 on the aimake rewrite or something 00:43:50 ... 00:43:55 (or even on scapegoat.) 00:43:58 * oerjan swats hppavilion[1] -----### 00:44:07 I did a bit of work on ayacc I think, not sure though 00:44:07 no work on aimake 00:44:12 oerjan: Well yeah 00:44:13 great! 00:44:20 there are some fonts in which - isn't left-to-right symmetrical 00:44:22 have you released ayacc under some free software license yet? 00:44:35 or had it escape under such a license at least 00:45:00 huh, apparently not 00:45:03 oerjan: Of course Haskell is ahead of me 00:45:03 I was planning to though 00:45:07 let me stick a GPLv3 notice on there 00:45:47 ais523: yes, but that's usually because it has serifs (so it's a bit wavy) or is a double line above one another with the two slightly offset horizontally, and in either case it would look ugly if mirrored 00:46:26 ais523: I know you were planning, you just didn't do it because you weren't working on aimake at all 00:46:52 ugh, what's the start of the copyright range on this thing? 00:47:09 2015 00:47:20 I think the #esoteric logs even has a statement somewhere that serves as releasing under a license. 00:47:26 2015? no way 00:47:30 is it that new? 00:47:32 (a reverse minus sign is possible because a normal minus sign is changed- not just -, but more like a vertically-flipped ¬) 00:48:12 also wow the repo was out of date 00:48:18 wob_jonas: OK, updated, and properly licensed now 00:48:21 maybe it is 00:48:21 There's also an operation related to ± called "minus-or-reverse-minus", which is literally just a[morm]b = a-b|b-a 00:48:33 (also reverse-minus-or-minus) 00:48:39 ais523: what's the url? 00:48:59 (not sure how they look though; need to figure that out 00:49:01 ) 00:49:47 err, the URL is wrong 00:49:54 let me go and find a better URL for it :-P 00:50:08 ok 00:50:13 it's not urgent or anything 00:50:32 I'm just curious 00:50:52 Are you planning to add a stackless C backend by the way? 00:51:10 wob_jonas: darcs clone http://nethack4.org/projects/ayacc 00:51:32 also the current C backend uses the call stack as the only stack 00:51:32 That is, a C backend that doesn't use recursion so it can return after each token read 00:51:41 ah right, I see 00:51:45 error 403 00:51:51 I don't currently have any plans to write a push parser 00:52:07 hmm wait 00:52:44 shouldn't be, I have +rx perms on all the directories and +r on all the files 00:52:48 did you try to access it in a web browser? :-P 00:53:10 actually what I'd like isn't really a push parser, but rather a way to reset the parser to older savestates (unpushing tokens). one way to do that would be to make it a push parser AND use immutable data structures only, but it could be done in other ways. 00:53:29 yes, in a web browser 00:54:06 savestating the parser isn't something that's very compatible with aimake's architecture 00:54:11 you'd probably be better off using bison for something like that 00:54:12 with direct file access the access control error would be error 13 rather than error 403 00:54:25 well darcs still uses http 00:54:32 -!- centrinia has joined. 00:54:33 just it accesses different files than the browser does 00:54:49 I think it is compatible in the sense that I'd only need a new backend template for it, not change anything in the actual parser generator code. 00:55:17 wob_jonas: the main thing that ayacc needs and doesn't have is type safety 00:55:23 atm it just uses the union for everything, like bison does 00:55:23 Which is good, because I have more chance to be able to do it, I don't have to understand the theory of the generator, and get to reuse (most of) the optimizations you've implemented. 00:55:29 but it has enough information to use exact types 00:55:48 I think you could write a separate backend, yes 00:55:54 does it already have _some_ type safety, as in, it derives the types of some values, but not all? 00:55:58 you'd have to implement the "function call" operations via maintaining a stack manually 00:56:04 yes. 00:56:12 parts of the code know what the type of certain values are, but the type information isn't propagated 00:56:53 hmm 00:57:21 Can the compiler that compiles the emitted code do that if it analyzes all the functions together? Probably not reliably. 00:57:45 The switch statements on state variables would confuse the compiler too much to follow what really happens. 00:57:49 sometimes the type of one return value of a function depends on the value of another 00:57:55 you'd probably keep using the union in that ase 00:57:57 *case 00:58:01 hmm 00:58:06 rather than having multiple return values just so that they can have different types 00:58:21 like, ayacc often creates a function that, say, can parse one of two things 00:58:24 then it tells the caller which it parsed 00:58:36 and there's no reason why the semantic values of those two things needs to have the same type 00:58:52 (in C it uses return-by-reference if a function needs multiple return values) 00:59:16 so then you return a distinguished union? 00:59:39 I'm still getting error 403 01:00:01 wob_jonas: are you running the literal command "darcs clone http://nethack4.org/projects/ayacc"? 01:00:09 oh! it's a darcs repo 01:00:11 you didn't say that 01:00:22 I thought it was a landing page with information 01:00:22 yes I did 01:00:40 and actually, that's a good point, it probably should be a landing page 01:00:43 in which case that URL isn't final 01:00:59 maybe I should move it to media/ 01:01:02 Can you check for I/O and SDL events together with SDL 1.x? 01:01:23 nethack4.org needs a more organized filesystem 01:01:23 ais523: and you should have a list of all projects at /projects or at / 01:01:27 zzo38: I/O is converted into SDL events by SDL, so you just do a single check for SDL events 01:01:33 that is, if you request the conversion 01:01:57 let me install darcs, I think I don't have it on this machine yet 01:02:08 How can you do that on an arbitrary file descriptor? 01:02:34 zzo38: ugh, I ran into this problem with SDL 2 myself, and I think SDL 1 is the same 01:02:45 the only method is to create a separate thread to monitor the file descriptor 01:02:56 but then you can't communicate to the main thread 01:03:10 Can you add events to one thread from another thread or not? 01:03:11 posting an SDL event doesn't work because it can lead to deadlocks, the SDL messaging functions aren't thread-safe 01:03:20 so no, as far as I know 01:03:21 O it isn't thread-safe 01:03:28 in NH4 I basically had to poll :-( 01:03:28 wait really? 01:03:34 there's an SDL extension called something like SDL_net 01:03:36 that might be able to do it 01:03:43 they repeated that mistake from wx? 01:03:57 wob_jonas: and SFML makes exactly the same mistake! 01:03:58 it's ridiculous 01:04:06 what's SFML? 01:04:32 I know that Xlib does not have this problem; you can check for events and other file descriptors together, since the X events are a file descriptor! 01:04:36 `? SFML 01:04:41 SFML? ¯\(°​_o)/¯ 01:04:49 wob_jonas: main competitor to SDL 01:04:52 I was looking at it for libuncursed 01:04:59 but it seems to have the same set of deficiencies as SDL does 01:05:53 oh wow, SDL_net doesn't have a way to select network packets against SDL events either 01:06:05 why do so many people get this stuff wrong 01:06:24 Are you sure they don't just have a confusing documentation and some way to do this properly? 01:06:29 also at least SFML doesn't have the primitives necessary to create your own thread-safe event injector either 01:06:35 it'd need semaphores but it only has mutexes 01:07:01 wob_jonas: nah, I think the sort of people who write this sort of library genuinely don't see polling as a problem 01:07:04 it /can/ be done with polling, very easily 01:07:09 it just eats up more CPU wakeups than it should 01:07:16 like, multiple apis, a simple main loop that doesn't let you listen to arbitrary file descriptors, but also a more complicated method that lets you embed it to any event loop 01:07:31 crazy 01:08:01 OK, SDL does have semaphores 01:08:07 so it is possible to make it work 01:08:27 How can you do that with the semaphores then? 01:08:40 zzo38: what you have to do is have three threads: one handles SDL events and signals a semaphore when they arrive; one handles file descriptors events and signals the same semaphore when they arrive; and one processes events signalled by the other two threads 01:09:02 basically, the two side threads need to "up" a semaphore that spends most of its time at 0 when they have something to report 01:09:13 the merging thread "down"s the semaphore whenever it handles an event 01:09:34 Shouldn't the events needed in the main thread? 01:09:40 it's probably a bit more complex because you need to wait for the event to be handled before you start working again, so you might need another semaphore to send in the other direction 01:09:58 if there's data to communicate about the events, you'd do it using shared memory 01:10:16 ais523: IIRC QT and glib both require you to use its own main loop, but has events you can use it to wake it up from another thread properly 01:10:25 wob_jonas: yes 01:10:30 libuncursed also uses that model 01:10:43 actually implementing the remote wakeup in SDL was ridiculous, though; I used polling to do so in the end 01:10:54 in libuncursed 2 I want to do it without polling 01:10:55 wait... what? 01:11:00 why would libuncursed do that? 01:11:08 wob_jonas: say you're watching a game 01:11:16 no, I mean 01:11:28 you have to wait on both a keypress by the user (SDL event), and network activity (move made by the user you're watching) 01:11:44 and libuncursed uses polling because SDL uses polling internally anyway 01:11:45 why doesn't libuncursed just use the model where you provide the main loop and it tells you when it wants to listen to input and to output 01:11:48 and I felt that a bit more wouldn't hurt much 01:12:04 wob_jonas: libuncursed 1 uses the event loop model 01:12:23 libuncursed 2 uses a variant of the model in which you have a command that does all output /and/ all input 01:12:36 which makes it a lot harder to make mistakes 01:12:58 (obviously, you set up the output you want in-memory in advance, and the output+input is basically similar to a buffer-swap command that waits for input once it's done so) 01:13:33 (or just make it use libev only, but give the option to compile to a custom libev) 01:14:42 wob_jonas: I'm not even sure what you mean by "it tells you when it wants to listen to input and to output" 01:15:41 ais523: yes, you might not even need that, because it always wants to listen to input, and probably wants to block on output rather than poll for it 01:15:51 dunno 01:15:53 I know that I designed Xwicketset it does have a function called XwicAddFileEvent for purpose explicitly to watch on multi file descriptors as well as X events. 01:16:10 wob_jonas: oh, I see, you were trying to support background /output/ 01:16:46 right, libuncursed assumes that it can safely output synchronously, and even if it needed to output asynchronously I think it'd want to hide the details of that from the program using libuncursed 01:17:09 ais523: yes, since this goes over network which could have a high latency, and the user could press lots of keystrokes each of which change the screen content a lot, in which case you might even be able to drop some of the output 01:17:53 although that might not come up much in practice because of the large buffers involved 01:18:14 you don't want to drop output because of ttyrecing and (for bots/interhack) pipelined farlook 01:18:43 although uncursed should be handling ttyrecing itself really 01:18:46 it would be enough to make the calling program (eg. nethack) sometimes not try to flush the screen if more keystrokes have already arrived 01:18:53 and block on output always 01:19:12 oh, you don't want to drop anything because of ttyrec 01:19:14 right 01:19:29 -!- carado has quit (Ping timeout: 252 seconds). 01:19:32 I think async output would be doable without changing the API, though 01:19:38 maybe libuncursed 2 should support it as an option 01:19:51 the likely implementation would be to use a second thread to do the rendering 01:20:39 ...oh my god, FiveThirtyEight is named because the US electoral college has 538 electors 01:21:13 *facepalm* 01:21:15 maybe you could have a ttyrec game option, so that when the user promises he's not ttyrec-ing (or teeing to multiple terminals) then the game can drop output if it's already read keystrokes (ans possibly uncurses can optimize the output a bit more dangerously so it only works on the exact terminal size) 01:22:01 wob_jonas: text wrapping probably isn't consistent betwen terminals anyway 01:22:18 you'd probably just want an option for async output behaviour 01:22:27 and an option in libuncursed itself to produce ttyrecs 01:22:47 (there's stub code for this in libuncursed 1; the ttyrec code itself hasn't been written but the place where it connects to the main code has been) 01:22:55 ais523: isn't it at least consistent in typical cases, which uncurses can detect? 01:23:20 not sure 01:23:25 oh well, it probably doesn't matter much practically 01:23:41 such an optimization wouldn't really help much of anything 01:24:09 it's just be premature optimization] 01:25:29 I don't know, maybe it'll help when using one of the slower forms of output 01:25:31 looking at ayacc now (checked it out with darcs) 01:25:32 like wincon or SDL 01:26:05 maybe 01:26:52 ok, so now ayacc is distributed under GPL3 01:26:53 thanks 01:28:04 (and the output it generates still doesn't get restricted copyright-wise) 01:28:08 right 01:28:11 great 01:28:20 and now it has tests 01:28:33 I might move the GPLv3 text to be literally inside the source code rather than a separate file 01:28:54 not many tests yet 01:29:43 ok 01:41:43 good night 01:41:51 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 01:46:30 -!- boily has quit (Quit: CASK CHICKEN). 01:48:33 -!- Zarutian has quit (Quit: Zarutian). 02:07:36 -!- ais523 has quit. 02:40:04 -!- centrinia has quit (Quit: Leaving). 02:40:27 -!- augur has quit (Read error: Connection reset by peer). 02:40:56 -!- augur has joined. 02:58:37 I don't understand the V8 embedding guide so well. How do you do reference counting with it? 03:20:07 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:38:05 -!- oerjan has quit (Quit: Nite). 04:12:47 Hm, apparently style guides (e.g. Strunk & White, Chicago) are sometimes called "style sheets" 04:13:01 I am not OK with this unless they're written in CSS (or SASS or SCSS or LESS) 04:13:08 (or etc.) 04:25:58 <\oren\> https://www.youtube.com/watch?v=DG660Jijr1A 04:27:08 <\oren\> great choon right there 04:36:26 If I make a language, should it be horribly inflective or not? 04:49:29 lol 04:49:35 * jeffl35 converts MLA to CSS 04:50:47 -!- Kaynato has joined. 04:51:33 -!- trn has joined. 04:54:19 I wonder if the MLA has anything to say about animations 04:56:18 Jafet: Does MLA say how you cite an expansive scrawling on the walls of a cell written by a madman in his own blood over 15 years? 04:58:21 <\oren\> hppavilion[1]: inflection would be cool 04:58:35 <\oren\> depending on what you inflect over 04:58:49 \oren\: Polysynthetically? 04:59:03 Evidentiality, definitely 04:59:32 (Maybe definitivity/certitute/whatever?) 05:05:30 -!- `^_^v has joined. 05:11:18 \oren\: That sound good? 05:15:46 <\oren\> Yeh. 05:16:18 \oren\: I might also inflect over whether hitler did it too... 05:16:41 <\oren\> I had a great idea. I'm playing as hungary. Let's see if I can conquer austria before hitler can enact anschluss! 05:18:23 -!- `^_^v has quit (Quit: This computer has gone to sleep). 05:18:35 -!- `^_^v has joined. 05:29:38 ...dammit 05:29:57 I messed with the colors for HexChat and now everything is weird 05:30:06 And I can't find the reset button 05:30:14 (I'm pretty sure there used to be one) 05:36:38 <\oren\> Austro-hungarian Empire, Reunited! 05:36:59 <\oren\> hah, austria was soooo weak 05:37:13 -!- hppavilion[1] has quit (Quit: Leaving). 05:37:39 -!- hppavilion[1] has joined. 05:52:08 There are prepositions and postpositions, but what about inpositions? circumpositions? 05:52:59 There are suppositions 05:59:18 -!- Frooxius has quit (Ping timeout: 264 seconds). 05:59:26 -!- centrinia has joined. 06:01:28 -!- `^_^v has quit (Read error: Connection reset by peer). 06:01:57 -!- `^_^v has joined. 06:07:10 PIE did use inflect! It does not have a great effect! 06:16:41 -!- Frooxius has joined. 06:23:16 hppavilion[1]: you could probably cite the madman scrawling the same way as letters/correspondence 06:23:39 http://guides.lib.monash.edu/c.php?g=219786&p=1454260 06:23:55 "print diary" seems the closest 06:26:04 HE IS COMING[1] 06:27:52 quintopia: Manuscript (print) would actually be correct, as you're citing the original, not an edited & published version 06:28:14 <\oren\> And now I've taken the sudetenland too 06:28:54 <\oren\> hah! my hungarians are just cockblocking germany 06:30:27 [1] Hermit. (Untitled). Scrawled onto the walls of a cave in own blood. Found in cave outside of Tulsa, Oklahoma. Stand-alone. 06:31:51 oerjan: Remind me why Belkar can float? 06:40:21 appositions 06:42:38 -!- centrinia has quit (Quit: Leaving). 06:43:52 Philosophy is much better with formal logical notation... 06:47:00 Yes it does help. But, a few things are difficult to put into formal logical notation (such as things that are difficult in general). 06:54:05 -!- `^_^v has quit (Quit: This computer has gone to sleep). 06:54:28 zzo38: Yeah, but things that aren't difficult in general become perfectly unambiguous 06:56:18 oerjan: whoa whoa whoa 06:56:37 oerjan: http://www.giantitp.com/comics/oots0571.html has a prediction for 1187-03-26 06:56:49 which what's-his-name is aware of 06:56:55 hppavilion[1]: Yes, that I agree, that is why it helps. 06:57:03 what's the in-comic time, anyway? 07:11:09 shachaf: I should read OotS... 07:13:22 -!- trn has quit (K-Lined). 07:17:44 `? oots 07:17:58 HackEgo is slow again? 07:18:00 oots? ¯\(°​_o)/¯ 07:25:49 shachaf: What do you get with Euclidean geometry if you assume everything is polar coordinates (that is, you still draw a circle, but the points on the circle aren't thought of as cartesian) 07:26:25 Why are you asking me? 07:27:29 Not sure... 07:29:44 Euclidean geometry was coördinate-free last I checked. 07:30:35 coordinates are scow 07:32:35 shachaf: Well, yeah 07:32:40 But... 07:33:20 What I'm ACTUALLY saying is 'what happens if you take the thing that happens when you use a ruler and compass, but treat it as polar and take whatever it is in cartesian and use that as primitives" 07:35:03 oerjan: hm, http://www.giantitp.com/comics/oots0489.html 07:39:32 Euclidean geometry is neither cartesian nor polar 07:39:33 evil is measured in kilonazis? 07:40:41 I'm pretty sure more conventional units would be milinazis 07:41:37 Hm, circle looks exactly the same 07:42:06 it's like the Lenat; one nazi, like a Lenat, is a big value that (hopefully) is never reached in practice 07:42:35 izalove: Hoolootwo: You're both wrong; Nazis would be the base unit, but SI actually uses Mengeles 07:44:12 Hoolootwo: Or pouters 07:44:21 (I had a feeling circles would be the same) 07:48:51 Jesus is currently clocking in at 70.8 megawarhols, though that's not adjusting for population... 07:52:02 warhol as in andy warhol? 07:53:41 -!- `^_^v has joined. 07:57:00 izalove: Warhol as in the unit 08:11:16 Take a statement of the Ship of Theseus and replace all of the words with synonyms, one by one 08:12:13 <\oren\> I still like "I AM POINTY DEATH INCARNATE" 08:34:24 ...I just heard the Ontological Argument for god... 08:34:58 ...wat 08:39:55 Wait, it was Anselm 08:40:18 Wait.. 09:32:31 -!- AnotherTest has joined. 09:40:24 ...can we say "paper authorizes removal of rock" from now on? Please? 09:41:38 -!- AnotherTest has quit (Ping timeout: 252 seconds). 09:42:24 Maybe you can say that to your Twitter account. 09:50:48 yeah fuck you we don't want your bureaucracy 09:57:04 -!- carado has joined. 10:28:42 -!- JX7P has quit (Ping timeout: 264 seconds). 10:28:51 izalove: But it's so much less stupid than "paper covers rock" 10:38:59 -!- AnotherTest has joined. 10:40:12 -!- Alcest has joined. 10:47:38 -!- AnotherTest has quit (Ping timeout: 252 seconds). 10:52:06 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 11:00:31 -!- sebbu3 has joined. 11:01:06 -!- sebbu has quit (Ping timeout: 264 seconds). 11:14:23 -!- hppavilion[1] has joined. 11:16:20 -!- fungot has quit (Ping timeout: 250 seconds). 11:34:45 -!- boily has joined. 11:45:52 `wisdom 11:45:58 finland//Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus. 11:53:59 -!- AnotherTest has joined. 12:17:25 The pirated His Dark Materials I'm ræding appears to be OCRd 12:17:42 So a lot of words are misspelled by the computer 12:18:58 With )s where there should be js and all the æs are just aes 12:19:04 And ø became o 12:19:06 Very sad 12:21:46 hppavellœn[1]. you couldn't get a printed copy? 12:24:05 boily: Not on short notice, but I will if I can 12:24:30 boily: And I need the UK editions, as the US editions are edited to remove objectionable content 12:24:34 Which I find objectionable 12:24:54 Removed objectionable content is ALWAYS more objectionable than the original content 12:26:21 It's 03:30 here 12:26:24 I have school tomorrow 12:26:28 Can't sleep 12:27:47 ah, school... 12:28:35 -!- boily has quit (Quit: DIGRAPH CHICKEN). 12:35:54 -!- copumpkin has joined. 12:38:00 -!- IRIXUser has joined. 12:38:24 -!- IRIXUser has changed nick to Guest52456. 12:38:33 -!- Guest52456 has quit (Changing host). 12:38:33 -!- Guest52456 has joined. 12:38:37 -!- Guest52456 has changed nick to JX7P. 12:53:54 -!- AnotherTest has quit (Ping timeout: 264 seconds). 13:18:30 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 13:26:53 -!- `^_^v has quit (Quit: This computer has gone to sleep). 13:43:09 -!- moonythedwarf has joined. 13:43:11 moo 13:44:34 -!- `^_^v has joined. 13:50:02 wb `^_^v 13:50:30 -!- AnotherTest has joined. 13:56:26 -!- `^_^v has quit (Quit: This computer has gone to sleep). 14:04:42 -!- AnotherTest has quit (Ping timeout: 264 seconds). 14:05:27 -!- Kaynato has quit (Ping timeout: 244 seconds). 14:31:48 -!- AnotherTest has joined. 14:32:19 -!- Kaynato has joined. 14:37:33 -!- `^_^v has joined. 14:42:00 * int-e slaps Tristan with 0.83 trouts and 0.17 blunt instruments 14:42:02 uhm 14:42:18 moo 14:44:17 (simple typing error: this channel is assigned F10; the messages was for a channel that I have assigned F11 to) 15:15:27 [wiki] [[Gravbox]] M https://esolangs.org/w/index.php?diff=49850&oldid=49832 * Moon * (-4) 15:17:25 -!- wob_jonas has joined. 15:18:29 My new home keyboard has arrived. 15:18:41 -!- oerjan has joined. 15:18:42 I'm typing from it now. I'm still not completely used to it. 15:18:56 It's a heavy and loud mechanical keyboard. 15:19:08 * moonythedwarf gives Bowserinator a cookie for helping a lazy programmmer implent Gravbox 15:19:24 x/buffer 6 15:19:31 (WD AULA blue springs keyboard for the record) 15:19:53 Very different feeling from all previous keyboards I've used. 15:27:01 -!- Kaynato has quit (Ping timeout: 272 seconds). 15:36:19 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 15:37:48 -!- wob_jonas has joined. 15:51:16 @tell hppavilion[1] There are prepositions and postpositions, but what about inpositions? circumpositions? <-- https://en.wikipedia.org/wiki/Preposition_and_postposition#Classification_by_position inpositions sound suitably weird for a conlang. 15:51:16 Consider it noted. 15:52:40 i know people who did a language solely based on inposition on a pizza brrak for a role playing game race 15:53:29 myname: like M:tG? 15:55:58 how is m:tg anything like an rpg? 15:57:04 no no 15:57:32 M:tG was invented as a quick game you could play in idle times of role playing 15:57:45 (it was duels only then) 15:57:52 myname: maybe they read "role" as "rule" :-P 16:11:55 @src == 16:11:55 x == y = not (x /= y) 16:12:08 @src /= 16:12:08 x /= y = not (x == y) 16:12:16 known fact 16:12:43 * moonythedwarf is confused 16:12:56 @src > 16:12:56 x > y = case compare x y of 16:12:56 GT -> True 16:12:56 _ -> False 16:12:57 why? 16:13:09 == uses /= and /= uses == 16:13:24 if you want to implement Eq for your class, you just need to overwrite one 16:13:35 i didnt, i was just curious. 16:13:36 and the other will automatically fit due default definition 16:16:15 @src Eq 16:16:15 class Eq a where 16:16:15 (==), (/=) :: a -> a -> Bool 16:19:50 @src [] == 16:19:50 Source not found. Just what do you think you're doing Dave? 16:19:56 @src == [] 16:19:56 Source not found. 16:19:58 :( 16:20:08 huh? 16:20:10 hm, i guess that's just the default derived one 16:20:28 myname: @src has some specific method sources too 16:20:34 @src Maybe >>= 16:20:34 Source not found. Just what do you think you're doing Dave? 16:20:40 @src >>= Maybe 16:20:40 Source not found. The more you drive -- the dumber you get. 16:20:46 or USED TO, anyway. 16:21:00 @src (>>=) Maybe 16:21:00 Source not found. Where did you learn to type? 16:21:01 @src Maybe 16:21:01 data Maybe a = Nothing | Just a 16:21:10 @src Maybe (>>=) 16:21:10 (Just x) >>= k = k x 16:21:10 Nothing >>= _ = Nothing 16:21:13 ah there 16:21:25 stupid parenthesis and _order_ sensitivity 16:21:31 *_and_ order 16:22:06 int-e: any chance of making parentheses irrelevant in @src lookups twh 16:22:30 this time, i tried all three wrong combinations first 16:22:49 I don't know 16:24:14 @src (>) 16:24:14 x > y = case compare x y of 16:24:14 GT -> True 16:24:14 _ -> False 16:24:37 in that case, it already is, but not for looking up instance methods 16:24:58 I don't know what the lookup looks like 16:25:05 @src Maybe (>>=) 16:25:05 Source not found. Do you think like you type? 16:25:10 @src Maybe(>>=) 16:25:10 Source not found. I feel much better now. 16:25:13 @src Maybe (>>=) 16:25:13 (Just x) >>= k = k x 16:25:13 Nothing >>= _ = Nothing 16:25:38 probably just a blind lookup into a Data.Map, and then again with parentheses around everything 16:25:45 +.Map 16:26:52 ah 16:31:39 37 fetch x m = M.lookup x m `mplus` 16:31:39 38 M.lookup (P.concat [P.singleton '(', x, P.singleton ')']) m 16:31:43 checks out 16:33:39 -!- nycs has joined. 16:33:44 -!- `^_^v has quit (Ping timeout: 244 seconds). 16:34:29 -!- moonythedwarf has changed nick to Eq. 16:34:41 -!- Eq has changed nick to moonythedwarf. 16:39:38 -!- JX7P has quit (Quit: Quit). 16:43:01 -!- nycs has quit (Ping timeout: 272 seconds). 16:43:34 -!- `^_^v has joined. 16:44:04 -!- AnotherTest has quit (Ping timeout: 244 seconds). 16:46:21 -!- irctc246 has joined. 16:49:47 -!- AnotherTest has joined. 16:54:09 @src ^>> 16:54:09 f ^>> a = arr f >>> a 16:55:23 @src second 16:55:23 Source not found. Just try something else. 16:55:39 @src second f = arr swap >>> first f >>> arr swap 16:55:39 where swap ~(x,y) = (y,x) 16:55:42 -!- irctc246 has quit (Ping timeout: 240 seconds). 16:55:52 int-e: there are some bugs in the source file... 16:56:09 (the above is because second is missing its key line) 17:05:49 -!- Phantom_Hoover has joined. 17:06:22 <\oren\> man i got used to looking at the borders of eastern europe in HOI4 and now maps of europe as it is today look wrong 17:06:26 <\oren\> like, hungary doesn't border ukraine, what happended? 17:07:11 <\oren\> like what happened to the end of slovakia where id wraps arond hungary 17:09:22 <\oren\> and poland is entirely too far to the west now 17:10:01 \oren\: they lost a war hth 17:11:02 <\oren\> and poland no longer even has a border with latvia 17:11:32 \oren\: basically russia got to keep their spoils from the molotov-ribbentrop pact, while germany were forced to compensate them for poland 17:11:45 *the soviet union 17:12:52 <\oren\> i see, and russia also took some of slovakia and romania as well 17:12:58 \oren\: what's HOI4? and why doesn't Hungary border Ukraine? 17:13:03 I don't understand this 17:13:35 <\oren\> Hearts of Iron 4. it's a war game that starts in 1936 17:13:41 wob_jonas: It's that game, I see people talk... right. 17:13:46 ah 17:13:51 <\oren\> so I'm now more used to seeing the old borders 17:15:10 -!- Kaynato has joined. 17:15:22 <\oren\> I played as hungary last night, and I took austria before hitler had a chance to do Anschluss and take it 17:16:15 <\oren\> the german AI doesn't seem to do very well in that situation 17:17:12 @src ,) (<*> 17:17:12 (u, f) <*> (v, x) = (u `mappend` v, f x) 17:17:31 <\oren\> but now I saw a picture of europe in a news story and it looked completely wrong 17:19:05 <\oren\> why is poland so small!?!? why is germany shaped like a peanut? 17:19:46 <\oren\> and what the heck happened to yugoslavia? 17:22:49 <\oren\> i guess it fell apart as soon as they lost tito. 17:34:22 oerjan: I knew something like that was going to happen 17:38:07 int-e: don't accept yet, i'm making an amendment for Source.hs 17:40:57 \oren\: I'm not used to 1936 maps, but I am used to 1900 maps, so I always find it strange that there are seven independent countries instead of Yugoslavia 17:42:17 Not that I'm not glad that the war ended, but the map looks so strange. 17:42:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:43:18 -!- Guest22110 has joined. 17:44:46 [wiki] [[Gravbox]] M https://esolangs.org/w/index.php?diff=49851&oldid=49850 * Moon * (+2) fixed program. 17:47:33 * moonythedwarf gives Bowserinator a giant cookie for implementing Gravbox 17:47:52 [wiki] [[Gravbox]] https://esolangs.org/w/index.php?diff=49852&oldid=49851 * Moon * (-2) Its now implented! :D 17:49:00 :D 17:49:25 Bowserinator: make a wiki account and put the SRC up somewhere. and then link to it. 17:49:27 -!- Guest22110 has quit (Changing host). 17:49:27 -!- Guest22110 has joined. 17:49:29 -!- Guest22110 has changed nick to JX7P. 17:56:29 hm travis 17:56:37 -!- Kaynato has quit (Ping timeout: 265 seconds). 17:57:30 -!- AnotherTest has quit (Ping timeout: 264 seconds). 17:57:32 -!- Reece` has joined. 18:01:52 @tell shachaf oerjan: Remind me why Belkar can float? <-- http://www.giantitp.com/comics/oots1015.html 18:01:52 Consider it noted. 18:06:33 eep 18:06:54 seems oerjan forgot to pack some strings 18:07:13 oh 18:08:44 @messes-loud 18:08:44 oerjan said 6m 52s ago: oerjan: Remind me why Belkar can float? <-- http://www.giantitp.com/comics/oots1015.html 18:09:17 Ah, right. 18:09:23 -!- DHeadshot has joined. 18:09:34 oerjan: thx tdh 18:10:48 yw 18:17:57 oh that went a lot faster 18:18:23 ah, good, second travis build was faster 18:19:14 -!- Kaynato has joined. 18:25:12 -!- AnotherTest has joined. 18:25:42 -!- Kaynato has quit (Ping timeout: 264 seconds). 18:33:33 -!- sebbu3 has changed nick to sebbu. 18:35:23 -!- Zarutian has joined. 18:44:05 -!- oerjan has quit (Quit: Later). 18:45:12 -!- JX7P has quit (Read error: Connection timed out). 18:45:30 -!- IRIXUser has joined. 18:45:53 -!- IRIXUser has quit (Changing host). 18:45:53 -!- IRIXUser has joined. 18:45:54 -!- IRIXUser has changed nick to JX7P. 18:47:08 is there a 2 dimensional "regexp" language? got to thinking the other day about how you might make text-based GUIs with a kind of 2-dimensional sed 18:47:44 have a look at "picture languages" 18:48:20 myname: ooh, thanks 18:57:15 -!- hppavilion[1] has joined. 19:16:24 -!- MoALTz has joined. 19:24:47 -!- MoALTz has quit (Quit: Leaving). 19:25:36 -!- MoALTz has joined. 19:29:05 -!- moonythedwarf has quit (Quit: WeeChat 0.4.2). 19:31:19 `quote invisible 19:31:28 35) With enough crappiness a display can show you invisible pink unicorns. \ 997) "May you live in INVISIBLE TIMES." --Old Chinese proverb. (It can look confusing when written with the proper Unicode.) 19:31:55 -!- moonythedwarf has joined. 19:32:15 -!- wob_jonas has joined. 19:32:18 I mean 1990 maps obviously. 19:32:25 is fungot here? 19:33:03 Apparently not. 19:33:35 -!- fungot has joined. 19:33:37 fizzie: May you live in INVISIBLE TIMES. 19:33:45 Thanks, I guess. 19:34:24 hm 19:34:31 May you live in DIVISION TIMES. 19:34:41 keyboard 19:34:47 `/ keyboard 19:34:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /: Is a directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /: cannot execute: Is a directory 19:34:50 `? keyboard 19:34:51 keyboard? ¯\(°​_o)/¯ 19:35:00 fizzie: May you live in TIMES WITH LEFT HALF BLACK. 19:35:28 These are great. 19:36:15 May you live in CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL. 19:36:23 whoa, ⨋ 19:36:57 what does that even mean 19:37:04 not sure 19:37:07 but i want to use it 19:37:28 ⨋_i i*x dx 19:38:34 \oren\: Working on my absurdly inflective language 19:38:40 @messages-loud 19:38:40 oerjan said 3h 47m 24s ago: There are prepositions and postpositions, but what about inpositions? circumpositions? <-- https://en.wikipedia.org/wiki/Preposition_and_postposition# 19:38:40 Classification_by_position inpositions sound suitably weird for a conlang. 19:39:22 -!- `^_^v has quit (Quit: This computer has gone to sleep). 19:39:48 \oren\: For time, I currently have 5 tenses (including null tense) and 4 types of aspect (progression, perfection, evitability, and forcing) 19:40:21 -!- moonythedwarf has changed nick to otherbot. 19:40:26 FINITE PART INTEGRAL [⨍] 19:40:39 what about suppositions... they are nasty because they don't appear anywhere in the text. 19:40:42 -!- otherbot has changed nick to jeffbot. 19:41:11 -!- jeffbot has changed nick to Guest60464. 19:41:19 int-e: Sometimes they appear in superscript. 19:41:27 -!- Guest60464 has changed nick to moonythedwarf. 19:42:11 hmm, dinnerscript 19:43:32 -!- ybden has changed nick to vmunix. 19:43:40 int-e: nah, that's called a dinner menu. you know the Larry Wall saying, the script is what you give to the actors, the program is what you give to the audience. 19:43:59 int-e: Can I get dinnerscript at a dinerscript? 19:44:06 wob_jonas: you missed a pun there, I think. 19:44:14 -!- moonythedwarf has changed nick to jefl35. 19:44:20 -!- jefl35 has changed nick to moonythedwarf. 19:44:40 (hint, because maybe it's just too awful: supper is a meal) 19:44:44 2A75 TWO CONSECUTIVE EQUALS SIGNS [⩵] 19:44:48 2A76 THREE CONSECUTIVE EQUALS SIGNS [⩶] 19:45:12 oh, as in supperscript 19:45:16 APPROXIMATELY EQUAL OR EQUAL TO [⩰] 19:45:25 -!- idris-bot has quit (Ping timeout: 244 seconds). 19:45:29 -!- trn has joined. 19:46:32 does the saying about exclamation marks also apply to equality signs? 19:46:54 issupper(meal) 19:47:26 -!- Melvar has quit (Quit: WeeChat 1.5). 19:47:42 -!- Melvar has joined. 19:48:26 Though apparently Pratchett's threshold was five: "Five exclamation marks, the sure sign of an insane mind." 19:50:08 five? whew 19:50:13 so four is safe 20:00:24 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 20:20:19 -!- Phantom_Hoover has joined. 20:21:45 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 20:43:01 -!- ais523 has joined. 20:43:15 @messa? 20:43:15 Unknown command, try @list 20:43:17 @messag? 20:43:17 Maybe you meant: messages? messages 20:43:24 oh come on :-P 20:43:26 @messagess? 20:43:26 Sorry, no messages today. 20:43:55 poor ais523 :'( 20:44:04 @tell ais523 It's okay. Have a message. 20:44:04 Consider it noted. 20:44:06 Do you want a message and/or a hug? 20:44:13 I'm OK with not having messages 20:44:13 I do1 20:44:24 less OK with lambdabot's persistent inability to understand my question 20:44:56 I'm not sentient you know? 20:45:12 Do you know how lambdabot command correction works? 20:45:39 Your string has to be either a prefix of a command or within edit distance 2 of a command. 20:46:07 I figured it was using edit distance 2 after the first two requests 20:46:20 just think that a deletion should count as less than a substitution, especially given how unlikely ? is as a typo for s 20:46:32 we need some sort of edit distance that takes qwerty into account 20:46:44 oh, the @messag? was ambiguous. 20:46:52 @botsnack 20:46:52 :) 20:47:02 @uptime 20:47:02 uptime: 6d 11m 11s, longest uptime: 1m 12d 14h 14m 14s 20:47:11 are there any esolangs which care about qwerty layout? 20:47:16 as in, not just inspired by it 20:47:21 but the key layout actually has a semantic effect? 20:47:31 (e.g. BF with q w e r t y u i as the commands doesn't count) 20:48:24 ais523: would something that is controlled by ykulnjbh or qwedcxza or wdsa or esdx or jkli count? 20:48:41 like, if it was directions in esolang, not in a game 20:48:54 IIUC, a 2d language that uses qweadzxc for nw,n,ne,w,e,sw,s,se movements would qualify? 20:48:55 -!- atrapado has joined. 20:49:16 uh 20:49:24 being redundant, as usual. 20:49:41 I'm not qure I'd allow wasd-alikes to count because it's just syntax 20:50:09 I'm wondering if there's some way to make it semantically relevant 20:50:12 wait... you want something that's not just syntax/ 20:50:14 well, what else would it be... permuting letters is just a syntactic change after all 20:50:15 how would that work? 20:50:18 wob_jonas: I don't know 20:50:30 just brainstorming 20:50:54 something like "commands can only mention more than one variable if their names are adjacent on the keyboard" 20:51:12 So any change of the keyboard layout is just a syntactic change, as far as I can make out. Unless you want an interpreter that actually queries what the current keyboard layout is and changes semantics based on that? 20:51:20 (who needs portability?) 20:51:25 like brainfuck where you move between variables near each other? 20:51:55 wob_jonas: sort of 20:52:13 say you can only do commands like "g = h + y" (because those keys form a triangle so you can mention all three variables in the same statement) 20:52:22 ideally we'd need a way to make the restriction actually matter though 20:57:00 -!- trn has quit (K-Lined). 21:05:30 -!- Reece` has quit (Ping timeout: 244 seconds). 21:16:20 -!- vmunix has changed nick to ybden. 21:20:44 * moonythedwarf gives haskell a bear hug for being so amazing 21:21:33 -!- Kaynato has joined. 21:30:09 -!- hppavilion[1] has joined. 21:30:50 -!- atrapado has quit (Quit: Leaving). 21:52:07 -!- daddle has joined. 21:52:13 -!- daddle has left. 21:52:15 -!- JX7P has left ("Leaving"). 21:56:08 `? longcat 21:56:10 longcat? ¯\(°​_o)/¯ 21:56:13 `? ceiling cat 21:56:15 ceiling cat? ¯\(°​_o)/¯ 21:58:25 -!- MDude has quit (Remote host closed the connection). 21:58:56 `? copycat 21:58:57 copycat? ¯\(°​_o)/¯ 22:03:34 [wiki] [[Talk:SPAM/1]] https://esolangs.org/w/index.php?diff=49853&oldid=38765 * Zzo38 * (+697) 22:12:09 -!- hppavilion[1] has quit (Ping timeout: 248 seconds). 22:13:10 `? cat 22:13:11 Cats are cool, but should be illegal. 22:13:17 true 22:13:25 `cwlprits cat 22:13:27 fizzie evilipse int-e ais523 oerjan elliott Roujo 22:13:39 `dowg cat 22:13:40 how does that differ from `culprits? 22:13:40 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2015-08-13 revert accbc9c5c7ec \ 2015-08-12 echo wisdom/* | shuf | head -n 10 | xargs rm \ 2014-03-16 revert \ 2014-03-16 revert 1 \ 2013-08-29 echo Cats are cool, but should be illegal. > wisdom/cat 22:13:46 ais523: Prepends wisdom/ 22:13:53 aha 22:14:20 Wasn't there a version of dowg that showed older entries first? 22:14:25 `` rgrep -li tac bin 22:14:30 bin/ploki \ bin/udcli \ bin/emmental \ bin/luac \ bin/macro \ bin/multicode \ bin/jq \ bin/seens \ bin/¿ \ bin/searchlog \ bin/gs2.py \ bin/7za \ bin/lua \ bin/tclkit \ bin/shove \ bin/units 22:15:04 Hmm, I want to call it rowg. But that's ambiguous between dowg and howg 22:15:17 `` cat bin/{h,d}owg 22:15:17 hoag "wisdom/$1" \ doag "wisdom/$1" 22:36:13 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 22:46:59 -!- augur has quit (Remote host closed the connection). 22:52:10 -!- hppavilion[1] has joined. 22:58:36 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 23:03:32 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 23:04:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:06:57 -!- Phantom_Hoover has joined. 23:10:23 -!- idris-bot has joined. 23:13:08 -!- burden-- has joined. 23:31:45 -!- MoALTz has quit (Quit: Leaving). 23:33:39 -!- augur has joined. 23:35:26 -!- DHeadshot has quit (Ping timeout: 265 seconds). 23:35:30 -!- Frooxius has quit (Quit: *bubbles away*).