←2016-09-25 2016-09-26 2016-09-27→ ↑2016 ↑all
00:00:37 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller")()
00:00:37 <otherbot> null
00:00:50 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.callee")()
00:00:50 <otherbot> undefined
00:01:02 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Object.keys(this)")()
00:01:02 <otherbot> []
00:01:08 <zzo38> You need "arguments.callee" and not "Function.callee"
00:01:19 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()
00:01:19 <otherbot> [Function]
00:01:26 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")().toString()
00:01:26 <otherbot> 'function anonymous() {\nreturn arguments.callee\n}'
00:01:32 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()()
00:01:32 <otherbot> [Function]
00:01:38 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()().toString()
00:01:38 <otherbot> 'function anonymous() {\nreturn arguments.callee\n}'
00:01:42 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")()
00:01:42 <otherbot> undefined
00:01:54 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor")()
00:01:54 <otherbot> [Function: Function]
00:02:04 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')")()
00:02:04 <otherbot> [Function]
00:02:06 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')")()()
00:02:06 <otherbot> {}
00:02:11 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')()")()
00:02:11 <otherbot> {}
00:02:46 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return global")
00:02:46 <otherbot> [Function]
00:02:47 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return global")()
00:02:48 <otherbot> [ReferenceError: global is not defined]
00:03:15 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return this;")()
00:03:15 <otherbot> undefined
00:03:26 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this');")()
00:03:27 <otherbot> [Function]
00:03:29 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this');")()()
00:03:29 <otherbot> {}
00:03:32 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this')();")()
00:03:32 <otherbot> {}
00:03:46 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return this.constructor('return this');")()()
00:03:46 <otherbot> [TypeError: Cannot read property 'constructor' of undefined]
00:03:58 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("this.constructor.constructor('return this');")()()
00:03:58 <otherbot> [TypeError: (intermediate value)(...) is not a function]
00:04:05 <zzo38> Note you can also change the code that runs inside of the sandbox by replacing "(x=>x.constructor.constructor)" with something else.
00:04:07 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("this.constructor.constructor('return this');")()
00:04:07 <otherbot> undefined
00:04:25 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("new this.constructor.constructor('return this');")()
00:04:25 <otherbot> undefined
00:04:31 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return new this.constructor.constructor('return this');")()
00:04:31 <otherbot> [Function]
00:04:34 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return new this.constructor.constructor('return this');")()()
00:04:34 <otherbot> {}
00:04:49 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (new this.constructor.constructor('return this'))();")()
00:04:49 <otherbot> {}
00:05:15 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))(""return (this.constructor.constructor('return (this.process.mainModule.constructor._load)')())"")()
00:05:15 <otherbot> [SyntaxError: missing ) after argument list]
00:05:20 <zzo38> (My purpose of doing that was just to show that the return value is the sandbox's Function and not the outside's Function, since the value passed is a primitive.)
00:05:32 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (this.constructor.constructor('return (this.process.mainModule.constructor._load)')())")()
00:05:32 <otherbot> [TypeError: Cannot read property 'mainModule' of undefined]
00:05:41 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (this.constructor.constructor('return (this)')())")()
00:05:41 <otherbot> {}
00:06:30 -!- heroux has quit (Ping timeout: 264 seconds).
00:06:57 -!- heroux has joined.
00:07:19 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return ({}.constructor.constructor('return (this)')())")()
00:07:19 <otherbot> {}
00:09:26 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Object.keys(arguments)")()
00:09:26 <otherbot> []
00:09:38 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")()
00:09:38 <otherbot> undefined
00:10:04 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.caller")()
00:10:05 <otherbot> null
00:10:13 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()
00:10:14 <otherbot> [Function]
00:10:19 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.caller")()
00:10:19 <otherbot> null
00:10:41 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments")()
00:10:41 <otherbot> {}
00:10:43 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments")(1)
00:10:43 <otherbot> { '0': 1 }
00:10:44 <HackEgo> [wiki] [[Al Dente]] M https://esolangs.org/w/index.php?diff=49769&oldid=46227 * CatIsFluffy * (+72) fixed gap in spec
00:11:24 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")()
00:11:24 <otherbot> undefined
00:12:32 <HackEgo> [wiki] [[Al Dente]] M https://esolangs.org/w/index.php?diff=49770&oldid=49769 * CatIsFluffy * (+62) Examples page link
00:14:19 <evilvoid> what was the last message I sent?
00:17:30 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller?arguments.caller:arguments.callee()")()
00:17:30 <otherbot> [RangeError: Maximum call stack size exceeded]
00:17:55 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{new Error()}catch(e){return e}")()
00:17:55 <otherbot> undefined
00:18:09 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e}")()
00:18:10 <otherbot> [ReferenceError: x is not defined]
00:18:25 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.constructor.constructor}")()
00:18:25 <otherbot> [Function: Function]
00:18:32 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.constructor.constructor('return this')}")()
00:18:32 <otherbot> [Function]
00:18:35 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.constructor.constructor('return this')}")()()
00:18:35 <otherbot> {}
00:18:39 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.constructor.constructor('return this')()}")()
00:18:39 <otherbot> {}
00:18:49 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.stack}")()
00:19:03 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e}")()
00:19:03 <otherbot> [ReferenceError: x is not defined]
00:19:07 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e.stack}")()
00:19:18 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return Object.keys(e)}")()
00:19:18 <otherbot> []
00:19:31 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error}")()
00:19:32 <otherbot> [SyntaxError: Unexpected token }]
00:19:35 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error")()
00:19:35 <otherbot> { [Function: Error]
00:19:35 <otherbot> captureStackTrace: [Function: captureStackTrace],
00:19:36 <otherbot> stackTraceLimit: 10 }
00:19:51 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error.constructor")()
00:19:51 <otherbot> [Function: Function]
00:22:38 -!- hppavilion[1] has joined.
00:23:40 <zzo38> If the code inside of the sandbox is not a arrow function but is a proper function then it may also leak "this"; you can specify the this value yourself (such as undefined) if called by Reflect.apply instead.
00:23:42 <evilvoid> what I sent last?
00:24:27 <evilvoid> The issue is that when you want to inject some helper functions
00:24:41 <evilvoid> Like your own math things
00:25:56 <zzo38> Yes, I know. That is why I suggested things such as: sandbox.func1=vm.runInContext("(x=>y=>{ "use strict"; if(typeof y!=="number") throw new TypeError(); else return x(y);)")(my_math_function) for example (before executing any untrusted code in the sandbox)
00:26:23 <zzo38> Actually that is not quite right. Here it is: sandbox.func1=vm.runInContext("(x=>y=>{ "use strict"; if(typeof y!=="number") throw new TypeError(); else return x(y);)",sandbox)(func1);
00:26:27 <evilmoon> sounds like what math.js did
00:26:40 <evilvoid> I broke math.js
00:27:04 <zzo38> (Also the quotation matching is wrong of course)
00:27:47 <eviljeff> -eval throw new TypeError(NaN)
00:27:47 <otherbot> [TypeError: NaN]
00:27:50 <eviljeff> :D
00:27:52 <eviljeff> oh btw, it works no
00:27:53 <eviljeff> *now
00:28:03 <eviljeff> the whole stacktrace doesn't get printed 'cause of updated nodejs
00:28:21 <zzo38> Just to ensure that func1 returns and/or throws only primitives, to make it more safe
00:32:16 -!- carado has quit (Ping timeout: 260 seconds).
00:33:42 -!- moonythedwarf_ has joined.
00:34:06 -!- evilmoon has quit (Ping timeout: 264 seconds).
00:34:39 -!- moonythedwarf_ has changed nick to evilmoon.
00:35:44 <evilmoon> oom
00:36:14 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:Function.calee()")()
00:36:14 <otherbot> [TypeError: Function.calee is not a function]
00:36:17 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:Function.callee()")()
00:36:18 <otherbot> [TypeError: Function.callee is not a function]
00:36:23 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:argument.callee()")()
00:36:23 <otherbot> [ReferenceError: argument is not defined]
00:36:26 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:arguments.callee()")()
00:36:26 <otherbot> [RangeError: Maximum call stack size exceeded]
00:36:37 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:arguments.callee(1)")()
00:36:37 <otherbot> [RangeError: Maximum call stack size exceeded]
00:36:46 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments[0]?Function.caller:arguments.callee(1)")()
00:36:47 <otherbot> null
00:45:54 <evilmoon> `unidecode Σ0o²
00:45:55 <HackEgo> ​[U+03A3 GREEK CAPITAL LETTER SIGMA] [U+0030 DIGIT ZERO] [U+006F LATIN SMALL LETTER O] [U+00B2 SUPERSCRIPT TWO]
00:47:46 <eviljeff> `unidecode ‮
00:47:47 <HackEgo> ​[U+202E RIGHT-TO-LEFT OVERRIDE]
00:48:05 <eviljeff> `unidecode
00:48:09 <HackEgo> U+000F <control> \ UTF-8: 0f UTF-16BE: 000f Decimal: &#15; \ \ Category: Cc (Other, Control) \ Bidi: BN (Boundary Neutral)
00:49:04 <evilmoon> eviljeff: how do i type that?
00:49:11 <eviljeff> evilmoon: idk
00:49:20 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("x=function(x){return this;}; return x()")()
00:49:20 <otherbot> { x: [Function] }
00:49:38 <evilmoon> wow did i do it right?
00:49:41 <evilmoon> ):
00:49:45 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("x=function(x){return this.constructor;}; return x()")()
00:49:45 <otherbot> [Function: Object]
00:49:50 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("x=function(x){return this;}; return x()")()
00:49:50 <otherbot> { x: [Function] }
00:50:08 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return !function(x){return this;}()")()
00:50:08 <otherbot> false
00:50:15 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this;})()")()
00:50:15 <otherbot> {}
00:51:14 <evilmoon> -eval bot.sendMsg(chan,"wow did i do it? \u202D")
00:51:14 <otherbot> wow did i do it? ‭
00:51:15 <otherbot> undefined
00:51:20 <evilmoon> -eval bot.sendMsg(chan,"wow did i do it? \u000F")
00:51:20 <otherbot> wow did i do it?
00:51:21 <otherbot> undefined
00:51:23 <evilmoon> ):
00:52:09 <hppavilion[1]> (Does anybody treat natural as {0, 1, 2, ...} and whole as {1, 2, ...}? Or is it only ever the other way around?
00:52:38 <evilmoon> other way around
00:52:47 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (1,eval)('this')")()
00:52:47 <otherbot> {}
00:52:59 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\use strict"\"; return (1,eval)('this')")()
00:52:59 <otherbot> [SyntaxError: Unexpected token ILLEGAL]
00:53:12 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\"; return (1,eval)('this')")()
00:53:12 <otherbot> {}
00:53:14 -!- boily has joined.
00:53:22 <evilmoon> helloily
00:53:34 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\"; return (1,eval)('global')")()
00:53:34 <otherbot> [ReferenceError: global is not defined]
00:55:58 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return uneval(this);})()")()
00:55:58 <otherbot> [ReferenceError: uneval is not defined]
00:56:05 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this;})()")()
00:56:05 <otherbot> {}
00:56:15 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("'use strict';return (function(x){return this;})()")()
00:56:15 <otherbot> undefined
00:56:56 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})('return this')()")()
00:56:56 <otherbot> [Function]
00:57:03 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})('return this')()()")()
00:57:03 <otherbot> undefined
00:57:08 <boily> evilmhelloon!
00:57:13 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})()('return this')")()
00:57:14 <otherbot> [Function]
00:57:17 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})()('return this')()")()
00:57:18 <otherbot> {}
00:57:25 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})()('return global')")()
00:57:26 <otherbot> [Function]
00:57:30 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})()('return global')()")()
00:57:30 <otherbot> [ReferenceError: global is not defined]
00:57:38 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this.constructor.constructor;})()('return this')()")()
00:57:38 <otherbot> {}
00:57:41 <evilmoon> boily: dont mind evilvoid, he's trying to disprove zzo38, hes been at it for a hour now
00:58:01 <evilvoid> Its difficult
00:58:35 <evilvoid> All the exploits rely on getting an external object
00:59:18 <evilmoon> i understand that
00:59:48 <evilmoon> -pad HAI 1.2, VISIBLE "HAI BOILY, THIS IS LOLCODE", KTHXBYE
00:59:51 <evilmoon> -lolr
00:59:51 <otherbot> HAI BOILY, THIS IS LOLCODE
01:01:24 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return aguments.callee.constructor.constructor")()
01:01:24 -!- Akaibu has joined.
01:01:24 <otherbot> [ReferenceError: aguments is not defined]
01:01:29 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor")()
01:01:30 <otherbot> [Function: Function]
01:01:37 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor('return this')")()
01:01:37 <otherbot> [Function]
01:01:40 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor('return this')()")()
01:01:40 <otherbot> {}
01:01:48 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')()")()
01:01:49 <otherbot> {}
01:02:17 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee(Function('return this'))()")()
01:02:17 <otherbot> [RangeError: Maximum call stack size exceeded]
01:02:49 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments[1]?arguments[0]:arguments.callee(Function('return this'),1)()")()
01:02:49 <otherbot> {}
01:03:13 <evilvoid> probably safe
01:03:23 <evilvoid> If any object is injected....
01:05:33 <boily> evilvoid: I don't think zzo38 is unprovable hth
01:06:02 <evilmoon> evilvoid: ill set it up for a JS sandbox then, you can poke at it more then
01:07:21 <boily> @ask zzo38 hezzo38. are you unprovable?
01:07:21 <lambdabot> Consider it noted.
01:07:47 <zzo38> I think perhaps evilvoid is a bit confused about what this program is supposed to do
01:07:56 <zzo38> It isn't what I meant
01:08:12 <evilmoon> ah
01:10:59 -!- Zarutian has quit (Quit: Zarutian).
01:15:46 <boily> `wisdom
01:15:47 <HackEgo> duck typing//Duck typing means typing on a terminal blindly without an echo.
01:16:04 <boily> had that one last time...
01:16:06 <boily> `wisdom
01:16:08 <HackEgo> roujo//Roujo is a Java heretic leaning on ungrammatical Haskell. His claim to Canadianness is marred by an unholy portal to China. The treaties suffer, so the cocktail will be postponed. He does not understand shell quoting.
01:16:24 <boily> . o O ( where *is* Roujo now? )
01:16:47 <evilmoon> `wisdom
01:16:49 <HackEgo> the//the Toe of Harriness's Enclosure
01:16:54 <evilmoon> `wisdom
01:16:55 <HackEgo> adpoted//"Oh lord, we've adpoted another one." (about Emily) => Marten realizes what kind of webcomic he lives in in http://questionablecontent.net/view.php?comic=2298
01:17:03 <boily> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH!
01:17:07 <evilmoon> `wisdom
01:17:08 <boily> YouTube changed!
01:17:09 <HackEgo> ​¯\(°​_o)/¯//¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯
01:17:22 <evilmoon> `wisdom
01:17:23 <HackEgo> endofunctor//Endofunctors are just endomorphisms in the category of categories.
01:17:30 <evilmoon> `wisdom
01:17:32 <HackEgo> ping//Ping is a Peking Duck H4XX0R who amuses himself by making people's IRC connections timeout.
01:18:00 <evilmoon> `wisdom
01:18:01 <HackEgo> cooperate//"Cooperate" is a common misspelling of "cōöperāte".
01:18:04 <evilmoon> `wisdom
01:18:06 <HackEgo> styrofoam//styrofoam is Taneb's only weakness.
01:18:14 <evilmoon> `wisdom
01:18:15 <HackEgo> bugbear//A bugbear is a teddy bear that you can explain your bugs to.
01:19:49 <evilmoon> `wisdom
01:19:50 <HackEgo> aha//aha would be a helpful acronym, but has a shedding problem.
01:20:04 <evilmoon> `wisdom
01:20:05 <HackEgo> ​@//@ is an OS made out of only the finest vapour.
01:20:10 <evilmoon> `wisdom
01:20:13 <HackEgo> relrod//A relrod is a machine useful for finding the Force.
01:20:20 <evilmoon> `wisdom
01:20:21 <HackEgo> tile shuffling//Tile shuffve games. ly addictie basis of many highling is th
01:20:29 <evilmoon> `wisdom
01:20:30 <HackEgo> friendship//friendship wisdom
01:20:48 <evilmoon> `wisdom
01:20:49 <HackEgo> doodad//Doodads are just duoids in the category of endofunctors.
01:20:55 <evilmoon> `wisdom
01:20:57 <HackEgo> welcome.fi//Tervetuloa esoteeristen ohjelmointikielten suunnittelun ja käyttöönoton kansainväliseen keskukseen! Lisätietoa saat wikistämme: <http://esolangs.org/>. (Muu esoteerisuus: kokeile kanavaa #esoteric joko EFnet- tai Dalnet-verkossa.)
01:21:28 <evilmoon> `wisdom
01:21:30 <HackEgo> time cube//EARTH HAS 4 CORNER SIMULTANEOUS 4-DAY TIME CUBE IN ONLY 24 HORU ROTATION. 4 CORNER DAYS, CUBES 4 QUAD EARTH. Bible A Lie & Word Is Lies. Navel Connects 4 Corner 4s. God Is Born Of A Mother - She Left Belly B. Signature. Your dirty lying teachers use only the midnight to midnight 1 day (ignoring 3 other days) Time to not foul (already wro
01:22:02 <evilmoon> `wisdom
01:22:04 <HackEgo> 9//9 is a free smalltalk.
01:22:09 <evilmoon> `wisdom
01:22:11 <HackEgo> diet//People go on diets to loose weight instead of gaining. It gives them a consistant diet.
01:22:18 <evilmoon> `wisdom
01:22:20 <HackEgo> anana//ananas is the real pineapple.
01:22:35 <evilmoon> `wisdom
01:22:37 <HackEgo> weather//lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK
01:22:53 <evilmoon> @where weather
01:22:53 <lambdabot> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show
01:22:55 <evilmoon> @where weather
01:22:55 <lambdabot> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show
01:22:58 <evilmoon> @where weather 1
01:22:58 <lambdabot> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show
01:23:04 <evilmoon> `wisdom
01:23:06 <HackEgo> ism//Isms are philosophies, religions or ideologies that have branched off from older ones, such as Leninism or Buddhism. Etymologically "ism" is a backformation from portmanteaus on "schism".
01:23:35 <evilmoon> `wisdom
01:23:36 <HackEgo> page//The smallest floating-point number is known as pages. Fungot discovered it.
01:23:42 <evilmoon> `wisdom
01:23:43 <HackEgo> kinder surprise//Kinder Surprise is an addictive drug marketed for children so dangerous it's banned at the federal level.
01:24:05 <evilmoon> `wisdom
01:24:06 <HackEgo> russell's teapot//Russell's Teapot / Short and stout / Orbits near Mars / Or thereabout. / If you see it / Let us know / If you don't / What does that show?
01:24:28 <evilmoon> `wisdom
01:24:29 <HackEgo> spice girls//The Spice Girls are Pog spice, Story spice, Sarah spice, Gender spice, and Baleen spice.
01:24:36 <evilmoon> `wisdom
01:24:37 <HackEgo> utumno//Utumno is Morgoth's first dungeon. It is where he was defeated, and the Silmarils temporarily reclaimed from him.
01:24:43 <evilmoon> `wisdom
01:24:44 <HackEgo> ciol//ciol is a language designed by moon_, it started as a scheme to annoy colleagues by making a programming language that has insults as commands.
01:24:53 <evilmoon> `wisdom
01:24:54 <HackEgo> blsq//See: Burlesque
01:24:57 <evilmoon> `wisdom
01:24:58 <HackEgo> york//York used to be known as Amsterdam.
01:25:07 <evilmoon> `wisdom
01:25:08 <HackEgo> dinosaur//Dinosaurs are a diverse group of pre-historic chickens with feathers.
01:25:24 <evilmoon> `wisdom
01:25:25 <HackEgo> ghost//A ghost is an unintelligent undead, similar to the skeleton but harder to create, because it's lacking the rest of the body.
01:25:33 <evilmoon> `wisdom
01:25:35 <HackEgo> itym//itym "i think you mean" hth
01:25:45 <evilmoon> `wisdom
01:25:46 <HackEgo> l//L is far too short to be a village in Wales.
01:25:57 <evilmoon> `? hth
01:25:58 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
01:30:36 <evilmoon> `? youtube
01:30:37 <HackEgo> youtube? ¯\(°​_o)/¯
01:30:41 <evilmoon> :o
01:30:45 <evilmoon> `? google
01:30:46 <HackEgo> Google is where people are working on [NAME WITHHELD] and [REDACTED], without being evil at all.
01:31:09 <evilmoon> `? facebook
01:31:10 <HackEgo> Facebook is Taneb's face collection.
01:31:31 <evilmoon> `? twitter
01:31:32 <HackEgo> Twitter is Taneb's bird collection (presumably).
01:31:38 <evilmoon> `? irc
01:31:39 <HackEgo> IRC is short for "Internet Relay Chat". It is named so because all the servers are constructed from relays.
01:32:02 <evilmoon> `? snapchat
01:32:03 <HackEgo> snapchat? ¯\(°​_o)/¯
01:32:06 <evilmoon> `? reddit
01:32:07 <HackEgo> reddit? ¯\(°​_o)/¯
01:32:14 <evilmoon> `? freenode
01:32:15 <HackEgo> freenode? ¯\(°​_o)/¯
01:32:19 <evilmoon> :O
01:32:42 <evilmoon> boily: pls fix :O
01:32:56 <evilmoon> hackego doesnt know what freenode is
01:34:44 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("returrn (function(){return this})()")()
01:34:44 <otherbot> [ReferenceError: returrn is not defined]
01:34:53 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(){return this})()")()
01:34:53 <otherbot> {}
01:34:55 <fizzie> int-e: I sent a pull request to Gregor. It remains to be seen whether that will actually do anything.
01:35:26 <evilmoon> zzo38: mind re-explaining what your codes _does_ to evilvoid? i dunno if he understands
01:35:46 <evilvoid> It creates a new context that is empty
01:36:01 <boily> `le/rn freenode/The Realm of Freenode is our homeland. The Chännel dwells in it since... Uhm... Quite a few years ago?
01:36:04 <HackEgo> Learned «freenode»
01:36:15 <evilvoid> Running a code that returns the constructor.constructor of 42
01:36:22 <evilvoid> -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))({}))("return (function(){return this})()")()
01:36:22 <otherbot> { global: [Circular],
01:36:23 <otherbot> process:
01:36:23 <otherbot> process {
01:36:24 <otherbot> title: 'node',
01:36:25 <otherbot> version: 'v4.5.0',
01:36:25 <otherbot> moduleLoadList:
01:36:26 <otherbot> [ 'Binding contextify',
01:36:27 <otherbot> 'Binding natives',
01:36:27 <evilvoid> -flushq
01:36:28 <otherbot> Send queue flushed
01:36:43 <evilmoon> nice one iovoid
01:36:45 <fizzie> boily: Late 2002.
01:36:46 <evilvoid> And because 42 is a primitive...
01:36:49 <zzo38> Yes, there you have leaked the "this" because you are not doing what it is supposed to do
01:36:59 <evilvoid> ^
01:37:07 <zzo38> It demonstrates that the result of vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42) is not the same Function object; if you write ==Function then it will be false. Did you even try that?
01:37:11 <evilvoid> The question is how to inject forgein data safely
01:37:19 <evilmoon> ^
01:37:30 <zzo38> Because, the value x is a primitive so the conversion to an object occurs inside of the sandbox.
01:37:37 <evilmoon> the answer is: you really cant.
01:37:38 <evilvoid> ^
01:37:42 <evilvoid> ^
01:37:45 <zzo38> If you replace 42 with {} then it will be the object from outside of the sandbox.
01:37:54 <evilvoid> Math.js cant have a sandbox then
01:38:11 <evilvoid> And sandboxes will get boring
01:39:09 <evilvoid> MathJS dies because of f.constructor for example
01:39:10 <zzo38> You can inject foreign data before executing any untrusted code, if they are primitives rather than objects (functions are also objects).
01:39:22 <zzo38> How is f defined in MathJS anyways?
01:39:41 <fizzie> boily: (In other words, we should have a sesquidecennial celebration late 2017.)
01:39:42 <evilvoid> MathJS does some syntax rewriting
01:39:53 <evilvoid> It wraps what you provided in another function
01:39:57 <zzo38> Also, ensure that the sandbox object is created without a prototype! (This is what Object.create(null) means; it means to create an object with no prototype)
01:40:14 <zzo38> Syntax rewriting won't help.
01:40:36 <evilvoid> It does it just to make it a "more mathematic" syntax
01:40:39 <zzo38> You need to do it properly.
01:40:41 <evilmoon> evilvoid: study it a little more, it actually compiles the code into a node based syntax.
01:40:52 <evilmoon> and generates JS from that
01:40:52 <evilvoid> ^
01:41:05 <zzo38> It might do syntax rewriting for that reason, but syntax rewriting will not be sufficient to be safe.
01:41:25 <evilmoon> for example, (x+1)+6 becomes a syntax tree
01:41:25 <evilvoid> you can always eval(String.fromCharCode(stuff))
01:41:54 <zzo38> Yes, and that is why syntax rewriting is not sufficient.
01:42:28 <boily> fizzie: fizziello. that long?!?
01:42:42 <evilvoid> not giving ANYTHING makes features useless
01:42:50 <zzo38> (I also made a TeX sandbox that does not attempt to validate the input or anything like that; security is done by using a custom format file instead. This requires One True TeX and will not work with pdfTeX or LaTeX or other variants.)
01:43:24 <evilvoid> like auth0 uses "web containers" (idk in deep how that works) for evaling user code like to rewrite users
01:43:57 <fizzie> boily: http://esoteric.sange.fi/archive/2002-q4 and look up "Esolang IRC channel".
01:44:01 <zzo38> You can give stuff; just make sure you do it properly! Such as by wrapping functions and that kind of stuff
01:44:03 <evilvoid> Also you cant put a timeout
01:44:09 <zzo38> Use proxies if necessary.
01:44:12 <evilvoid> Since execution is outside ssandbox
01:44:25 * boily is touching history
01:44:59 <zzo38> You could use a separate process and communicate with signals if you want to do timeouts
01:45:08 <boily> fizzie: speaking of history, have you updated the fizziegraphs lately?
01:45:24 <fizzie> boily: Not in a long, long time.
01:45:39 <fizzie> I could try to figure out how to do it, and see if the scripts even still work.
01:46:38 <fizzie> updating target 2, days 2015-09-11 ... 2016-09-24
01:46:53 <fizzie> Heh, almost exactly a year has passed.
01:47:16 -!- otherbot has changed nick to evilrbot.
01:47:16 -!- evilator has joined.
01:47:45 <zzo38> If you write vm.createContext({}) then it is unsafe because it can take values from the outside's Object.prototype, but with Object.create(null) it has no prototype, so that part is undone at least.
01:47:46 <evilmoon> my god. too. much. evil
01:48:06 <HackEgo> [wiki] [[Al Dente]] M https://esolangs.org/w/index.php?diff=49771&oldid=49770 * CatIsFluffy * (+4) fixed bug in EBNF allowing for (a or b).c
01:48:16 <fizzie> boily: I should probably readjust the "channel regulars" whitelist some day, to account for changes.
01:49:10 <zzo38> If f is a function brought into the sandbox like how I suggested (wrapping it inside of a function created in the sandbox, by creating a function that returns a function also inside of the sandbox), then it will be the function inside of the sandbox and not outside. Stuff outside of the definition of that function cannot access its local variables.
01:49:34 <evilvoid> Its almost impossible to give values
01:50:00 <evilvoid> SInce you can constructor them to get true Function(tm)
01:50:03 <zzo38> I think someone else has also made up a sandbox out of proxies.
01:50:25 <evilvoid> This is the first safe sandbox I see
01:51:02 <evilmoon> and all that was needed was a single #esoteric memeber and a one liner
01:51:09 <evilvoid> lol
01:51:28 <evilvoid> Well, the sandbox/sandcastle guys wasted their time
01:51:57 <evilmoon> +1
01:52:03 <zzo38> The way I did it, you can't "constructor them to get true Function(tm)", I think.
01:52:26 <zzo38> (But your tests were doing it wrong; not the way I meant)
01:52:49 -!- Gregor has joined.
01:52:53 <evilvoid> What you did is a empty context, which returns a function scoped to the sandbox
01:53:01 <evilvoid> Well, scoped is not the correct word
01:53:05 <evilvoid> Its like bound to it
01:53:08 <Gregor> Hello I sometimes exist
01:53:15 <evilmoon> fizzie: is that the actual gregor?:P bcause the chmod 000/0000 / -R issue needs fixed
01:53:18 -!- Gregor has changed nick to Guest77839.
01:53:48 <evilmoon> Yup thats gregor. hi mr person i've never met who wrote HackEgo
01:53:51 <fizzie> I assume it is, though the nickserv-induced nickname change is a little amusing.
01:53:58 -!- Guest77839 has changed nick to Gregor.
01:54:12 <boily> holy fungot! Gregor is alive!
01:54:13 <fungot> boily: and well, ' british accent' could include cockney, yorkshire, scots, or welsh, technically. it was some slang
01:54:18 <Gregor> Suffice it to say I haven't logged in in... a while.
01:54:32 <Gregor> I merged the PR, now I just have to remember where HackEgo is hosted :)
01:54:41 <fizzie> "esolangs.org" is a good alias.
01:54:45 <zzo38> evilvoid: Yes, it is, and that is its working.
01:54:52 <evilmoon> good night all'
01:55:06 <boily> evilmoonne nuit!
01:56:51 <Gregor> `ls
01:56:53 <HackEgo> bin \ canary \ candide \ cdescs \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ ls \ misle \ out \ paste \ ply-3.8 \ ps \ quines \ quotes \ share \ src \ test \ theorems \ tmflry \ tmp \ wisdom \ wisdom.pdf
01:57:17 <Gregor> Good bug :)
01:57:22 <Gregor> Clever :)
01:57:31 <zzo38> I almost finished typing the next session of level20.tex but now I must go for a while and later tonight I will finished writing it, and annouce it
01:57:33 <zzo38> OK
01:57:40 <zzo38> Do you like this?
01:57:46 <evilvoid> `ls \
01:57:47 <HackEgo> ls: cannot access \: No such file or directory
01:57:49 <evilvoid> `ls /
01:57:50 <HackEgo> bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr
01:58:13 <evilvoid> Can I try to kill it?
01:58:29 <evilvoid> `init 1
01:58:30 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: init: not found
01:58:42 <Gregor> I like how everybody tries to break it by assuming they have root access.
01:58:53 <evilvoid> `cat ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits
01:58:54 <HackEgo> cat: ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: No such file or directory
01:59:00 <evilvoid> `cat /home/hackbot/hackbot.hg/multibot_cmds/lib/limits
01:59:01 <HackEgo> ​#!/bin/bash \ ulimit -f 10240 \ ulimit -l 0 \ ulimit -u 128 \ exec -- "$@"
01:59:15 <evilvoid> `whoami
01:59:16 <HackEgo> whoami: cannot find name for user ID 5000
01:59:22 <evilvoid> `rm ~
01:59:23 <HackEgo> rm: cannot remove `~': No such file or directory
01:59:28 <evilvoid> `rm /home/hackbot
01:59:29 <HackEgo> rm: cannot remove `/home/hackbot': Is a directory
01:59:33 <evilvoid> `rm -R /home/hackbot
01:59:34 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
01:59:37 <fizzie> Gregor: There was also something else a little more elaborate related to making a directory called "canary.orig", which even now is causing every `revert to print out "rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory", but it's mostly just a cosmetic issue.
01:59:49 <evilvoid> `rm --recursive /home/hackbot
01:59:49 <HackEgo> rm: unrecognized option '--recursive /home/hackbot' \ Try `rm --help' for more information.
01:59:57 <evilvoid> `rm --help
01:59:57 <HackEgo> Usage: rm [OPTION]... FILE... \ Remove (unlink) the FILE(s). \ \ -f, --force ignore nonexistent files, never prompt \ -i prompt before every removal \ -I prompt once before removing more than three files, or \ when removing recursively. Less intrusive than -i, \
02:00:06 -!- evilmoon has quit (Ping timeout: 265 seconds).
02:00:12 <Gregor> fizzie: Hah, that's amusing. That's because of how hg does things :)
02:00:23 <evilvoid> `which rm
02:00:24 <HackEgo> ​/bin/rm
02:00:39 <evilvoid> `cat /dev/random
02:00:48 <evilvoid> `echo hi
02:00:49 <HackEgo> hi
02:00:59 <evilvoid> `ls /dev
02:01:00 <HackEgo> agpgart \ audio \ audio1 \ audio2 \ audio3 \ audioctl \ console \ core \ dsp \ dsp1 \ dsp2 \ dsp3 \ fd \ full \ kmem \ loop0 \ loop1 \ loop2 \ loop3 \ loop4 \ loop5 \ loop6 \ loop7 \ mem \ midi0 \ midi00 \ midi01 \ midi02 \ midi03 \ midi1 \ midi2 \ midi3 \ mixer \ mixer1 \ mixer2 \ mixer3 \ mpu401data \ mpu401stat \ null \ port \ ptmx \ pts \ ram \
02:01:03 <fizzie> Gregor: And someone ran a "rm everything" that wasn't caught by the canary, because in the 30 seconds it only managed to remove /hackenv/bin/ and few other things, but not the canary, which was then considered a valid commit. Though that was easy enough to revert.
02:01:10 <HackEgo> No output.
02:01:14 <evilvoid> `cat /dev/port
02:01:15 <HackEgo> cat: /dev/port: Permission denied
02:01:19 <evilvoid> `cat /dev/*
02:01:20 <HackEgo> cat: /dev/*: No such file or directory
02:01:26 <evilvoid> `cat /dev/ram
02:01:27 <HackEgo> cat: /dev/ram: Permission denied
02:01:31 <evilvoid> `cat /dev/fs
02:01:32 <HackEgo> cat: /dev/fs: No such file or directory
02:01:32 <evilvoid> `cat /dev/fd
02:01:33 <HackEgo> cat: /dev/fd: Is a directory
02:01:38 <evilvoid> `ls /dev/fd
02:01:39 <HackEgo> 0 \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ 8
02:01:41 <evilvoid> `cat /dev/fd/1
02:01:49 <evilvoid> `cat /dev/fd/*
02:01:50 <HackEgo> cat: /dev/fd/*: No such file or directory
02:02:01 <evilvoid> `cat /dev/fd/{0,1,2,3,4,5,6,7,8}
02:02:02 <HackEgo> cat: /dev/fd/{0,1,2,3,4,5,6,7,8}: No such file or directory
02:02:05 <evilvoid> `cat /dev/fd/0
02:02:12 <HackEgo> No output.
02:02:26 <Gregor> fizzie: Yeah, not much that can be done about that.
02:02:27 <evilvoid> `cat /dev/full
02:02:28 <HackEgo> ​...........................................................................................................................................................................................................................................................................................................................................................
02:02:37 <HackEgo> No output.
02:02:47 <evilvoid> `cat /dev/loop0
02:02:48 <HackEgo> cat: /dev/loop0: Permission denied
02:03:11 <evilvoid> `ls ~
02:03:12 <HackEgo> ls: cannot access ~: No such file or directory
02:03:14 <evilvoid> `ls /home
02:03:15 <HackEgo> hackbot
02:03:18 <evilvoid> `ls /home/hackbot
02:03:19 <HackEgo> hackbot.hg
02:03:27 <evilvoid> `rm /home/hackbot/hackbot.hg
02:03:28 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg': Is a directory
02:03:34 <evilvoid> `ls /home/hackbot/hackbot.hf
02:03:35 <HackEgo> ls: cannot access /home/hackbot/hackbot.hf: No such file or directory
02:03:35 <evilvoid> `ls /home/hackbot/hackbot.hg
02:03:36 <HackEgo> multibot_cmds
02:03:42 <evilvoid> `ls /home/hackbot/hackbot.hg/multibot_cmds
02:03:43 <HackEgo> lib
02:03:44 <fizzie> boily: https://zem.fi/ircvis/esoteric/ is up to date.
02:03:47 <evilvoid> `ls /home/hackbot/hackbot.hg/multibot_cmds/lib
02:03:48 <HackEgo> fetch \ limits \ revert \ sandbox
02:03:54 <evilvoid> `ls /home/hackbot/hackbot.hg/multibot_cmds/lib/sandbox
02:03:55 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/sandbox
02:03:57 <boily> `thanks fizzie
02:03:58 <evilvoid> `ls /home/hackbot/hackbot.hg/multibot_cmds/lib/limits
02:03:59 <HackEgo> Thanks, fizzie. Thizzie.
02:03:59 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits
02:04:05 <evilvoid> `echo hi > /home/hackbot/hackbot.hg/multibot_cmds/lib/limits
02:04:06 <HackEgo> hi > /home/hackbot/hackbot.hg/multibot_cmds/lib/limits
02:04:19 <evilvoid> `rm /home/hackbot/hackbot.hg/multibot_cmds/lib/limits
02:04:20 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/limits': Read-only file system
02:04:35 <evilvoid> `chmod 000 -R /
02:04:37 <HackEgo> chmod: missing operand after `000 -R /' \ Try `chmod --help' for more information.
02:04:46 <evilvoid> `chmod -R 0000 /
02:04:47 <HackEgo> chmod: invalid option -- ' ' \ Try `chmod --help' for more information.
02:04:51 <evilvoid> `chmod --help
02:04:52 <HackEgo> Usage: chmod [OPTION]... MODE[,MODE]... FILE... \ or: chmod [OPTION]... OCTAL-MODE FILE... \ or: chmod [OPTION]... --reference=RFILE FILE... \ Change the mode of each FILE to MODE. \ \ -c, --changes like verbose but report only when a change is made \ --no-preserve-root do not treat `/' specially (the default) \ --pr
02:05:02 <fizzie> boily: Hm. The javascripty stuff seems to have borked. I'll try to give it a fix.
02:05:12 <evilvoid> `chmod --help | more
02:05:13 <HackEgo> chmod: unrecognized option '--help | more' \ Try `chmod --help' for more information.
02:05:31 <evilvoid> `chmod --no-preserve-root --recursive /
02:05:32 <HackEgo> chmod: unrecognized option '--no-preserve-root --recursive /' \ Try `chmod --help' for more information.
02:05:37 <evilvoid> `chmod --no-preserve-root --recursive 0000 /
02:05:38 <HackEgo> chmod: unrecognized option '--no-preserve-root --recursive 0000 /' \ Try `chmod --help' for more information.
02:05:47 <fizzie> boily: (Oh, it's just a 'http' link to a CDN'd jquery.)
02:05:59 <evilvoid> `chmod -R -x /bin
02:06:02 <HackEgo> chmod: invalid option -- ' ' \ Try `chmod --help' for more information.
02:06:14 <zzo38> To do shell command you need `` or ``` at front with a space after the `` or ```
02:06:24 <zzo38> Otherwise it is treat as one argument including spaces
02:06:31 <evilvoid> `` chmod -R -x /bin
02:06:32 <HackEgo> chmod: changing permissions of `/bin': Read-only file system \ chmod: changing permissions of `/bin/gzip': Read-only file system \ chmod: changing permissions of `/bin/ln': Read-only file system \ chmod: changing permissions of `/bin/tar': Read-only file system \ chmod: changing permissions of `/bin/vdir': Read-only file system \ chmod: changing pe
02:06:41 <evilvoid> `` chmod --no-preserve-root --recursive 0000 /
02:07:08 <boily> fizzie: Blocage du chargement du contenu mixte actif (mixed active content) « http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js »
02:07:13 <HackEgo> chmod: changing permissions of `/': Operation not permitted \ chmod: changing permissions of `/sys': Operation not permitted \ chmod: changing permissions of `/sys/fs': Operation not permitted \ chmod: changing permissions of `/sys/fs/ext4': Operation not permitted \ chmod: changing permissions of `/sys/fs/ext4/features': Operation not permitted \
02:07:24 <evilvoid> `` echo hi
02:07:24 <HackEgo> hi
02:07:29 <evilvoid> `` chmod --no-preserve-root --recursive 0000 /home
02:07:30 <HackEgo> chmod: changing permissions of `/home': Operation not permitted \ chmod: changing permissions of `/home/hackbot': Operation not permitted \ chmod: changing permissions of `/home/hackbot/hackbot.hg': Operation not permitted \ chmod: changing permissions of `/home/hackbot/hackbot.hg/multibot_cmds': Operation not permitted \ chmod: changing permission
02:07:39 <evilvoid> `` chmod --no-preserve-root --recursive 0000 / &
02:07:46 <evilvoid> `` chmod --no-preserve-root --recursive 0000 / & echo hi
02:07:47 <HackEgo> No output.
02:07:53 <fizzie> boily: Should be okay now.
02:08:10 <HackEgo> chmod: changing permissions of `/': Operation not permitted \ chmod: changing permissions of `/sys': Operation not permitted \ chmod: changing permissions of `/sys/fs': Operation not permitted \ chmod: changing permissions of `/sys/fs/ext4': Operation not permitted \ chmod: changing permissions of `/sys/fs/ext4/features': Operation not permitted \
02:08:31 <evilvoid> `` mount
02:08:32 <HackEgo> none on /bin type hostfs (ro,nosuid,relatime,/bin/) \ none on /usr type hostfs (ro,nosuid,relatime,/usr/) \ none on /dev type hostfs (ro,nosuid,relatime,/dev/) \ none on /opt type hostfs (ro,nosuid,relatime,/opt/) \ none on /lib type hostfs (ro,nosuid,relatime,/lib/) \ none on /sbin type hostfs (ro,nosuid,relatime,/sbin/) \ none on /lib64 type host
02:08:41 <boily> fizzie: it works!
02:08:44 <zzo38> (The difference between `` and ``` is the locale setting.)
02:09:08 <evilvoid> Seems safe
02:09:19 <evilvoid> RO everything is nice
02:09:30 <evilvoid> `logout
02:09:31 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: logout: not found
02:09:34 <evilvoid> `exit
02:09:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: exit: not found
02:09:41 <evilvoid> `ls /bin
02:09:43 <HackEgo> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ cpio \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ kill \ kmod \ less \
02:09:55 <evilvoid> `` ls /bin | grep init
02:09:56 <HackEgo> No output.
02:09:59 <evilvoid> `` ls /bin | grep shut
02:10:00 <HackEgo> No output.
02:10:04 <evilvoid> `` ls /bin | grep log
02:10:05 <HackEgo> login
02:10:09 <evilvoid> `` ls /bin | grep exit
02:10:10 <HackEgo> No output.
02:10:16 <evilvoid> `` ls /bin | grep re
02:10:17 <HackEgo> bzegrep \ bzfgrep \ bzgrep \ bzip2recover \ bzmore \ egrep \ fgrep \ grep \ more \ readlink \ uncompress \ zegrep \ zfgrep \ zgrep \ zmore
02:10:28 <zzo38> `danddreclist 83
02:10:30 <HackEgo> danddreclist 83: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
02:10:31 <evilvoid> `` echo hi | more
02:10:32 <HackEgo> hi
02:10:38 <zzo38> (I am earlier than I expected.)
02:10:40 <evilvoid> `` cat /dev/full | more
02:10:56 <evilvoid> `` ls /bin | grep base
02:11:03 <HackEgo> Out of memory!
02:11:03 <HackEgo> No output.
02:11:07 <evilvoid> `` ls /bin | grep base
02:11:08 <HackEgo> No output.
02:11:08 <zzo38> Do you like this?
02:11:12 <evilvoid> `` cat /dev/full | more
02:11:15 <evilvoid> `` cat /dev/full
02:11:20 <evilvoid> OOM'd
02:11:39 <evilvoid> Well, OOM is something I guess. Like a DoS
02:11:51 <HackEgo> Out of memory!
02:11:51 <HackEgo> No output.
02:12:00 <evilvoid> `` ls /dev
02:12:01 <HackEgo> agpgart \ audio \ audio1 \ audio2 \ audio3 \ audioctl \ console \ core \ dsp \ dsp1 \ dsp2 \ dsp3 \ fd \ full \ kmem \ loop0 \ loop1 \ loop2 \ loop3 \ loop4 \ loop5 \ loop6 \ loop7 \ mem \ midi0 \ midi00 \ midi01 \ midi02 \ midi03 \ midi1 \ midi2 \ midi3 \ mixer \ mixer1 \ mixer2 \ mixer3 \ mpu401data \ mpu401stat \ null \ port \ ptmx \ pts \ ram \
02:12:04 <evilvoid> `` bash
02:12:22 <evilvoid> `` bash -e "cat /dev/*"
02:12:23 <HackEgo> bash: cat /dev/*: No such file or directory
02:12:35 <HackEgo> bash: cannot set terminal process group (-1): Inappropriate ioctl for device \ bash: no job control in this shell \ bash-4.2$
02:12:57 <evilvoid> `` sudo whoami
02:12:58 <HackEgo> ​/hackenv/bin/`: line 4: sudo: command not found
02:13:08 <evilvoid> `` ls /hackenv/bin
02:13:10 <HackEgo> ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ " \ @ \ * \ ؟ \ \ \ \ welcome \ 1 \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5 \ 5quote \ 7z \ 7za \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addtodo \ aglist \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ bardsworthlist \ before \
02:13:26 <evilvoid> `` 1
02:13:28 <HackEgo> 1/0:
02:13:34 <evilvoid> `` 2017
02:13:35 <HackEgo> No output.
02:13:37 <evilvoid> `` 2016
02:13:38 <HackEgo> Hello, world!
02:13:47 <evilvoid> `` !
02:13:48 <HackEgo> No output.
02:13:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:13:52 <evilvoid> `` ?
02:13:53 <HackEgo> ​? ¯\(°​_o)/¯
02:13:56 <evilvoid> `` ??
02:13:57 <HackEgo> ​/hackenv/bin/`: line 4: hw: command not found
02:14:02 <evilvoid> :(
02:14:21 <zgrep> `?? ???
02:14:22 <HackEgo> I must confess, I know not of what you are speaking.
02:14:29 <zgrep> Neither do I.
02:14:46 <evilvoid> `` ?? hi
02:14:47 <HackEgo> ​/hackenv/bin/`: line 4: hw: command not found
02:14:50 <evilvoid> `` ?? ???
02:14:51 <HackEgo> ​/hackenv/bin/`: line 4: hw: command not found
02:14:56 <evilvoid> `?? ???
02:14:57 <HackEgo> I must confess, I know not of what you are speaking.
02:15:01 <evilvoid> `??
02:15:02 <HackEgo> I have nothing to tell you.
02:15:04 <evilvoid> `?? hi
02:15:05 <HackEgo> I must confess, I know not of what you are speaking.
02:15:17 <evilvoid> `` cat /hackenv/bin/??
02:15:18 <HackEgo> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnooooodl \ if [ -z "$1" ];then exec echo "I have nothing to tell you.";fi;f="tmflry/$(echo "$1" | lowercase)";if [ -h "$f" ];then exec tomfoolery `readlink "$f" | sed 's/^tmflry\///'`;fi;if [ -x "$f" ];then exec bash "$f";fi;if [ -r "$f" ];then exec cat "$f";fi;echo "I must confess, I kn
02:16:02 <fizzie> boily: Incidentally, there's a bit of timezone mishap I should try to retroactively correct, which means all my timestamps were off by two hours for a bit over two months in the start of 2015. You can see this by looking at the "presence of time" bitmaps for someone regular, like boily; there's a temporary shift around that time.
02:17:58 <boily> yeah, I think I'm the regularest regular for the time of day I'm active here...
02:18:26 <boily> oerjan is diagonally active.
02:20:54 -!- boily has quit (Quit: HOLOMORPHIC CHICKEN).
02:23:34 -!- shachaf has joined.
02:53:48 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
03:03:49 <HackEgo> [wiki] [[Special:Log/newusers]] create * TehFlaminTaco * New user account
03:28:12 <hppavilion[1]> I seem to have accidentally started constructing a parser
03:28:58 <hppavilion[1]> (and evaluator)
03:29:01 <hppavilion[1]> It can currently detect naturals expressed as S*0, integers expressed as -?nat, and can add two naturals together. Whoops.
03:43:05 -!- augur has quit (Ping timeout: 240 seconds).
04:05:14 -!- keemyb has joined.
04:23:28 -!- `^_^v has joined.
04:31:37 <\oren\> ISRO are going to launch the SCATSAT soon
04:31:48 <\oren\> https://www.youtube.com/watch?v=MlhLews6CAI
04:32:50 -!- eviljeff has changed nick to `j.
04:32:50 -!- `j has changed nick to 32NAB4T1V.
04:33:21 <32NAB4T1V> /anick is useful
04:34:49 -!- 32NAB4T1V has changed nick to eviljeff.
04:36:58 -!- eviljeff has changed nick to evilfl35.
04:43:08 -!- `^_^v has quit (Quit: This computer has gone to sleep).
04:52:35 -!- `^_^v has joined.
05:08:18 -!- DHeadshot has quit (Ping timeout: 264 seconds).
05:28:05 -!- evilrbot has quit (Remote host closed the connection).
05:32:14 -!- `^_^v has quit (Quit: This computer has gone to sleep).
05:45:23 <hppavilion[1]> \oren\: It took me a few seconds to realize that guy was speaking English
05:49:30 <shachaf> Cale: What do you think of the notation d^2y/dx^2?
05:52:26 -!- otherbot has joined.
05:53:11 -!- otherbot has changed nick to evilrbot.
06:09:11 -!- tuttobene has joined.
06:11:42 -!- MDead has joined.
06:12:59 <tuttobene> Among they who acknowledge the shortcommings of the Obj Oriented paradigm, which other paradigm is seen as "the new wave", so to speak?
06:13:19 -!- `^_^v has joined.
06:13:24 -!- puck1pedia has joined.
06:13:27 <tuttobene> or, as "the new better" paradigm
06:15:05 -!- `^_^v has quit (Client Quit).
06:16:04 -!- dingbat_ has joined.
06:16:28 -!- Guest66676 has joined.
06:16:30 -!- lifthras1ir has joined.
06:16:35 -!- Robdgreat_ has joined.
06:16:36 -!- ski_ has joined.
06:19:54 -!- mrnaysayer has joined.
06:20:03 -!- pdxleif_ has joined.
06:20:35 -!- ybden has joined.
06:20:35 -!- ybden has quit (Excess Flood).
06:20:57 -!- evilrbot has quit (*.net *.split).
06:20:57 -!- kline has quit (*.net *.split).
06:20:57 -!- lifthrasiir has quit (*.net *.split).
06:20:58 -!- dingbat has quit (*.net *.split).
06:20:58 -!- __builtin_ybden has quit (*.net *.split).
06:20:58 -!- deltab has quit (*.net *.split).
06:20:58 -!- puckipedia has quit (*.net *.split).
06:20:59 -!- MDude has quit (*.net *.split).
06:20:59 -!- sparr has quit (*.net *.split).
06:20:59 -!- kragniz has quit (*.net *.split).
06:20:59 -!- mtve- has quit (*.net *.split).
06:20:59 -!- Robdgreat has quit (*.net *.split).
06:20:59 -!- ski has quit (*.net *.split).
06:20:59 -!- pdxleif has quit (*.net *.split).
06:20:59 -!- Guest66666 has quit (*.net *.split).
06:20:59 -!- sirnaysayer has quit (*.net *.split).
06:21:01 -!- puck1pedia has changed nick to puckipedia.
06:21:07 -!- MDead has changed nick to MDude.
06:21:08 -!- pdxleif_ has changed nick to pdxleif.
06:21:23 -!- deltab has joined.
06:21:42 -!- ybden has joined.
06:21:42 -!- ybden has quit (Excess Flood).
06:22:46 -!- ybden has joined.
06:22:46 -!- ybden has quit (Excess Flood).
06:23:00 <hppavilion[1]> Proper Cthuvian features a sound called the "semivoiced labioglottal fricative"
06:23:50 -!- ybden has joined.
06:23:50 -!- ybden has quit (Excess Flood).
06:24:24 -!- ybden has joined.
06:24:24 -!- ybden has quit (Excess Flood).
06:24:25 -!- dingbat_ has changed nick to dingbat.
06:26:42 -!- ybden has joined.
06:26:42 -!- ybden has quit (Excess Flood).
06:27:36 -!- kline_ has joined.
06:28:48 -!- kragniz has joined.
06:29:29 -!- sparr has joined.
06:29:33 -!- ybden has joined.
06:29:33 -!- ybden has quit (Excess Flood).
06:29:59 -!- Frooxius has joined.
06:30:08 -!- ybden has joined.
06:30:08 -!- ybden has quit (Excess Flood).
06:31:17 -!- ybden has joined.
06:31:17 -!- ybden has quit (Excess Flood).
06:31:51 -!- ybden has joined.
06:31:51 -!- ybden has quit (Excess Flood).
06:32:26 -!- ybden has joined.
06:32:26 -!- ybden has quit (Excess Flood).
06:34:38 -!- ybden has joined.
06:34:38 -!- ybden has quit (Excess Flood).
06:35:12 -!- ybden has joined.
06:35:12 -!- ybden has quit (Excess Flood).
06:35:47 -!- ybden has joined.
06:35:47 -!- ybden has quit (Excess Flood).
06:36:16 -!- ybden has joined.
06:36:16 -!- ybden has quit (Excess Flood).
06:37:24 -!- ybden has joined.
06:37:24 -!- ybden has quit (Excess Flood).
06:41:58 -!- ybden has joined.
06:41:58 -!- ybden has quit (Excess Flood).
06:43:07 -!- ybden has joined.
06:43:07 -!- ybden has quit (Excess Flood).
06:44:45 -!- ybden has joined.
06:44:45 -!- ybden has quit (Excess Flood).
06:45:53 -!- ybden has joined.
06:45:53 -!- ybden has quit (Excess Flood).
06:46:28 -!- ybden has joined.
06:46:28 -!- ybden has quit (Excess Flood).
06:47:02 -!- ybden has joined.
06:47:02 -!- ybden has quit (Excess Flood).
06:48:12 -!- ybden has joined.
06:48:12 -!- ybden has quit (Excess Flood).
06:49:21 -!- ybden has joined.
06:49:21 -!- ybden has quit (Excess Flood).
06:51:27 <Cale> shachaf: meh
06:51:33 -!- ybden has joined.
06:51:33 -!- ybden has quit (Excess Flood).
06:51:40 <Cale> shachaf: I don't really use Leibniz notation all that much
06:52:19 <shachaf> Cale: If you work it out I think it works out to make sense.
06:52:31 <Cale> It does, vaguely at least.
06:52:32 <shachaf> And in particular d(dy) isn't 0
06:53:01 <shachaf> If y = f(x), d(dy) = f''(x) dx dx
06:55:49 <shachaf> d(dy/dx) = (dx d(dy) - dy d(dx))/(dx^2)
07:07:06 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
07:11:41 -!- augur has joined.
07:13:32 -!- `^_^v has joined.
07:26:43 -!- oerjan has joined.
07:31:07 <zzo38> shachaf: I have come up with such things too
07:31:39 <izalove> does anyone know how to initialize this unordered_map? https://arin.ga/SFxrfv/raw
07:31:42 <shachaf> zzo38: But d(dx)/dx^2 = 0, right?
07:31:51 <izalove> almost the same code works fine with vector https://arin.ga/NZCIsJ/raw
07:32:27 <zzo38> shachaf: I don't know; I haven't tried to figure out
07:33:24 <zzo38> But, second derivative can be d(dy/dx)/dx even though the notation d^2y/dx^2 is used but that notation is wrong.
07:33:38 <shachaf> I don't think that notation is wrong.
07:33:54 <shachaf> I used to think it was odd and arbitrary but now I'm thinking it's actually good.
07:34:14 <shachaf> Why do you say it's wrong?
07:35:55 <zzo38> Because d^2y/dx^2 doesn't equal d(dy/dx)/dx, and also I saw in another book (by Penrose) that it is wrong!
07:36:09 <shachaf> Which book?
07:36:17 <shachaf> And I think it does equal d(dy/dx)/dx
07:36:55 <shachaf> Here:
07:37:13 <shachaf> d(dy/dx)/dx = (dx d(dy) - dy d(dx))/(dx^3)
07:37:35 <shachaf> = d(dy)/dx^2 - dy/dx d(dx)/dx^2
07:37:52 <shachaf> And I think d(dx)/dx^2 = 0
07:38:13 <shachaf> I can say that it's because the second derivative of x with respect to x is 0, but that's circular. :-)
07:39:15 <oerjan> shocking
07:44:22 <oerjan> but then (dy/dx)^2 = dy^2/dx^2 = (d^2y/dy^2) / (d^2y/dx^2) = 0 whenever d^2y/dx^2 /= 0 checkmate atheists
07:45:16 <oerjan> wait
07:45:29 <oerjan> the last one is in the wrong order
07:45:55 <oerjan> so it's actually infinity hth
07:50:44 -!- digin4 has joined.
07:51:20 <shachaf> are you saying (dy/dx)^2 = (dy^2/dx^2) = (1/dx^2)/(1/dy^2) = (d^2y/dx^2)/(d^2y/dy^2) = (d^2y/dx^2)/0
07:51:50 <oerjan> yes hth
07:51:58 <shachaf> good counterexample oerjan++ tdh
07:52:52 <shachaf> So maybe d(dx)/dx^2 isn't 0?
07:54:19 <shachaf> Really, it couldn't be 0, that would make this whole thing break.
07:54:42 <oerjan> well d^2x/dx^2 is supposedly 0.
07:55:23 <shachaf> If it's the second derivative it would have to be.
07:55:46 <shachaf> Let's see. One way to make this whole thing work is to parameterize everything in terms of t, right?
07:56:05 <oerjan> MAYBE
07:56:13 <shachaf> So dy/dx = D_t(y)/D_t(x)
07:56:48 <shachaf> Where D_t(e) means what people usually mean by de/dt
07:57:35 <shachaf> Certainly D_t(y)/D_t(x) = D_x(y), right?
07:58:35 <shachaf> So the second derivative is D_t(D_t(y)/D_t(x))/D_t(x)
07:58:39 <oerjan> i think the trouble may be simply that second derivatives in this notation don't behave sensibly wrt changes of variables.
07:58:47 -!- zzo38_ has joined.
07:58:49 <shachaf> Well, it's really just what I wrote earlier except with a more complicated symbol for d.
07:58:50 -!- zzo38 has quit (Disconnected by services).
07:58:52 -!- zzo38_ has changed nick to zzo38.
07:59:06 <shachaf> zzo38: Which book does Penrose pen his objection in?
07:59:49 <oerjan> or put differently, dy^2/dx^2, the thing you need to change variables for second derivatives, is not (dy/dx)^2 where dy/dx is the thing you need for first derivatives.
07:59:50 <shachaf> oerjan: that would be scow though
08:00:29 <shachaf> if (dy/dx) (dy/dx) isn't (dy dy)/(dx dx) then this notation is broken
08:00:51 <oerjan> yep
08:01:23 <oerjan> basically because first and second derivatives have no simply scaling correspondence.
08:01:56 <shachaf> but parameterize it in terms of t. certainly (dy/dt)/(dx/dt) * (dy/dt)/(dx/dt) = ((dy/dt)(dy/dt))/((dx/dt)(dx/dt))
08:01:59 <shachaf> right?
08:02:38 -!- digin4 has quit (Quit: Leaving).
08:03:36 <oerjan> well sure, everything works nice as long as you're only dealing with first derivatives.
08:03:40 <oerjan> *nicely
08:03:46 <oerjan> *as long as
08:04:03 <shachaf> so you're not objective to (dy/dx)^2 = (dy^2/dx^2)
08:04:08 <shachaf> objecting
08:04:41 <oerjan> i'm objecting that there are two different senses of dy^2/dx^2 which don't scale in the same way.
08:05:29 <shachaf> well, the real problem here isn't with squaring dy or any of that, it's with the connection to d^2y
08:05:52 -!- ybden has joined.
08:05:52 -!- ybden has quit (Excess Flood).
08:06:02 <oerjan> well one of the senses is _defined_ by that connection, of course.
08:06:11 <shachaf> right
08:06:21 -!- ybden has joined.
08:06:22 -!- ybden has quit (Excess Flood).
08:06:56 -!- ybden has joined.
08:06:57 -!- ybden has quit (Excess Flood).
08:07:07 <shachaf> if this notation works, then by definition if y = f(x) then d^2y/dx^2 = f''(x)
08:07:09 <shachaf> right?
08:07:21 <oerjan> duh
08:07:32 <shachaf> so d^2y = f''(x) dx^2
08:07:45 <shachaf> but if f(x) = x, that means d^2y = 0
08:08:03 <zzo38> shachaf: Penrose wrote it in a footnote in Road to Reality (not a part of the main text).
08:08:38 -!- ybden has joined.
08:08:38 -!- ybden has quit (Excess Flood).
08:09:27 <shachaf> that seems problematic
08:09:36 <shachaf> or is it?
08:09:43 -!- ybden has joined.
08:09:43 -!- ybden has quit (Excess Flood).
08:10:24 <shachaf> ybden is sure rejoining a lot
08:10:53 <shachaf> zzo38: Oh, I have a copy of that book, I think. Do you remember which footnote?
08:12:28 <zzo38> No I do not remember
08:13:23 <shachaf> Actually it doesn't seem problematic.
08:13:40 <shachaf> If dy = 0, that means dy is constant.
08:13:46 <shachaf> Er, y is constant.
08:14:01 <shachaf> So if d(dy) = 0, that means dy is constant.
08:14:26 <zzo38> Yes.
08:14:37 <zzo38> I know that.
08:14:49 <zzo38> (They even say so in the book.)
08:14:59 <shachaf> I know, I'm looking at the book.
08:19:14 <shachaf> zzo38: So what's d(dy/dx)?
08:19:58 -!- mtve has joined.
08:20:05 <shachaf> I guess it's what I said above: (dx d(dy) - dy d(dx))/dx^2
08:21:01 <shachaf> = d(dy)/dx - dy/dx d(dx)/dx
08:23:24 -!- Robdgreat_ has changed nick to Robdgreat.
08:24:26 <shachaf> So d(dy/dx)/dx = d(dy)/dx^2 - dy/dx d(dx)/dx^2
08:24:37 <shachaf> So what's that second part? Not 0?
08:26:25 <oerjan> put in a different way, in d^2 / dx^2 the two dx'es come from different scopes, and if there's a dy/dx have to be the same in the two scopes.
08:26:25 <shachaf> zzo38: That's certainly in contradiction with what the author says about differential forms etc.
08:26:41 <oerjan> *it doesn't have
08:27:24 <zzo38> I know, but apparently a 1-form or whatever is a special case or something like that?
08:27:25 <shachaf> oerjan: This is probably related to how if you have f : U^n -> U^m, D^2f : U^n -> (U^n -o (U^n -o U^m))?
08:27:42 <oerjan> shachaf: i'm not in a state of mind to even parse that at the moment.
08:27:52 -!- hppavilion[1] has joined.
08:27:57 <shachaf> oerjan: The second derivative at a point is a bilinear map.
08:27:58 <shachaf> Right?
08:28:14 <shachaf> s/U/R/g
08:28:18 <oerjan> i'm also not in a state of mind to understand the concept hth
08:28:38 <shachaf> oerjan: Well, if f : R^n -> R^m, then Df : R^n -> (R^n -o R^m)
08:28:38 <shachaf> Right?
08:28:45 <oerjan> or body. this neck is killing me.
08:29:06 <shachaf> At each point it gives you a linear approximation of f around that point.
08:29:22 <oerjan> shachaf: please consider me just a rubber duck at this point hth
08:29:30 <shachaf> `? oerjan
08:29:31 <HackEgo> Your mysterious evil hungarian oerlord immoritus oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
08:29:55 <shachaf> `slwd oerjan//s#immoritus#rubber duck#
08:29:57 <HackEgo> wisdom/oerjan//Your mysterious evil hungarian oerlord rubber duck oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
08:51:41 <oerjan> `wisdom icbm
08:51:43 <HackEgo> icbm/icbm//ICBM/ICBMs are Crumbling Building Missiles. The I is currently classified.
08:51:51 <oerjan> wat
08:52:14 <oerjan> `howg icbm/icbm
08:52:16 <HackEgo> ​<fizzie> revert 942e964c81c1 \ <evilipse> ` chmod 777 / -R \ <shachaf> sedlast s/unknown/classified/ \ <boily> learn ICBM/ICBMs are Crumbling Building Missiles. The I is currently unknown.
08:52:52 <oerjan> did boily really mean to do that
08:53:15 <oerjan> `` find -name '*icbm*' wisdom
08:53:16 <HackEgo> find: paths must precede expression: wisdom \ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
08:53:28 <oerjan> `` find wisdom -name '*icbm*'
08:53:29 <HackEgo> wisdom/icbm \ wisdom/icbm/icbm
08:54:30 <oerjan> `` cd wisdom; mv icbm icbm'; mv icbm'/* .; rmdir icbm'
08:54:30 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
08:54:44 <oerjan> `` cd wisdom; mv icbm icbm_; mv icbm_/* .; rmdir icbm_
08:54:47 <HackEgo> No output.
08:54:52 <oerjan> `? icbm
08:54:53 <HackEgo> ICBM/ICBMs are Crumbling Building Missiles. The I is currently classified.
08:55:23 <oerjan> `slwd icbm//s,.*/,,
08:55:25 <HackEgo> wisdom/icbm//ICBMs are Crumbling Building Missiles. The I is currently classified.
08:56:42 <oerjan> `` cd wisdom; ls -d */
08:56:44 <HackEgo> ​¯\_(ツ)_/ \ le/ \ ¯\(°_o)/ \ ¯\(°​_o)/
09:00:19 <oerjan> `? music
09:00:20 <HackEgo> The result was a short burst of the most hideous cacophony in G minor.
09:00:34 <oerjan> i'm not sure what int-e intended here.
09:01:30 -!- AnotherTest has joined.
09:02:15 <oerjan> @tell int-e please explain why `? music does not contain its own keyword twh
09:02:15 <lambdabot> Consider it noted.
09:02:54 <oerjan> @tell int-e oh, never mind.
09:02:55 <lambdabot> Consider it noted.
09:03:07 <oerjan> and i even read that book.
09:03:27 <oerjan> also, own.
09:05:05 -!- carado has joined.
09:06:15 <oerjan> `wisdom cacophony
09:06:17 <HackEgo> the most hideous cacophony in g minor//The Most Hideous Cacophony in G Minor (Op. -3) is a musical work often incorrectly attributed to Bach and/or Taneb
09:07:03 <oerjan> `` sed -i 's/$/./' wisdom/*cacophony\ in*
09:07:06 <HackEgo> No output.
09:07:09 <oerjan> `wisdom cacophony
09:07:10 <HackEgo> the most hideous cacophony in g minor//The Most Hideous Cacophony in G Minor (Op. -3) is a musical work often incorrectly attributed to Bach and/or Taneb.
09:07:37 <oerjan> of course, it's really Bach.
09:08:45 <zzo38> Why won't anyone to help me making Node.js addons?
09:09:29 <oerjan> `` sed -i 's/Op./BWV/' wisdom/*cacophony\ in*
09:09:32 <HackEgo> No output.
09:09:36 <oerjan> `wisdom cacophony
09:09:37 <HackEgo> the most hideous cacophony in g minor//The Most Hideous Cacophony in G Minor (BWV -3) is a musical work often incorrectly attributed to Bach and/or Taneb.
09:09:48 <oerjan> oh wait
09:09:55 <oerjan> `revert
09:10:16 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
09:11:32 <shachaf> `? turmeric
09:11:35 <HackEgo> turmeric? ¯\(°​_o)/¯
09:18:22 <oerjan> `ls
09:18:23 <HackEgo> bin \ canary \ candide \ cdescs \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ ls \ misle \ out \ paste \ ply-3.8 \ ps \ quines \ quotes \ share \ src \ test \ theorems \ tmflry \ tmp \ wisdom \ wisdom.pdf
09:18:43 <oerjan> `culprits candide
09:18:50 <HackEgo> fizzie
09:18:59 <oerjan> `doag candide
09:19:02 <HackEgo> 2016-07-10 <fizzie> ` bash ./configure
09:19:26 <oerjan> `file candide
09:19:26 <HackEgo> candide: Bourne-Again shell script, ASCII text executable
09:19:32 <oerjan> `cat candide
09:19:32 <HackEgo> ​#!/bin/bash \ # compile c from stdin \ # candide, kinda \ \ readinput () { \ while read -r -e || { printf %s "$REPLY"; false; } ; do \ printf '%s\n' "$REPLY" \ done \ } \ \ c=$(readinput) \ if ! [[ $c ]] || ! out=$(mktemp); then \ echo Error >&2 \ exit 1 \ fi \ \ # if you don't write 'main' it assumes that you're writing a full pr
09:19:40 <shachaf> kindide
09:19:43 <oerjan> `rm candide
09:19:45 <shachaf> kindida
09:19:45 <HackEgo> No output.
09:20:22 <oerjan> `file hw
09:20:23 <HackEgo> hw: directory
09:20:26 <oerjan> `ls hw
09:20:27 <HackEgo> brainfuck \ c \ chef \ haskell \ intercal \ java \ pascal \ perl \ perl6 \ php \ python \ shakespeare
09:20:44 <oerjan> `doag hw
09:20:46 <HackEgo> 2016-09-25 <fizzie> revert 942e964c81c1 \ 2016-09-25 <evilipse> ` chmod 777 / -R \ 2016-05-14 <xfix> ` echo $\'say\\tQ[@A`DO world!]~|<HeLhg>\' > hw/perl6 \ 2016-05-14 <Taneb> ` echo Couldn\\\'t match type \\`IO \\(\\)\\\' with \\`[Char]\\\' > hw/haskell \ 2016-05-14 <xfix> ` echo Just another Perl hacker, > hw/perl \ 2016-05-14 <xfix> ` echo Just
09:21:22 <oerjan> oh right
09:21:40 <zzo38> How can you convert a C++ header file into a C header file with all of the correct mangled names?
09:22:08 <oerjan> `file ps
09:22:09 <HackEgo> ps: ASCII text
09:22:11 <shachaf> Why do you want to do that?
09:22:12 <oerjan> `cat ps
09:22:13 <HackEgo> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND \ 0 1 1.0 0.1 1012 272 ? S 10:18 0:00 /init \ 0 2 0.0 0.0 0 0 ? S 10:18 0:00 [kthreadd] \ 0 3 0.0 0.0 0 0 ? S 10:18 0:00 [ksoftirqd/0] \ 0 4 0.0 0.0 0 0 ?
09:22:16 <oerjan> `rm ps
09:22:18 <HackEgo> No output.
09:22:23 <shachaf> oerjan: i thought you retired
09:22:32 <shachaf> janitoerjan
09:22:39 <zzo38> So that you can call a C++ code from a C code
09:22:46 <oerjan> OF COURSE I'M RETIRED. I'M FINE. WHERE ARE MY GOLF CLUBS...
09:22:48 <shachaf> zzo38: Why not export unmangled names?
09:23:21 -!- tuttobene has quit.
09:24:25 <zzo38> Because the existing program does not do that.
09:24:57 <shachaf> Ah, I see.
09:25:20 <shachaf> I would prefer to write a C++ wrapper that exports C functions, and compile it with a C++ compiler.
09:26:12 <zzo38> I don't want to; I want to write the code in C which can call exported C++ functions (including overloaded and classes and all of that stuff) from a C code.
09:26:36 -!- ybden has joined.
09:27:04 <fizzie> oerjan: I think I was supposed to move that thing into bin, but then didn't actually finish making it accept input from the command line, or something.
09:27:18 <oerjan> ah.
09:27:27 <oerjan> . o O ( this channel has too many evil* people )
09:27:59 <zzo38> Specifically I want to be able to use the Node.js headers including v8 and nan, directly from a C code.
09:28:07 <fizzie> Also, the web repository browser seems to have broken down. :/
09:28:18 <shachaf> Why?
09:28:54 <oerjan> fizzie: works for me
09:28:55 <zzo38> Also, the C++ codes are clang but I want to write the C code with GCC.
09:29:04 <fizzie> oerjan: Yes, because I just fixed it.
09:29:14 <oerjan> aha
09:29:32 <oerjan> smashing
09:30:08 <shachaf> Is smashing the opposite of shocking?
09:30:22 <oerjan> probably.
09:30:37 <shachaf> `? shocking
09:30:38 <HackEgo> shocking? ¯\(°​_o)/¯
09:30:39 <shachaf> shocking
09:30:43 <fizzie> The permissions patch I made just enforces u+rwx on the /hackenv directory, which is enough to keep the bot from breaking, but the repo-browser runs as a different user and therefore needs a+x on /hackenv to reach /hackenv/.hg to read the repo.
09:30:49 <zzo38> Also it can be use even if different compilers have different name mangling schemes.
09:31:20 <oerjan> oh someone managed to break it?
09:31:22 <shachaf> zzo38: If different compilers have different name mangling schemes, then your only hope is to use a C++ compiler, isn't it?
09:31:44 <shachaf> I was hoping that `lowg would log all the changes to wisdom
09:32:41 <oerjan> wat
09:33:05 <fizzie> oerjan: Yes, turns out if you set the permissions of /hackenv (which is read-write in the sandbox) to 0, it goes (well, used to go) to a mode where nothing works because the hg commands can't access the .hg subdirectory, requiring manual intervention.
09:33:58 <oerjan> fizzie: doesn't `revert still work?
09:34:07 <zzo38> shachaf: If it is converted into a C header file instead of C++ then it won't matter after it has been converted, because it uses the name-mangling scheme of the converter.
09:35:01 <fizzie> oerjan: No -- it does "work" in the sense that it attempts to execute the commands (since that happens outside the sandbox), but the 'hg revert' it uses just fails.
09:35:34 <oerjan> fizzie: i somehow didn't think the internal HackEgo commands accessed .hg through /hackenv ...
09:35:57 <oerjan> iirc .hg wasn't even always inside it...
09:36:07 <oerjan> maybe i remember wrong.
09:36:16 <fizzie> It's always been a subdirectory the times I've been playing with it.
09:37:12 <fizzie> And yeah, from the internal command's perspective it's not /hackenv, it's /home/hackbot/hackbot.hg/multibot_cmds/env, but a chmod on /hackenv in the sandbox translates directly to a chmod on that, since it's mounted read-write.
09:40:06 <oerjan> @tell int-e <int-e> moon__: I can see it's a directory, but I wonder why it's not in the repo <-- i'm guessing it's a `revert bug again.
09:40:06 <lambdabot> Consider it noted.
09:44:54 <shachaf> `ls
09:44:55 <HackEgo> bin \ canary \ cdescs \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ ls \ misle \ out \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ test \ theorems \ tmflry \ tmp \ wisdom \ wisdom.pdf
09:45:07 <shachaf> `file theorems
09:45:07 <HackEgo> theorems: directory
09:45:10 <shachaf> `ls theorems
09:45:11 <HackEgo> No output.
09:45:17 <shachaf> `rmdir theorems
09:45:18 <HackEgo> No output.
09:45:21 <shachaf> `doag theorems
09:45:22 <HackEgo> No output.
09:45:32 <oerjan> wat
09:45:34 <shachaf> `culprits theorems
09:45:36 <HackEgo> No output.
09:45:57 <oerjan> `culprits tmflry
09:45:59 <HackEgo> fizzie evilipse zgrep zgrep zgrep rdococ zgrep zgrep zgrep hppavilion[1] hppavilion[1] ais523 hppavilion[1] hppavilion[1] hppavilion[1] hppavilion[1] hppavilion[1] hppavilion[1] izabera hppavilion[1] hppavilion[1] hppavilion[1] hppavilion[1] oren \ oren \ zgrep zgrep zgrep zgrep zgrep oerjan oerjan oerjan zgrep zgr
09:45:59 <shachaf> Oh, hg doesn't track directories.
09:46:05 <hppavilion[1]> Hello
09:46:09 <hppavilion[1]> I'm here
09:46:15 <shachaf> `mkdir blah
09:46:16 <HackEgo> No output.
09:46:22 <shachaf> `` hg log
09:46:23 <HackEgo> changeset: 9084:132542b8bf63 \ tag: tip \ user: HackBot \ date: Mon Sep 26 08:22:13 2016 +0000 \ summary: <oerjan> rm ps \ \ changeset: 9083:00300a2789b3 \ user: HackBot \ date: Mon Sep 26 08:19:40 2016 +0000 \ summary: <oerjan> rm candide \ \ changeset: 9082:c09a4c1bf558 \ user: HackBot \
09:46:29 <shachaf> `rmdir blah
09:46:30 <hppavilion[1]> I got Python to play Ode to Joy
09:46:30 <HackEgo> No output.
09:46:35 <shachaf> I'm almost disappointed that the tmp/ trick works.
09:46:59 <shachaf> Otherwise I would've encoded temporary state in directory tree.
09:47:03 <shachaf> It would've been great.
09:47:21 <oerjan> *horrible
09:47:48 <shachaf> esoteric
09:48:05 <shachaf> @wn esoteric
09:48:08 <lambdabot> *** "esoteric" wn "WordNet (r) 3.0 (2006)"
09:48:08 <lambdabot> esoteric
09:48:08 <lambdabot> adj 1: confined to and understandable by only an enlightened
09:48:08 <lambdabot> inner circle; "a compilation of esoteric philosophical
09:48:08 <lambdabot> theories" [ant: {exoteric}]
09:48:37 <shachaf> A RIC is a Reuters Instrument Code, used to identify financial instruments.
09:48:40 <shachaf> What's an esoteric?
09:49:09 <shachaf> whoa whoa whoa
09:49:11 <shachaf> @wn exoteric
09:49:11 <oerjan> moon_ seemed a bit trigger happy with the `reverts
09:49:12 <lambdabot> *** "exoteric" wn "WordNet (r) 3.0 (2006)"
09:49:12 <lambdabot> exoteric
09:49:12 <lambdabot> adj 1: suitable for the general public; "writings of an exoteric
09:49:12 <lambdabot> nature" [ant: {esoteric}]
09:49:21 <shachaf> I've never heard that word before.
09:49:39 <shachaf> What a good word.
09:50:51 <shachaf> oerjan: So when you parameterize everything by dt, dx^2 certainly has some sort of meaning.
09:50:57 <shachaf> But it's kind of a boring one, I guess?
09:51:26 <oerjan> MAYBE
09:51:51 <oerjan> i mean, QUACK
09:52:06 <shachaf> `? oerjan
09:52:08 <HackEgo> Your mysterious evil hungarian oerlord rubber duck oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
09:52:27 <shachaf> `slwd oerjan//s#rubber duck#quack doctor#
09:52:30 <HackEgo> wisdom/oerjan//Your mysterious evil hungarian oerlord quack doctor oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
09:52:55 <oerjan> every day, in every way, my wisdom entry keeps getting better and better
09:54:01 <shachaf> You don't like it?
09:54:13 <oerjan> i was just quoting another quack doctor hth
09:54:32 <oerjan> which i learned about the other day from the iwc forum.
09:54:35 <shachaf> Oh.
09:55:09 <shachaf> If even you only learned about it the other day, how can you expect me to know it?
09:55:25 <oerjan> cultural osmosis.
09:55:39 <shachaf> Say y = x^2. y = t^2, x = t. dy = 2x dx, which are both equal to 2t
09:55:45 <oerjan> quack.
09:56:02 <shachaf> dy^2 = 4x^2 dx^2
09:56:29 <shachaf> Where was I going with this?
09:56:37 <oerjan> quack?
09:57:07 <shachaf> Maybe choosing x = t makes this too boring.
09:57:38 <oerjan> quasi quasi.
09:58:22 <shachaf> Let's say y and x are functions.
09:58:33 <oerjan> quarks.
09:58:39 <shachaf> @time
09:58:42 <lambdabot> Local time for shachaf is Mon Sep 26 01:58:40 2016
09:59:16 <shachaf> D(Dy/Dx)/Dx
09:59:21 <shachaf> I'm pretty incoherent right now.
09:59:29 <oerjan> quite.
09:59:45 <shachaf> But y(t) = ... and x(t) = ...
09:59:55 <shachaf> Surely Dy/Dx is a perfectly reasonable function.
10:00:45 <shachaf> D(Dy/Dx) = (Dx D(Dy) - Dy D(Dx))/(Dx)^2, innit?
10:01:11 <oerjan> quack
10:01:16 <shachaf> This is exacty the same as before except I'm writing a capital D. Boring.
10:01:44 <oerjan> `? boring
10:01:45 <HackEgo> Boring means of little interest.
10:01:57 <shachaf> `dowg boring
10:01:59 <HackEgo> 2016-09-25 <fizzie> revert 942e964c81c1 \ 2016-09-25 <evilipse> ` chmod 777 / -R \ 2016-04-18 <oerjan> learn Boring means of little interest.
10:02:43 <shachaf> D(Dy/Dx) = D(Dy)/Dx - Dy D(Dx)/Dx^2
10:03:09 <oerjan> `? brilliant
10:03:10 <HackEgo> brilliant? ¯\(°​_o)/¯
10:03:38 <shachaf> Say we have dy/dx = u
10:03:40 <oerjan> there should be an entry for `? brilliant that is all over the top and yet complete crap.
10:03:46 <oerjan> i'm just not sure how to do it.
10:03:52 <shachaf> I know just the person.
10:04:12 <shachaf> So dy = u dx
10:04:40 <oerjan> hm...
10:04:50 <shachaf> d both sides: d(dy) = d(u dx)
10:05:23 <shachaf> So d(dy) = u d(dx) + du dx
10:05:54 <shachaf> d(dy)/dx = u d(dx) + du
10:06:11 <shachaf> d(dy)/dx^2 = u d(dx)/dx + du/dx
10:06:40 <shachaf> That accomplished nothing. But I guess it's easier than explicitly doing the quotient thing.
10:06:48 <oerjan> `` le/rn brilliant/"`echo 'BRILLIANT is like the BEST word in the universe and it will change your life FOREVER!' | rainwords | zalgo`"
10:06:52 <HackEgo> Learned «brilliant»
10:06:56 <oerjan> `? brilliant
10:06:57 <HackEgo> ​̼̗1̏̽3̰̞B̛͂Ŗ̹Ï͞L̓̀Ḽ̊I̠̋Aͧ͂N̷ͫT̋̓ ̸͖͉̟0̧ͭ4ͣ͆i͔̽s̷̾ ̵̝̾̓0̟͠7̰̅l̢̀i̫͗k͞͏e͋͗ ͉̖̐̕0̽͢8̝็t̐ͮh͕̿e͙̾ ̸̙͇̇0็̍9̣ͨB̷̨E̮̮S̟̈́T̵̉ ͇̓̋̄0̧̜2̨̇w̰ͅo̤̕ŕ̗d̑ͩ ̞̱̊ͧ0̴̨6̇̉i͙̊ñ̉ ̧̂ͯ̒1͍ͨ3͇̽ẗ̃ẖ̲e̖ͧ ̰͇̤͂0̴̥4̷̭ṷͦn̘͞i͒ͮ
10:07:17 <oerjan> close enough.
10:07:40 <shachaf> I've been trying to figure out the pun in `? boring
10:07:48 <myname> wat
10:07:50 <shachaf> I can see a few candidates but none of them seem to work.
10:08:06 <oerjan> shachaf: there's no pun. it is amusingly self-referential hth
10:08:16 <shachaf> Oh, I missed a /dx
10:08:26 <shachaf> d(dy)/dx^2 = u d(dx)/dx^2 + du/dx
10:08:31 <shachaf> Which we already knew.
10:09:14 <oerjan> `` le/rn brilliant/"`echo 'BRILLIANT is like the BEST word in the universe and it will change your life FOREVER!' | zalgo | rainwords`"
10:09:21 <HackEgo> Relearned «brilliant»
10:09:24 <oerjan> `? brilliant
10:09:25 <HackEgo> B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ ̐̇ȉ̲s̉̐ ̸̉ḷ̂i̪̱k͉ͬḛ็ ͓̪t็ͬh̺̊e͜͢ ͏͛B̈ͅE̳̘S̰ͤTͬͧ ̰̕w̺̼o̷̓ŕ͂d̹̠ ͍͑i͚̾n̺̮ ̇͑t͗̍hͧ͌ḙ͕ ̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ ͏̲a̮̺nͣ͟d̝ͨ ̳͗i̟͘ẗ͎ ̼̲ẘ̦i̭ͮl̢̋l̨̉ ̺͌c̑͡h
10:09:28 <shachaf> `? rich
10:09:29 <HackEgo> rich? ¯\(°​_o)/¯
10:09:34 <oerjan> there you go.
10:09:55 <shachaf> `? poor
10:09:56 <HackEgo> poor? ¯\(°​_o)/¯
10:10:10 <shachaf> `learn A rich person is a person of exciting means, which produce significant interest.
10:10:13 <HackEgo> Learned 'rich': A rich person is a person of exciting means, which produce significant interest.
10:10:27 <shachaf> `learn A poor person is a person of boring means, which produce little interest.
10:10:30 <HackEgo> Learned 'poor': A poor person is a person of boring means, which produce little interest.
10:10:34 <myname> what does zalgo do?
10:11:20 <shachaf> That's the best I can doerjan.
10:11:21 <oerjan> `zalgo Horrible things.
10:11:22 <HackEgo> H̼̆ȭrͮͅr̜ͯi͖͗b̲̿l̴͂ẽ̵ ̶̹t̙͛ḩ͚i͂ͥn͌̋g̫̩s̒̈.̜͘
10:11:50 <shachaf> they tie themselves in horrible knots
10:12:00 <shachaf> they come in stripes or polka dots
10:12:20 <oerjan> don't try do wussel out of this
10:12:28 <oerjan> *to
10:12:39 <shachaf> oerjan: do you know that "weasel out" is a phrase
10:12:47 <myname> holy crap is the internet slow in this hospital
10:12:47 <shachaf> you could have alluded to that one instead
10:12:49 <shachaf> more appropriate
10:13:12 <oerjan> *wooozle
10:13:18 <oerjan> shachaf: of course i do.
10:13:27 <oerjan> myname: are you injured
10:13:52 <myname> not in the traditional sense, no
10:14:46 <shachaf> `` rm wisdom/{rich,poor}
10:14:49 <HackEgo> No output.
10:15:59 <oerjan> shachaf: i thought that was what i did, except i couldn't remember the english spelling.
10:16:18 <shachaf> Ah, I thought it was meant to be "wuss out"
10:16:43 <shachaf> Where "weasel out" would be more appropriate, because woozles are related to weasels.
10:18:27 <shachaf> OK, let's take a case like x=t^2, y=t^3
10:18:47 <shachaf> I said that d(dy)/dx^2 = dy/dx d(dx)/dx^2 + d(dy/dx)/dx
10:19:05 <shachaf> So d(dy/dx)/dx = d(dy)/dx^2 -dy/dx d(dx)/dx^2
10:19:12 <shachaf> d(dy/dx)/dx = d(dy)/dx^2 - dy/dx d(dx)/dx^2
10:20:17 <shachaf> dy = 3t^2, dx = 2t
10:20:31 <shachaf> dy/dx = 3/2 t
10:21:29 <shachaf> So d(dy/dx)/dx = d(3/2 t)/(2t) = (3/2)/(2t) = 3/(4t)
10:21:58 <shachaf> d(dy) = 6t, d(dx) = 2
10:22:10 <shachaf> dx^2 = 4t^2
10:23:00 <shachaf> So we have 6t/(4t^2) - 3/2 t 2/(4t^2)
10:23:26 <oerjan> quack.
10:23:48 <shachaf> = (6t - 3t)/4t^2
10:24:16 <shachaf> = 3/4 t
10:24:28 <shachaf> So that extra dy/dx d(dx)/dx^2 adjustment did exactly the wrong thing.
10:24:37 <shachaf> We wanted 3/2 t
10:25:37 <shachaf> But note that d(dy)/dx^2 = 6t/(4t^2) = 3/2t *is* the right derivative.
10:26:06 <oerjan> shoquack.
10:26:28 <shachaf> oerjan: zzo38 said it was nonsense earlier!
10:26:39 <shachaf> But here we go, d^y/dx^2 actually does work.
10:26:51 <shachaf> It's just that my claim about the d^2x/dx^2 was wrong
10:26:58 <shachaf> Why is that?
10:27:06 <oerjan> skeptiquack about d^y/dx^2 hth
10:27:20 <shachaf> Does it not work in this case?
10:27:57 <shachaf> Er, d^2y/dx^2
10:28:15 <shachaf> skeptiquacks are exactly what i need tdh
10:29:46 <shachaf> So what am I doing wrong?
10:31:44 <zzo38> If d^2y/dx^2 is OK then maybe did I miss some simplification steps in my calculation? (I just got an answer that I was able to prove was equal to Penrose's answer.)
10:31:54 <shachaf> Which answer?
10:32:36 <zzo38> I forget now, but I remembered when I simplified both answers I got the same thing in each case, showing them to be equal.
10:32:46 <oerjan> when calculating second derivatives, you have to let the dx's from calculating the first derivatives go to 0 _first_, because there's no continuity property that allows you to defer it. this means that you _cannot_ treat dx^2 as having the same dx variable twice... they come from different scopes, as i said.
10:32:49 <shachaf> Maybe I should ask: Answer to what?
10:33:26 <shachaf> oerjan: i know you said that but i didn't understand it so i decided to ignore it hth
10:33:46 <oerjan> thought so.
10:34:06 <shachaf> Now I think I see what you mean, but I'm not sure it's true.
10:34:23 <shachaf> this isn't taking a limit, yo
10:34:43 <shachaf> dy/dx is just an expression in x
10:35:08 <shachaf> dy/dx = 2x or something
10:35:13 <shachaf> maybe, maybe it is true, though
10:35:42 <oerjan> also, my comment about rubber duck means that i'm not reading half of what you write hth
10:35:53 <shachaf> half of what i write is wrong
10:35:58 <shachaf> i hope that's the half you're not reading twh
10:36:50 <shachaf> Say x^2+y^2=1
10:37:01 <shachaf> 2x dx + 2y dy = 0
10:37:25 <shachaf> y dy = -x dx
10:37:53 <oerjan> incidentally, that's equivalent to saying "a circle is always normal to its radius"
10:38:09 <shachaf> yes
10:38:33 <shachaf> it's much nicer than dy/dx = -x/sqrt(1-x^2) or whatever you might write
10:39:13 <shachaf> OK, let's parameterize it.
10:39:26 <shachaf> x = cos t, y = sin t
10:40:05 <shachaf> dx = -sin t dt, dy = cos t dt
10:40:06 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
10:40:24 <shachaf> er
10:40:29 <shachaf> scrap that
10:40:32 <shachaf> x = cos t, y = sin t
10:40:41 <shachaf> dx = -sin t, dy = cos t
10:40:59 <shachaf> what am i even doing
10:41:24 <shachaf> dx = -y, dy = x
10:41:25 <oerjan> incidentally, the half i'm not reading includes most of the formulas hth
10:41:41 <shachaf> dy/dx = -x/y
10:42:03 <shachaf> d(dy) = -y
10:42:49 <shachaf> d(dx) = -x
10:43:44 <shachaf> d(dy)/dx^2 = -y/(y^2) = -1/y
10:44:03 <shachaf> is that right
10:45:27 <oerjan> quack but i dislike confusing functions and expressions.
10:46:28 <shachaf> these are expressions
10:46:45 <oerjan> the d(dy) = -y part is just sin'' = -sin and cos'' = -cos
10:46:57 <shachaf> yes
10:47:03 <shachaf> since x and y are expressions in t
10:47:10 <shachaf> what's confused there
10:48:05 <oerjan> the d operator applied to an expression.
10:48:36 <shachaf> yes, d means "derivative with respect to t"
10:48:42 <shachaf> as specified a few pages ago
10:48:49 <oerjan> quack.
10:49:17 <shachaf> look, is -1/y the right second derivative?
10:49:30 <shachaf> oh, i guess i could differentiate and see
10:50:11 <shachaf> for a half circle the usual way it would be the derivative of -x/sqrt(1-x^2)
10:51:29 <shachaf> = (y d(-x)/dx - (-x) dy/dx)/y^2
10:52:07 <shachaf> = (x dy/dx - y)/y^2
10:52:14 <shachaf> dy/dx = -x/y
10:52:45 <shachaf> so that's (-x^2/y - y)/y^2
10:53:08 <shachaf> = -x^2/y^3 - 1/y
10:53:10 <shachaf> hm
10:54:05 <shachaf> the second derivative of sqrt(1-x^2) is -1/(sqrt(1-x^2)^3)
10:54:25 <oerjan> quack
10:54:27 <shachaf> so -1/(y^3)
10:54:35 <shachaf> which is neither of the other two answers i got
10:54:49 <shachaf> probably because i haven't done this in years and also it's 3 in the morning
10:55:23 <shachaf> ok, well, the hand derivative i just did wrong
10:55:48 <shachaf> but -1/y isn't right, it's -1/y^3
10:55:55 <shachaf> let me try one more time
10:56:02 <shachaf> x = cos t, y = sin t
10:56:16 <shachaf> dx = -y, dy = x
10:56:24 <shachaf> d(dx) = -x, d(dy) = -y
10:57:03 <shachaf> d(dy)/(dx^2) = -y/(y^2) = -1/y
10:57:37 <oerjan> `? evilipse
10:57:38 <HackEgo> ​ the most obnoxious of evil people, likes to use chmod 000 / -R
10:57:57 <oerjan> `slwd evilipse//s//evilipse,/
10:57:59 <HackEgo> sed: -e expression #1, char 0: no previous regular expression
10:58:08 <oerjan> `slwd evilipse//s/^/evilipse,/
10:58:10 <HackEgo> wisdom/evilipse//evilipse, the most obnoxious of evil people, likes to use chmod 000 / -R
10:58:57 <shachaf> ok, dy/dx = -x/y
10:59:52 <shachaf> d(-x/y) = (y d(-x) - (-x) dy)/y^2
11:00:32 <shachaf> = (y^2 + x^2)/y^2
11:00:45 <shachaf> = 1/y^2
11:00:54 <shachaf> so d(-x/y)/dx = 1/y^3
11:01:09 <shachaf> so at least that's right
11:01:26 <shachaf> but why does that not work in the other problem, and d^2y/dx^2 not work in this problem?
11:01:29 <shachaf> please advise
11:01:39 <oerjan> quack.
11:01:42 <shachaf> so tired
11:02:09 <shachaf> maybe the whole premise is broken?
11:02:09 <zzo38> I thought of variant of Archenemy game of Magic: the Gathering where the players must bid on being the solo player. Do you have any ideas about this too? Do you like this? (I also thought of some ideas about it)
11:02:25 <shachaf> how do they bid?
11:02:30 <shachaf> or what
11:06:23 <zzo38> I thought you can bid how many points you will earn, which will also control cards you must ante at first and how many times that when you would set a scheme in motion instead you must look at the top card of your scheme deck and decide to either leave it there or move it to the bottom.
11:08:06 <zzo38> Doubling and redoubling like in bridge might also be done.
11:12:10 <oerjan> <ais523> oh wow, it seems it deleted advice, bin, and ibin <-- *sigh*, all the symbolic links will have broken in there, won't they.
11:12:34 <int-e> what was advice/ for anyway?
11:13:12 <oerjan> int-e: i dunno. shachaf said directories don't get committed in hg at all btw
11:13:41 <oerjan> `` hg log advice
11:13:44 <HackEgo> No output.
11:13:57 * oerjan has no idea what syntax to use.
11:13:57 <int-e> Ah, that may be true.
11:14:06 <oerjan> maybe it's always been empty.
11:14:16 <int-e> `` grep -rl advice bin
11:14:20 <HackEgo> No output.
11:14:34 <int-e> hopefully useless too
11:22:16 <fizzie> Based on a log-grep, I reckon it's always been empty.
11:22:40 <fizzie> It was proposed as a wisdom-style thing, but a set instead of a map.
11:23:39 <oerjan> `? #esoteric-blah
11:23:40 <HackEgo> ​#esoteric-blah? ¯\(°​_o)/¯
11:24:06 <oerjan> `learn #esoteric-blah blah blah. Blah blah, blah blah blah blah. Blah blah blah!
11:24:09 <HackEgo> Learned '#esoteric-blah': #esoteric-blah blah blah. Blah blah, blah blah blah blah. Blah blah blah!
11:28:33 -!- kline_ has changed nick to kline.
11:32:14 -!- Robdgreat has quit (Read error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number).
11:35:19 -!- boily has joined.
11:40:33 <boily> `wisdom
11:40:44 <HackEgo> sugar//Sugar, spice, and everything nice. These were the ingredients chosen to create the perfect little girl. But Professor Utonium accidentally added an extra ingredient to the concoction: Chemical X! Thus the Powerpuff Girls were born! Using their ultra super powers, Blossom, Bubbles, and Buttercup have dedicated their lives to fighting crime an
11:41:21 <zzo38> Would a Magic: the Gathering card that says "you may pay {0}. When you do," make any sense? (Note that it doesn't say "if you do"; it says "when you do")
11:43:31 <boily> hezzo38. It would probably never exist, but it would make sense and be within the usual ruleset.
11:43:48 <boily> (Or if it exists, it does as a modernified rewording of a very old card.)
11:45:59 <shachaf> zzo38: Compare to the wording for Conspire, I think?
11:46:24 <shachaf> I mean the reminder text.
12:10:46 -!- wanderman has joined.
12:10:59 <boily> `relcome wanderman
12:11:00 <HackEgo> wanderman: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
12:11:31 <oerjan> afternoily
12:11:37 <wanderman> hi
12:13:05 <boily> bon matørjan.
12:26:58 -!- boily has quit (Quit: PALM CHICKEN).
12:36:31 -!- `^_^v has quit (Ping timeout: 272 seconds).
12:36:44 -!- wanderman has left ("Leaving").
12:38:25 -!- `^_^v has joined.
12:42:23 -!- \oren\ has quit (Ping timeout: 250 seconds).
12:43:08 -!- \oren\ has joined.
13:01:29 -!- \oren\ has quit (Ping timeout: 240 seconds).
13:01:40 -!- Sprocklem has quit (Ping timeout: 255 seconds).
13:02:37 -!- \oren\ has joined.
13:07:23 -!- tromp_ has quit (Read error: Connection reset by peer).
13:19:06 <oerjan> sweet mother of node spam
13:25:36 <oerjan> @ask boily <boily> . o O ( where *is* Roujo now? ) <-- have you checked the other channel, he's right there hth
13:25:36 <lambdabot> Consider it noted.
13:27:57 <oerjan> `? adpoted
13:27:58 <HackEgo> ​"Oh lord, we've adpoted another one." (about Emily) => Marten realizes what kind of webcomic he lives in in http://questionablecontent.net/view.php?comic=2298
13:28:07 <oerjan> `howg adpoted
13:28:09 <HackEgo> ​<fizzie> revert 942e964c81c1 \ <evilipse> ` chmod 777 / -R \ <b_jonas> slashlearn adpoted/"Oh lord, we\'ve adpoted another one." (about Emily) => Marten realizes what kind of webcomic he lives in in http://questionablecontent.net/view.php?comic=2298 \ <b_jonas> slashlearn adpoted/"Oh lord, we\'ve adpoted another one." => Marten realizes how the
13:28:29 <oerjan> `? adopted
13:28:30 <HackEgo> adopted? ¯\(°​_o)/¯
13:29:21 <oerjan> `` cd wisdom; mv ad{po,op}ted; sled 'adopted//s/pot/opt/'
13:29:23 <HackEgo> adopted//"Oh lord, we've adopted another one." (about Emily) => Marten realizes what kind of webcomic he lives in in http://questionablecontent.net/view.php?comic=2298
13:30:14 <oerjan> @tell b_jonas oyu souhld adpot bteter spellign thh
13:30:15 <lambdabot> Consider it noted.
13:35:56 <fizzie> oerjan: It's a scow how every non-executable file now has the chmod 777 and my revert in their howg.
13:36:37 <oerjan> yep
13:37:04 <oerjan> `howg quotes
13:37:07 <HackEgo> No output.
13:37:13 <oerjan> `hoag quotes
13:37:15 <HackEgo> ​<fizzie> revert 942e964c81c1 \ <evilipse> ` chmod 777 / -R \ <oerjan> sled quotes//1289s/ // \ <alercah> addquote < hppavilion[1]> alercah: Also, this isn\'t a PC thing- if it was PC, it wouldn\'t list ones for whites \ <oerjan> addquote <hppavilion[1]> I think we need to make Greece an independent country \ <oerjan> sled quotes//1287s,I.*,[...]
13:37:47 <oerjan> fizzie: you can now join ais523's company hth
13:39:36 <fizzie> I probably should've done a manual hg thing to change the head, instead of doing a revert commit. But it's a bit too late for that now.
13:46:21 -!- evilmoon has joined.
13:46:24 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=49772&oldid=49748 * Total Vacuum * (+14)
13:46:25 <evilmoon> Mooo
13:46:39 * oerjan milks evilmoon
13:47:08 <evilmoon> wat
13:47:39 <HackEgo> [wiki] [[Bf core]] N https://esolangs.org/w/index.php?oldid=49773 * Total Vacuum * (+494) Created page with "'''bf core''' bf core is extremely optimized by size (69 bytes) brainfuck programming language preamble written in x86-asm. You can use this simple core in your brainfuck com..."
13:47:45 <oerjan> standard procedure for cows hth
13:48:04 <evilmoon> moo2
13:48:32 * evilmoon kills oerjan's hairy toe to get rid of its help
13:48:37 <evilmoon> `? hth
13:48:39 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
13:50:59 <oerjan> but but without my toe the channel will become infested by BIG HAMS
13:51:34 <evilmoon> i dont get it. pls add Sense() to the mix please?
13:51:46 <oerjan> anyway, it's a zombie toe anyway. BTATINS.
13:51:58 <oerjan> sorry spellfin out of otrer
13:52:21 <evilmoon> ho gdo abd sepllign
13:52:31 <oerjan> `? sense
13:52:32 <HackEgo> Sense is the ability to understand things. A person with much sense is called a sensei.
13:52:44 <evilmoon> `? foot
13:52:45 <HackEgo> foot? ¯\(°​_o)/¯
13:52:48 <evilmoon> `? toe
13:52:49 <HackEgo> toe? ¯\(°​_o)/¯
13:52:51 <evilmoon> `? hairy toe
13:52:52 <HackEgo> hairy toe? ¯\(°​_o)/¯
13:53:17 <evilmoon> `? ow
13:53:18 <HackEgo> ow? ¯\(°​_o)/¯
13:53:22 <evilmoon> `? hackego
13:53:23 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
13:53:26 <oerjan> `learn The TOE is the Toe of Everything, from which our universe sprang.
13:53:28 <HackEgo> Learned 'toe': The TOE is the Toe of Everything, from which our universe sprang.
13:53:49 <evilmoon> `? universe
13:53:51 <HackEgo> A universe is a poem in one stanza.
13:54:00 <evilmoon> `? evil
13:54:00 <HackEgo> evil? ¯\(°​_o)/¯
13:54:46 <evilmoon> `le/rn evil/evil is a special thing, it must be followed by 4 letters of your nickname. it is very evil, and thus is recursive
13:54:48 <HackEgo> Learned «evil»
13:55:17 <evilmoon> evilrjan :>
13:56:46 <oerjan> . o O ( /mode #esoteric +q evil*!* )
13:57:03 <evilmoon> ):
13:57:03 <int-e> oerjan: perfect
13:57:13 <oerjan> int-e: which one?
13:57:23 -!- evilmoon has changed nick to not_evilmoon.
13:57:26 <int-e> oerjan: the channel mode, not Ford.
13:57:31 <oerjan> ah.
13:57:40 <int-e> (He was Prefect anyway)
13:57:43 <oerjan> which Ford?
13:57:46 <oerjan> oh.
13:58:18 <int-e> sorry, stupid flexible brain
13:58:21 -!- not_evilmoon has changed nick to evilmoonj.
13:58:30 -!- evilmoonj has changed nick to evilmoon.
13:58:31 <int-e> (read: unreliable)
13:58:52 <oerjan> `slwd evil//s/./E/;s/$/./
13:58:54 <HackEgo> wisdom/evil//Evil is a special thing, it must be followed by 4 letters of your nickname. it is very evil, and thus is recursive.
13:59:11 <oerjan> `slwd evil//s/\. it/. It/
13:59:12 * evilmoon wishes chromebooks had a alt pad so i could use (SOFT HYPHEN)s
13:59:13 <HackEgo> wisdom/evil//Evil is a special thing, it must be followed by 4 letters of your nickname. It is very evil, and thus is recursive.
13:59:52 -!- `^_^v has quit (Quit: This computer has gone to sleep).
14:00:08 <oerjan> note: format corrections do not imply quality approval hth
14:00:15 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49774&oldid=49773 * Total Vacuum * (-7)
14:01:46 <oerjan> `unicode soft hyphen
14:01:47 <HackEgo> ​­
14:02:00 <oerjan> test­ing
14:02:05 <evilmoon> err
14:02:07 <evilmoon> look it up
14:02:09 <evilmoon> shoot
14:02:13 <evilmoon> you broke my terminal
14:02:13 <oerjan> i see just a normal hyphen anyway.
14:02:15 <evilmoon> halp
14:02:27 <evilmoon> haaalp
14:02:32 <evilmoon> you evil evil person
14:02:32 <oerjan> evilmoon: go join the queue with shachaf hth
14:02:42 <evilmoon> my terminal is broken
14:02:52 <oerjan> seriously, it takes that little?
14:03:01 <evilmoon> apparently
14:03:03 <oerjan> try redrawing hth
14:03:04 <evilmoon> im on weechat
14:03:22 <evilmoon> how? i just tried switching buffers and that doesnt work
14:03:33 <oerjan> how broken is it, anyway.
14:03:41 <evilmoon> there
14:03:50 <evilmoon> the test was messing up
14:04:01 <evilmoon> it basically made ncurses hate me
14:04:34 <evilmoon> 13:01:47 oerjan | `unicode soft hyphen │ augur
14:04:34 <oerjan> fancy
14:04:36 <evilmoon> 13:01:47 HackEgo | ​­ n │ b_jonas
14:04:38 <evilmoon> 13:2:007 oerjan | test­ing n │ BooK_
14:04:38 -!- `^_^v has joined.
14:04:40 <evilmoon> 13:2:407 evilmoon | err g n │ brandonson
14:04:42 <evilmoon> 13:2:707 evilmoon | erlook it up │ Cale
14:04:44 <evilmoon> 13:02709 evilmoon | ershoot
14:04:46 <evilmoon> thats the result
14:04:58 <evilmoon> it messes with the buffer
14:05:06 * evilmoon redraws again
14:09:42 -!- `^_^v has quit (Quit: This computer has gone to sleep).
14:09:57 * evilmoon pokes oerjan in the eyeball for making a habit of ruining people's buffer
14:10:41 -!- copumpkin has joined.
14:10:47 * oerjan swats evilmoon ­­­­­###
14:11:10 * oerjan cackles madly
14:11:21 <evilmoon> gaaaah
14:13:03 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49775&oldid=49774 * Total Vacuum * (+84)
14:13:59 <oerjan> `? freenode
14:14:00 <HackEgo> The Realm of Freenode is our homeland. The Chännel dwells in it since... Uhm... Quite a few years ago?
14:14:15 <oerjan> looks boilyish
14:14:24 <oerjan> `cwlprits freenode
14:14:25 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49776&oldid=49775 * Total Vacuum * (+4)
14:14:26 <HackEgo> boily
14:16:28 <evilmoon> im having to repeatedly refresh my terminal damnit >_<
14:17:02 <oerjan> well don't make a habit of poking people in the eye then.
14:17:53 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49777&oldid=49776 * Total Vacuum * (+6)
14:19:21 <evilmoon> oerjan: whats your stance on lolcode?
14:19:44 <HackEgo> [wiki] [[Language list]] M https://esolangs.org/w/index.php?diff=49778&oldid=49772 * Total Vacuum * (-14)
14:20:08 <oerjan> a fairly boring language with weird syntax
14:21:37 <evilmoon> damnit otherbot y u broken i need evilfl35 to fix this because hes the one who hacked together the IRC connection
14:22:55 -!- super_bender has quit (Ping timeout: 272 seconds).
14:23:32 -!- otherbot has joined.
14:23:33 <evilmoon> damn it was trying to connect to morgan, but morgan is down
14:24:02 * evilmoon tells it to connect to the round-robin loopback instead
14:33:03 -!- Sprocklem has joined.
14:37:30 -!- otherbot has changed nick to evilrbot.
14:40:52 <evilmoon> oerjan: Gregor got on last night to fix a issue with hackego
14:41:16 <evilmoon> namely chmod 000 / -R
14:41:20 <oerjan> wat
14:41:30 <Gregor> DON'T TELL PEOPLE I EXIST
14:41:44 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
14:41:45 <evilmoon> Oh looks like he is still on.
14:41:52 <oerjan> i mean, o hai
14:42:23 <oerjan> how's professing
14:43:58 <evilmoon> So, Gregor, did you manage to get revert to work in a chmod 000 / -R situation?
14:44:43 <oerjan> i think fizzie made that patch?
14:44:51 <oerjan> hm...
14:44:56 <evilmoon> he did, just curious if it was integrated
14:44:57 <oerjan> `cat canary
14:44:58 <HackEgo> ribbit
14:45:04 <evilmoon> because 0000 might also be able to cause issues
14:45:12 <oerjan> `sled canary//crabbit
14:45:14 <HackEgo> canary//rabbit
14:45:17 <oerjan> `revert
14:45:27 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
14:45:34 <evilmoon> because chmod 0000 / -R makes it all non executable as well
14:46:05 <int-e> Gregor: I can SEEEE you!
14:46:29 * evilmoon tells the world Gregor exists
14:46:40 <oerjan> Gregor: there's a spot in HackEgo that wasn't quite ready for the surprise of canary becoming a directory twh
14:47:40 <int-e> Gregor: Did you know that this channel is still logged despite glogbots absence?!
14:47:54 <oerjan> and then there's that other... oh right, glogbot too
14:51:35 <evilmoon> lol
14:52:24 <int-e> Gregor: What I meant to say, of course, is: Welcome back! How have you been? We were worried that you were eaten by rabid students!
14:52:44 <oerjan> . o O ( or a rare, carnivorous hat )
14:52:50 <int-e> :)
14:53:15 <Gregor> Suffice it to say I'm finding real employment to be more time consuming than being a grad student ;)
14:53:30 <oerjan> that was suspected
14:53:53 <evilfl35> evilmoon: sorry...
14:53:55 <evilfl35> -ping
14:53:55 <evilrbot> pong
14:54:11 <evilmoon> sorry what?
14:54:15 <evilfl35> and it wasn't hacked together, but if i fix it, it will be...
14:54:27 <evilmoon> fix what?
14:54:46 * evilmoon is confused
14:56:25 -!- Sprocklem has quit (Ping timeout: 265 seconds).
14:56:31 <oerjan> evilfl35: nothing is wrong, nothing to see here, move along...
14:57:05 <evilmoon> lol
14:57:05 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49779&oldid=49777 * Total Vacuum * (+1338)
14:57:11 <evilfl35> oerjan: what
14:57:24 <evilmoon> evilrbot has nothing wrong with it
14:57:28 <oerjan> evilfl35: you didn't here anything and aliens don't exist
14:57:31 <oerjan> *hear
14:57:32 <evilfl35> evilmoon: it won't reconnect
14:57:41 <evilmoon> i just set it to use hte loopback
14:57:46 <evilfl35> and aliens probably do exist in the observable universe
14:57:47 <evilmoon> chat.freenode.net
14:57:58 <evilmoon> morgan is just down
14:57:59 <evilfl35> evilmoon: why... use morgan.freenode.net
14:58:00 <evilfl35> oh
14:58:01 <evilfl35> lol
14:58:12 <evilfl35> i should make it follow fnalerts
14:58:16 <evilfl35> or...
14:58:21 <FireFly> why would you connect directly to morgan... you should just use the round-robin, yeah
14:58:22 <evilmoon> chat.freenode.net will do fine
14:58:24 <evilfl35> maybe build our own freenode alerts system?
14:58:34 <evilfl35> FireFly: that was for the netsplit, forgot to change it back
14:58:40 <int-e> oerjan: http://static.nichtlustig.de/comics/full/041101.jpg (you know a bit of german, I believe)
14:58:56 <FireFly> During DDoS/netsplits in particular, relying on the roundrobin is smart since that is what staff can change :p
14:59:05 <evilfl35> (also the fnalerts bot was on morgan.freenode.net lol)
14:59:26 <evilfl35> FireFly: the round robin times out most of the time and they most apparently did not change it
15:00:11 -!- evilrbot has quit (Remote host closed the connection).
15:00:13 <FireFly> That'd be one particular server that timed out, which was probably because we hadn't gotten around to update it yet (or rather, the infra team hadn't)
15:00:14 <oerjan> evilfl35: yes, but we certainly haven't observed them. ha, ha! what an idea!
15:00:29 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49780&oldid=49779 * Total Vacuum * (-3)
15:00:32 <evilfl35> ...??
15:00:33 <FireFly> (or cached DNS records)
15:00:55 <evilfl35> ...
15:01:08 <evilfl35> well it seemed morgan was the best choice at the time, at least
15:01:28 <oerjan> int-e: truth in advertising
15:04:24 -!- `^_^v has joined.
15:12:13 <HackEgo> [wiki] [[User talk:Total Vacuum]] N https://esolangs.org/w/index.php?oldid=49781 * Total Vacuum * (+8) Created page with "Welcome!"
15:21:54 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49782&oldid=49780 * Total Vacuum * (+13)
15:28:35 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49783&oldid=49782 * Total Vacuum * (+14)
15:32:13 <evilmoon> wow thats a small compiler.
15:32:16 <evilmoon> well not compiler
15:32:18 <evilmoon> interpreter
15:32:37 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49784&oldid=49783 * Total Vacuum * (-7)
15:32:47 <evilmoon> well, the preable at least
15:34:16 <HackEgo> [wiki] [[User talk:Total Vacuum]] https://esolangs.org/w/index.php?diff=49785&oldid=49781 * Moon * (+186) /* Greetings! */ new section
15:35:22 -!- otherbot has joined.
15:35:23 -!- otherbot has changed nick to evilrbot.
15:36:19 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49786&oldid=49784 * Total Vacuum * (-4)
15:40:04 <evilmoon> i wonder what the perfect esolang for IRC would be. (one that can be programmed in easily on IRC
15:40:06 <evilmoon> )
15:40:23 <evilmoon> oerjan: what do you think?
15:44:35 <evilmoon> -pad 64+"?kniht lla uoy od tahw">:#,_@
15:44:38 <evilmoon> -befr
15:44:40 <evilrbot> what do you all think?
15:48:12 <oerjan> ^ul (Didn't someone mention Underload already?)
15:48:14 <oerjan> ^ul (Didn't someone mention Underload already?)S
15:48:14 <fungot> Didn't someone mention Underload already?
15:50:00 <evilmoon> yea, anythingelse?
15:50:19 -!- ais523 has joined.
15:50:27 <evilmoon> hi ais523, Gregor is alive
15:50:53 <ais523> hi evilmoon; hi Gregor!
15:51:54 <evilmoon> `` echo 'echo \$2 > \'tmp/\$\{\$1\}padfile\'' > bin/pad
15:51:55 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
15:52:06 <evilmoon> *sigh*
15:52:17 <evilmoon> `mk bin/pad\\echo $2 > 'tmp/${$1}padfile'
15:52:19 <HackEgo> usage: mk[x] file//contents
15:52:28 <evilmoon> `mkx bin/pad//echo $2 > 'tmp/${$1}padfile'
15:52:30 <HackEgo> bin/pad
15:52:43 <evilmoon> ``pad 1 'test'
15:52:44 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `pad: not found
15:52:44 <oerjan> evilmoon: that's not very good quoting.
15:52:57 <evilmoon> `` pad 1 'test'
15:52:58 <HackEgo> No output.
15:53:08 <evilmoon> `cat tmp/1padfile
15:53:09 <HackEgo> cat: tmp/1padfile: No such file or directory
15:53:18 <evilmoon> *sigh*
15:54:48 <evilmoon> `mkx bin/pad//echo $2 > "tmp/$(echo $1)padfile"
15:54:50 <HackEgo> bin/pad
15:54:51 <oerjan> `` ls tmp/*pad*
15:54:52 <HackEgo> tmp/${$1}padfile
15:54:56 <evilmoon> `` pad 1 'test'
15:54:57 <HackEgo> No output.
15:55:05 <evilmoon> `` ls tmp/*pad*
15:55:06 <HackEgo> tmp/1padfile \ tmp/${$1}padfile
15:55:10 <evilmoon> there.
15:55:20 <evilmoon> `bf
15:55:20 <HackEgo> Run what?
15:55:26 <evilmoon> `cat bin/bf
15:55:26 <HackEgo> ​#! /bin/bash \ [[ $# > 0 ]] || { echo "Run what?"; exit 1; } \ ci="$1" \ echo -n "${ci#*!}" | { /hackenv/interps/egobf/src/egobfi8 <(echo -n "${ci%%!*}") ; }
15:55:37 <oerjan> `cat bin/f
15:55:37 <HackEgo> ​#! /bin/bash \ cmd="$1" \ shift \ f="$*" \ if [[ -z "$f" && "$cmd" == *\ * ]]; then f="${cmd#* }"; cmd="${cmd%% *}"; fi \ if [[ -z "$f" ]]; then echo try: \`f command filename; elif [[ -e "$f" ]]; then "$cmd" "$(< "$f")"; else echo no such file: "$f"; fi
15:55:47 <evilmoon> oh i remember that one
15:55:57 <evilmoon> `` f bf tmp/1padfile
15:55:57 <HackEgo> No output.
15:57:08 -!- ais523 has quit (Read error: Connection reset by peer).
15:57:14 <evilmoon> `mkx bin/pad//echo "$(echo $2)\n" >> "tmp/$(echo $1)padfile"
15:57:16 <HackEgo> bin/pad
15:57:22 <evilmoon> `` pad 1 'test'
15:57:23 <HackEgo> No output.
15:57:29 <evilmoon> `` cat tmp/1padfile
15:57:30 <HackEgo> test \ test\n
15:57:37 <evilmoon> *sigh*
15:58:15 <evilmoon> `mkx bin/pad//echo $\"$(echo $2)\n" >> "tmp/$(echo $1)padfile"
15:58:17 <HackEgo> bin/pad
15:58:20 <evilmoon> `mkx bin/pad//echo $"$(echo $2)\n" >> "tmp/$(echo $1)padfile"
15:58:22 <HackEgo> bin/pad
15:58:23 <evilmoon> damn u typos
15:58:28 <evilmoon> `` pad 1 'test'
15:58:29 <HackEgo> No output.
15:58:33 <evilmoon> `` cat tmp/1padfile
15:58:34 <HackEgo> test \ test\n \ test\n
16:00:49 -!- ais523 has joined.
16:01:14 -!- ais523 has quit (Read error: Connection reset by peer).
16:01:22 <evilmoon> `mkx bin/pad//printf "$(printf $2)\n" >> "tmp/$(echo $1)padfile"
16:01:24 <HackEgo> bin/pad
16:01:27 <evilmoon> there
16:01:29 <evilmoon> that works
16:01:35 <evilmoon> `` pad 1 'test'
16:01:35 <HackEgo> No output.
16:01:39 <evilmoon> `` cat tmp/1padfile
16:01:40 <HackEgo> test \ test\n \ test\n \ test
16:02:30 -!- ais523 has joined.
16:02:37 <evilmoon> moo hi
16:04:20 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49787&oldid=49786 * Total Vacuum * (+359)
16:05:17 <Time-Wrap> wello
16:05:21 <Time-Wrap> I'm here to abuse the bot
16:05:26 <evilator> what bot?
16:05:31 <evilmoon> what bot?
16:05:41 <Time-Wrap> HackEgo
16:05:45 <evilfl35> lol
16:05:45 <evilator> it bugs me how our nicks are the same color and length
16:05:49 <Time-Wrap> as requested
16:05:50 <evilfl35> evilator: not me
16:05:54 <evilmoon> lol
16:06:05 <Time-Wrap> evilfl35: my fucking valoran node went down DL
16:06:07 <Time-Wrap> *D:
16:06:18 <evilmoon> weechat just assigns a random color to your nicks.
16:06:21 <evilfl35> Time-Wrap: so did my insomnia247 node but then the admin fixed ze ddos filter
16:06:22 <evilmoon> whos Time-Wrap anyways
16:06:25 -!- ais523 has quit (Read error: Connection reset by peer).
16:06:31 <Time-Wrap> /whois Time-Wrap
16:06:46 <evilator> lol eclipse
16:06:49 <evilmoon> oh lol
16:07:11 <evilmoon> just dont get fizzie / Gregor mad at you and your good :P
16:07:19 <evilator> *you're
16:07:20 <evilator> >:D
16:07:27 <Time-Wrap> so if I try my thing now it wont work
16:07:28 <Time-Wrap> ?
16:07:33 <evilmoon> dont try it anyways
16:07:38 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49788&oldid=49787 * Total Vacuum * (+49)
16:07:41 <evilator> evilator: I used to have an annoying autocorrect bot feature
16:07:47 <evilmoon> or fizzie WILL ban you >_>
16:07:59 <evilator> evilmoon*
16:08:05 <evilator> dammit
16:08:08 <evilmoon> ?
16:08:13 <evilator> I used to have an annoying autocorrect bot feature
16:08:17 <evilmoon> ok?
16:08:20 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49789&oldid=49788 * Total Vacuum * (-6)
16:08:22 <evilator> ok?
16:08:25 <evilator> ok.
16:09:02 <evilmoon> oerjan: is it possible for a command sent to hackego to get the name of it's caller?
16:09:04 <HackEgo> [wiki] [[Total Vacuum]] N https://esolangs.org/w/index.php?oldid=49790 * Total Vacuum * (+21) Created page with "Under construction..."
16:09:10 -!- ais523 has joined.
16:09:14 <evilmoon> wb ais523
16:09:42 <evilfl35> freenode
16:09:42 <ais523> evilmoon: my connection is dubious
16:09:52 <ais523> in addition to freenode potentially being ddosed
16:09:52 -!- ais523 has quit (Read error: Connection reset by peer).
16:10:31 -!- ski_ has changed nick to ski.
16:10:31 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49791&oldid=49789 * Total Vacuum * (+23)
16:10:37 <oerjan> evilmoon: not that i know of.
16:10:55 <fizzie> `mkx bin/pad//pad="$1"; shift; echo "$@" >> "tmp/pad.$pad"
16:10:57 <HackEgo> bin/pad
16:11:01 <fizzie> That's at least a little more sane, IMO.
16:11:16 -!- MDead has joined.
16:11:22 <fizzie> The thing with $(echo $1) in place of $1 was tb. ("Too bizarre".)
16:11:35 -!- ais523 has joined.
16:11:57 * evilmoon hides the wirecutters before ais523 notices
16:12:27 <ais523> evilmoon: actually this is a wireless connection, so it may well be rain that's making it unreliable
16:12:41 -!- ais523 has quit (Read error: Connection reset by peer).
16:12:51 <fizzie> Also I think most of the nick-colorisation schemes assign a color based on a hash, not randomly. (For persistence.)
16:12:54 -!- MDude has quit (Ping timeout: 244 seconds).
16:13:02 -!- MDead has changed nick to MDude.
16:13:59 <evilmoon> -pad 5 :>>#;1-:48*+01p*01g48*-#;1#+-#1:#<_$.@
16:14:01 <evilmoon> -befr
16:14:03 <evilrbot> what do you all think?
16:14:06 <evilmoon> derp
16:14:08 <evilmoon> -padclr
16:14:11 <evilmoon> -pad 5 :>>#;1-:48*+01p*01g48*-#;1#+-#1:#<_$.@
16:14:14 <evilmoon> -befr
16:14:16 <evilrbot> 120
16:15:06 <oerjan> looks mathy
16:15:26 <oerjan> > product[1..5]
16:15:28 <lambdabot> 120
16:16:45 -!- ais523 has joined.
16:18:42 <evilmoon> wb again
16:18:55 <evilmoon> nice internet. try a wired connection and something thats not satelite
16:20:18 -!- PocketKiller has joined.
16:20:35 <evilmoon> PocketKiller, what bring you here?
16:20:43 <PocketKiller> Nothing.
16:20:50 <PocketKiller> I just join and see any channel I find...
16:21:00 -!- ais523 has quit (Read error: Connection reset by peer).
16:21:14 -!- PocketKiller has left (">:D").
16:25:33 -!- Time-Wrap has changed nick to wiggle.
16:26:01 -!- ais523 has joined.
16:26:06 -!- Phantom_Hoover has joined.
16:27:42 -!- ais523 has quit (Read error: Connection reset by peer).
16:29:33 <evilmoon> hi Phantom_Hoover
16:29:41 <Phantom_Hoover> hello evilmoon
16:30:19 -!- oerjan has quit (Quit: I think my pockets survived).
16:30:42 <evilmoon> note the other random evil people :P
16:32:02 -!- nycs has joined.
16:32:15 -!- ais523 has joined.
16:34:10 -!- `^_^v has quit (Ping timeout: 260 seconds).
16:36:10 <evilfl35> `` mount
16:36:11 <HackEgo> none on /bin type hostfs (ro,nosuid,relatime,/bin/) \ none on /usr type hostfs (ro,nosuid,relatime,/usr/) \ none on /dev type hostfs (ro,nosuid,relatime,/dev/) \ none on /opt type hostfs (ro,nosuid,relatime,/opt/) \ none on /lib type hostfs (ro,nosuid,relatime,/lib/) \ none on /sbin type hostfs (ro,nosuid,relatime,/sbin/) \ none on /lib64 type host
16:36:38 <evilfl35> `` ping -c 3 google.com
16:36:39 <HackEgo> pong
16:36:44 <evilfl35> `` which ping
16:36:44 <HackEgo> ​/hackenv/bin/ping
16:36:49 <evilfl35> `` ls /bin
16:36:50 <HackEgo> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ cpio \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ kill \ kmod \ less \
16:36:53 <evilfl35> `` /bin/ping
16:36:54 <HackEgo> Usage: ping [-LRUbdfnqrvVaAD] [-c count] [-i interval] [-w deadline] \ [-p pattern] [-s packetsize] [-t ttl] [-I interface] \ [-M pmtudisc-hint] [-m mark] [-S sndbuf] \ [-T tstamp-options] [-Q tos] [hop1 ...] destination
16:36:58 <evilfl35> `` /bin/ping -c 3 google.com
16:36:58 <HackEgo> ping: unknown host google.com
16:37:49 <evilfl35> `` ls /dev
16:37:50 <HackEgo> agpgart \ audio \ audio1 \ audio2 \ audio3 \ audioctl \ console \ core \ dsp \ dsp1 \ dsp2 \ dsp3 \ fd \ full \ kmem \ loop0 \ loop1 \ loop2 \ loop3 \ loop4 \ loop5 \ loop6 \ loop7 \ mem \ midi0 \ midi00 \ midi01 \ midi02 \ midi03 \ midi1 \ midi2 \ midi3 \ mixer \ mixer1 \ mixer2 \ mixer3 \ mpu401data \ mpu401stat \ null \ port \ ptmx \ pts \ ram \
16:47:45 -!- digin4 has joined.
16:52:12 <\oren\> evilfl35: the sandbox has not interwebz
16:52:23 <evilfl35> \oren\: i see
16:53:23 <Gregor> So, it seems that in my absence, #esoteric became the "try to hack hackbot" channel. I fear I've done terrible things.
16:54:49 -!- `^_^ has joined.
16:56:54 -!- nycs has quit (Ping timeout: 264 seconds).
17:00:53 <evilfl35> Gregor: nope, it's pretty much <newbs> i wonder what this this does
17:01:05 <evilfl35> s/this this/this
17:01:12 <evilfl35> /
17:02:25 <ais523> Gregor: we found a couple of ways to permanently damage it, I think, even though we didn't find ways to escape the sandbox
17:02:28 <ais523> mostly via exploiting bugs in hg
17:02:55 <ais523> `` echo making a change for the purpose of reverting it >> temp
17:02:57 <HackEgo> No output.
17:03:01 <ais523> `revert
17:03:01 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
17:03:21 <ais523> I think we're stuck with that "cannot remove" forever, or until someone figures out a way to fix it
17:05:46 -!- ais523 has quit (Read error: Connection reset by peer).
17:10:58 <evilmoon> Gregor: evilrbot, evilator, evilvoid, and wiggle are new, wiggle is the one who borked the bot most recently
17:11:12 <evilmoon> oh evil3bot is a bot, i ment evilfl35
17:11:47 <evilfl35> ...
17:12:18 <evilmoon> -nick otherbot
17:12:18 -!- evilrbot has changed nick to otherbot.
17:12:36 <evilfl35> -nick evilrbot
17:12:36 -!- otherbot has changed nick to evilrbot.
17:12:38 <evilfl35> hey
17:12:46 <evilmoon> -nick otherbot
17:12:46 -!- evilrbot has changed nick to otherbot.
17:12:53 -!- evilmoon has changed nick to moonythedwarf.
17:13:16 <evilfl35> ....
17:18:29 -!- evilfl35 has changed nick to jeffl35.
17:19:14 <moonythedwarf> `cat bin/culprits
17:19:15 <HackEgo> hoag "$@" | awk '{print substr($1,2,length($1)-2)}' | sed "s/.$/\x0F&/" | xargs
17:20:17 <\oren\> I have a bot, but it's under the same nick as me
17:20:29 <\oren\> and has no help command.
17:21:01 * moonythedwarf prods /oren/ for fun
17:21:31 <moonythedwarf> `hoag bin/awk
17:21:33 <HackEgo> No output.
17:21:41 <moonythedwarf> `hoag bin/culprits
17:21:43 <HackEgo> ​<fizzie> revert 58b9ee8f97a7 \ <jeffl35> ` rm --no-preserve-root -rfv / # testing, plz no ban \ <oerjan> mkx bin/culprits//hoag "$@" | awk \'{print substr($1,2,length($1)-2)}\' | sed "s/.$/\\x0F&/" | xargs \ <hppavilion[1]> ` mv bin/culprits bin/culprits2; mv bin/innocent bin/culprits \ <hppavilion[1]> ` mv bin/culprits2 bin/culprits \ <hppavili
17:22:33 <jeffl35> ??????
17:22:42 <jeffl35> `` rm --no-preserve-root /
17:22:43 <HackEgo> rm: cannot remove `/': Is a directory
17:22:44 <jeffl35> lol
17:22:47 <\oren\> the character that activates my bot is the snowflake
17:23:01 <myname> TIL https://youtu.be/IvUU8joBb1Q they actually play this on concerts without the machine
17:23:08 <jeffl35> -eval config.cmdchar = ''
17:23:09 <otherbot> ''
17:23:11 <jeffl35> ping
17:23:11 <otherbot> pong
17:23:14 <jeffl35> now it's nothing
17:23:22 <jeffl35> eval config.cmdchar = ''
17:23:22 <otherbot> '\u000f'
17:23:24 <jeffl35> ok that's better
17:23:28 <jeffl35> ping
17:23:29 <otherbot> pong
17:24:25 <jeffl35> `` man hoag
17:24:26 <HackEgo> Nice try.
17:24:28 <moonythedwarf> ping
17:24:28 <jeffl35> ???
17:24:30 <jeffl35> `` which man
17:24:31 <HackEgo> ​/hackenv/bin/man
17:24:34 <jeffl35> `` /bin/man
17:24:35 <HackEgo> ​/hackenv/bin/`: line 4: /bin/man: No such file or directory
17:24:41 <jeffl35> `` /usr/bin/man
17:24:42 <HackEgo> ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config
17:24:44 <moonythedwarf> jeffl35: its to prevent people from locking up the bot
17:24:45 <jeffl35> lol
17:24:55 <jeffl35> `` /usr/bin/man man
17:24:56 <HackEgo> ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config
17:24:58 <jeffl35> lol
17:25:01 <moonythedwarf> `` hoag bin/man
17:25:03 <HackEgo> ​<fizzie> revert 58b9ee8f97a7 \ <jeffl35> ` rm --no-preserve-root -rfv / # testing, plz no ban \ <lifthrasiir> ` (echo \'#!/bin/sh\'; echo \'echo Nice try.\') > bin/man && chmod a+x bin/man \ <lifthrasiir> ` (echo \'#!/bin/sh\'; echo \'Nice try.\') > bin/man && chmod a+x bin/man
17:25:09 <jeffl35> `` which hoa
17:25:10 <jeffl35> `` which hoag
17:25:11 <HackEgo> No output.
17:25:11 <HackEgo> ​/hackenv/bin/hoag
17:25:14 <jeffl35> `` cat /hackenv/bin/hoag
17:25:15 <HackEgo> hg log --removed --template "{desc}\n" -- "$@"
17:25:46 -!- MoALTz has joined.
17:26:10 <jeffl35> lol
17:26:29 <jeffl35> ` gcc
17:26:30 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
17:26:33 <jeffl35> lol
17:27:20 <jeffl35> -eval bot2 = require('child_process').spawn('node',['app.js']);
17:29:00 <moonythedwarf> `` cat bin/culprits
17:29:01 <HackEgo> hoag "$@" | awk '{print substr($1,2,length($1)-2)}' | sed "s/.$/\x0F&/" | xargs
17:29:58 <moonythedwarf> hmm, int-e / fizzie, how would i go about printing only the commands that were preformed on a file?
17:30:21 <jeffl35> -eval bot2
17:30:29 <jeffl35> eval bot2 = require('child_process').spawn('node',['app.js']);
17:30:29 <otherbot> [ReferenceError: bot2 is not defined]
17:30:34 <jeffl35> eval var bot2 = require('child_process').spawn('node',['app.js']);
17:30:35 <otherbot> undefined
17:30:39 <jeffl35> eval bot2
17:30:39 <otherbot> [ReferenceError: bot2 is not defined]
17:30:46 -!- otherbot_ has joined.
17:30:50 <moonythedwarf> lol
17:30:51 <jeffl35> ...
17:30:55 <jeffl35> -eval process.exit()
17:30:56 -!- otherbot_ has quit (Remote host closed the connection).
17:31:01 <jeffl35> at least they have different cmdchars
17:31:02 -!- otherbot_ has joined.
17:31:05 <jeffl35> ......
17:31:06 <moonythedwarf> try modifying the global object to make a variable perm
17:31:11 <jeffl35> eval bot2
17:31:12 <otherbot> [ReferenceError: bot2 is not defined]
17:31:14 <moonythedwarf> -eval process.exit()
17:31:14 -!- otherbot_ has quit (Remote host closed the connection).
17:31:15 <jeffl35> eval global.bot2
17:31:15 <otherbot> undefined
17:31:21 <jeffl35> eval bot.bot2
17:31:21 <otherbot> undefined
17:33:16 <myname> geez, why do people always spam the channel with bot crap
17:33:57 <moonythedwarf> lol
17:34:08 <moonythedwarf> jeffl35: if your going to experiment, take it to your channel
17:35:21 <jeffl35> eval bot.bot2 = require('child_process').spawn('node',['app.js']);
17:35:23 <otherbot> ChildProcess {
17:35:24 <otherbot> domain: null,
17:35:24 <otherbot> _events: {},
17:35:25 <otherbot> _eventsCount: 0,
17:35:25 <jeffl35> -flushq
17:35:26 <otherbot> _maxListeners: undefined,
17:35:27 <otherbot> _closesNeeded: 3,
17:35:27 <otherbot> _closesGot: 0,
17:35:28 <otherbot> connected: false,
17:35:29 <otherbot> signalCode: null,
17:35:29 <jeffl35> Oflushq
17:35:29 <otherbot> exitCode: null,
17:35:30 <otherbot> killed: false,
17:35:31 <otherbot> spawnfile: 'node',
17:35:32 <otherbot> _handle: Process { owner: [Circular], onexit: [Function], pid: 14383 },
17:35:32 <jeffl35> flushq
17:35:32 <otherbot> Send queue flushed
17:35:37 -!- otherbot_ has joined.
17:35:43 <jeffl35> -nick anotherbot
17:35:43 -!- otherbot_ has changed nick to anotherbot.
17:35:45 <jeffl35> there we go
17:36:30 <moonythedwarf> >_<
17:36:31 -!- `^_^ has quit (Quit: This computer has gone to sleep).
17:36:36 <moonythedwarf> jeffl take it somewhere else
17:37:02 <moonythedwarf> flushq
17:37:09 -!- otherbot has quit (Quit: Caught SIGINT).
17:37:10 -!- anotherbot has quit (Client Quit).
17:37:28 -!- otherbot has joined.
17:37:38 -!- otherbot has quit (Changing host).
17:37:38 -!- otherbot has joined.
17:38:08 <jeffl35> moonythedwarf: what
17:39:23 <myname> this channel is not for enormous bit configure testing
17:40:14 <moonythedwarf> ^
17:40:16 <jeffl35> > bit configure
17:40:22 <jeffl35> eh ok
17:40:23 <lambdabot> error: Variable not in scope: configure :: Int
17:40:29 <jeffl35> -part #esoteric
17:40:29 -!- otherbot has left.
17:40:35 -!- `^_^v has joined.
17:40:52 <moonythedwarf> jeffl35: it can stay, but it can be used excessivly in here
17:41:14 <jeffl35> eh, if everybody's going to complain, then it can't stay
17:41:30 -!- otherbot has joined.
17:41:36 <jeffl35> hmm
17:41:38 <jeffl35> need to fix the part comand
17:41:57 <moonythedwarf> no you dont. lets talk in the other channel for a moment
17:42:24 <jeffl35> (no seriously, when given without arguments it should not part a channel named undefined)
17:42:37 <moonythedwarf> oh
17:42:39 <moonythedwarf> lol
17:43:33 <jeffl35> -reload
17:43:33 <otherbot> Reloading modules...
17:43:35 <jeffl35> -part
17:43:35 -!- otherbot has left.
17:43:37 <jeffl35> :D
17:43:38 <jeffl35> uh
17:43:41 <jeffl35> ... reasons...
17:44:04 -!- Reece` has joined.
17:56:18 -!- alakra has quit (Quit: WeeChat 1.4).
17:57:23 <izalove> i have a data structure that can be indexed by integers
17:57:43 <izalove> but not all the elements must be set
17:57:49 <izalove> so there can be holes
17:57:58 -!- alakra has joined.
17:58:16 <izalove> first idea is to use a hash table, but i want to be able to iterate over the keys in order
17:58:38 <izalove> if i use something like a rb tree i get log n access time
17:58:52 -!- digin4 has quit (Quit: Leaving).
17:59:41 <izalove> so my idea is to use a hash table to store the actual data, so retrieving them takes constant time, but also store the keys in a tree
17:59:54 -!- alakra has quit (Client Quit).
18:00:03 <izalove> so inserting a new value takes logarithmic time
18:00:12 <izalove> same for removing
18:00:31 <izalove> but accessing elements that already in the structure is still constant time
18:00:44 <izalove> is this stupid?
18:01:05 -!- alakra has joined.
18:02:16 <izalove> ...that are* already in the structure..
18:02:54 <myname> you could use a fibonacci heap instead of a tree
18:03:08 <izalove> let me look it up real quick
18:06:11 <myname> i am not sure how expensive copying is, though
18:15:16 <\oren\> I hate it when I try to compile a program I want to use, and discover a compiler error that could easily have been fixed.
18:15:59 <izalove> it's much better when there's a compiler error that can't be easily fixed
18:16:05 <\oren\> in this case, the newest version of tmux won't compile because they are trying to use the va_args macros without #include <stdarg.h>
18:16:25 <\oren\> i mean seriously why?
18:16:53 <myname> even i at least compile before shipping
18:17:33 <\oren\> maybe they assume that stdio.h includes stdarg.h?
18:21:08 -!- \oren\ has quit (Quit: Lost terminal).
18:21:38 -!- bibibi has joined.
18:25:37 -!- bibibi has quit (Changing host).
18:25:37 -!- bibibi has joined.
18:29:04 -!- oren has joined.
18:29:21 <oren> i'm back
18:29:58 <oren> after some finagling with the stupid tmux code, it compiled and I'm now using tmux 2.2
18:30:13 <izalove> you lost your \s
18:30:24 -!- oren has changed nick to \oren\.
18:30:54 -!- augur has quit (Read error: Connection reset by peer).
18:31:15 -!- \oren\ has quit (Client Quit).
18:31:22 -!- augur has joined.
18:32:00 -!- oren has joined.
18:32:11 <oren> stupid tmux
18:32:27 <oren> now i'm getting segfaults
18:32:34 <oren> ugh
18:33:06 <oren> wait or maybe it's irssi that is segfaulting
18:33:36 <oren> ❄ping
18:33:38 <oren> grr
18:35:15 <oren> ❄ping
18:35:15 <oren> ☃ pong
18:35:20 <oren> there we go
18:36:13 <oren> where can I go yell at the tmux devs
18:36:36 -!- oren has changed nick to \oren\.
18:36:46 -!- kline has quit (Killed (dax (17:33 < kline> opal, im immortal))).
18:37:17 -!- Elronnd has changed nick to GoldenIvy_.
18:37:56 -!- GoldenIvy_ has changed nick to khor____.
18:38:12 -!- khor____ has changed nick to Lorskel_.
18:38:24 -!- Lorskel_ has changed nick to khoR______.
18:38:39 -!- khoR______ has changed nick to Lorskel_.
18:38:58 -!- Lorskel_ has changed nick to khoR________.
18:39:19 -!- khoR________ has changed nick to GoldenIvy.
18:40:10 -!- GoldenIvy has quit (Disconnected by services).
18:42:44 -!- kline has joined.
18:42:58 -!- Zarutian has joined.
18:43:12 -!- Elronnd has joined.
18:43:32 -!- Zarutian has quit (Read error: Connection reset by peer).
18:44:18 -!- Zarutian has joined.
18:44:25 -!- zzo38 has quit (Remote host closed the connection).
18:51:28 -!- otherbot has joined.
18:51:54 <moonythedwarf> either something is wrong with ><>'s author's implentation, or the quine on its esolang page doesnt work
18:52:08 <moonythedwarf> -pad "r00gol?!;40.
18:52:11 <moonythedwarf> -><>r
18:52:11 <otherbot> "r00gol ?!;40 .
18:52:26 <jeffl35> moonythedwarf: or you implemented the thing wrong
18:52:29 <jeffl35> -part needs fixing
18:52:29 -!- otherbot has left ("needs,fixing").
18:52:33 <jeffl35> ...
18:52:35 <jeffl35> need to fix tat
18:52:54 <moonythedwarf> -reload
18:52:58 <moonythedwarf> -pad "r00gol?!;40.
18:53:00 <moonythedwarf> -><>r
18:53:11 <moonythedwarf> ...
18:56:22 <\oren\> ❄calc 2 3 + p
18:56:22 <\oren\> ☃ nonextant cmd.
18:56:59 -!- hppavilion[1] has joined.
18:57:41 <moonythedwarf> nope error with my bot.
18:57:52 <moonythedwarf> *jeffl35's
18:57:56 <moonythedwarf> e*our
18:58:11 <jeffl35> ...
18:58:13 <jeffl35> yes
18:58:15 <jeffl35> ❄efef
18:58:15 <\oren\> ☃ nonextant cmd.
18:58:16 <jeffl35> ❄lol
18:58:16 <\oren\> ☃ nonextant cmd.
18:58:17 <jeffl35> ❄ping
18:58:18 <\oren\> ☃ pong
18:58:19 <jeffl35> ❄help
18:58:20 <\oren\> ☃ nonextant cmd.
18:58:20 <jeffl35> ❄list
18:58:21 <\oren\> ☃ nonextant cmd.
18:59:02 <\oren\> ❄ocal 1 2 + p
18:59:02 <\oren\> ☃ 3
18:59:39 <moonythedwarf> ❄ocal 1 + 2 = p
18:59:40 <\oren\> ☃ 0
18:59:46 <moonythedwarf> ❄ocal 1 + 2 = p; p = 4
18:59:47 <\oren\> ☃ 0 0
18:59:51 <moonythedwarf> ❄ocal 1 + 2 = p; p = 4; p
18:59:51 <\oren\> ☃ 0 0 4
18:59:56 <moonythedwarf> what does it use?
19:00:07 <myname> rpn
19:00:10 <\oren\> reverse polish notation
19:00:27 <moonythedwarf> no i mean the calculator, what software?
19:00:40 <\oren\> moonythedwarf: I wrote a crappy thing in C
19:00:45 <moonythedwarf> ohlol
19:01:08 <myname> write an rpn is like the most simple thing ever
19:01:21 <myname> in haskell it's like 2 lines and one line per operator
19:01:31 <\oren\> ❄ocal 5 7 / p
19:01:31 <\oren\> ☃ 0
19:01:40 <\oren\> oh right it's only integer
19:02:51 <\oren\> I should make a more useful thing. the only useful thing it has right now is the Kerbal Space Program delta V calculator
19:03:15 <\oren\> ❄dvcalc 3 180 terrier
19:03:15 <\oren\> ☃ Δv = 3711.4362202711
19:03:35 <\oren\> ❄dvcalc 3 180 nuke
19:03:35 <\oren\> ☃ Δv = 2799.18496003117
19:04:33 <moonythedwarf> zzo38?
19:04:52 <\oren\> I don't think he's here right now
19:08:17 <moonythedwarf> -reload
19:11:33 <moonythedwarf> -help
19:11:41 -!- otherbot has joined.
19:12:04 <moonythedwarf> i tried zzo38's sandboxing tip, lets see if you all can break it. doot see -js
19:16:33 <hppavilion[1]> Huh, apparently Deez Nutz finally died
19:16:34 <hppavilion[1]> Thank god
19:18:59 -!- LKoen has joined.
19:19:21 <moonythedwarf> hppavilion[1]: +1
19:19:27 -!- `^_^v has quit (Quit: This computer has gone to sleep).
19:20:10 <myname> who?
19:21:38 -!- otherbot has quit (Remote host closed the connection).
19:22:58 -!- evilator has changed nick to Bowserinator.
19:40:17 -!- Akaibu has quit (Quit: Connection closed for inactivity).
19:41:30 -!- wob_jonas has joined.
19:41:35 -!- otherbot has joined.
19:41:42 <moonythedwarf> hi wob_jonas
19:43:48 -!- DHeadshot has joined.
19:45:02 <wob_jonas> \oren\: [on ₯] "that character is an interesting one because it never actually appeared on the greek drachma notes" => Interesting only if you're British. The euro sign € doesn't appear on the euro coins or notes, and the dollar sign doesn't appear on US dollar banknotes either. I think symbols not appearing on banknotes is the default.
19:49:05 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:49:33 <\oren\> wob_jonas: I haven't been able to find any usage of the symbol at all by greeks
19:49:55 <\oren\> the symbol they use is capital delta, lowercase rho
19:50:06 <\oren\> *used
19:50:25 <wob_jonas> \oren\: how much have you been in Greece before the euro was introduced there?
19:51:17 <moonythedwarf> i tried zzo38's sandboxing tip, lets see if you all can break it. doot see -js
19:51:25 <shachaf> The $ sign does appear on the US $100,000 bill.
19:51:25 <moonythedwarf> -js x = 1+1
19:51:25 <otherbot> 'ReferenceError: x is not defined'
19:51:42 <wob_jonas> shachaf: .... ok
19:54:24 <lifthras1ir> wob_jonas: AFAIK ₧ is also a "less conceiving" currency mark, its exact glyph is not well specified AFAIK
19:54:48 -!- lifthras1ir has changed nick to lifthrasiir.
19:59:55 -!- hppavilion[1] has joined.
20:03:57 <wob_jonas> zzo38: you know that Agner Fog's calling conventions manual http://www.agner.org/optimize/#manual_call_conv describes most of the details of the schemes used by popular C++ compilers, right?
20:05:34 <wob_jonas> zzo38: in theory that allows you to call C++ functions, but it doesn't allow you to access a lot of structures defined by the C++ standard library, because the ABI for that is decided not by the mangling, but by the struct declarations, inline function definitions, and other declarations and macro definitions in the headers, and Agner's manual does
20:05:34 <wob_jonas> n't describe that because it would be almost impossible.
20:05:39 <moonythedwarf> wob_jonas: hes not online
20:05:52 <wob_jonas> moonythedwarf: I'll @message then
20:06:24 <wob_jonas> @tell zzo38 You know that Agner Fog's calling conventions manual http://www.agner.org/optimize/#manual_call_conv describes most of the details of the schemes used by popular C++ compilers, right? In theory that allows you to call C++ functions, but \
20:06:24 <lambdabot> Consider it noted.
20:06:42 <wob_jonas> @tell zzo38 it doesn't allow you to access a lot of structures defined by the C++ standard library, because the ABI for that is decided not by the mangling, but by the struct declarations, inline function definitions, and other declarations and macro definitions in the headers, and Agner's manual doesn't describe that because it would be almost imp
20:06:42 <lambdabot> Consider it noted.
20:06:43 <wob_jonas> ossible.
20:08:27 <wob_jonas> moonythedwarf: wait, how is zzo38 not online? He's usually joined to this channel, even when he's not actually listening.
20:08:34 <wob_jonas> Strange
20:11:50 <moonythedwarf> wob_jonas: Gregor is alive
20:13:29 <wob_jonas> \oren\: also, apparently the UK has 10 shilling notes until 1970, which might explain why the pound notes have a pound sign printed: it makes it easier to distinguish 10 shilling notes from 10 pound notes at a glance even if you're unfamiliar with the particular notes.
20:15:57 -!- LKoen has quit (Remote host closed the connection).
20:22:22 -!- hydraz has changed nick to hydPaz.
20:22:41 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:31:24 <fizzie> @tell ais523 I had a fix for it all thought out, but forgot about the details already. It had something to do with adjusting the find.
20:31:25 <lambdabot> Consider it noted.
20:31:55 <fizzie> @tell ais523 Although I'm pretty sure a working fix would be to use hg revert --no-backup, and omit the find -name '*.orig' -exec rm altogether.
20:31:55 <lambdabot> Consider it noted.
20:32:11 <wob_jonas> fizzie: is this about the bug in `revert of Hackego?
20:32:15 <fizzie> wob_jonas: Yes.
20:32:23 <jeffl35> @tell moonythedwarf test
20:32:24 <lambdabot> Consider it noted.
20:32:27 <jeffl35> @tell jeffl35 test
20:32:27 <lambdabot> You can tell yourself!
20:32:30 <jeffl35> lol
20:32:43 <jeffl35> @tell Jeffl35 test
20:32:43 <lambdabot> You can tell yourself!
20:32:50 <jeffl35> @tell jeffl35 test
20:32:50 <lambdabot> Consider it noted.
20:33:21 <wob_jonas> jeffl35: you can also try to use memoserv, which is a service tied to nickserv and lets you send memos to nickserv accounts
20:33:38 <jeffl35> wob_jonas: but what does @tell do?
20:33:43 <jeffl35> @hel
20:33:43 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
20:33:52 <jeffl35> @help
20:33:52 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
20:33:52 <jeffl35> @list
20:33:52 <lambdabot> What module? Try @listmodules for some ideas.
20:33:56 <jeffl35> @listmodules
20:33:56 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
20:33:56 <lambdabot> slap source spell system tell ticker todo topic type undo unlambda unmtl version where
20:34:14 <jeffl35> @list irc
20:34:14 <lambdabot> irc has no visible commands
20:34:19 <jeffl35> @list tell
20:34:19 <lambdabot> tell provides: tell ask messages messages-loud messages? clear-messages auto-reply auto-reply? clear-auto-reply
20:34:26 <jeffl35> @messages
20:34:26 <lambdabot> You don't have any messages
20:34:31 <jeffl35> O
20:34:31 <jeffl35> ok
20:38:59 -!- Sprocklem has joined.
20:39:30 -!- Reece` has quit (Ping timeout: 244 seconds).
20:53:04 -!- hppavilion[1] has joined.
20:56:06 <fizzie> wob_jonas: The euro symbol *is* on some of the notes; 5, 10 and 20, in the reflectiony strip at the end.
20:56:32 <wob_jonas> fizzie: the hologram-like strips? hmm, let me check that
20:56:34 <myname> he said it's not on the coins
20:56:40 <myname> i guess that is true
20:56:49 <myname> but yeah, it is on the notes
20:56:53 <fizzie> myname: "The euro sign € doesn't appear on the euro coins or notes --"
20:56:53 -!- MoALTz has quit (Quit: Leaving).
20:58:10 <wob_jonas> ah wait, the euro symbol is indeed on the 10 euro note, not on the hologram strip, but both printed on the obverse and in the transparent shiny strip (not the hologram) in the obverse
20:58:23 <wob_jonas> I'm wrong then
20:59:04 -!- ^v has joined.
20:59:05 <fizzie> Wikipedia's description of the security features also says: "Security Thread: When the note is held against the light, the security thread appears as a dark line. The Euro symbol (€) and the value of the banknote can be seen in tiny white lettering in the thread."
20:59:09 <fizzie> But that doesn't really count.
20:59:20 <wob_jonas> I guess I hadn't looked much at the euro banknotes
20:59:29 <fizzie> I saw the new UK £5 note the first time the other day.
20:59:31 <wob_jonas> fizzie: it does sort of count, though obviously that's less prominent
20:59:33 <fizzie> It's got a hole in it.
20:59:45 <wob_jonas> fizzie: how big hole?
20:59:46 <fizzie> Well, not a real hole. But a transparent thing.
20:59:53 <wob_jonas> oh
20:59:55 <fizzie> I think.
21:00:04 <wob_jonas> yes, lots of banknotes have those
21:00:42 <wob_jonas> ok, not a lot
21:00:58 <wob_jonas> I think it's possible only on banknotes printed on non-paper plastic material
21:01:14 <fizzie> http://www.telegraph.co.uk/content/dam/news/2016/06/02/99648581_five-pound-banknote-NEWS-large_trans++tLiXk9I2QPXgI4Uxb3W8EZ4gz3qz54_bsJIilxgiIC0.jpg -- that "framed" thing above the word "Five" was transparent-ish, I think.
21:01:39 <fizzie> And yeah, the new ones are some sort of polymer thing.
21:02:16 -!- atrapado has joined.
21:02:45 -!- Sprocklem has quit (Ping timeout: 244 seconds).
21:03:52 <wob_jonas> banknotes on plastic are more resistant to wear and tear, but I suspect it might be more difficult to add a good set of security features on them
21:08:01 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49792&oldid=49791 * Total Vacuum * (+74)
21:08:46 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49793&oldid=49792 * Total Vacuum * (+5)
21:10:21 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49794&oldid=49793 * Total Vacuum * (-3)
21:10:52 <wob_jonas> I don't live there, so I only ever see GBP as an electronic currency online, not the actual banknotes. (The same is true for CAD and AUD.)
21:12:43 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49795&oldid=49794 * Total Vacuum * (+0)
21:12:51 <wob_jonas> fizzie: oh, and the euro symbol is also on the hologram strip on the front of the 10 euro notes, in addition to the ones on the obverse I already mentioned. It's just a bit hard to see there.
21:12:56 <shachaf> GBX is a scowrrency
21:14:13 <wob_jonas> wait wait
21:14:13 <wob_jonas> wait
21:15:53 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:17:04 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49796&oldid=49795 * Total Vacuum * (-62)
21:17:24 <wob_jonas> It turns out, that on the older versions of the euro notes, printed before 2013..2015, the euro symbol is much less prominent, in particular it doesn't appear as a large white symbol printed on the top left corner on the back side.
21:17:42 <wob_jonas> That is definitely part of why I assumed the euro symbol didn't appear on the euro banknotes.
21:17:46 <wob_jonas> fizzie: ^
21:18:23 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49797&oldid=49796 * Total Vacuum * (-3)
21:18:56 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49798&oldid=49797 * Total Vacuum * (-2)
21:19:22 <\oren\> I haven't been to greece much. My knowledge is based on searches on the internet for the google translated word for "reciept" drachma, etc
21:19:23 <wob_jonas> Most of the banknotes I've seen are from the older version.
21:19:43 <\oren\> I was there as a tiny tot
21:21:33 <wob_jonas> The euro symbol still appears on the hologram strip and on the transparent shiny strip on the old versions though.
21:22:07 <\oren\> on greek euros they spell it EYPO
21:24:19 <HackEgo> [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49799&oldid=49798 * Total Vacuum * (+19)
21:24:36 <fizzie> They spell it both EURO and ΕΥΡΩ on all of them.
21:25:34 -!- Sprocklem has joined.
21:25:56 <\oren\> ΕΥΡΟ
21:26:25 <fizzie> Which I guess makes it a scow that they haven't added ЕУРО now that people like Bulgaria have joined the club.
21:26:36 <\oren\> oh, it's an omega, not an omicron?
21:26:48 <wob_jonas> it's an omega
21:27:02 <\oren\> EYPW
21:27:14 <wob_jonas> fizzie: bulgaria? bulgaria doesn't use the euro yet
21:27:37 <fizzie> Oh, they *do* have ЕВРО (I guess that's how it goes there) on the new series.
21:27:40 <fizzie> Well, then.
21:27:44 <\oren\> evro?
21:28:08 <\oren\> is europe evropa?
21:28:08 <wob_jonas> fizzie: that's for what language?
21:28:56 <\oren\> i think it's bulgarian
21:30:23 <\oren\> it looks like in bulgarian "european union" is "evropeyski suyuz"
21:31:43 <\oren\> suyuz is like in russian but with a ъ instead of a о
21:32:45 <\oren\> and bulgraian is included because it's a minority language in a bunch of southeastern european countries
21:33:20 <wob_jonas> \oren\: in which country is it a minority language where the euro is also used?
21:33:53 <wob_jonas> oh, perhaps in greece
21:34:01 <\oren\> Hungary and Greece at least
21:34:01 <fizzie> I'd guess they've included it purely because of the EU membership, not because of participation in the eurozone.
21:34:39 <\oren\> is the Czech Republic in the Eurozone yet?
21:34:40 <wob_jonas> Hungary has Bulgarian as a minority language? I don't think it's well-spread here, and besides, we don't use the euro anyway
21:35:20 <wob_jonas> \oren\: no, czech republic has its own currency (currently)
21:35:32 <\oren\> hmm, I gues it must just be greece then
21:36:01 -!- LKoen has joined.
21:36:20 <fizzie> wob_jonas: http://www.new-euro-banknotes.eu/Euro-Banknotes/Europa-Series-Design "the name of the currency, euro, not only in the Latin (EURO) and Greek (EYPΩ) alphabets but also in the Cyrillic (EBPO) alphabet, as a result of Bulgaria joining the EU"
21:36:52 -!- LKoen has quit (Client Quit).
21:37:12 <wob_jonas> \oren\: it might be more because of serbian or macedonian as a minority language
21:38:28 <wob_jonas> or because they're planning in advance for more countries joining the eurozone
21:39:05 -!- sparr has quit (Changing host).
21:39:05 -!- sparr has joined.
21:39:07 <fizzie> The notes have also got the initials of the European Central Bank in approximately all official languages of EU member states, even those not part of the 'zone.
21:39:17 <fizzie> Including the Hungarian "EKB".
21:39:49 <fizzie> (There's a countries-and-languages list behind that link as well.)
21:40:04 <\oren\> the RMB has apparently got on it Chinese, mandarin pinyin, Mongolian, Tibetan, Uyghur (in Arabic script), and Zhuang.
21:40:05 <wob_jonas> fizzie: EKB is also only on the newer versions of the notes
21:40:25 <fizzie> Well, you joined later.
21:41:04 <wob_jonas> the old version has what looks like "BCE ECB EZB EKT EKP", where presumably ECB and BCE are English and French, who always reverse their acronyms
21:41:35 <fizzie> EKP is there just for Finnish and Estonian.
21:42:03 <wob_jonas> the newer one has "BCE ECB E<russian ts><russian b> EZB EKP EKT EKB B<c with dot above>E EBC"
21:43:09 <wob_jonas> I would guess EZB is german, and the one with c with dot above is probably slovakian.
21:43:35 <\oren\> Zentral? weird
21:43:46 <wob_jonas> that's just a guess
21:43:49 <wob_jonas> I don't really know
21:44:37 <\oren\> wikipedia says Europa:ische Zentralbank
21:45:18 <\oren\> because the germans like to squeeze words together even if they would happily stand on their own
21:45:42 <wob_jonas> \oren\: yes, and zentral is definitely a real german word
21:45:49 <wob_jonas> so that sounds pretty plausible
21:48:04 -!- atrapado has quit (Quit: Leaving).
22:08:44 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:23:22 -!- evilmoon has joined.
22:24:36 <evilmoon> moo
22:24:50 -!- oerjan has joined.
22:26:43 <evilmoon> wb oerjan
22:27:14 <oerjan> ty evilmoon
22:27:34 -!- moonythedwarf has quit (Disconnected by services).
22:27:39 -!- evilmoon has changed nick to moonythedwarf.
22:27:58 -!- ubuntu has joined.
22:28:10 <moonythedwarf> lol
22:28:18 <moonythedwarf> @messages
22:28:22 -!- ubuntu has changed nick to Guest21462.
22:28:45 -!- Guest21462 has quit (Client Quit).
22:29:55 <moonythedwarf> oerjan: i have a reversable 2d language with 3 instructions: / (mirror 1) \ (mirror 2) and < (split/join), how could i combine \ and / ?
22:30:36 <oerjan> why would you do that, it's nicely symmetric. also have you looked at BackFlip
22:31:21 * oerjan doesn't think anyone ever found a good way of programming it.
22:32:08 <oerjan> you seem to have chosen similar command characters, at least.
22:32:33 <moonythedwarf> yay i have less instructions :P i came up with it during school, just chose some symbols that look like my diagrams
22:32:36 <oerjan> but split/join doesn't sound like what < does in backflip.
22:32:38 <wob_jonas> oerjan: nice. wasn't there also some 2d fungeoid language with only two different characters, space and a tricky one?
22:32:53 <oerjan> wob_jonas: Jolverine?
22:33:01 <wob_jonas> no, it's Black
22:33:03 <oerjan> there may be more than one.
22:33:27 <oerjan> (Jolverine is also reversible)
22:33:37 <moonythedwarf> oerjan: what i looked at for insperation was the billard ball machine (https://esolangs.org/wiki/Billiard_ball_machine) page
22:34:27 -!- hppavilion[1] has joined.
22:34:51 <oerjan> moonythedwarf: funny way of getting inspired, the /\< chars there seem to be just for demonstration...
22:34:52 <moonythedwarf> i never saw the backflip page
22:35:05 <moonythedwarf> i know, i wanted to try something similar
22:35:20 <moonythedwarf> now that a look at it again, i could possibly only use two instructions and diagonal only moving balls
22:35:21 <oerjan> as in, not actually part of the language
22:35:27 <wob_jonas> note that Black is self-modifying (modifies the contents of its instruction cells during execution) in an essential way
22:35:46 <oerjan> was Black reversible too...
22:36:31 <moonythedwarf> wob_jonas: the topic right now is reversable languages
22:36:43 <wob_jonas> ah
22:38:24 <oerjan> i'm not sure it was the topic, i only remembered jolverine was reversible after mentioning it.
22:38:26 <wob_jonas> wait, which is that 2d fungeoid that has space and the four arrows as the only commands, and tiling a quarter plane with instructions?
22:39:08 <oerjan> i don't remember
22:40:02 <wob_jonas> it's Nopfunge
22:41:22 <oerjan> wob_jonas: also, Wierd may fit your question too
22:41:33 <oerjan> um, not the last one
22:41:37 <oerjan> but above
22:41:57 <moonythedwarf> oerjan: say i wanted to make a one directional gate in my theoretical language
22:42:07 <moonythedwarf> /\
22:42:10 <moonythedwarf> <<
22:42:13 <moonythedwarf> \/
22:42:38 <moonythedwarf> that would, if the 'ball' came from the left, send it back again
22:42:41 <oerjan> hm, Nopfunge may have been added after i gave up following the wiki.
22:42:48 <moonythedwarf> in fact, actually, cut that last < in the middle line
22:44:12 <oerjan> moonythedwarf: note that if your language is reversible and commands don't change state, then you can only have one input path going to each output path
22:44:15 <wob_jonas> It would be easy to define a 2d language that's equivalent to Nopfunge and uses only two characters (instead of five), but what the machine does depends not only on the character under the pointer, but also on the some characters on adjacent cells.
22:44:28 <oerjan> and vice versa.
22:44:37 <shachaf> `? oerjan
22:44:45 <wob_jonas> Hmm, in fact you could make it even without that.
22:44:49 <HackEgo> Your mysterious evil hungarian oerlord quack doctor oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
22:44:50 <HackEgo> [wiki] [[Special:Log/newusers]] create * Solak * New user account
22:44:57 <oerjan> did HackEgo turn slow again
22:45:02 <wob_jonas> Let me think.
22:45:15 <wob_jonas> No wait, that wouldn't work.
22:46:08 * moonythedwarf is thinking about how to make a turing complete single instruction esolang
22:46:51 <wob_jonas> It would be easy if the pointer always had a speed of two, and the command rotated it right then displaced it by one tile forward in the new direction, so essentially you have the plane colored to four different colors, each color of square used exactly in one of the four compass directions.
22:47:48 <oerjan> `slwd oerjan//s/cambrian/-recombination/
22:47:55 <HackEgo> wisdom/oerjan//Your mysterious evil hungarian oerlord quack doctor oerjan is a lazy expert in future computation. Also a Pre-recombination Norwegian who mildly dislikes Roald Dahl with a pasjon. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
22:52:31 <moonythedwarf> \<
22:52:33 <moonythedwarf> \<
22:52:38 <moonythedwarf> /\
22:52:41 <moonythedwarf> \<
22:52:57 * moonythedwarf fires a 'billard ball' gun at oerjan
22:53:18 <myname> https://www.kickstarter.com/projects/antsylabs/fidget-cube-a-vinyl-desk-toy i kinda want this
22:56:03 <oerjan> `ls temp
22:56:06 <HackEgo> temp
22:56:09 <hppavilion[1]> Horrifying operation: Together with P[n](a, b) (hyperoperations), R[n](a, i) (hyperoperation roots), and P[n](b, x) (hyperoperation logarithms), Pw[c](a, b), Rw[c](a, b), and Lw[c](a, b)
22:56:16 <oerjan> `cat temp
22:56:17 <HackEgo> making a change for the purpose of reverting it
22:56:21 <oerjan> hah
22:56:24 <shachaf> `doag temp
22:56:31 <HackEgo> 2016-09-26 <ais523> ` echo making a change for the purpose of reverting it >> temp
22:56:38 <hppavilion[1]> Pw[c](a, b) is hyperwhich; it is equal to n s.t. P[n](a, b) = c
22:56:52 <oerjan> shachaf: ais523 wanted to demonstrate one of the `revert bugs but also hit the other one.
22:56:54 <hppavilion[1]> Rw and Lw are similar, but with R and L instead of P, respectively
22:56:55 <oerjan> `rm temp
22:56:57 <HackEgo> No output.
22:57:11 <shachaf> `` echo demonstrating bugs > tmp/temp
22:57:14 <HackEgo> No output.
22:57:18 <shachaf> `` mv tmp/temp .
22:57:22 <HackEgo> mv: cannot stat `tmp/temp': No such file or directory
22:57:25 <shachaf> `cat temp tmp/temp
22:57:26 <HackEgo> cat: temp tmp/temp: No such file or directory
22:57:30 <shachaf> er
22:57:34 <shachaf> `` cat temp tmp/temp
22:57:35 <HackEgo> cat: temp: No such file or directory \ cat: tmp/temp: No such file or directory
22:58:38 <fizzie> I kind of like that.
22:58:44 <fizzie> Let's say it's a feature.
23:00:07 <oerjan> fizzie: the `` mv tmp/... thing, you mean? because the other things were bugs
23:00:09 -!- moonythedwarf has quit (Ping timeout: 265 seconds).
23:00:16 <fizzie> Yes.
23:02:56 -!- moonythedwarf has joined.
23:03:43 <shachaf> oerjan: are you out of quack mode
23:03:53 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
23:04:21 -!- boily has joined.
23:04:37 <boily> bonsϿirjan.
23:04:40 <boily> @massages-loud
23:04:40 <lambdabot> oerjan asked 9h 39m 4s ago: <boily> . o O ( where *is* Roujo now? ) <-- have you checked the other channel, he's right there hth
23:04:42 -!- evilvoid has changed nick to iovoid.
23:04:54 <boily> oh hm. yes, indeed.
23:05:41 <oerjan> byolihi
23:06:52 <oerjan> shachaf: dubious
23:08:41 <boily> iovoid: hiovelloid.
23:08:58 <iovoid> hi
23:10:48 <boily> you were evilvoid. were you somebody else before that?
23:11:23 -!- Zarutian has quit (Quit: Zarutian).
23:11:55 <iovoid> I am iovoid most of the time
23:12:54 <iovoid> I have 11 more nicks
23:13:26 <boily> oh, so I haven't `relcomed you yet! :D
23:13:30 <boily> `relcome iovoid
23:13:33 <HackEgo> iovoid: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
23:14:09 <wob_jonas> there's no language called nopfuck yet? great! maybe brainfuck variants aren't as well-spread as I thought
23:15:58 <boily> is there a self-brainfuck-derivative out there, akin to how d(e^x)/dx = e^x?
23:16:20 <wob_jonas> boily: I don't really understand what you mean by that
23:16:27 <shachaf> d(e^x) = e^x dx
23:16:29 <shachaf> hth
23:16:36 <wob_jonas> yes, but
23:16:43 <wob_jonas> what would a self-brainfuck-derivative mean?
23:16:47 <shachaf> It's kind of funny how that has the chain rule built in.
23:16:53 <shachaf> aha
23:17:03 <shachaf> That must be the reason the dy/dx notation looks like divison.
23:17:06 <shachaf> division
23:17:10 <shachaf> It's the chain rule.
23:17:16 <shachaf> Do you see what I mean?
23:17:40 <wob_jonas> a derivative that is equal to its own brainfuck? a brainfuck that is equal to its own derivative? something that is equal to the brainfuck of its own derivative? something that brainfucks its derivative?
23:17:54 <boily> dy/dx *is* division. don't y'all dare tell me otherwise.
23:17:58 <wob_jonas> shachaf: yes
23:21:13 <wob_jonas> `wisdom
23:21:15 <HackEgo> cookbook//Random food recipes at https://gist.github.com/nylki/1efbaa36635956d35bcc
23:21:23 <wob_jonas> I think I added that entry
23:21:49 <wob_jonas> `wisdom
23:21:51 <HackEgo> minsky//to Minsky on : /mɪnskiː/ To act as a Minsky machine on; of a program or programming language, to encode its entire state into the object as a single integer.
23:21:57 -!- Akaibu has joined.
23:22:07 <shachaf> `cwlprits minsky
23:22:14 <HackEgo> fizzie evilipse oerjan
23:22:22 <shachaf> `dowg minsky
23:22:28 <HackEgo> 2016-09-25 <fizzie> revert 942e964c81c1 \ 2016-09-25 <evilipse> ` chmod 777 / -R \ 2016-01-04 <oerjan> ` mv wisdom/minsk{i,y}; sed -i \'s/minski/Minsky/g\' wisdom/mins*
23:22:36 <shachaf> Oh, right.
23:22:56 <wob_jonas> why does the oerjan entry say "hungarian" and "oerlord"?
23:23:18 <wob_jonas> oerjan or shachaf: ^
23:23:28 <shachaf> Why not?
23:23:41 <shachaf> `` dowg oerjan | grep -i hungarian
23:23:46 <HackEgo> 2016-09-16 <shachaf> slwd oerjan//s#overlord kommisjon\xc3\xa6r#hungarian oerlord#
23:23:55 <shachaf> That's why.
23:24:10 <boily> wob_jonas: oerjan ascended to hungoerjanhood hth
23:24:14 <shachaf> "oerlord" is because he's an overlord, but also an oerjan
23:24:24 <shachaf> And "o'er" is a common contraction of "over"
23:24:24 <wob_jonas> I see
23:26:12 <wob_jonas> night
23:26:15 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:26:50 <boily> `wisdom
23:26:52 <HackEgo> lambek's lemma//Lambek's Lemma, invented by Joachim "Taneb" Lambek, states that initial algebras have inverses.
23:38:39 -!- lleu has joined.
23:39:48 -!- carado has quit (Ping timeout: 265 seconds).
23:46:35 -!- moonythedwarf_ has joined.
23:49:07 -!- moonythedwarf has quit (Ping timeout: 272 seconds).
23:51:01 -!- moonythedwarf_ has quit (Ping timeout: 255 seconds).
23:53:16 -!- boily has quit (Quit: AGENDA CHICKEN).
23:57:28 -!- hppavilion[1] has joined.
←2016-09-25 2016-09-26 2016-09-27→ ↑2016 ↑all