00:04:22 -!- MDream has joined. 00:07:04 -!- MDude has quit (Ping timeout: 246 seconds). 00:10:59 good eeing 00:15:36 Hellu 00:15:52 gragh. my aes key expansion still isn't working 00:27:56 Are you... reimplementing AES? 00:28:06 yes. In visual basic 00:28:55 http://hastebin.com/anopomiyay.vbs 00:29:23 thats what I have so far but the key expansion is not giving the righyt output 00:30:12 I thought you were going to use existing crypto. 00:30:30 bah. 00:30:51 I'll do that if this gets too frustrating 00:31:31 what's weird is only a few of the bytes of the expanded key are wrong 00:33:00 (in the particular unit test of the key 00000000000000000000000000000000) 00:33:13 Have you checked the iteration-by-iteration key expansion examples in the standard? 00:35:50 -!- ProofTechnique has joined. 00:36:00 that's true, I should just log the same things they did and compare... 00:36:05 Helloren 00:37:56 ok never mind I had an off by one error 00:38:18 hi ProofTechnique 00:38:37 I'm making AES in Visual Basic 00:38:49 I'm sorry 00:38:51 http://arin.ga/CpcwH6 00:41:53 It working! I fix it! 00:42:18 ...on one example. I should add more unit tests 00:42:51 before counting it as "done" 00:43:35 however this is a major step towards getting the ssh to work 00:45:46 oren: Um... 00:45:58 Did you just use two different links to the same thing? 00:46:37 I want to go on the record here that despite the suggestion, I'm in no way promoting homebrew cryptography. 00:46:37 oh. whoops 00:47:00 -!- impomatic_ has joined. 00:47:02 -!- darkl0ck_ has quit (Ping timeout: 260 seconds). 00:47:15 -!- impomatic_ has quit (Client Quit). 00:48:39 -!- darkl0ck has joined. 00:57:32 -!- clog has joined. 01:01:53 -!- mauris_ has quit (Ping timeout: 256 seconds). 01:28:03 [wiki] [[Pikalang]] http://esolangs.org/w/index.php?diff=44015&oldid=41282 * 68.50.42.113 * (+26) /* Commands */ 01:29:50 [wiki] [[Pikalang]] http://esolangs.org/w/index.php?diff=44016&oldid=44015 * Grotr * (+3) /* External resources */ 01:37:35 -!- mauris_ has joined. 01:37:35 -!- mauris_ has quit (Changing host). 01:37:35 -!- mauris_ has joined. 01:45:01 I want to go on the record here that despite the suggestion, I'm in no way promoting homebrew cryptography. <-- eh, someone's gotta brew it, right? 01:45:31 -!- darkl0ck_ has joined. 01:46:59 i mean, there are presumably existing, well-tested implementations of AES for visual basic, so i think it's a bit silly to write your own, but like, if oren writes their own and tests it thoroughly as well, i see no reason to trust any existing implementation more than oren's 01:48:38 -!- darkl0ck has quit (Ping timeout: 272 seconds). 01:50:02 -!- fowl has quit (Disconnected by services). 01:50:31 -!- fowl has joined. 01:50:57 (imo i'm not a professional cryptozoologist though so what do i know! i'm definitely interested to find out if there's more to it than "this produced the same output as an existing trustworthy implementation for a couple thousand random inputs, so it's trustworthy") 01:51:30 -!- fowl has quit (Disconnected by services). 01:52:01 -!- fowl has joined. 01:56:16 -!- fowl has quit (Disconnected by services). 01:56:31 -!- notfowl has joined. 01:59:06 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 02:02:45 -!- grotewold has joined. 02:04:36 -!- notfowl has changed nick to Guest19768. 02:06:17 -!- atslash has quit (Quit: This computer has gone to sleep). 02:08:05 -!- mauris__ has joined. 02:09:51 -!- hppavilion[1] has joined. 02:11:19 -!- mauris_ has quit (Ping timeout: 246 seconds). 02:12:22 mauris__: there are other problems, relating to the trustworthiness of VB itelf. typically crypto is written in C or even assembly so the compiler hopefully can't introduce weakness 02:13:01 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:14:23 in other words just because my code looks right and produces the right output doesn't mean Microsoft's compiler or garabage collector or whatever isn't screwing you 02:21:05 -!- grotewold has joined. 02:22:02 How can I make a language which's programs are harder to hack and are more secure? 02:22:03 Well 02:22:31 1) Provide well-tested standard libraries for security (no hacky hashing for you!) 02:22:38 oren: oh, like the plaintext lingering around in memory? 02:23:07 mauris__: Yes, like that xD 02:23:33 2) Provide easy mechanisms to catch crashes so that you don't leave something open to kill it 02:24:05 -!- grotewold has quit (Client Quit). 02:24:53 3) provide a nocache storage modifier that disables disk cahing, and a zero() function that takes such a variable and zeroes it 02:25:18 -!- grotewold has joined. 02:25:20 Don't C compilers optimize stuff? 02:25:27 Which is not what you need with crypto 02:25:39 (modern compilers are known to optimize out the part of an algorithm that deletes that plaintext) 02:26:00 Sgeo: yes, which is why it needs to move to assumply 02:28:38 [wiki] [[Ingredients-Oriented Paradigm]] http://esolangs.org/w/index.php?diff=44017&oldid=44000 * Hppavilion1 * (+675) Added some stuff and rearranged 02:31:04 [wiki] [[Ingredients-Oriented Paradigm]] http://esolangs.org/w/index.php?diff=44018&oldid=44017 * Hppavilion1 * (+313) Exception Handling 02:42:27 Oooh 02:42:34 Constraint Programming looks interesting 02:42:46 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:44:13 -!- idris-bot has quit (Ping timeout: 246 seconds). 02:45:24 -!- Melvar has quit (Ping timeout: 264 seconds). 02:46:08 !tell ais523 WUUI question: "Whenever (to be precise, just after) any expression is evaluated," <-- how many expressions is, say, "x[0]/3"? 02:46:10 ais523: WUUI: question:: Whenever (to be precise, just after) any expression is evaluated,: <--: how: many: expressions: is,: say,: x[0]/3?: 02:46:21 @tell ais523 WUUI question: "Whenever (to be precise, just after) any expression is evaluated," <-- how many expressions is, say, "x[0]/3"? 02:46:21 Consider it noted. 02:46:47 `thanks EgoBot 02:47:02 Thanks, EgoBot. ThEgoBot. 02:48:18 `thanks walrusman 02:48:19 Thanks, walrusman. Thalrusman. 02:49:42 Ok, how is it even possible that I did the shift rows step wrong? 02:50:59 well that's solved, bu the output is still worng. back to the drawing beard 02:54:23 -!- Melvar has joined. 03:00:45 `thanks lllllleeeeroooooy_jenkins 03:00:45 Thanks, lllllleeeeroooooy_jenkins. Theeeeroooooy_jenkins. 03:00:53 Interesting 03:00:56 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 03:01:47 I'd like to see a Programming Language which is centred around defining abstract machines (turing, kolmogorov, FSMs, etc) and letting those evaluate for you 03:02:01 Declarative programming in a nutshell, I suppose xD 03:02:51 Anyone want to define an EsoFSM? 03:04:01 @tell hppavilion[1] you are a walrus. Fear your wrath 03:04:01 You can tell yourself! 03:04:10 @tell hppavilion[1] you are a walrus. Fear your wrath 03:04:10 You can tell yourself! 03:04:24 @clear 03:04:24 Maybe you meant: clear-auto-reply clear-messages clear-topic learn 03:06:06 -!- idris-bot has joined. 03:06:42 @help 03:06:42 help . Ask for help for . Try 'list' for all commands 03:06:49 @list 03:06:49 What module? Try @listmodules for some ideas. 03:06:55 @help list 03:06:55 list [module|command]. Show commands for [module] or the module providing [command]. 03:07:06 @list command 03:07:06 No module "command" loaded 03:07:09 @list help 03:07:09 help provides: help 03:07:18 @list list 03:07:18 system provides: listchans listmodules listservers list echo uptime 03:07:30 @list echo 03:07:30 system provides: listchans listmodules listservers list echo uptime 03:07:36 @echo "Walrus Man" 03:07:36 echo; msg:IrcMessage {ircMsgServer = "freenode", ircMsgLBName = "lambdabot", ircMsgPrefix = "hppavilion[1]!~Lordofthe@133-171-58-66.gci.net", ircMsgCommand = "PRIVMSG", ircMsgParams = ["#esoteric",":@echo \"Walrus Man\""]} target:#esoteric rest:"\"Walrus Man\"" 03:07:48 @@ 03:08:18 @tell walrus GET OUT OF MY BODY 03:08:18 Consider it noted. 03:09:09 @hppavilion[1] 03:09:09 Unknown command, try @list 03:09:17 @tell tell tell 03:09:17 Consider it noted. 03:09:38 I should stop before I make someone very powerful* angry 03:09:49 *(Not at all powerful) 03:10:59 Someone love me 03:11:43 oren b_jonas rdococ shachaf there are lonely people here 03:12:00 -!- shachaf has left. 03:13:24 So all the sub steps of AES are working perfectly, and yet the ouput is wrong?!! wtf is happenink here 03:13:43 You missed a substep perhaps? 03:13:55 Perhaps fungot does not will that you have encryption 03:13:55 hppavilion[1]: ( currycpseid a b). that means there's at the very least, they did. it's in all the shitty languages out there 03:14:19 fungot fungot fungot <-- I wonder if this prints more than one 03:14:19 hppavilion[1]: http://www.schemers.org/ documents/ standards/ fnord/ hallways/ etc? 03:14:22 Nope 03:16:42 I don't think so. In fact my main cipher() function is virtually identical to the pseudocode in the standard 03:21:20 @tell ais523 "An entire program is a single command." <-- I think you either forgot to put {} around the example program, or meant to write "list of commands" 03:21:20 Consider it noted. 03:25:06 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 03:29:51 -!- ProofTechnique has quit (Quit: Textual IRC Client: www.textualapp.com). 03:51:14 FUUUUUUUUUUUUUUU 03:51:40 -!- hppavilion[1] has joined. 03:52:11 those... assholes who wrote the standards document store their arrays with columns in sequence! 03:52:35 What kind of fucking monster does that! 03:56:36 oren: What?? 03:56:49 Which standards document? 03:57:11 fungot: You. Fungot. Fungotify. 03:57:11 hppavilion[1]: i recognize that the idea of doing them like that, it means 03:57:13 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf 03:57:40 look at page 33 how the keyis loaded into the matrix 03:58:00 er, the input 03:58:28 4 bytes of the input goes into each column 03:58:55 So I realized that the snub cube has a problem, considered as a die. 03:59:01 (Besides the fact that it's not fair.) 03:59:24 tswett: What's the problem? 03:59:33 Now, there are three classes of faces: squares; triangles adjacent to squares ("edge triangles"); and triangles not adjacent to squares ("corner triangles"). 03:59:33 (I love how the universe has continuity) 03:59:51 Every square has an opposite face. Every corner triangle has an opposite face. Edge triangles do not have opposite faces. 04:00:05 Oh... oh god 04:00:26 Each *pair* of edge triangles has an opposite pair of edge triangles, but the two pairs are at a 90 degree angle to each other. 04:01:05 So if the die lands on an edge triangle, there's no top face; there's instead a top pair of faces, where one of the middle vertices is higher up than the other one. 04:01:22 Wouldn't it be a quartet of edge triangles? 04:01:24 Wait 04:01:24 So apparently those assholes should have put a Transpose(State) at the start of their pseudocode but couldn't be bothered 04:01:26 No it wouldn't 04:02:04 So you could simply mark those "edge triangle pair middle vertices" with numbers instead of marking the edge triangles themselves with numbers. 04:02:16 That's kind of inelegant. 04:02:38 But does it have the number of sides you wanted? 04:03:05 OOOOOOOOOOh 04:03:18 I missed the "So if..." part 04:03:36 "So if the die lands on an edge triangle, there's no top face; there's instead a top pair of faces, where one of the middle vertices is higher up than the other one." 04:03:41 It does have the number of sides I want. 04:03:50 I figured that out 04:04:04 So are you going to hunt down and kill the person who suggested a snub cube? 04:04:04 I pretty much can't imagine going with a shape that's not either a snub cube or a variant of the snub cube. 04:04:23 No, I think the snub cube was a great suggestion, and I'm really grateful to whoever it was. 04:04:33 I'm just going to have to alter it a little. 04:05:48 Well I should get around to finding out what a snub cube 04:05:49 is 04:05:57 dropped a word 04:05:58 there 04:07:34 I want 3D Animated SVG 04:07:54 SVOPENGLIF if you will 04:15:44 -!- haavard has quit (Read error: Connection reset by peer). 04:16:18 -!- haavard has joined. 04:17:14 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 04:34:58 -!- mauris__ has changed nick to mauris. 04:35:11 -!- mauris has quit (Changing host). 04:35:11 -!- mauris has joined. 04:59:25 It work! 05:00:25 http://arin.ga/Gd7e6L 05:00:54 (also has my very incomplete SSH class) 05:00:58 -!- Walpurgisnacht has joined. 05:02:33 Explain what monads are in full depth from memory but very simply 05:04:10 Iv'e heard they're used as a way to encapsulate statefulness away from the pure functional code 05:04:40 Mmm 05:04:45 Sounds useful 05:08:38 However in addition Haskell represents basically all data structures as monads, for uh... reasons. 05:15:31 Walpurgisnacht: the programming definitions: they're a way to chain computations with a certain context together 05:15:55 Mmm 05:15:56 here "context" is a very vague thing, of course! 05:18:25 it can mean, "optionally not returning a value" (a -> Maybe b), or "optionally returning many values representing possibilities for some non-deterministic computation" (a -> List b), or "computations using IO" (a -> IO b) 05:19:42 in each of these, a monad is essentially some fluff that lets you chain (a -> m b), (b -> m c), (c -> m d), ... together in a way that makes sense 05:20:37 (and also, supplies an (a -> m a) computation -- one that "does nothing", but in the context in question) 05:21:08 here's a very simple computation that can fail and not return a value: 05:21:29 @let halve x = if even x then Just (x `div` 2) else Nothing 05:21:31 Defined. 05:21:41 > [halve 2, halve 3, halve 4, halve 5, halve 6] 05:21:43 [Just 1,Nothing,Just 2,Nothing,Just 3] 05:21:58 -!- hppavilion[1] has joined. 05:22:04 I see 05:22:08 How useful 05:22:10 its type is: 05:22:13 :t halve 05:22:14 Integral a => a -> Maybe a 05:22:37 okay, haskell made that confusing. but it's (Int -> Maybe Int), essentially. 05:23:13 now, suppose we want to halve a thing three times, but if we fail along the way there, return Nothing 05:23:48 we can't do: halve (halve (halve 24)) 05:24:04 because halve wants an Int, not a Maybe Int! 05:24:16 so we use the confusingly-typed: 05:24:19 :t (>>=) 05:24:21 Monad m => m a -> (a -> m b) -> m b 05:24:46 it takes the result of some computation, and the next step to pipe that value through 05:25:17 so this works: 05:25:34 > halve 24 >>= halve >>= halve 05:25:37 Just 3 05:25:47 -!- nisstyre has quit (Read error: Connection reset by peer). 05:27:00 this is much nicer than what we'd have to write otherwise: https://bpaste.net/show/898533b7f3f7 05:27:29 grfmbl 05:28:55 Walpurgisnacht: do you know what the type IO a means, in Haskell? 05:29:24 Not really I'm still pretty new with haskell 05:30:35 ok. it's roughly something like... a recipe for how to get a value of the type 'a' from the outside world 05:30:45 :t getChar -- for example 05:30:47 IO Char 05:31:29 the crucial thing to understand about these is that you can't "call" them! 05:32:14 (oh, i meant to write: "get a value of the type 'a' from the outside world, optionally doing some other stuff on the side") 05:32:35 in fact, the only one that ever gets ran is main :: IO (). 05:34:32 ah 05:34:38 when you write a Haskell program, all you're doing is describing how the steps for "main" fit together 05:35:37 you can never execute a sub-step (there is no function "IO a -> a"), only combine a bunch of them and call it "main". this is why Haskell is pure! 05:36:14 but then how do you interleave inputs and outputs to write an interactive program? 05:37:04 and as you have probably read somewhere, this "chaining steps together" stuff happens using a monad 05:38:00 oren: i'll demonstrate that in a bit 05:38:34 the type of (>>=), the "bind" combinator we used before, in the IO monad, is: IO a -> (a -> IO b) -> IO b 05:40:13 which means: 'given an IO computation that gets us an "a", and another IO computation that WOULD return a "b" if only we knew which "a" to use, combine them into an IO computation returning a "b"'. 05:40:36 the second thing (a -> IO b) might be confusing, but there's a really simple example: 05:40:38 :t readFile 05:40:39 FilePath -> IO String 05:41:03 this WOULD be an IO String, but it needs to be told which file path to read from first 05:41:07 :t readFile "foo.txt" 05:41:08 IO String 05:41:18 ^ and now it's an IO String. 05:41:45 so now we can combine two IO steps together where the second depends on the result of the first 05:41:57 :t getLine -- from standard input 05:41:59 IO String 05:42:36 :t putStrLn -- to standard output, with a dummy result () (think "void" in C-like langs) 05:42:37 String -> IO () 05:43:21 now we can write a program that reads a line and prints it by piping them together with (>>=)! 05:43:48 :t getLine >>= putStrLn -- has the right type to be "main"! 05:43:49 IO () 05:44:20 we still haven't done any line-getting or string-putting, here. we *only* described a program that does those steps in order -- the second depending on the result of the first 05:45:16 :t getLine >>= readFile >>= putStrLn 05:45:18 IO () 05:45:49 another valid program: "get a line; with the result read a file; with the result write a string." 05:47:01 :t (getLine >>= readFile) >>= putStrLn -- for clarity 05:47:03 IO () 05:48:22 a common case, of course, is that the second step doesn't depend on the first -- we simply want to put them in order 05:48:32 there's an operator for that, too: 05:48:34 :t (>>) 05:48:36 Monad m => m a -> m b -> m b 05:49:42 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 05:52:07 -!- JesseH has quit (Read error: Connection reset by peer). 05:52:42 Walpurgisnacht: oren: https://bpaste.net/show/5525a8366547 <-- here is a more complicated example 05:53:42 "\name -> blah" is a lambda. a very common pattern is: 05:54:27 someAction >>= (\foo -> ...) -- where ... is some other action that needs the result of the previous one -- which we've called "foo" 05:55:01 (in the type "IO a -> (a -> IO b) -> IO b", foo is our "a") 05:55:16 (and the whole lambda is the "(a -> IO b)") 05:57:06 oren: the program is interactive! we chain the steps "get line; print; get line; print" together to one big "main", but when it gets executed, those steps aren't necessarily done all at once; we can perform the first step without worrying about the third one. 05:58:16 now you're thinking: "that looks freaking awful. i don't want to write those pesky >>= and >> and lambdas everywhere! i just want to write my steps in order and be done with it." 05:59:57 and the Haskell people agree! there's some syntactic sugar called "do-notation" that lets you do just that: https://bpaste.net/show/7df7e88f4f6e 06:00:12 Eh. >> is ; and >>= is function composition where unlike C, the functions are written in the order they are executed 06:01:00 not so awful, just uses symbols in unorthodox ways 06:01:46 "p >> q" became "p; q" (you can put semicolons instead of newlines), and "p >>= (x -> q)" became "x <- p; q" 06:02:43 Jeeze I have a lot to learn 06:02:54 do-notation is a bit confusing, because writing "do { line <- getLine; putStrLn line }" looks a *lot* like a bit of imperative code that you can execute. but in reality it's *still* just a pretty way to describe how they fit together! 06:03:59 anyway, i'm derailing a bit. understanding do-notation is something you can worry about separately :) 06:04:07 that seems like a meaningless distiction to me. it executes when you run main, in the order you wrote it, just like in C 06:05:13 oren: That's the goal. The trick is, *not everything in Haskell works like that*. 06:05:52 The parts that aren't IO don't have to be in any order, but that is ALSO true in C with modern compilers 06:06:00 The goal is, you write imperative code, pretty much as imperative code, and then functional code as functional code. 06:07:29 Also worth noting -- IO is not the only monad. 06:07:33 You can write your own. 06:07:41 So, >> is ;, but it's a programmable ; 06:07:48 still, very nice of the Haskell makers to include an algol-derivative-mode 06:08:49 if haskell tutorials started with main = do that would make haskell much more popular 06:08:56 the goal also is: there's no way to *call* the imperative parts from the functional parts. you can only click functional parts together, or click them onto imperative parts to get bigger imperative parts 06:09:31 -!- oren has quit (Remote host closed the connection). 06:09:46 -!- oren has joined. 06:12:17 Walpurgisnacht: if you got lost at any point, feel free to point that out! 06:12:40 > let foo a = do { x <- a; return (x+1) } in foo [1,2,3] 06:12:42 [2,3,4] 06:12:54 ok 06:13:12 the "real" way to monad enlightenment is: write a lot of code for each individual monad and then see the overarching pattern, because it's very vague 06:13:47 the IO and Maybe monads do very different kinds of things in one way, but they're very similar in another! 06:14:39 (yes, a list is also a monad) 06:14:49 :t Just 1 >> Just 3 06:14:51 Num b => Maybe b 06:16:47 > Just 1 >> Just 3 06:16:49 Just 3 06:17:23 :t >>= 06:17:25 parse error on input ‘>>=’ 06:17:35 :t `>>=` 06:17:36 parse error on input ‘`’ 06:17:36 > Just 1 >>= (\valueInsideJust -> Just 3) -- equivalent 06:17:38 Just 3 06:18:13 > Just 1 >>= (\valueInsideJust -> valueInsideTheJust + 3) -- also possible, and if we don't supply a Just to start with: 06:18:15 Not in scope: ‘valueInsideTheJust’ 06:18:15 Perhaps you meant ‘valueInsideJust’ (line 1) 06:18:22 > Just 1 >>= (\valueInsideJust -> valueInsideJust + 3) -- also possible, and if we don't supply a Just to start with: 06:18:24 No instance for (Show b0) 06:18:24 arising from a use of ‘show_M889533674962114763625185’ 06:18:24 The type variable ‘b0’ is ambiguous 06:18:38 ugh. lambdabottttt 06:19:01 oh, duh. 06:19:16 > Just 1 >>= (\valueInsideJust -> Just (valueInsideJust + 3)) 06:19:19 Just 4 06:19:29 > Nothing >>= (\valueInsideJust -> Just (valueInsideJust + 3)) 06:19:30 Nothing 06:20:06 for >>= in Maybe, if we start with a failed computation, that failure gets propagated; else we continue with the result. 06:21:19 > Just "heya" >>= Just >>= Just >>= Just >>= (\x -> Nothing) >>= Just >>= Just 06:21:22 Nothing 06:21:39 if *any* of the steps go wrong, the whole chain fails 06:22:13 (Just is simply (\x -> Just x), so it's a valid right-hand operand to >>=) 06:26:06 yay, a monad tutorial 06:26:42 the thing to remember is that monads are a lot like burritos 06:39:33 here's something depressing: 06:39:38 "When the Java 8 library team was designing Optional there was some opposition to the idea that it should contain some useful methods (essentially Optional.map and Optional.flatMap) on the somewhat spurious grounds that they didn't want their Optional to be a Monad." 06:42:38 The Java team is always trying to restrict what sort of code can be written 06:45:03 they in particular loathe functions 06:53:29 why did they add lambdas then 07:01:15 how do i test if $myprogram is faster than $otherprogram if the disk io is the bottleneck? 07:01:39 -!- Walpurgisnacht has quit (Quit: Fuck me). 07:01:49 uhm, i need a fast way to generate pseudorandom crap 07:02:30 like a few gb 07:02:34 any ideas? <.< 07:03:07 -!- shachaf has joined. 07:04:08 another pleasant interjection from our clear wire friend 07:09:16 -!- oerjan has joined. 07:10:46 umtry dd if=/dev/urandom of=temp bs=1048576 count=%nunmber of megabytes% 07:11:01 -!- AnotherTest has joined. 07:12:15 that's saving it to disk 07:12:32 how do i feed it to my programs without disk being the bottleneck? 07:14:18 -!- zadock has joined. 07:15:05 prog Great repository names are short and memorable. Need inspiration? How about strident-rutabaga. <-- sorry, but my heart long since decided on "reactive banana" hth 07:15:36 -!- zadock has quit (Remote host closed the connection). 07:16:41 wait yours doesn't exist, cheater! 07:17:01 -!- PinealGlandOptic has quit (Ping timeout: 244 seconds). 07:17:39 i must admit that reactive banana is memorable 07:23:32 `` cc $'#include \n#include \nmain() { srand(time(0)); for(;;) putchar(rand()); } | dd of=/dev/null bs=1M count=1K 07:23:33 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 07:23:38 `` cc $'#include \n#include \nmain() { srand(time(0)); for(;;) putchar(rand()); } | dd of=/dev/null bs=1M count=1K 07:23:40 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 07:23:41 Oops 07:25:33 well thanks 07:25:35 `` cc $'#include \n#include \nmain() { srand(time(0)); for(;;) putchar(rand()); }' | dd of=/dev/null bs=1K count=100K 2>&1 07:25:43 102400+0 records in \ 102400+0 records out \ 104857600 bytes (105 MB) copied, 6.6342 s, 15.8 MB/s 07:25:47 That's unusually slow 07:26:10 i wouldn't say "unusually"... 07:27:03 you're throwing away most of the data you get from rand and you're printing one character at a time 07:32:05 `` cc $'#include \n#include \nmain() { char buf[4096]; for(;;) fwrite(buf, sizeof buf, 1, stdout); }' | dd of=/dev/null bs=4K count=100K 2>&1 07:32:11 102400+0 records in \ 102400+0 records out \ 419430400 bytes (419 MB) copied, 5.78028 s, 72.6 MB/s 07:33:38 Oh, syscall overhead 07:33:50 -!- stalem has joined. 07:33:50 `` cc $'#include \n#include \nmain() { char buf[1<<20]; for(;;) fwrite(buf, sizeof buf, 1, stdout); }' | dd of=/dev/null bs=1M count=1K 2>&1 07:33:52 dd: warning: partial read (4096 bytes); suggest iflag=fullblock \ 469+555 records in \ 469+555 records out \ 782241792 bytes (782 MB) copied, 0.911976 s, 858 MB/s 07:34:02 `` cc $'#include \n#include \nmain() { char buf[1<<20]; for(;;) fwrite(buf, sizeof buf, 1, stdout); }' | dd iflag=fullblock of=/dev/null bs=1M count=1K 2>&1 07:34:04 1024+0 records in \ 1024+0 records out \ 1073741824 bytes (1.1 GB) copied, 1.17474 s, 914 MB/s 07:50:45 putchar() doesn't really print "one character at a time" unless you specifically get an unbuffered stream. 07:52:11 well there's the function call overhead 07:52:58 And HackEgo's performance characteristics aren't probably very good if you're looking for something "normal", since UML. 07:53:21 what's that cc ? 07:55:03 -!- AnotherTest has quit (Ping timeout: 252 seconds). 07:55:42 `cat bin/cc 07:55:44 ​#!/bin/sh \ echo "$@" | sed 's/\\/\n/g' >/tmp/a.c && gcc -w -Wfatal-errors -std=c11 -O2 /tmp/a.c -o /tmp/a.out && /tmp/a.out 07:56:18 -!- PinealGlandOptic has joined. 07:59:20 that's pretty convenient 08:00:21 I don't like it using a useless temporary file for the source. 08:00:43 !show tell 08:00:43 sh xargs printf "%s: "; sed 's/.*# *//g' interps/$1 08:01:01 fizzie: what would you have it use instead? 08:01:38 * stalem suddenly remembers show n tell 08:02:10 i'm not sure we have/had that in norway 08:02:27 be glad you didn't/don't 08:02:59 `` sed -I 's{>/tmp/a.c &&}{|};s|/tmp/a.c|-x c -|' bin/cc 08:03:00 sed: invalid option -- 'I' \ Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... \ \ -n, --quiet, --silent \ suppress automatic printing of pattern space \ -e script, --expression=script \ add the script to the commands to be executed \ -f script-file, --file=script-file \ 08:03:11 `` sed -e 's{>/tmp/a.c &&}{|};s|/tmp/a.c|-x c -|' bin/cc 08:03:12 sed: -e expression #1, char 37: unterminated `s' command 08:03:13 i don't even get the whole point of it. 'look at my stuff, this is what i own'? 08:03:22 ugh 08:03:44 `` sed -e 's,>/tmp/a.c &&,|,;s|/tmp/a.c|-x c -|' bin/cc 08:03:44 ​#!/bin/sh \ echo "$@" | sed 's/\\/\n/g' | gcc -w -Wfatal-errors -std=c11 -O2 -x c - -o /tmp/a.out && /tmp/a.out 08:03:57 `` sed -i -e 's,>/tmp/a.c &&,|,;s|/tmp/a.c|-x c -|' bin/cc 08:04:00 No output. 08:05:56 stalem: wikipedia suggests it's to "teach public speaking", which is admittedly something no one ever taught me afair. 08:06:04 `cc #include \ main(){puts("you ok?");} 08:06:06 you ok? 08:06:08 so maybe i should regret we didn't have it 08:06:17 I'd use that instead. 08:06:43 fizzie: haha good point! 08:07:15 oerjan: that's a pretty valid reason, but then again i must be the exception to the rule or that system doesn't work 08:07:34 imo there are far better ways to teach public speaking than showing off material things your parents got you 08:09:17 -!- AnotherTest has joined. 08:12:49 Our `cc is much less convenient than ##c's candide's ,cc, which does all kinds of intelligent stuff, like having an automated list of includes, handling #include without manual newlines, wrapping a main automatically if not present (even extracting other functions out of the wrapper if you have mixed functions and code), supporting input, automatically printing local variables and the last ... 08:12:55 ... statement's value if you don't output anything, and so on and so forth. 08:12:58 I mean, compare `cc #include \ int main(void) { printf("%zu", sizeof (int)); } vs ,cc size_t s = sizeof (int); which adds includes, wraps in main and auto-prints s. 08:13:24 how is candide implemented? 08:13:24 fizzie: you should improve it twh 08:14:00 @tell hppavilion[1] I should stop before I make someone very powerful* angry <-- maybe too late, according to /whois, walrus has a redhat cloak. 08:14:00 Consider it noted. 08:14:02 I don't think we need all of that, but maybe I could add the "automatically include standard headers" + main-wrapping parts. 08:14:15 `cat bin/cc 08:14:16 ​#!/bin/sh \ echo "$@" | sed 's/\\/\n/g' | gcc -w -Wfatal-errors -std=c11 -O2 -x c - -o /tmp/a.out && /tmp/a.out 08:14:34 ashl: Huge gobs of Perl parsing code with regexps + lots of plumbing to run the stuff in a separate qemu VM. 08:14:42 :| 08:14:52 Oh, and gdb for the "print locals and last statement" parts. 08:15:16 (You can also call into gdb from the code, to e.g. print types and such.) 08:15:34 Can't we just have candide join this channel? 08:15:42 That's what we do with all the other bots. 08:16:21 fizzie: `interp's cc already does a lot of that stuff, doesn't it? 08:16:34 `! cc printf("hi") 08:16:34 ​/hackenv/bin/!: 4: exec: ibin/cc: not found 08:16:40 `! gcc printf("hi") 08:16:40 ​/hackenv/bin/!: 4: exec: ibin/gcc: not found 08:16:47 `! c printf("hi") 08:16:50 hi 08:17:13 oerjan: Badly, but it does make an attempt, yes. 08:18:31 It broke for some things, although I don't exactly remember what. 08:20:04 `! c main(){ printf("%d", f(42)); } /* at least for this, though I guess you quite rarely need an explicit main */ 08:20:06 Does not compile. 08:20:20 It's supposed to try to compile both with and without the wrappings, but there was something wrong about that. 08:20:27 Oh, and the error messages are atrocious. 08:21:21 yes, what's wrong is that gcc these days supports putting essentially anything inside main, so the test for an error doesn't work 08:21:43 and there's no option to disable this 08:22:31 ! c main(){ printf("%d", f(42)); } 08:22:39 !c main(){ printf("%d", f(42)); } 08:22:42 Does not compile. 08:22:45 Oh, I forgot the f() in there. 08:22:50 Well, *that* wouldn't compile anyway. 08:22:56 (It was left from an earlier test.) 08:23:06 !c main(){ printf("%d", 42); } 08:23:07 42 08:23:15 Huh, would you look at that. 08:23:19 `! c main(){ printf("%d", 42); } 08:23:21 42 08:23:22 Although it's still probably using the wrapper. 08:23:44 Also I have no idea how to use preprocessor directives with !c, since I don't know how to make a newline in it. 08:23:45 maybe we found some workaround that i've forgotten 08:24:56 doesn't it also use the \n trick 08:25:48 !c #include \n int main(void) { printf("%zu", sizeof (int)); } 08:25:48 No output. 08:26:08 !c int main(void) { printf("%zu", sizeof (int)); } 08:26:09 No output. 08:26:20 `! c #include \n int main(void) { printf("%zu", sizeof (int)); } 08:26:22 4 08:26:31 apparetnly not 08:28:05 Yeah, I remember getting "No output." from it quite often. 08:29:10 !help 08:29:10 shachaf: I do !zjoust; see http://zem.fi/bfjoust/ for more information. 08:29:10 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 08:29:36 is zemhill__ still broken 08:29:43 !zjoust [] 08:29:43 shachaf: "!zjoust progname code". See http://zem.fi/bfjoust/ for documentation. 08:29:51 !zjoust hi [] 08:30:08 Doesn't look so good. 08:30:09 looks like 08:31:06 "SyntaxError: Unexpected end of input" on the web. Should probably look into fixing it. 08:31:23 spot of the SyntaxError, governor? 08:32:35 "shachaf.hi" did end up in the hill log. 08:32:49 * oerjan does an oots spot check 08:32:58 Maybe I'll just restart it. 08:32:59 n`olist 08:33:06 -!- zemhill__ has quit (Remote host closed the connection). 08:33:23 bfjoust@selene:~/bfjoust$ ./zhillbot.rb hill 08:33:23 /usr/bin/env: ruby: No such file or directory 08:33:31 `? twh 08:33:32 twh would help, but is an hth derivative. hth. twh. hand. 08:33:55 fizzie: someone stole your precious minerals? 08:34:34 oerjan: what's your latest olist predicton 08:34:45 i predict 1002 hth 08:34:55 oerjan: I'm confused. There's no sign of ruby on the system, but it's worked before. 08:35:03 fizzie: fiendish 08:35:34 are you sure you didn't move servers 08:37:12 -!- Patashu has joined. 08:38:20 oerjan: this vampire gaze thing seems p. powerful 08:38:21 I'm pretty sure, because I just ^c'd the bot and tried to run the same command from the bash history. 08:38:35 oerjan: apparently the only thing you can do is succeed in a will save 08:38:48 so maybe the vampire will keep using it every turn until it works 08:38:50 I did upgrade Debian releases, I think it lost ruby 1.9 and I had explicitly asked for that, so it didn't install 2.1 instead. 08:38:54 would make for a good storyline 08:41:36 oerjan: whoa whoa whoa, running water is anti-vampire 08:41:50 On the positive side, in the meanwhile the matrix library I was using (that kepts segfaulting etc.) has graduated from version numbers 0.0.x to 0.2.0, which maybe might make it not crash any more. 08:42:40 -!- zemhill has joined. 08:43:02 !zjoust hi [] 08:43:03 fizzie.hi: points -31.05, score 3.57, rank 47/47 08:43:13 Well, that was easy. 08:43:35 yay 08:43:51 I remember spending hours and doing a really crazy distcc trick to get the matrix lib installed on the previous server, because it didn't have enough memory to compile the native parts. 08:44:06 At least this one has fully half a gig. 08:44:19 That's, like, one sixth of my phone's RAM. 08:45:26 fancy 08:45:57 Your phone has 3GB RAM? 08:46:00 shachaf: i keep wondering if anything could happen to free the trapped real durkon 08:46:25 who's to say what's real hth 08:46:28 -!- hppavilion[1] has joined. 08:46:31 shachaf: I think so, yes. It seems like a strange but popular number. 08:46:40 Wikipedia claims it does. 08:46:55 Is it a Nexus 6? 08:46:59 Surprisingly, yes. 08:47:25 and also i'm still wondering if the other priests will assist somehow 08:47:40 Although people at work have been recommending we'd explicitly not get Nexus devices for normal phone use, because our alpha test population is really skewed compared to the rest of the world. 08:48:01 huh? 08:48:05 and the freak probability of belkar showing up once more 08:49:17 What was the 'huh?' about? 08:49:31 hm, i never found that azure city new year celebration 08:49:43 ? 08:51:16 oh hm maybe... 08:53:06 right there http://www.giantitp.com/comics/oots0315.html 08:54:25 ? 08:55:13 ! 08:57:45 not sure what you're getting at twh 09:00:25 -!- shikhin has quit (Read error: Connection reset by peer). 09:00:29 -!- heddwch has quit (Read error: Connection reset by peer). 09:00:29 -!- FireFly has quit (Read error: Connection reset by peer). 09:00:44 shachaf: the calendar thing 09:01:02 ah 09:01:06 -!- heddwch has joined. 09:01:36 what about it 09:03:42 oerjan: whoa whoa whoa, http://www.giantitp.com/comics/oots0326.html 09:03:48 evidence that the world won't be destroyed 09:03:54 well still not much. it doesn't exactly say how long after solstice it is 09:04:41 -!- shikhin has joined. 09:04:47 -!- FireFly has joined. 09:08:21 shachaf: OKAY 09:10:14 oerjan: hmm, durkon still needs to return home posthumously 09:10:23 so it seems unlikely that he'd be resurrected 09:10:43 though i suppose you could count everything as posthumous, even after resurrection 09:10:50 hm 09:11:36 but he also needs to bring death and destruction when he returns home 09:11:43 all signs point to vampire 09:14:34 ^8ball vampire 09:14:34 No. 09:14:39 Sorry, that sign doesn't 09:15:00 what death and destruction 09:15:38 i do not recall that part. 09:15:57 that was the prophecy in book 0 09:16:14 now available for the first time in digital pdf format from gumroad 09:16:15 hth 09:16:34 Do you get a cut or something? 09:16:59 ^8ball 09:16:59 No. 09:17:21 admittedly it wasn't an oracle prophecy in particular 09:17:25 i will have none of your fake prophecies 09:18:12 i shall define canon as "only what i don't need to pay for" hth 09:18:53 [wiki] [[SPBCL]] N http://esolangs.org/w/index.php?oldid=44019 * Notjohnconway * (+1815) Created page with "'''Simple program-based computing language''' (SPBCL) is a Turing-complete [[esoteric programming language]] developed by [[User:Notjohnconway]] that are based off of the simp..." 09:19:27 oerjan: what about all the time investment hth 09:20:13 not relevant to my bank account hth 09:20:39 -!- rdococ has quit (Read error: Connection reset by peer). 09:32:22 -!- rdococ has joined. 09:32:22 -!- rdococ has quit (Read error: Connection reset by peer). 09:33:23 GG prediction: finding that doctor will require Agatha to go to martellus's grandmother's party 09:35:57 ^8ball is this always No. 09:35:57 No. 09:36:13 fungot: thanks for clearing that up. 09:36:14 oerjan: well, except fnord ( heh) hi yome! how's going the work on threading in gambit, but i prefer things to be potentially confused about. introduce it only after you are certain that they are not 09:37:21 -!- mauris_ has joined. 09:37:21 -!- mauris_ has quit (Changing host). 09:37:21 -!- mauris_ has joined. 09:40:24 -!- rdococ has joined. 09:40:36 -!- mauris has quit (Ping timeout: 264 seconds). 09:46:01 -!- mauris has joined. 09:46:02 -!- mauris has quit (Changing host). 09:46:02 -!- mauris has joined. 09:49:07 -!- mauris_ has quit (Ping timeout: 246 seconds). 10:00:35 how do I ask git to tell me the names of config files it uses? 10:04:17 -!- mauris_ has joined. 10:07:31 -!- mauris has quit (Ping timeout: 244 seconds). 10:28:20 -!- rdococ_ has joined. 10:28:37 -!- rdococ has quit (Read error: Connection reset by peer). 10:36:57 -!- rdococ_ has quit (Ping timeout: 244 seconds). 10:37:44 -!- rdococ has joined. 10:42:30 -!- rdococ has quit (Ping timeout: 260 seconds). 10:46:15 -!- rdococ has joined. 10:46:21 -!- fowl has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.). 10:46:59 -!- Guest19768 has changed nick to fowl. 10:47:02 -!- fowl has quit (Changing host). 10:47:02 -!- fowl has joined. 10:47:02 -!- fowl has quit (Changing host). 10:47:02 -!- fowl has joined. 10:53:00 ^8ball is completely deterministic. 10:53:00 No. 10:53:13 ^8ball And I mean more by that than just saying it's always no. 10:53:13 Yes. 10:53:20 There we go. 10:53:29 Anecdotally, it seems a bit no-biased. 11:01:15 -!- heddwch has quit (Read error: Connection reset by peer). 11:01:22 -!- heddwch has joined. 11:03:18 ^8ball Yes. 11:03:19 Yes. 11:03:22 ^8ball No. 11:03:23 Yes. 11:03:40 i detect a unique fixpoint hth 11:09:38 -!- atslash has joined. 11:14:12 -!- atslash has quit (Ping timeout: 255 seconds). 11:15:07 -!- atslash has joined. 11:27:26 ^8ball has a Maybe answer? 11:27:27 No. 11:28:01 can i pipe arguments to `c? and if so how? 11:28:50 e.g. `c main(args){...} | args... 11:29:05 There's no `c -- there's !c and `cc. 11:29:08 i don't think so. 11:29:13 I don't think either supports command line arguments. 11:29:14 -!- Phantom_Hoover has joined. 11:29:17 Or standard input, for that matter. 11:29:21 They could easily, though. 11:29:35 you have gcc itself, anyway. 11:30:23 Candide ,cc lets you do -input=[...] at the end of the line, and the rest of the line will become the stdin. If not specified, stdin reads from `fortune`. 11:30:24 hmm i thought `c was used earlier today, as short notation for `cc, but maybe that was !c? 11:30:57 Discounting spaces, digits, punctuation etc. (because all these letter frequency tables omit them), it looks like the ^8ball yes/no distribution should be 56.832% vs. 43.168% biased against one or another. 11:31:28 EgoBot's !c supports standard input if you use the !addinterp mechanism. 11:31:38 or should, at least. 11:31:39 hm ok tyfh 11:32:25 there's a lot of commands and options and fun in this channel 11:32:25 stalem: that was probably `! c which is a port from EgoBot to HackEgo 11:32:33 my brain is going to overload 11:32:39 oic 11:33:23 ^thanks bots 11:33:23 Thanks, bots. Thots. 11:33:52 That's a port of `thanks from HackEgo to fungot. 11:33:52 fizzie: uh, sorry, i'll give you that 11:34:07 fungot: No, no, it's cool. 11:34:07 fizzie: i can fnord on?" fnord fnord" fnord" fnord worried that there were more 11:34:15 hah, soon i'm gonna need to write down a cheat sheet 11:34:16 fungot: You seem to be fnording on quite well. 11:34:16 fizzie: hey bitwize :) good luck :) yeah, well, hrmm. i don't 11:35:32 -!- oerjan has quit (Quit: Later). 11:35:34 `thanks hanks 11:35:35 Thanks, hanks. Thanks. 11:36:37 hm so we have two bots, having multiple commands doing the same thing 11:36:43 ^thanks tanks 11:36:43 Thanks, tanks. Thanks. 11:36:44 Yes. 11:37:01 fun! 11:37:11 Some of them were added as backups when one or the other bot was down/away. 11:37:11 ^thanks tom thanks 11:37:11 Thanks, tom thanks. Thom thanks. 11:37:45 ah yes, backups are always a good option i reckon 11:37:56 ^prefixes 11:37:57 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 11:37:58 `prefixes 11:37:59 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 11:38:01 !prefixes 11:38:02 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 11:38:12 it'd be fun getting them to talk to eachother 11:38:18 damn that's quite a handful 11:38:36 Of those, thutubot, metasepia, blsqbot probably aren't here any more. 11:38:40 the bots prefix messages with a zero width nonbreaking space 11:38:48 myname: Well, some of them. 11:39:02 E.g. fungot doesn't, it just has a hardcoded ignore list. 11:39:02 fizzie: be a dear and pass on a multiple-values value in a range of ways to make the wings grow, i heard the name. 11:39:06 ^ignore 11:39:06 ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti|metasepia|ruddy|preflex|evalj|idris-bot|passwordBOT|jconn|applybot|blsqbot|fnordbot)! 11:39:14 Botloops are a proud tradition of the channels. 11:39:28 wtf passwordBOT? 11:39:30 nice 11:40:20 That ignore list is even more out of date. 11:40:58 well, there's really no reason to clean it up innit? 11:41:09 No, I just keep appending to it. 11:41:15 and if nothing else, it can serve as a piece of nostalgia 11:41:25 ^ignore 11:41:38 (imagine list here) 11:41:39 It's an owner-only command, since it also allows modifying it. 11:41:42 aaah the good old times 11:41:44 It's technically not a list, it's a single regex. 11:41:58 a regex with a list of matches? 11:42:04 regex consisting* 11:42:11 Yes. So I guess it's still a list. 11:42:26 hm but now you got me thinking is it really? 11:42:41 -!- llue has quit (Ping timeout: 250 seconds). 11:42:46 Hard to say. The ! is part of the regex, and certainly not list-like. 11:42:51 isn't it more of a boolean expression? or maybe it doesn't become that until the items are matched against the test string 11:43:20 i think you were right the first time; it's simply just a regex! 11:51:15 -!- jix has quit (Remote host closed the connection). 11:52:54 -!- jix has joined. 12:20:04 -!- Patashu has quit (Ping timeout: 272 seconds). 12:28:05 -!- ais523 has joined. 12:39:08 -!- rdococ has quit (Changing host). 12:39:08 -!- rdococ has joined. 12:47:06 -!- Frooxius has quit (Quit: *bubbles away*). 12:58:27 -!- Frooxius has joined. 13:00:05 -!- ais523 has quit (Quit: meeting). 13:19:30 -!- `^_^v has joined. 13:47:04 -!- J_Arcane has left. 13:47:31 -!- rdococ has quit (Read error: Connection reset by peer). 13:47:42 -!- rdococ has joined. 13:47:42 -!- rdococ has quit (Changing host). 13:47:42 -!- rdococ has joined. 13:54:46 -!- rdococ_ has joined. 13:54:47 -!- rdococ has quit (Read error: Connection reset by peer). 13:54:49 -!- rdococ_ has quit (Changing host). 13:54:49 -!- rdococ_ has joined. 13:54:56 -!- rdococ_ has changed nick to rdococ. 13:59:42 -!- grotewold has joined. 14:00:17 -!- grotewold has quit (Max SendQ exceeded). 14:01:54 -!- grotewold has joined. 14:02:30 -!- grotewold has quit (Max SendQ exceeded). 14:03:04 -!- TieSoul has joined. 14:04:05 -!- grotewold has joined. 14:04:40 -!- grotewold has quit (Max SendQ exceeded). 14:06:18 -!- grotewold has joined. 14:07:50 -!- TieSoul has quit (Ping timeout: 260 seconds). 14:08:35 -!- TieSoul has joined. 14:09:13 -!- rdococ has quit (Read error: Connection reset by peer). 14:27:00 -!- TieSoul has quit (Remote host closed the connection). 15:06:15 ^8ball Yes. 15:06:15 Yes. 15:06:18 ^8ball No. 15:06:18 Yes. 15:06:38 ^8ball vampire 15:06:38 No. 15:06:40 ^8ball 15:06:40 No. 15:06:44 ^8ball hth 15:06:44 No. 15:07:33 I think that the ^8ball command is completely deterministic. 15:08:07 Indeed, I know for a fact that the ^8ball command is completely deterministic if and only if the Riemann hypothesis is true. 15:08:12 Hth. 15:10:51 deterministic with respect to what inputs? 15:21:45 -!- x10A94 has joined. 15:23:25 -!- JesseH has joined. 15:32:19 -!- AnotherTest has quit (Ping timeout: 260 seconds). 15:34:39 ^8ball Am I Taneb? 15:34:39 No. 15:34:47 huh 15:34:49 ^8ball Am I Taneb? 15:34:49 No. 15:34:55 Also huh 15:42:20 ^8ball did Taneb invent the 8ball? 15:42:20 No. 15:42:30 There you go 15:42:40 ^8ball Or did Taneb invent the 8ball? 15:42:40 Yes. 15:43:03 I just remembered... it uses the parity of the length of the input string. 15:43:40 -!- MDream has changed nick to MDude. 15:44:25 So, the Riemann hypothesis is true? 15:44:46 It depends on how you ask, and how much meaning you attach to fungot's answers... 15:44:46 int-e: when i go out to dinner with me? 3 messages in 36 seconds is too many.' will always be than o(1) vector access? 15:44:58 fungot: deep 15:44:58 int-e: i find both topics fnord expect more topics like befunge than sex/ gender/ tg ones... 15:45:05 fungot: never mind 15:45:05 int-e: something like 3 euros. 15:45:15 -!- TieSoul has joined. 15:45:58 -!- int-e has set topic: The fnord never strikes twice in the same phrase | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ | http://esolangs.org/. 15:48:47 it's always a nice surprise when your code doesn't do what you expected, but the results are great anyway http://imgur.com/a/JDEar#3 15:49:30 * stalem goes on to turn it into a proper gif 15:52:54 fungot: what do you think, is it a good idea? 15:52:54 stalem: are we trying to do with the repl? why does it take to get scheme48 support :) then i love it 15:53:15 fungot: glad to hear 15:53:16 stalem: ( i.e. flatt)) is cadr 16:08:39 `olist 1002 16:08:40 olist 1002: shachaf oerjan Sgeo FireFly boily nortti 16:20:43 -!- TieSoul_ has joined. 16:23:38 -!- TieSoul has quit (Ping timeout: 260 seconds). 16:23:46 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 16:26:41 -!- hppavilion[1] has joined. 16:26:58 -!- grotewol_ has joined. 16:28:15 -!- grotewold has quit (Read error: Connection reset by peer). 16:30:28 -!- hppavilion[1]_ has joined. 16:31:24 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 16:31:53 -!- grotewol_ has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 16:37:34 fungot: do you enjoy coffee? 16:37:34 stalem: nothing should be imposed upon other programmers due to the negative connotations associated with the word made ( though whether or not an rdbms, you're going to release next cfunge very soon. 16:37:51 fungot: whoa ok nvm i asked 16:37:51 stalem: which gets executed from the ram, spamd, mysqld and apache eat the rest argument list? 16:47:51 -!- APic has quit (Ping timeout: 265 seconds). 16:48:34 Google has a new logo 16:48:37 I do not like it 16:48:39 -.- 16:48:45 They should've consulted me first 16:50:34 i find i'm quite ambivalent towards it. at least it's modern 16:51:56 plus nowadays their doodles are quite entertaining 16:52:10 like the minimoog one on moog's birthday iirc 16:55:15 -!- Slereah__ has quit. 16:55:59 `quote natural numbers 16:56:01 395) god created the natural numbers, the rationals were done by man and the work was finally completed (topologically) by satan himself 16:57:24 `quote kronecker 16:57:25 No output. 16:58:09 -!- grotewold has joined. 16:58:11 -!- atslash has quit (Quit: This computer has gone to sleep). 16:59:18 ("God made the integers, all else is the work of man." - Leopold Kronecker) 16:59:41 (But of course he didn't say it in English. Are translated quotes still quotes?) 17:00:20 -!- hppavilion[1]_ has quit (Ping timeout: 244 seconds). 17:01:28 `quote never 17:01:29 6) what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. \ 57) ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i" \ 123) Never ever use a quot 17:02:05 `quote never ever 17:02:06 123) Never ever use a quote which contains both the words "aloofness" and "gel" (verb). \ 560) never ever do bacon floats or i will hunt you down and kill you augh my leg 17:05:45 -!- TieSoul_ has changed nick to TieSoul. 17:27:02 -!- quietello has quit (Remote host closed the connection). 17:40:30 -!- oerjan has joined. 17:41:52 -!- atslash has joined. 17:46:00 ^8ball Am I Taneb? 17:46:00 No. 17:46:04 ^8ball Am I tswett? 17:46:04 Yes. 17:46:19 ^8 Are you Taneb? 17:47:06 `quote translated 17:47:07 1174) pippi långstrump's name is translated as "gilgi" or "bilbi" usually Does she have a ring of power? 17:47:21 `quote onion 17:47:22 No output. 17:47:38 power she has. if it's from a ring she hides it well. 17:48:30 ^8ball Are you Taneb? 17:48:30 No. 17:48:45 The fact that there are no quotes about onions is flamingly unacceptable. 17:49:39 oerjan: new olist hth 17:53:52 tdnh i've got logs 17:54:38 tswett: does it bring tears to your eyes? 17:56:27 lumberjan 17:56:36 fungot: EgoBot! 17:56:36 oerjan: sounds odd. i can't use 17:56:53 oh wait it has to be first in the privmsg 17:57:35 ^8ball sines point to 17:57:35 Yes. 17:58:04 ^8ball signs point to 17:58:04 Yes. 17:58:20 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 17:58:35 i guess the oracular geometry is the same, regardless of spelling 17:59:22 the first one is oracular trigonometry 18:00:52 -!- grotewold has joined. 18:01:28 I just remembered... it uses the parity of the length of the input string. <-- i don't think it's length... 18:01:35 ^8ball yes 18:01:35 Yes. 18:01:39 ^8ball yet 18:01:40 No. 18:05:52 ah looks like the priests won't be helping. 18:05:59 -!- Thisbe has joined. 18:08:11 oerjan: oh, http://www.giantitp.com/comics/oots0874.html is the other honorable soul thing i was looking for hth 18:13:16 -!- APic has joined. 18:18:05 -!- bb010g has joined. 18:29:47 -!- atrapado has joined. 18:32:59 idea: esoteric chat protocol. character encoding should be ita2 (with NUL) padding. thought about having even stuff like backspaces sent real-time, but then discovered ITA2 has no backspace/DEL char 18:33:34 `? nortti 18:33:35 nortti boy. very nortti boy. 18:33:36 -!- hppavilion[1]_ has joined. 18:33:55 * puckipedia remembers something like that 18:33:57 lol 18:34:01 (as in, the idea from nortti) 18:34:31 also thought about limiting communication to half-duplex so it could be implemented over some rather fun systems, and having either all clients in a network, or just servers, be connected in a ring topology 18:34:54 so, if one drops, all communication dies 18:35:11 Hellu 18:35:17 -!- hppavilion[1]_ has changed nick to hppavilion[1]. 18:35:44 so you cannot add clients? 18:36:08 you can, but you must have two other clients agree to add you between them, and a network downtime 18:36:30 i like it 18:37:42 sending realtime together with token ring would basically make using it impossible 18:37:49 how do you deal.with that? 18:38:01 ^8ball x 18:38:02 No. 18:38:03 ^8ball xx 18:38:03 No. 18:38:12 tswett: spoiler it's parity 18:38:21 Of the sum of the characters or something? 18:38:24 Yes. 18:38:52 myname: maybe have it have something like "block channel until message has been sent" or like? 18:38:57 ^8ball Does this work by finding the parity of the character sum? 18:38:57 Yes. 18:39:08 ^8ball Does this work by finding the parity of the sum of characters? 18:39:09 Yes. 18:39:18 Hey, let's get these out of the way. 18:39:26 ^8ball Does he love me? 18:39:26 Yes. 18:39:29 ^8ball Does she love me? 18:39:29 No. 18:39:32 nortti: maybe a ring without a token may be possible 18:39:35 ^8ball Do they love me? 18:39:35 No. 18:39:40 ^8ball Does it love me? 18:39:40 Yes. 18:39:52 ^8ball Does ey love me? 18:39:52 No. 18:39:53 ^8ball Is the answer to this question "No"? 18:39:53 No. 18:40:03 ^8ball Do I love me? 18:40:03 Yes. 18:40:07 ^8ball Do we love me? 18:40:07 No. 18:40:12 ^8ball Do you love me? 18:40:12 Yes. 18:40:56 Now for the SGNPPs. 18:41:25 ^8ball Does e love me? 18:41:25 Yes. 18:41:29 ^8ball Does hu love me? 18:41:29 Yes. 18:41:36 ^8ball Does peh love me? 18:41:36 Yes. 18:41:39 ^8ball Does per love me? 18:41:39 Yes. 18:41:44 ^8ball Does thon love me? 18:41:44 Yes. 18:41:52 ^8ball Does jee love me? 18:41:53 No. 18:41:53 it's basically only a matter of time until somebody writes a script to reformulate sentences to get the desired answer 18:41:59 ^8ball Does ve love me? 18:41:59 Yes. 18:42:01 ^8ball Does xe love me? 18:42:01 Yes. 18:42:06 ^8ball Does ze love me? 18:42:06 Yes. 18:42:08 ^8ball Does zhe love me? 18:42:08 Yes. 18:42:10 stop it 18:42:10 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 18:42:13 Done. 18:42:32 you forgot ree 18:42:32 Man, there are a lot of SGNPPs. 18:43:12 so basically every "even" letter is neutral 18:43:41 -!- grotewold has joined. 18:43:51 but "s" is not even, so "he" is better than "she" 18:44:21 yeah. also, 0 seems to be no 18:44:31 hence the missing difference between x and xx 18:45:05 so "she" should be no 18:45:13 ^8ball she 18:45:13 No. 18:45:18 great 18:46:33 ^8ball ? 18:46:33 Yes. 18:46:45 relevant 18:47:15 ^8ball she? 18:47:16 Yes. 18:47:49 -!- Sprocklem has quit (Ping timeout: 244 seconds). 18:48:22 so no script necessary. if you don't get the answer you want, add another ? 18:48:33 indeed 18:48:51 ^8ball Are you sure? 18:48:51 Yes. 18:49:09 *Sigh* 18:49:10 so, you ask that with two question marks and you are fine 18:49:11 No one is on 18:49:30 ^8ball Why? 18:49:30 Yes. 18:49:42 ^8ball 18:49:42 No. 18:49:49 -!- Phantom__Hoover has joined. 18:49:50 ^8ball 18:49:50 No. 18:50:05 well, space is 32 18:50:56 ^8ball ​ 18:50:56 Yes. 18:51:13 `unidecode ​ 18:51:13 ​[U+200B ZERO WIDTH SPACE] 18:51:57 hth 18:52:00 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 18:52:04 it's pretty hard to type, though 18:52:19 i like the question mark better 18:58:45 -!- zzo38 has joined. 19:01:15 -!- `^_^v has quit (Ping timeout: 265 seconds). 19:02:14 -!- `^_^v has joined. 19:11:39 -!- atslash has quit (Quit: This computer has gone to sleep). 19:18:10 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 19:22:57 https://play.google.com/store/apps/details?id=com.onemanband.thesequence looks like it qualifies as a bullying automaton 19:25:31 [wiki] [[J--]] http://esolangs.org/w/index.php?diff=44020&oldid=43931 * Oerjan * (+281) wikify 19:33:03 remind me what distinguishes a bully automaton from a ca 19:33:28 [wiki] [[Hack VM]] http://esolangs.org/w/index.php?diff=44021&oldid=43524 * Oerjan * (-2784) Undo revision 43524 by [[Special:Contributions/Phase|Phase]] ([[User talk:Phase|talk]]) (Copyvio: I can find no evidence the web page is public domain) 19:34:16 [wiki] [[Special:Log/delete]] revision * Oerjan * Oerjan changed visibility of revisions on page [[Hack VM]]: Copyright violation 19:35:48 Phantom__Hoover: iirc a bully automaton can have long-distance effects in one step 19:36:09 and by 'long' you mean 'unbounded', right? 19:36:38 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[Jolf]]": Author request: content before blanking was: "A planned [[pyth]] variant in pure javascript for code golfing. --[[User:JayCampbell|JayCampbell]] ([[User talk:JayCampbell|talk]]) [[Category:Languages]] [[Category:2015]] [[Category:Unimplemented]]" 19:36:53 well obviously 19:38:50 [wiki] [[ℒight]] http://esolangs.org/w/index.php?diff=44022&oldid=43528 * Oerjan * (+6) add some required darkness 19:42:21 -!- stalem has quit (Ping timeout: 246 seconds). 19:43:29 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=44023&oldid=44009 * Oerjan * (+0) /* Partially Silly Ideas */ grm 19:46:08 -!- TieSoul_ has joined. 19:47:07 -!- TieSoul has quit (Ping timeout: 260 seconds). 19:50:19 -!- TieSoul_ has changed nick to TieSoul. 19:50:38 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[K]]": Copyright violation: Most of the content from the KONA Github. Also, not technically esoteric. 19:51:48 am i going to have to double check Phase's edits... 19:56:33 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 20:00:35 -!- grotewold has joined. 20:02:11 [wiki] [[User talk:Phase]] http://esolangs.org/w/index.php?diff=44024&oldid=43328 * Oerjan * (+479) /* Copyright */ new section 20:02:33 -!- Phantom_Hoover has joined. 20:04:23 -!- mauris_ has changed nick to mauris. 20:04:55 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds). 20:13:12 -!- bb010g has quit (Quit: Connection closed for inactivity). 20:15:57 [wiki] [[Tangle bracket language]] http://esolangs.org/w/index.php?diff=44025&oldid=43566 * Oerjan * (+10) case, rephrase 20:16:04 -!- AnotherTest has joined. 20:17:12 -!- Thisbe has quit (Ping timeout: 244 seconds). 20:28:30 -!- x10A94 has quit (Read error: Connection reset by peer). 20:28:45 -!- heddwch has changed nick to chikhin. 20:28:52 -!- chikhin has changed nick to heddwch. 20:37:16 -!- ProofTechnique has joined. 20:37:21 -!- atslash has joined. 20:41:18 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 20:41:45 -!- atslash has quit (Ping timeout: 250 seconds). 20:42:41 -!- atslash has joined. 20:47:43 -!- hppavilion[1] has joined. 20:53:25 -!- hppavilion[1] has quit (Ping timeout: 246 seconds). 20:54:12 -!- APic has quit (Ping timeout: 250 seconds). 20:58:37 -!- TieSoul has quit (Read error: Connection reset by peer). 21:01:57 Question on notation. Who or what introduced the notation in mathematical formulas where simultanously the bitwise and operator is written as & and the bitwise xor operator is written as ⊕ ? 21:02:40 I don't know 21:02:52 This is used in, I believe, Knuth volume 4, and Warren: Hacker's delight, 21:05:00 and I like the idea, because it puts together the strengths of two notation: the one from C where they're written as & and ^ resp, and the old one where they're written as ∧ and ⊕, or ∧ and ∧overline resp. 21:05:09 What's the unicode for ∧overline? 21:05:18 -!- ProofTechnique has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 21:05:46 hmm wait, maybe it's not ∧overline, but something similar 21:06:05 let me look it up 21:06:39 -!- Patashu has joined. 21:08:40 ok, whatever, so ∧ and ⊕ 21:09:01 ?messages-loud 21:09:01 shachaf asked 1d 14h 30m 32s ago: Have any improvements been made to Potion of Confusing since I last played it? 21:09:24 shachaf: I am not sure actually 21:10:43 -!- hppavilion[1] has joined. 21:16:43 My new Dungeons&Dragons character has both blindsense and darkvision. The rules about blindsense says that it cannot be used to read stuff, does not subject you to gaze attacks, does not remove concealment miss chance, and that you do not generally have to make a Spot or Listen check to notice something that you cannot see, but some things are not explained including interaction with spells and with objects/creatures behind you and so on. 21:22:44 zzo38: does he also have normal vision? 21:22:58 Yes 21:23:02 And also low-light vision 21:23:06 boring 21:23:15 behind you? 21:23:25 does D&D even have such a thing 21:24:43 The way we play it can matter. 21:25:18 One D&D game I'm in the DM forgot that most of the party could see in the dark 21:25:36 Just to be sure, low-light vision just means good eyes with large lens so it's more sensitive to low light, darkvision is some sort of active light-based sensing that lets you see in what would be pitch black but in a way similar to vision (possibly somewhat lower frequencies), and blindsense is what many eyeless creatures have so they can tell where to attack even if you're not adjacent, right? 21:25:51 All character have normal vision too by default. It seems unusual to have both blindsense and darkvision, as everything else I have checked in the book does not have both, but the rules seems to say that my character does have both 21:26:20 b_jonas: I don't know actually 21:26:25 zzo38: are there many monsters that have both blindsense and normal vision in first place? 21:26:36 b_jonas: I don't know that either. 21:27:02 I thought blindsense was mostly for eyeless monsters, though they _could_ coexist if you really want to. 21:27:57 I know that darkvision does not let you to see colors and does not work in magical darkness, but it does subject you to gaze attacks, and I expect allows reading too. You can still see colors in daylight though 21:28:20 zzo38: I think that's because darkvision works in the infrared frequency range 21:28:24 so the colors are very different 21:28:37 -!- Sgeo_ has joined. 21:28:39 Yes, I thought of that too 21:28:58 -!- Phantom__Hoover has joined. 21:29:10 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 21:30:07 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 21:30:22 Taneb: That almost had happened once I think, although it was a game where I was the only player (no other players are available) and none of the NPCs in my party could see in dark 21:30:31 -!- Sgeo has quit (Ping timeout: 246 seconds). 21:31:04 maybe darkvision just lets you detect the thermal emissions in some of the near infrared range 21:31:12 dunno 21:31:31 Darkvision seem clearly enough in this game. 21:32:36 The limitations of blindsense aren't quite clear enough though, although it says some things, such as you cannot read and miss chance for concealment still applies. 21:33:52 But I would assume, blindsense can still be used while blindfolded but darkvision does not work while blindfolded 21:35:37 -!- oerjan has quit (Quit: leaving). 21:35:45 zzo38: yes, I think darkvision is in your eyes, blindsense is on most of whole skin 21:36:02 or most of the body surface, whatever it's made of 21:36:16 or... I dunno for incorporal monsters 21:37:19 zzo38, the DM was had a great idea for this horrifying session 21:37:23 And it was a great idea 21:37:30 It says blindsense allows noticing things that you cannot see, and can be based on such thing as hearing and smell and so on 21:37:34 Taneb: What idea is that? 21:37:36 Do you know? 21:37:39 Yeah 21:38:07 Very dark mansion, with something attacking us and running away before we could work out what it was 21:38:30 But because the barbarian and paladin could both see in the dark, it was like "Oh, it's a minotaur" 21:38:45 Which is still frightening, when you're level 2 21:38:50 But not actually horrifying 21:38:55 In quite the same way 21:40:20 Turns out the minotaur was someone wearing a cursed helmet 21:40:36 Which I almost wound up with 21:42:11 Well, I did wind up with it 21:42:14 I almost put it on 21:42:21 And had to struggle to get rid of it 21:43:06 -!- Patashu has quit (Ping timeout: 240 seconds). 21:43:33 -!- Phantom_Hoover has joined. 21:43:43 -!- Phantom__Hoover has quit (Ping timeout: 250 seconds). 21:43:49 -!- AnotherTest has quit (Ping timeout: 246 seconds). 21:43:57 -!- `^_^v has quit (Quit: This computer has gone to sleep). 21:44:46 -!- ProofTechnique has joined. 21:45:29 Taneb: ah right... I think the rule in nethack is that minotaurs can wear helmets of soft materials (eg. leather or cloth), but not of hard materials (metal or wood), because of their horns 21:46:00 still, a minotaur with a helmet sounds strange to me 21:46:11 wouldn't that make it difficult for him to use his horn? 21:46:13 oh right, cursed 21:46:21 he doesn't _want_ to wear it, probably 21:46:54 b_jonas, it was a polymorph curse 21:47:10 ouch! 21:47:33 I mean, D&D has some pretty nasty cursed equipment, even ones that are worse than that, but still 21:47:48 does it at least polymorph you to something that can wear a helmet? 21:48:00 No, into a minotaur 21:48:02 i'd be fine being a minotaur 21:48:17 ah, specifically a minotaru 21:48:22 with its horns covered 21:48:24 interesting 21:52:20 It's got some mental cursey things too 21:52:36 iirc the horns were part of the helmet 21:52:37 A minotaur is a large size though, sometimes it mean you cannot fit somewhere else 21:53:00 zzo38: exactly, and you can't fit in your body armor 21:53:02 So it can sometimes cause problems. 21:53:12 which can _really_ hurt some characters who rely on it 21:53:19 for others, it won't matter 21:54:02 There are many kind of curses and I have had some of my own kind of idea too 21:54:24 zzo38: can you tell some? 21:55:17 One I have seen in a book though is that a hit by a blessed crossbow bolt instantly kills whoever wears this item (this does not prevent the item from being removed normally though). 21:55:50 -!- stalem has joined. 21:55:52 But one of my idea can be, like in many computer game, a cursed item being worn cannot be removed; it must be uncursed or destroyed in order to remove it, but otherwise it is normal item. 21:56:40 zzo38: how do you identify such a curse? 21:56:46 like, that crossbow bolt one 21:56:48 But I thought of a further variant of that; in addition, the curse also improves the item's durability while it is being worn, making it more difficult to destroy (although the improved durability can be an advantage too, it can also be disadvantageous) 21:57:42 b_jonas: The one with crossbow I expect only if you can figure it out with a spell or something like that, or if you create the item with the curse so that in case anyone steals it you can kill them with a blessed crossbow bolt. 21:59:03 zzo38: if you created such a thing, wouldn't you make it so you can kill them with a use-once password instead? or would that cost more to create? 22:00:08 I don't know; possibly. 22:01:09 But even if they can identify it, then they might not know that you have a crossbow, and maybe you also have a spell or something else to protect you from a crossbow 22:01:20 zzo38: one of the curses that I like is one that reverses the magic of the item from an advantage to a drawback, eg. a ring of protection that would normally give you +2 AC is cursed so it gives you -2 AC, but if it's rare enough kind of magic, it can be cheaper to uncurse that ring than to acquire a new similar uncurse ring. 22:02:39 someone who has ready access to uncurse spells could even trap their own magic items, so that if they're removed from their inventory, they're cursed. then if someone steals them or takes them in a battle, they're cursed, but their magic isn't lost, he can uncurse them if he gets them back. 22:04:51 -!- grotewold has joined. 22:05:18 There are also many curses listed in Arms and Equipment guide which includes the one with the crossbow mentioned above; another, for items that must be activated, is sometimes it uses up two charges instead of just one; sometimes both charges functions but sometimes only one charge function and one is wasted 22:06:51 Another idea is a flaw that you can select, if you select this one then magic item don't work so well for you, such as only one wearable magic item at a time and activated magic items have a 5% chance to fail each time it is activated, and -2 to Use Magic Device. 22:08:35 zzo38: there's also vain items, ones that don't let you use other items of the same class while they're in your inventory (or at least gives a high penalty when you're using them), eg. a cursed sword that doesn't let you use other melee weapons, so if you meet the one kind of monster against which the sword doesn't work well, you have a problem 22:09:06 This is easiest for weapons, because many characters want to have two weapons with them. 22:09:55 If it does not also have a curse to prevent you from removing it, then you could try to throw it out, but then you won't have it anymore 22:10:23 zzo38: sure, but you might meet multiple monsters at once 22:10:30 if you throw it out, something could happen with it 22:10:31 Yes that is possible 22:11:54 Munchkin has a sword that I think is somewhat overpowered, which has only one drawback, namely that you can't fight an octopus with it (you must run away if you meet one) 22:12:02 or squid or something 22:12:07 some very rare kind of monster 22:13:02 -!- atrapado has quit (Quit: Leaving). 22:13:41 This seems a very weak drawback compared to other equipment with a comparable bonus. Those other equipment typically take up too many slots (eg. they're two-handed or large) or are restricted to a class or race. 22:16:59 There's also something like that backwards, a vorpal sword that insta-kills monsters whose names start with "J". 22:17:53 Another kind of curse, for activated items only, can be when activated you take -2 AC for 1 minute, or something like that. 22:18:15 could work, sure 22:18:26 -!- Froox has joined. 22:18:33 a worse version is one that paralyzes you for some time after you activate it 22:18:54 Yes, although either way the effect otherwise still works 22:19:10 -!- Frooxius has quit (Ping timeout: 246 seconds). 22:23:27 is there any utf8 expert here? 22:23:39 izabera: What is it that you need? 22:24:03 well i have 4 different wc's (one of which i wrote) that report 4 different number of utf8 characters for the same file 22:24:37 i can think of many reasons why that would happen 22:24:48 izabera: I would just not count bytes in the range 0x80 to 0xBF, that is a simple way 22:25:29 well that's chopping away a lot of characters 22:25:38 what? 22:26:20 Some flaws given in this book include: Feeble = -2 to Str/Dex/Con ability checks and skill checks; Frail = -1 HP per level; Inattentive = -4 Listen, -4 Spot; Meager Fortitude = =3 Fortitude; Noncombatant = -2 melee attack roll; Slow = half of your base land speed; Vulnerable = -1 AC. 22:26:54 I would want to make up some of my own too, one which make you cannot use magic items so effectively, is one of my idea. 22:26:58 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 22:27:20 zzo38: some would argue that \x61 \xCC \x81 is one UTF-8 character á 22:28:00 Some would argue that wc would be expected to count code points. 22:28:27 it's all really messy! why are people so interested in "the length of a string" anyway imo 22:28:55 I would expect you should need a different program for counting codepoints as for counting bytes anyways, such as "wcutf8" instead of just "wc" can be used. 22:28:56 `` printf '\x61\xCC\x81' | wc -m 22:28:56 2 22:29:45 `` unidecode $(printf '\x61\xCC\x81') 22:29:46 ​[U+0061 LATIN SMALL LETTER A] [U+0301 COMBINING ACUTE ACCENT] 22:30:35 Maybe "wc -m" is also locale-specific though; it seem that with C locale it is 3 22:31:03 But you could also use "utftovlq 18 | wc -c" to count UTF-8 codepoints. 22:31:07 izabera: Anyway, zzo38's method succeds in counting code points because all UTF-8 code point encodings are either (a) one byte between 0x00..0x7f, or (b) multiple bytes, of which exactly one (the first one) is 0xc0 or higher. 22:31:29 -!- grotewold has joined. 22:31:40 i'll try 22:32:50 do i have to include 0x80 and 0xBF ? 22:32:55 i mean do i count them? 22:33:17 No you do not count them 22:33:28 ok thanks 22:33:35 All bytes 0x80 up to 0xBF inclusive are not counted. 22:33:45 this method breaks for invalid utf-8 strings, but honestly, what doesn't? 22:34:50 Yes, although if it is invalid then what you have to do depend much on what you are trying to make anyways, so it doesn't matter here. 22:34:57 Use separate program to verify if you need it 22:35:37 now soothe your souls with https://vimeo.com/138247957 , my way of friday fun 22:36:00 that broke everything 22:36:40 -!- Froox has quit (Ping timeout: 244 seconds). 22:37:44 import sys; print(len(sys.stdin.buffer.read().decode('utf-8'))) # wcutf8.py 22:38:05 -!- Phantom__Hoover has joined. 22:38:19 Yes that is another way, if you are using Python 22:38:21 please use something like that instead of a nasty byte-level hack :< 22:38:58 (oh yeah, it's python 3, specifically; i don't think it will work on python 2) 22:39:25 I just used "utftovlq 18 | wc -c" to count UTF-8 codepoints, it is a hack too but can use an existing program (although not a common one; it is one I wrote) 22:39:46 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 22:42:16 -!- Froox has joined. 22:44:06 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 22:46:17 Also how much memory would your Python program use though? 22:48:58 oh, .read() does make a big byte string, probably a bad idea for very huge files 22:50:26 -!- hppavilion[1] has joined. 22:50:30 -!- APic has joined. 22:50:44 Test 22:50:47 So 22:50:51 oren: You on? 22:50:54 Yes it is why, I used the other way instead. 22:51:28 What is why you used what other way instead of what? 22:51:38 It is a program I wrote for a different purpose but now we can use for this purpose too. 22:51:48 hppavilion[1]: See the recent logs in case you do not know the context 22:54:43 zzo38: I'm finding the logs hard to read 22:54:57 Can you just give me a brief description of what you're making? 22:55:09 I got the rest of it from what I did read 22:56:04 Counting how many UTF-8 character of input. 22:56:39 I used "utftovlq 18 | wc -c" since it is program I already have. 22:57:36 ( ⌒‿⌒) 22:57:36 (input):1:1: error: expected: ":", 22:57:36 dependent type signature, 22:57:36 end of input 22:57:36 ⌒‿⌒) 22:57:36 ^ 23:00:18 Ah 23:10:04 (shachaf: i don't think this scow idiom exists outside of "things shachaf says on irc" :( are they remarkably shitty boats?) 23:10:28 I didn't invent it. 23:10:42 maybe it's from hebrew twei 23:10:43 But the origin is related to https://en.wikipedia.org/wiki/Garbage_scow 23:10:50 tdnei 23:11:18 "the scow of X" means something like "the worst specimen of X" 23:11:29 Something can be a scow, or it can just be scow. Or utter scow. 23:11:45 I shouldn't be saying this in a logged channel. 23:12:01 Don't want it in Google search results. 23:12:04 Oh well, too late. 23:12:35 Then program the robots.txt of the logs to not be use with Google, if that is how you want 23:12:56 I'm not the one keeping the logs. 23:13:57 i found one result on google for "the scow of" that i *think* uses it in that sense, from the 50s 23:14:21 Unlikely. That sense was invented in 2013 as far as I know. 23:16:13 where'd you pick it up from? (also is this stuff top secret, twewydwiigsr) 23:17:22 -!- grotewold has joined. 23:19:47 -!- |f`-`|f has quit (Ping timeout: 256 seconds). 23:20:56 -!- |f`-`|f has joined. 23:22:04 -!- lemurian has joined. 23:27:19 good eevning 23:28:05 hppavilion[1]: I'm home now 23:28:19 Hi 23:28:33 So 23:28:41 I brought this up a few days a go 23:28:44 *ago 23:28:56 But I don't /think/ I ever got an answer 23:29:10 If one were to create a language in which one can define a potentially infinite FSM 23:29:16 Could that language be TC? 23:29:26 Just the FSM generated by the language, I mean 23:29:44 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 23:30:15 do you know what the F in FSM stands for 23:31:48 also, that sounds plausibly TC, yeah, every possible tape state for a TM corresponding to a state in the state machine 23:32:07 mauris: flying hth 23:32:43 -!- Froox has quit (Quit: *bubbles away*). 23:34:41 mauris: Oh right xD 23:37:31 -!- Wright has joined. 23:46:18 -!- ProofTechnique has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 23:46:26 mauris: It's "Finite", right? 23:46:35 "Finite Spaghetti Monster" 23:50:30 So 23:50:39 BANCStar is the worst thing ever invented 23:52:11 [wiki] [[Graph rewriting]] N http://esolangs.org/w/index.php?oldid=44026 * Hppavilion1 * (+112) Created Page 23:52:45 [wiki] [[Graph rewriting]] M http://esolangs.org/w/index.php?diff=44027&oldid=44026 * Hppavilion1 * (+0) Fixed a link 23:55:18 No one on? 23:55:20 :,( 23:56:49 -!- Phantom__Hoover has quit (Ping timeout: 252 seconds). 23:57:13 just me, but i was just about to head to sleep 23:57:26 "Rewriting denotes a form of computation where a data structure is replaced by a modified form of itself, sometimes repeatedly." 23:58:04 that sounds vague! i mean isn't that all computations on a tape ever, in a way 23:59:29 -!- Phantom_Hoover has joined.