00:00:37 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller")() 00:00:37 null 00:00:50 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.callee")() 00:00:50 undefined 00:01:02 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Object.keys(this)")() 00:01:02 [] 00:01:08 You need "arguments.callee" and not "Function.callee" 00:01:19 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")() 00:01:19 [Function] 00:01:26 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")().toString() 00:01:26 'function anonymous() {\nreturn arguments.callee\n}' 00:01:32 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()() 00:01:32 [Function] 00:01:38 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")()().toString() 00:01:38 'function anonymous() {\nreturn arguments.callee\n}' 00:01:42 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")() 00:01:42 undefined 00:01:54 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor")() 00:01:54 [Function: Function] 00:02:04 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')")() 00:02:04 [Function] 00:02:06 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')")()() 00:02:06 {} 00:02:11 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')()")() 00:02:11 {} 00:02:46 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return global") 00:02:46 [Function] 00:02:47 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return global")() 00:02:48 [ReferenceError: global is not defined] 00:03:15 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return this;")() 00:03:15 undefined 00:03:26 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this');")() 00:03:27 [Function] 00:03:29 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this');")()() 00:03:29 {} 00:03:32 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return Function('return this')();")() 00:03:32 {} 00:03:46 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\";return this.constructor('return this');")()() 00:03:46 [TypeError: Cannot read property 'constructor' of undefined] 00:03:58 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("this.constructor.constructor('return this');")()() 00:03:58 [TypeError: (intermediate value)(...) is not a function] 00:04:05 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 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("this.constructor.constructor('return this');")() 00:04:07 undefined 00:04:25 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("new this.constructor.constructor('return this');")() 00:04:25 undefined 00:04:31 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return new this.constructor.constructor('return this');")() 00:04:31 [Function] 00:04:34 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return new this.constructor.constructor('return this');")()() 00:04:34 {} 00:04:49 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (new this.constructor.constructor('return this'))();")() 00:04:49 {} 00:05:15 -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 [SyntaxError: missing ) after argument list] 00:05:20 (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 -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 [TypeError: Cannot read property 'mainModule' of undefined] 00:05:41 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (this.constructor.constructor('return (this)')())")() 00:05:41 {} 00:06:30 -!- heroux has quit (Ping timeout: 264 seconds). 00:06:57 -!- heroux has joined. 00:07:19 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return ({}.constructor.constructor('return (this)')())")() 00:07:19 {} 00:09:26 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Object.keys(arguments)")() 00:09:26 [] 00:09:38 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")() 00:09:38 undefined 00:10:04 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.caller")() 00:10:05 null 00:10:13 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee")() 00:10:14 [Function] 00:10:19 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.caller")() 00:10:19 null 00:10:41 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments")() 00:10:41 {} 00:10:43 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments")(1) 00:10:43 { '0': 1 } 00:10:44 [wiki] [[Al Dente]] M https://esolangs.org/w/index.php?diff=49769&oldid=46227 * CatIsFluffy * (+72) fixed gap in spec 00:11:24 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller")() 00:11:24 undefined 00:12:32 [wiki] [[Al Dente]] M https://esolangs.org/w/index.php?diff=49770&oldid=49769 * CatIsFluffy * (+62) Examples page link 00:14:19 what was the last message I sent? 00:17:30 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.caller?arguments.caller:arguments.callee()")() 00:17:30 [RangeError: Maximum call stack size exceeded] 00:17:55 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{new Error()}catch(e){return e}")() 00:17:55 undefined 00:18:09 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e}")() 00:18:10 [ReferenceError: x is not defined] 00:18:25 -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 [Function: Function] 00:18:32 -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 [Function] 00:18:35 -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 {} 00:18:39 -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 {} 00:18:49 -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 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("try{x.constructor}catch(e){return e}")() 00:19:03 [ReferenceError: x is not defined] 00:19:07 -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 -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 [] 00:19:31 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error}")() 00:19:32 [SyntaxError: Unexpected token }] 00:19:35 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error")() 00:19:35 { [Function: Error] 00:19:35 captureStackTrace: [Function: captureStackTrace], 00:19:36 stackTraceLimit: 10 } 00:19:51 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Error.constructor")() 00:19:51 [Function: Function] 00:22:38 -!- hppavilion[1] has joined. 00:23:40 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 what I sent last? 00:24:27 The issue is that when you want to inject some helper functions 00:24:41 Like your own math things 00:25:56 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 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 sounds like what math.js did 00:26:40 I broke math.js 00:27:04 (Also the quotation matching is wrong of course) 00:27:47 -eval throw new TypeError(NaN) 00:27:47 [TypeError: NaN] 00:27:50 :D 00:27:52 oh btw, it works no 00:27:53 *now 00:28:03 the whole stacktrace doesn't get printed 'cause of updated nodejs 00:28:21 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 oom 00:36:14 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:Function.calee()")() 00:36:14 [TypeError: Function.calee is not a function] 00:36:17 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:Function.callee()")() 00:36:18 [TypeError: Function.callee is not a function] 00:36:23 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:argument.callee()")() 00:36:23 [ReferenceError: argument is not defined] 00:36:26 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return Function.caller?Function.caller:arguments.callee()")() 00:36:26 [RangeError: Maximum call stack size exceeded] 00:36:37 -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 [RangeError: Maximum call stack size exceeded] 00:36:46 -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 null 00:45:54 `unidecode Σ0o² 00:45:55 ​[U+03A3 GREEK CAPITAL LETTER SIGMA] [U+0030 DIGIT ZERO] [U+006F LATIN SMALL LETTER O] [U+00B2 SUPERSCRIPT TWO] 00:47:46 `unidecode ‮ 00:47:47 ​[U+202E RIGHT-TO-LEFT OVERRIDE] 00:48:05 `unidecode 00:48:09 U+000F \ UTF-8: 0f UTF-16BE: 000f Decimal:  \ \ Category: Cc (Other, Control) \ Bidi: BN (Boundary Neutral) 00:49:04 eviljeff: how do i type that? 00:49:11 evilmoon: idk 00:49:20 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("x=function(x){return this;}; return x()")() 00:49:20 { x: [Function] } 00:49:38 wow did i do it right? 00:49:41 ): 00:49:45 -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 [Function: Object] 00:49:50 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("x=function(x){return this;}; return x()")() 00:49:50 { x: [Function] } 00:50:08 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return !function(x){return this;}()")() 00:50:08 false 00:50:15 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this;})()")() 00:50:15 {} 00:51:14 -eval bot.sendMsg(chan,"wow did i do it? \u202D") 00:51:14 wow did i do it? ‭ 00:51:15 undefined 00:51:20 -eval bot.sendMsg(chan,"wow did i do it? \u000F") 00:51:20 wow did i do it? 00:51:21 undefined 00:51:23 ): 00:52:09 (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 other way around 00:52:47 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (1,eval)('this')")() 00:52:47 {} 00:52:59 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\use strict"\"; return (1,eval)('this')")() 00:52:59 [SyntaxError: Unexpected token ILLEGAL] 00:53:12 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\"; return (1,eval)('this')")() 00:53:12 {} 00:53:14 -!- boily has joined. 00:53:22 helloily 00:53:34 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("\"use strict\"; return (1,eval)('global')")() 00:53:34 [ReferenceError: global is not defined] 00:55:58 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return uneval(this);})()")() 00:55:58 [ReferenceError: uneval is not defined] 00:56:05 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(x){return this;})()")() 00:56:05 {} 00:56:15 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("'use strict';return (function(x){return this;})()")() 00:56:15 undefined 00:56:56 -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 [Function] 00:57:03 -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 undefined 00:57:08 evilmhelloon! 00:57:13 -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 [Function] 00:57:17 -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 {} 00:57:25 -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 [Function] 00:57:30 -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 [ReferenceError: global is not defined] 00:57:38 -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 {} 00:57:41 boily: dont mind evilvoid, he's trying to disprove zzo38, hes been at it for a hour now 00:58:01 Its difficult 00:58:35 All the exploits rely on getting an external object 00:59:18 i understand that 00:59:48 -pad HAI 1.2, VISIBLE "HAI BOILY, THIS IS LOLCODE", KTHXBYE 00:59:51 -lolr 00:59:51 HAI BOILY, THIS IS LOLCODE 01:01:24 -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 [ReferenceError: aguments is not defined] 01:01:29 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor")() 01:01:30 [Function: Function] 01:01:37 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor('return this')")() 01:01:37 [Function] 01:01:40 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor.constructor('return this')()")() 01:01:40 {} 01:01:48 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee.constructor('return this')()")() 01:01:49 {} 01:02:17 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return arguments.callee(Function('return this'))()")() 01:02:17 [RangeError: Maximum call stack size exceeded] 01:02:49 -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 {} 01:03:13 probably safe 01:03:23 If any object is injected.... 01:05:33 evilvoid: I don't think zzo38 is unprovable hth 01:06:02 evilvoid: ill set it up for a JS sandbox then, you can poke at it more then 01:07:21 @ask zzo38 hezzo38. are you unprovable? 01:07:21 Consider it noted. 01:07:47 I think perhaps evilvoid is a bit confused about what this program is supposed to do 01:07:56 It isn't what I meant 01:08:12 ah 01:10:59 -!- Zarutian has quit (Quit: Zarutian). 01:15:46 `wisdom 01:15:47 duck typing//Duck typing means typing on a terminal blindly without an echo. 01:16:04 had that one last time... 01:16:06 `wisdom 01:16:08 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 . o O ( where *is* Roujo now? ) 01:16:47 `wisdom 01:16:49 the//the Toe of Harriness's Enclosure 01:16:54 `wisdom 01:16:55 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH! 01:17:07 `wisdom 01:17:08 YouTube changed! 01:17:09 ​¯\(°​_o)/¯//¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 01:17:22 `wisdom 01:17:23 endofunctor//Endofunctors are just endomorphisms in the category of categories. 01:17:30 `wisdom 01:17:32 ping//Ping is a Peking Duck H4XX0R who amuses himself by making people's IRC connections timeout. 01:18:00 `wisdom 01:18:01 cooperate//"Cooperate" is a common misspelling of "cōöperāte". 01:18:04 `wisdom 01:18:06 styrofoam//styrofoam is Taneb's only weakness. 01:18:14 `wisdom 01:18:15 bugbear//A bugbear is a teddy bear that you can explain your bugs to. 01:19:49 `wisdom 01:19:50 aha//aha would be a helpful acronym, but has a shedding problem. 01:20:04 `wisdom 01:20:05 ​@//@ is an OS made out of only the finest vapour. 01:20:10 `wisdom 01:20:13 relrod//A relrod is a machine useful for finding the Force. 01:20:20 `wisdom 01:20:21 tile shuffling//Tile shuffve games. ly addictie basis of many highling is th 01:20:29 `wisdom 01:20:30 friendship//friendship wisdom 01:20:48 `wisdom 01:20:49 doodad//Doodads are just duoids in the category of endofunctors. 01:20:55 `wisdom 01:20:57 welcome.fi//Tervetuloa esoteeristen ohjelmointikielten suunnittelun ja käyttöönoton kansainväliseen keskukseen! Lisätietoa saat wikistämme: . (Muu esoteerisuus: kokeile kanavaa #esoteric joko EFnet- tai Dalnet-verkossa.) 01:21:28 `wisdom 01:21:30 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 `wisdom 01:22:04 9//9 is a free smalltalk. 01:22:09 `wisdom 01:22:11 diet//People go on diets to loose weight instead of gaining. It gives them a consistant diet. 01:22:18 `wisdom 01:22:20 anana//ananas is the real pineapple. 01:22:35 `wisdom 01:22:37 weather//lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK 01:22:53 @where weather 01:22:53 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show 01:22:55 @where weather 01:22:55 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show 01:22:58 @where weather 1 01:22:58 ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show 01:23:04 `wisdom 01:23:06 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 `wisdom 01:23:36 page//The smallest floating-point number is known as pages. Fungot discovered it. 01:23:42 `wisdom 01:23:43 kinder surprise//Kinder Surprise is an addictive drug marketed for children so dangerous it's banned at the federal level. 01:24:05 `wisdom 01:24:06 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 `wisdom 01:24:29 spice girls//The Spice Girls are Pog spice, Story spice, Sarah spice, Gender spice, and Baleen spice. 01:24:36 `wisdom 01:24:37 utumno//Utumno is Morgoth's first dungeon. It is where he was defeated, and the Silmarils temporarily reclaimed from him. 01:24:43 `wisdom 01:24:44 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 `wisdom 01:24:54 blsq//See: Burlesque 01:24:57 `wisdom 01:24:58 york//York used to be known as Amsterdam. 01:25:07 `wisdom 01:25:08 dinosaur//Dinosaurs are a diverse group of pre-historic chickens with feathers. 01:25:24 `wisdom 01:25:25 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 `wisdom 01:25:35 itym//itym "i think you mean" hth 01:25:45 `wisdom 01:25:46 l//L is far too short to be a village in Wales. 01:25:57 `? hth 01:25:58 hth is help received from a hairy toe. It is not at all hambiguitous. 01:30:36 `? youtube 01:30:37 youtube? ¯\(°​_o)/¯ 01:30:41 :o 01:30:45 `? google 01:30:46 Google is where people are working on [NAME WITHHELD] and [REDACTED], without being evil at all. 01:31:09 `? facebook 01:31:10 Facebook is Taneb's face collection. 01:31:31 `? twitter 01:31:32 Twitter is Taneb's bird collection (presumably). 01:31:38 `? irc 01:31:39 IRC is short for "Internet Relay Chat". It is named so because all the servers are constructed from relays. 01:32:02 `? snapchat 01:32:03 snapchat? ¯\(°​_o)/¯ 01:32:06 `? reddit 01:32:07 reddit? ¯\(°​_o)/¯ 01:32:14 `? freenode 01:32:15 freenode? ¯\(°​_o)/¯ 01:32:19 :O 01:32:42 boily: pls fix :O 01:32:56 hackego doesnt know what freenode is 01:34:44 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("returrn (function(){return this})()")() 01:34:44 [ReferenceError: returrn is not defined] 01:34:53 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))(42))("return (function(){return this})()")() 01:34:53 {} 01:34:55 int-e: I sent a pull request to Gregor. It remains to be seen whether that will actually do anything. 01:35:26 zzo38: mind re-explaining what your codes _does_ to evilvoid? i dunno if he understands 01:35:46 It creates a new context that is empty 01:36:01 `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 Learned «freenode» 01:36:15 Running a code that returns the constructor.constructor of 42 01:36:22 -eval new (vm.runInContext("(x=>x.constructor.constructor)",vm.createContext(Object.create(null)))({}))("return (function(){return this})()")() 01:36:22 { global: [Circular], 01:36:23 process: 01:36:23 process { 01:36:24 title: 'node', 01:36:25 version: 'v4.5.0', 01:36:25 moduleLoadList: 01:36:26 [ 'Binding contextify', 01:36:27 'Binding natives', 01:36:27 -flushq 01:36:28 Send queue flushed 01:36:43 nice one iovoid 01:36:45 boily: Late 2002. 01:36:46 And because 42 is a primitive... 01:36:49 Yes, there you have leaked the "this" because you are not doing what it is supposed to do 01:36:59 ^ 01:37:07 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 The question is how to inject forgein data safely 01:37:19 ^ 01:37:30 Because, the value x is a primitive so the conversion to an object occurs inside of the sandbox. 01:37:37 the answer is: you really cant. 01:37:38 ^ 01:37:42 ^ 01:37:45 If you replace 42 with {} then it will be the object from outside of the sandbox. 01:37:54 Math.js cant have a sandbox then 01:38:11 And sandboxes will get boring 01:39:09 MathJS dies because of f.constructor for example 01:39:10 You can inject foreign data before executing any untrusted code, if they are primitives rather than objects (functions are also objects). 01:39:22 How is f defined in MathJS anyways? 01:39:41 boily: (In other words, we should have a sesquidecennial celebration late 2017.) 01:39:42 MathJS does some syntax rewriting 01:39:53 It wraps what you provided in another function 01:39:57 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 Syntax rewriting won't help. 01:40:36 It does it just to make it a "more mathematic" syntax 01:40:39 You need to do it properly. 01:40:41 evilvoid: study it a little more, it actually compiles the code into a node based syntax. 01:40:52 and generates JS from that 01:40:52 ^ 01:41:05 It might do syntax rewriting for that reason, but syntax rewriting will not be sufficient to be safe. 01:41:25 for example, (x+1)+6 becomes a syntax tree 01:41:25 you can always eval(String.fromCharCode(stuff)) 01:41:54 Yes, and that is why syntax rewriting is not sufficient. 01:42:28 fizzie: fizziello. that long?!? 01:42:42 not giving ANYTHING makes features useless 01:42:50 (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 like auth0 uses "web containers" (idk in deep how that works) for evaling user code like to rewrite users 01:43:57 boily: http://esoteric.sange.fi/archive/2002-q4 and look up "Esolang IRC channel". 01:44:01 You can give stuff; just make sure you do it properly! Such as by wrapping functions and that kind of stuff 01:44:03 Also you cant put a timeout 01:44:09 Use proxies if necessary. 01:44:12 Since execution is outside ssandbox 01:44:25 * boily is touching history 01:44:59 You could use a separate process and communicate with signals if you want to do timeouts 01:45:08 fizzie: speaking of history, have you updated the fizziegraphs lately? 01:45:24 boily: Not in a long, long time. 01:45:39 I could try to figure out how to do it, and see if the scripts even still work. 01:46:38 updating target 2, days 2015-09-11 ... 2016-09-24 01:46:53 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 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 my god. too. much. evil 01:48:06 [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 boily: I should probably readjust the "channel regulars" whitelist some day, to account for changes. 01:49:10 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 Its almost impossible to give values 01:50:00 SInce you can constructor them to get true Function(tm) 01:50:03 I think someone else has also made up a sandbox out of proxies. 01:50:25 This is the first safe sandbox I see 01:51:02 and all that was needed was a single #esoteric memeber and a one liner 01:51:09 lol 01:51:28 Well, the sandbox/sandcastle guys wasted their time 01:51:57 +1 01:52:03 The way I did it, you can't "constructor them to get true Function(tm)", I think. 01:52:26 (But your tests were doing it wrong; not the way I meant) 01:52:49 -!- Gregor has joined. 01:52:53 What you did is a empty context, which returns a function scoped to the sandbox 01:53:01 Well, scoped is not the correct word 01:53:05 Its like bound to it 01:53:08 Hello I sometimes exist 01:53:15 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 Yup thats gregor. hi mr person i've never met who wrote HackEgo 01:53:51 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 holy fungot! Gregor is alive! 01:54:13 boily: and well, ' british accent' could include cockney, yorkshire, scots, or welsh, technically. it was some slang 01:54:18 Suffice it to say I haven't logged in in... a while. 01:54:32 I merged the PR, now I just have to remember where HackEgo is hosted :) 01:54:41 "esolangs.org" is a good alias. 01:54:45 evilvoid: Yes, it is, and that is its working. 01:54:52 good night all' 01:55:06 evilmoonne nuit! 01:56:51 `ls 01:56:53 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 Good bug :) 01:57:22 Clever :) 01:57:31 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 OK 01:57:40 Do you like this? 01:57:46 `ls \ 01:57:47 ls: cannot access \: No such file or directory 01:57:49 `ls / 01:57:50 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr 01:58:13 Can I try to kill it? 01:58:29 `init 1 01:58:30 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: init: not found 01:58:42 I like how everybody tries to break it by assuming they have root access. 01:58:53 `cat ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits 01:58:54 cat: ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: No such file or directory 01:59:00 `cat /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 01:59:01 ​#!/bin/bash \ ulimit -f 10240 \ ulimit -l 0 \ ulimit -u 128 \ exec -- "$@" 01:59:15 `whoami 01:59:16 whoami: cannot find name for user ID 5000 01:59:22 `rm ~ 01:59:23 rm: cannot remove `~': No such file or directory 01:59:28 `rm /home/hackbot 01:59:29 rm: cannot remove `/home/hackbot': Is a directory 01:59:33 `rm -R /home/hackbot 01:59:34 rm: invalid option -- ' ' \ Try `rm --help' for more information. 01:59:37 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 `rm --recursive /home/hackbot 01:59:49 rm: unrecognized option '--recursive /home/hackbot' \ Try `rm --help' for more information. 01:59:57 `rm --help 01:59:57 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 fizzie: Hah, that's amusing. That's because of how hg does things :) 02:00:23 `which rm 02:00:24 ​/bin/rm 02:00:39 `cat /dev/random 02:00:48 `echo hi 02:00:49 hi 02:00:59 `ls /dev 02:01:00 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 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 No output. 02:01:14 `cat /dev/port 02:01:15 cat: /dev/port: Permission denied 02:01:19 `cat /dev/* 02:01:20 cat: /dev/*: No such file or directory 02:01:26 `cat /dev/ram 02:01:27 cat: /dev/ram: Permission denied 02:01:31 `cat /dev/fs 02:01:32 cat: /dev/fs: No such file or directory 02:01:32 `cat /dev/fd 02:01:33 cat: /dev/fd: Is a directory 02:01:38 `ls /dev/fd 02:01:39 0 \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ 8 02:01:41 `cat /dev/fd/1 02:01:49 `cat /dev/fd/* 02:01:50 cat: /dev/fd/*: No such file or directory 02:02:01 `cat /dev/fd/{0,1,2,3,4,5,6,7,8} 02:02:02 cat: /dev/fd/{0,1,2,3,4,5,6,7,8}: No such file or directory 02:02:05 `cat /dev/fd/0 02:02:12 No output. 02:02:26 fizzie: Yeah, not much that can be done about that. 02:02:27 `cat /dev/full 02:02:28 ​........................................................................................................................................................................................................................................................................................................................................................... 02:02:37 No output. 02:02:47 `cat /dev/loop0 02:02:48 cat: /dev/loop0: Permission denied 02:03:11 `ls ~ 02:03:12 ls: cannot access ~: No such file or directory 02:03:14 `ls /home 02:03:15 hackbot 02:03:18 `ls /home/hackbot 02:03:19 hackbot.hg 02:03:27 `rm /home/hackbot/hackbot.hg 02:03:28 rm: cannot remove `/home/hackbot/hackbot.hg': Is a directory 02:03:34 `ls /home/hackbot/hackbot.hf 02:03:35 ls: cannot access /home/hackbot/hackbot.hf: No such file or directory 02:03:35 `ls /home/hackbot/hackbot.hg 02:03:36 multibot_cmds 02:03:42 `ls /home/hackbot/hackbot.hg/multibot_cmds 02:03:43 lib 02:03:44 boily: https://zem.fi/ircvis/esoteric/ is up to date. 02:03:47 `ls /home/hackbot/hackbot.hg/multibot_cmds/lib 02:03:48 fetch \ limits \ revert \ sandbox 02:03:54 `ls /home/hackbot/hackbot.hg/multibot_cmds/lib/sandbox 02:03:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/sandbox 02:03:57 `thanks fizzie 02:03:58 `ls /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 02:03:59 Thanks, fizzie. Thizzie. 02:03:59 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits 02:04:05 `echo hi > /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 02:04:06 hi > /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 02:04:19 `rm /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 02:04:20 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/limits': Read-only file system 02:04:35 `chmod 000 -R / 02:04:37 chmod: missing operand after `000 -R /' \ Try `chmod --help' for more information. 02:04:46 `chmod -R 0000 / 02:04:47 chmod: invalid option -- ' ' \ Try `chmod --help' for more information. 02:04:51 `chmod --help 02:04:52 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 boily: Hm. The javascripty stuff seems to have borked. I'll try to give it a fix. 02:05:12 `chmod --help | more 02:05:13 chmod: unrecognized option '--help | more' \ Try `chmod --help' for more information. 02:05:31 `chmod --no-preserve-root --recursive / 02:05:32 chmod: unrecognized option '--no-preserve-root --recursive /' \ Try `chmod --help' for more information. 02:05:37 `chmod --no-preserve-root --recursive 0000 / 02:05:38 chmod: unrecognized option '--no-preserve-root --recursive 0000 /' \ Try `chmod --help' for more information. 02:05:47 boily: (Oh, it's just a 'http' link to a CDN'd jquery.) 02:05:59 `chmod -R -x /bin 02:06:02 chmod: invalid option -- ' ' \ Try `chmod --help' for more information. 02:06:14 To do shell command you need `` or ``` at front with a space after the `` or ``` 02:06:24 Otherwise it is treat as one argument including spaces 02:06:31 `` chmod -R -x /bin 02:06:32 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 `` chmod --no-preserve-root --recursive 0000 / 02:07:08 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 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 `` echo hi 02:07:24 hi 02:07:29 `` chmod --no-preserve-root --recursive 0000 /home 02:07:30 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 `` chmod --no-preserve-root --recursive 0000 / & 02:07:46 `` chmod --no-preserve-root --recursive 0000 / & echo hi 02:07:47 No output. 02:07:53 boily: Should be okay now. 02:08:10 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 `` mount 02:08:32 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 fizzie: it works! 02:08:44 (The difference between `` and ``` is the locale setting.) 02:09:08 Seems safe 02:09:19 RO everything is nice 02:09:30 `logout 02:09:31 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: logout: not found 02:09:34 `exit 02:09:35 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: exit: not found 02:09:41 `ls /bin 02:09:43 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 `` ls /bin | grep init 02:09:56 No output. 02:09:59 `` ls /bin | grep shut 02:10:00 No output. 02:10:04 `` ls /bin | grep log 02:10:05 login 02:10:09 `` ls /bin | grep exit 02:10:10 No output. 02:10:16 `` ls /bin | grep re 02:10:17 bzegrep \ bzfgrep \ bzgrep \ bzip2recover \ bzmore \ egrep \ fgrep \ grep \ more \ readlink \ uncompress \ zegrep \ zfgrep \ zgrep \ zmore 02:10:28 `danddreclist 83 02:10:30 danddreclist 83: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 02:10:31 `` echo hi | more 02:10:32 hi 02:10:38 (I am earlier than I expected.) 02:10:40 `` cat /dev/full | more 02:10:56 `` ls /bin | grep base 02:11:03 Out of memory! 02:11:03 No output. 02:11:07 `` ls /bin | grep base 02:11:08 No output. 02:11:08 Do you like this? 02:11:12 `` cat /dev/full | more 02:11:15 `` cat /dev/full 02:11:20 OOM'd 02:11:39 Well, OOM is something I guess. Like a DoS 02:11:51 Out of memory! 02:11:51 No output. 02:12:00 `` ls /dev 02:12:01 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 `` bash 02:12:22 `` bash -e "cat /dev/*" 02:12:23 bash: cat /dev/*: No such file or directory 02:12:35 bash: cannot set terminal process group (-1): Inappropriate ioctl for device \ bash: no job control in this shell \ bash-4.2$ 02:12:57 `` sudo whoami 02:12:58 ​/hackenv/bin/`: line 4: sudo: command not found 02:13:08 `` ls /hackenv/bin 02:13:10 ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ " \ @ \ * \ ؟ \ \ \ \ 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 `` 1 02:13:28 1/0: 02:13:34 `` 2017 02:13:35 No output. 02:13:37 `` 2016 02:13:38 Hello, world! 02:13:47 `` ! 02:13:48 No output. 02:13:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:13:52 `` ? 02:13:53 ​? ¯\(°​_o)/¯ 02:13:56 `` ?? 02:13:57 ​/hackenv/bin/`: line 4: hw: command not found 02:14:02 :( 02:14:21 `?? ??? 02:14:22 I must confess, I know not of what you are speaking. 02:14:29 Neither do I. 02:14:46 `` ?? hi 02:14:47 ​/hackenv/bin/`: line 4: hw: command not found 02:14:50 `` ?? ??? 02:14:51 ​/hackenv/bin/`: line 4: hw: command not found 02:14:56 `?? ??? 02:14:57 I must confess, I know not of what you are speaking. 02:15:01 `?? 02:15:02 I have nothing to tell you. 02:15:04 `?? hi 02:15:05 I must confess, I know not of what you are speaking. 02:15:17 `` cat /hackenv/bin/?? 02:15:18 ​#!/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 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 yeah, I think I'm the regularest regular for the time of day I'm active here... 02:18:26 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 [wiki] [[Special:Log/newusers]] create * TehFlaminTaco * New user account 03:28:12 I seem to have accidentally started constructing a parser 03:28:58 (and evaluator) 03:29:01 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 \oren\: It took me a few seconds to realize that guy was speaking English 05:49:30 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 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 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 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 shachaf: meh 06:51:33 -!- ybden has joined. 06:51:33 -!- ybden has quit (Excess Flood). 06:51:40 shachaf: I don't really use Leibniz notation all that much 06:52:19 Cale: If you work it out I think it works out to make sense. 06:52:31 It does, vaguely at least. 06:52:32 And in particular d(dy) isn't 0 06:53:01 If y = f(x), d(dy) = f''(x) dx dx 06:55:49 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 shachaf: I have come up with such things too 07:31:39 does anyone know how to initialize this unordered_map? https://arin.ga/SFxrfv/raw 07:31:42 zzo38: But d(dx)/dx^2 = 0, right? 07:31:51 almost the same code works fine with vector https://arin.ga/NZCIsJ/raw 07:32:27 shachaf: I don't know; I haven't tried to figure out 07:33:24 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 I don't think that notation is wrong. 07:33:54 I used to think it was odd and arbitrary but now I'm thinking it's actually good. 07:34:14 Why do you say it's wrong? 07:35:55 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 Which book? 07:36:17 And I think it does equal d(dy/dx)/dx 07:36:55 Here: 07:37:13 d(dy/dx)/dx = (dx d(dy) - dy d(dx))/(dx^3) 07:37:35 = d(dy)/dx^2 - dy/dx d(dx)/dx^2 07:37:52 And I think d(dx)/dx^2 = 0 07:38:13 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 shocking 07:44:22 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 wait 07:45:29 the last one is in the wrong order 07:45:55 so it's actually infinity hth 07:50:44 -!- digin4 has joined. 07:51:20 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 yes hth 07:51:58 good counterexample oerjan++ tdh 07:52:52 So maybe d(dx)/dx^2 isn't 0? 07:54:19 Really, it couldn't be 0, that would make this whole thing break. 07:54:42 well d^2x/dx^2 is supposedly 0. 07:55:23 If it's the second derivative it would have to be. 07:55:46 Let's see. One way to make this whole thing work is to parameterize everything in terms of t, right? 07:56:05 MAYBE 07:56:13 So dy/dx = D_t(y)/D_t(x) 07:56:48 Where D_t(e) means what people usually mean by de/dt 07:57:35 Certainly D_t(y)/D_t(x) = D_x(y), right? 07:58:35 So the second derivative is D_t(D_t(y)/D_t(x))/D_t(x) 07:58:39 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 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 zzo38: Which book does Penrose pen his objection in? 07:59:49 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 oerjan: that would be scow though 08:00:29 if (dy/dx) (dy/dx) isn't (dy dy)/(dx dx) then this notation is broken 08:00:51 yep 08:01:23 basically because first and second derivatives have no simply scaling correspondence. 08:01:56 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 right? 08:02:38 -!- digin4 has quit (Quit: Leaving). 08:03:36 well sure, everything works nice as long as you're only dealing with first derivatives. 08:03:40 *nicely 08:03:46 *as long as 08:04:03 so you're not objective to (dy/dx)^2 = (dy^2/dx^2) 08:04:08 objecting 08:04:41 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 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 well one of the senses is _defined_ by that connection, of course. 08:06:11 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 if this notation works, then by definition if y = f(x) then d^2y/dx^2 = f''(x) 08:07:09 right? 08:07:21 duh 08:07:32 so d^2y = f''(x) dx^2 08:07:45 but if f(x) = x, that means d^2y = 0 08:08:03 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 that seems problematic 08:09:36 or is it? 08:09:43 -!- ybden has joined. 08:09:43 -!- ybden has quit (Excess Flood). 08:10:24 ybden is sure rejoining a lot 08:10:53 zzo38: Oh, I have a copy of that book, I think. Do you remember which footnote? 08:12:28 No I do not remember 08:13:23 Actually it doesn't seem problematic. 08:13:40 If dy = 0, that means dy is constant. 08:13:46 Er, y is constant. 08:14:01 So if d(dy) = 0, that means dy is constant. 08:14:26 Yes. 08:14:37 I know that. 08:14:49 (They even say so in the book.) 08:14:59 I know, I'm looking at the book. 08:19:14 zzo38: So what's d(dy/dx)? 08:19:58 -!- mtve has joined. 08:20:05 I guess it's what I said above: (dx d(dy) - dy d(dx))/dx^2 08:21:01 = d(dy)/dx - dy/dx d(dx)/dx 08:23:24 -!- Robdgreat_ has changed nick to Robdgreat. 08:24:26 So d(dy/dx)/dx = d(dy)/dx^2 - dy/dx d(dx)/dx^2 08:24:37 So what's that second part? Not 0? 08:26:25 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 zzo38: That's certainly in contradiction with what the author says about differential forms etc. 08:26:41 *it doesn't have 08:27:24 I know, but apparently a 1-form or whatever is a special case or something like that? 08:27:25 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 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 oerjan: The second derivative at a point is a bilinear map. 08:27:58 Right? 08:28:14 s/U/R/g 08:28:18 i'm also not in a state of mind to understand the concept hth 08:28:38 oerjan: Well, if f : R^n -> R^m, then Df : R^n -> (R^n -o R^m) 08:28:38 Right? 08:28:45 or body. this neck is killing me. 08:29:06 At each point it gives you a linear approximation of f around that point. 08:29:22 shachaf: please consider me just a rubber duck at this point hth 08:29:30 `? oerjan 08:29:31 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 `slwd oerjan//s#immoritus#rubber duck# 08:29:57 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 `wisdom icbm 08:51:43 icbm/icbm//ICBM/ICBMs are Crumbling Building Missiles. The I is currently classified. 08:51:51 wat 08:52:14 `howg icbm/icbm 08:52:16 revert 942e964c81c1 \ ` chmod 777 / -R \ sedlast s/unknown/classified/ \ learn ICBM/ICBMs are Crumbling Building Missiles. The I is currently unknown. 08:52:52 did boily really mean to do that 08:53:15 `` find -name '*icbm*' wisdom 08:53:16 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 `` find wisdom -name '*icbm*' 08:53:29 wisdom/icbm \ wisdom/icbm/icbm 08:54:30 `` cd wisdom; mv icbm icbm'; mv icbm'/* .; rmdir icbm' 08:54:30 ​/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 `` cd wisdom; mv icbm icbm_; mv icbm_/* .; rmdir icbm_ 08:54:47 No output. 08:54:52 `? icbm 08:54:53 ICBM/ICBMs are Crumbling Building Missiles. The I is currently classified. 08:55:23 `slwd icbm//s,.*/,, 08:55:25 wisdom/icbm//ICBMs are Crumbling Building Missiles. The I is currently classified. 08:56:42 `` cd wisdom; ls -d */ 08:56:44 ​¯\_(ツ)_/ \ le/ \ ¯\(°_o)/ \ ¯\(°​_o)/ 09:00:19 `? music 09:00:20 The result was a short burst of the most hideous cacophony in G minor. 09:00:34 i'm not sure what int-e intended here. 09:01:30 -!- AnotherTest has joined. 09:02:15 @tell int-e please explain why `? music does not contain its own keyword twh 09:02:15 Consider it noted. 09:02:54 @tell int-e oh, never mind. 09:02:55 Consider it noted. 09:03:07 and i even read that book. 09:03:27 also, own. 09:05:05 -!- carado has joined. 09:06:15 `wisdom cacophony 09:06:17 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 `` sed -i 's/$/./' wisdom/*cacophony\ in* 09:07:06 No output. 09:07:09 `wisdom cacophony 09:07:10 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 of course, it's really Bach. 09:08:45 Why won't anyone to help me making Node.js addons? 09:09:29 `` sed -i 's/Op./BWV/' wisdom/*cacophony\ in* 09:09:32 No output. 09:09:36 `wisdom cacophony 09:09:37 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 oh wait 09:09:55 `revert 09:10:16 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 09:11:32 `? turmeric 09:11:35 turmeric? ¯\(°​_o)/¯ 09:18:22 `ls 09:18:23 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 `culprits candide 09:18:50 fizzie 09:18:59 `doag candide 09:19:02 2016-07-10 ` bash ./configure 09:19:26 `file candide 09:19:26 candide: Bourne-Again shell script, ASCII text executable 09:19:32 `cat candide 09:19:32 ​#!/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 kindide 09:19:43 `rm candide 09:19:45 kindida 09:19:45 No output. 09:20:22 `file hw 09:20:23 hw: directory 09:20:26 `ls hw 09:20:27 brainfuck \ c \ chef \ haskell \ intercal \ java \ pascal \ perl \ perl6 \ php \ python \ shakespeare 09:20:44 `doag hw 09:20:46 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2016-05-14 ` echo $\'say\\tQ[@A`DO world!]~|\' > hw/perl6 \ 2016-05-14 ` echo Couldn\\\'t match type \\`IO \\(\\)\\\' with \\`[Char]\\\' > hw/haskell \ 2016-05-14 ` echo Just another Perl hacker, > hw/perl \ 2016-05-14 ` echo Just 09:21:22 oh right 09:21:40 How can you convert a C++ header file into a C header file with all of the correct mangled names? 09:22:08 `file ps 09:22:09 ps: ASCII text 09:22:11 Why do you want to do that? 09:22:12 `cat ps 09:22:13 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 `rm ps 09:22:18 No output. 09:22:23 oerjan: i thought you retired 09:22:32 janitoerjan 09:22:39 So that you can call a C++ code from a C code 09:22:46 OF COURSE I'M RETIRED. I'M FINE. WHERE ARE MY GOLF CLUBS... 09:22:48 zzo38: Why not export unmangled names? 09:23:21 -!- tuttobene has quit. 09:24:25 Because the existing program does not do that. 09:24:57 Ah, I see. 09:25:20 I would prefer to write a C++ wrapper that exports C functions, and compile it with a C++ compiler. 09:26:12 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 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 ah. 09:27:27 . o O ( this channel has too many evil* people ) 09:27:59 Specifically I want to be able to use the Node.js headers including v8 and nan, directly from a C code. 09:28:07 Also, the web repository browser seems to have broken down. :/ 09:28:18 Why? 09:28:54 fizzie: works for me 09:28:55 Also, the C++ codes are clang but I want to write the C code with GCC. 09:29:04 oerjan: Yes, because I just fixed it. 09:29:14 aha 09:29:32 smashing 09:30:08 Is smashing the opposite of shocking? 09:30:22 probably. 09:30:37 `? shocking 09:30:38 shocking? ¯\(°​_o)/¯ 09:30:39 shocking 09:30:43 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 Also it can be use even if different compilers have different name mangling schemes. 09:31:20 oh someone managed to break it? 09:31:22 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 I was hoping that `lowg would log all the changes to wisdom 09:32:41 wat 09:33:05 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 fizzie: doesn't `revert still work? 09:34:07 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 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 fizzie: i somehow didn't think the internal HackEgo commands accessed .hg through /hackenv ... 09:35:57 iirc .hg wasn't even always inside it... 09:36:07 maybe i remember wrong. 09:36:16 It's always been a subdirectory the times I've been playing with it. 09:37:12 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 @tell 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 Consider it noted. 09:44:54 `ls 09:44:55 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 `file theorems 09:45:07 theorems: directory 09:45:10 `ls theorems 09:45:11 No output. 09:45:17 `rmdir theorems 09:45:18 No output. 09:45:21 `doag theorems 09:45:22 No output. 09:45:32 wat 09:45:34 `culprits theorems 09:45:36 No output. 09:45:57 `culprits tmflry 09:45:59 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 Oh, hg doesn't track directories. 09:46:05 Hello 09:46:09 I'm here 09:46:15 `mkdir blah 09:46:16 No output. 09:46:22 `` hg log 09:46:23 changeset: 9084:132542b8bf63 \ tag: tip \ user: HackBot \ date: Mon Sep 26 08:22:13 2016 +0000 \ summary: rm ps \ \ changeset: 9083:00300a2789b3 \ user: HackBot \ date: Mon Sep 26 08:19:40 2016 +0000 \ summary: rm candide \ \ changeset: 9082:c09a4c1bf558 \ user: HackBot \ 09:46:29 `rmdir blah 09:46:30 I got Python to play Ode to Joy 09:46:30 No output. 09:46:35 I'm almost disappointed that the tmp/ trick works. 09:46:59 Otherwise I would've encoded temporary state in directory tree. 09:47:03 It would've been great. 09:47:21 *horrible 09:47:48 esoteric 09:48:05 @wn esoteric 09:48:08 *** "esoteric" wn "WordNet (r) 3.0 (2006)" 09:48:08 esoteric 09:48:08 adj 1: confined to and understandable by only an enlightened 09:48:08 inner circle; "a compilation of esoteric philosophical 09:48:08 theories" [ant: {exoteric}] 09:48:37 A RIC is a Reuters Instrument Code, used to identify financial instruments. 09:48:40 What's an esoteric? 09:49:09 whoa whoa whoa 09:49:11 @wn exoteric 09:49:11 moon_ seemed a bit trigger happy with the `reverts 09:49:12 *** "exoteric" wn "WordNet (r) 3.0 (2006)" 09:49:12 exoteric 09:49:12 adj 1: suitable for the general public; "writings of an exoteric 09:49:12 nature" [ant: {esoteric}] 09:49:21 I've never heard that word before. 09:49:39 What a good word. 09:50:51 oerjan: So when you parameterize everything by dt, dx^2 certainly has some sort of meaning. 09:50:57 But it's kind of a boring one, I guess? 09:51:26 MAYBE 09:51:51 i mean, QUACK 09:52:06 `? oerjan 09:52:08 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 `slwd oerjan//s#rubber duck#quack doctor# 09:52:30 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 every day, in every way, my wisdom entry keeps getting better and better 09:54:01 You don't like it? 09:54:13 i was just quoting another quack doctor hth 09:54:32 which i learned about the other day from the iwc forum. 09:54:35 Oh. 09:55:09 If even you only learned about it the other day, how can you expect me to know it? 09:55:25 cultural osmosis. 09:55:39 Say y = x^2. y = t^2, x = t. dy = 2x dx, which are both equal to 2t 09:55:45 quack. 09:56:02 dy^2 = 4x^2 dx^2 09:56:29 Where was I going with this? 09:56:37 quack? 09:57:07 Maybe choosing x = t makes this too boring. 09:57:38 quasi quasi. 09:58:22 Let's say y and x are functions. 09:58:33 quarks. 09:58:39 @time 09:58:42 Local time for shachaf is Mon Sep 26 01:58:40 2016 09:59:16 D(Dy/Dx)/Dx 09:59:21 I'm pretty incoherent right now. 09:59:29 quite. 09:59:45 But y(t) = ... and x(t) = ... 09:59:55 Surely Dy/Dx is a perfectly reasonable function. 10:00:45 D(Dy/Dx) = (Dx D(Dy) - Dy D(Dx))/(Dx)^2, innit? 10:01:11 quack 10:01:16 This is exacty the same as before except I'm writing a capital D. Boring. 10:01:44 `? boring 10:01:45 Boring means of little interest. 10:01:57 `dowg boring 10:01:59 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2016-04-18 learn Boring means of little interest. 10:02:43 D(Dy/Dx) = D(Dy)/Dx - Dy D(Dx)/Dx^2 10:03:09 `? brilliant 10:03:10 brilliant? ¯\(°​_o)/¯ 10:03:38 Say we have dy/dx = u 10:03:40 there should be an entry for `? brilliant that is all over the top and yet complete crap. 10:03:46 i'm just not sure how to do it. 10:03:52 I know just the person. 10:04:12 So dy = u dx 10:04:40 hm... 10:04:50 d both sides: d(dy) = d(u dx) 10:05:23 So d(dy) = u d(dx) + du dx 10:05:54 d(dy)/dx = u d(dx) + du 10:06:11 d(dy)/dx^2 = u d(dx)/dx + du/dx 10:06:40 That accomplished nothing. But I guess it's easier than explicitly doing the quotient thing. 10:06:48 `` 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 Learned «brilliant» 10:06:56 `? brilliant 10:06:57 ​̼̗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 close enough. 10:07:40 I've been trying to figure out the pun in `? boring 10:07:48 wat 10:07:50 I can see a few candidates but none of them seem to work. 10:08:06 shachaf: there's no pun. it is amusingly self-referential hth 10:08:16 Oh, I missed a /dx 10:08:26 d(dy)/dx^2 = u d(dx)/dx^2 + du/dx 10:08:31 Which we already knew. 10:09:14 `` 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 Relearned «brilliant» 10:09:24 `? brilliant 10:09:25 ​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 `? rich 10:09:29 rich? ¯\(°​_o)/¯ 10:09:34 there you go. 10:09:55 `? poor 10:09:56 poor? ¯\(°​_o)/¯ 10:10:10 `learn A rich person is a person of exciting means, which produce significant interest. 10:10:13 Learned 'rich': A rich person is a person of exciting means, which produce significant interest. 10:10:27 `learn A poor person is a person of boring means, which produce little interest. 10:10:30 Learned 'poor': A poor person is a person of boring means, which produce little interest. 10:10:34 what does zalgo do? 10:11:20 That's the best I can doerjan. 10:11:21 `zalgo Horrible things. 10:11:22 H̼̆ȭrͮͅr̜ͯi͖͗b̲̿l̴͂ẽ̵ ̶̹t̙͛ḩ͚i͂ͥn͌̋g̫̩s̒̈.̜͘ 10:11:50 they tie themselves in horrible knots 10:12:00 they come in stripes or polka dots 10:12:20 don't try do wussel out of this 10:12:28 *to 10:12:39 oerjan: do you know that "weasel out" is a phrase 10:12:47 holy crap is the internet slow in this hospital 10:12:47 you could have alluded to that one instead 10:12:49 more appropriate 10:13:12 *wooozle 10:13:18 shachaf: of course i do. 10:13:27 myname: are you injured 10:13:52 not in the traditional sense, no 10:14:46 `` rm wisdom/{rich,poor} 10:14:49 No output. 10:15:59 shachaf: i thought that was what i did, except i couldn't remember the english spelling. 10:16:18 Ah, I thought it was meant to be "wuss out" 10:16:43 Where "weasel out" would be more appropriate, because woozles are related to weasels. 10:18:27 OK, let's take a case like x=t^2, y=t^3 10:18:47 I said that d(dy)/dx^2 = dy/dx d(dx)/dx^2 + d(dy/dx)/dx 10:19:05 So d(dy/dx)/dx = d(dy)/dx^2 -dy/dx d(dx)/dx^2 10:19:12 d(dy/dx)/dx = d(dy)/dx^2 - dy/dx d(dx)/dx^2 10:20:17 dy = 3t^2, dx = 2t 10:20:31 dy/dx = 3/2 t 10:21:29 So d(dy/dx)/dx = d(3/2 t)/(2t) = (3/2)/(2t) = 3/(4t) 10:21:58 d(dy) = 6t, d(dx) = 2 10:22:10 dx^2 = 4t^2 10:23:00 So we have 6t/(4t^2) - 3/2 t 2/(4t^2) 10:23:26 quack. 10:23:48 = (6t - 3t)/4t^2 10:24:16 = 3/4 t 10:24:28 So that extra dy/dx d(dx)/dx^2 adjustment did exactly the wrong thing. 10:24:37 We wanted 3/2 t 10:25:37 But note that d(dy)/dx^2 = 6t/(4t^2) = 3/2t *is* the right derivative. 10:26:06 shoquack. 10:26:28 oerjan: zzo38 said it was nonsense earlier! 10:26:39 But here we go, d^y/dx^2 actually does work. 10:26:51 It's just that my claim about the d^2x/dx^2 was wrong 10:26:58 Why is that? 10:27:06 skeptiquack about d^y/dx^2 hth 10:27:20 Does it not work in this case? 10:27:57 Er, d^2y/dx^2 10:28:15 skeptiquacks are exactly what i need tdh 10:29:46 So what am I doing wrong? 10:31:44 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 Which answer? 10:32:36 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 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 Maybe I should ask: Answer to what? 10:33:26 oerjan: i know you said that but i didn't understand it so i decided to ignore it hth 10:33:46 thought so. 10:34:06 Now I think I see what you mean, but I'm not sure it's true. 10:34:23 this isn't taking a limit, yo 10:34:43 dy/dx is just an expression in x 10:35:08 dy/dx = 2x or something 10:35:13 maybe, maybe it is true, though 10:35:42 also, my comment about rubber duck means that i'm not reading half of what you write hth 10:35:53 half of what i write is wrong 10:35:58 i hope that's the half you're not reading twh 10:36:50 Say x^2+y^2=1 10:37:01 2x dx + 2y dy = 0 10:37:25 y dy = -x dx 10:37:53 incidentally, that's equivalent to saying "a circle is always normal to its radius" 10:38:09 yes 10:38:33 it's much nicer than dy/dx = -x/sqrt(1-x^2) or whatever you might write 10:39:13 OK, let's parameterize it. 10:39:26 x = cos t, y = sin t 10:40:05 dx = -sin t dt, dy = cos t dt 10:40:06 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 10:40:24 er 10:40:29 scrap that 10:40:32 x = cos t, y = sin t 10:40:41 dx = -sin t, dy = cos t 10:40:59 what am i even doing 10:41:24 dx = -y, dy = x 10:41:25 incidentally, the half i'm not reading includes most of the formulas hth 10:41:41 dy/dx = -x/y 10:42:03 d(dy) = -y 10:42:49 d(dx) = -x 10:43:44 d(dy)/dx^2 = -y/(y^2) = -1/y 10:44:03 is that right 10:45:27 quack but i dislike confusing functions and expressions. 10:46:28 these are expressions 10:46:45 the d(dy) = -y part is just sin'' = -sin and cos'' = -cos 10:46:57 yes 10:47:03 since x and y are expressions in t 10:47:10 what's confused there 10:48:05 the d operator applied to an expression. 10:48:36 yes, d means "derivative with respect to t" 10:48:42 as specified a few pages ago 10:48:49 quack. 10:49:17 look, is -1/y the right second derivative? 10:49:30 oh, i guess i could differentiate and see 10:50:11 for a half circle the usual way it would be the derivative of -x/sqrt(1-x^2) 10:51:29 = (y d(-x)/dx - (-x) dy/dx)/y^2 10:52:07 = (x dy/dx - y)/y^2 10:52:14 dy/dx = -x/y 10:52:45 so that's (-x^2/y - y)/y^2 10:53:08 = -x^2/y^3 - 1/y 10:53:10 hm 10:54:05 the second derivative of sqrt(1-x^2) is -1/(sqrt(1-x^2)^3) 10:54:25 quack 10:54:27 so -1/(y^3) 10:54:35 which is neither of the other two answers i got 10:54:49 probably because i haven't done this in years and also it's 3 in the morning 10:55:23 ok, well, the hand derivative i just did wrong 10:55:48 but -1/y isn't right, it's -1/y^3 10:55:55 let me try one more time 10:56:02 x = cos t, y = sin t 10:56:16 dx = -y, dy = x 10:56:24 d(dx) = -x, d(dy) = -y 10:57:03 d(dy)/(dx^2) = -y/(y^2) = -1/y 10:57:37 `? evilipse 10:57:38 ​ the most obnoxious of evil people, likes to use chmod 000 / -R 10:57:57 `slwd evilipse//s//evilipse,/ 10:57:59 sed: -e expression #1, char 0: no previous regular expression 10:58:08 `slwd evilipse//s/^/evilipse,/ 10:58:10 wisdom/evilipse//evilipse, the most obnoxious of evil people, likes to use chmod 000 / -R 10:58:57 ok, dy/dx = -x/y 10:59:52 d(-x/y) = (y d(-x) - (-x) dy)/y^2 11:00:32 = (y^2 + x^2)/y^2 11:00:45 = 1/y^2 11:00:54 so d(-x/y)/dx = 1/y^3 11:01:09 so at least that's right 11:01:26 but why does that not work in the other problem, and d^2y/dx^2 not work in this problem? 11:01:29 please advise 11:01:39 quack. 11:01:42 so tired 11:02:09 maybe the whole premise is broken? 11:02:09 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 how do they bid? 11:02:30 or what 11:06:23 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 Doubling and redoubling like in bridge might also be done. 11:12:10 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 what was advice/ for anyway? 11:13:12 int-e: i dunno. shachaf said directories don't get committed in hg at all btw 11:13:41 `` hg log advice 11:13:44 No output. 11:13:57 * oerjan has no idea what syntax to use. 11:13:57 Ah, that may be true. 11:14:06 maybe it's always been empty. 11:14:16 `` grep -rl advice bin 11:14:20 No output. 11:14:34 hopefully useless too 11:22:16 Based on a log-grep, I reckon it's always been empty. 11:22:40 It was proposed as a wisdom-style thing, but a set instead of a map. 11:23:39 `? #esoteric-blah 11:23:40 ​#esoteric-blah? ¯\(°​_o)/¯ 11:24:06 `learn #esoteric-blah blah blah. Blah blah, blah blah blah blah. Blah blah blah! 11:24:09 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 `wisdom 11:40:44 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 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 hezzo38. It would probably never exist, but it would make sense and be within the usual ruleset. 11:43:48 (Or if it exists, it does as a modernified rewording of a very old card.) 11:45:59 zzo38: Compare to the wording for Conspire, I think? 11:46:24 I mean the reminder text. 12:10:46 -!- wanderman has joined. 12:10:59 `relcome wanderman 12:11:00 ​wanderman: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 12:11:31 afternoily 12:11:37 hi 12:13:05 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 sweet mother of node spam 13:25:36 @ask boily . o O ( where *is* Roujo now? ) <-- have you checked the other channel, he's right there hth 13:25:36 Consider it noted. 13:27:57 `? adpoted 13:27:58 ​"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 `howg adpoted 13:28:09 revert 942e964c81c1 \ ` chmod 777 / -R \ 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 \ slashlearn adpoted/"Oh lord, we\'ve adpoted another one." => Marten realizes how the 13:28:29 `? adopted 13:28:30 adopted? ¯\(°​_o)/¯ 13:29:21 `` cd wisdom; mv ad{po,op}ted; sled 'adopted//s/pot/opt/' 13:29:23 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 @tell b_jonas oyu souhld adpot bteter spellign thh 13:30:15 Consider it noted. 13:35:56 oerjan: It's a scow how every non-executable file now has the chmod 777 and my revert in their howg. 13:36:37 yep 13:37:04 `howg quotes 13:37:07 No output. 13:37:13 `hoag quotes 13:37:15 revert 942e964c81c1 \ ` chmod 777 / -R \ sled quotes//1289s/ // \ addquote < hppavilion[1]> alercah: Also, this isn\'t a PC thing- if it was PC, it wouldn\'t list ones for whites \ addquote I think we need to make Greece an independent country \ sled quotes//1287s,I.*,[...] 13:37:47 fizzie: you can now join ais523's company hth 13:39:36 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 [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=49772&oldid=49748 * Total Vacuum * (+14) 13:46:25 Mooo 13:46:39 * oerjan milks evilmoon 13:47:08 wat 13:47:39 [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 standard procedure for cows hth 13:48:04 moo2 13:48:32 * evilmoon kills oerjan's hairy toe to get rid of its help 13:48:37 `? hth 13:48:39 hth is help received from a hairy toe. It is not at all hambiguitous. 13:50:59 but but without my toe the channel will become infested by BIG HAMS 13:51:34 i dont get it. pls add Sense() to the mix please? 13:51:46 anyway, it's a zombie toe anyway. BTATINS. 13:51:58 sorry spellfin out of otrer 13:52:21 ho gdo abd sepllign 13:52:31 `? sense 13:52:32 Sense is the ability to understand things. A person with much sense is called a sensei. 13:52:44 `? foot 13:52:45 foot? ¯\(°​_o)/¯ 13:52:48 `? toe 13:52:49 toe? ¯\(°​_o)/¯ 13:52:51 `? hairy toe 13:52:52 hairy toe? ¯\(°​_o)/¯ 13:53:17 `? ow 13:53:18 ow? ¯\(°​_o)/¯ 13:53:22 `? hackego 13:53:23 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 `learn The TOE is the Toe of Everything, from which our universe sprang. 13:53:28 Learned 'toe': The TOE is the Toe of Everything, from which our universe sprang. 13:53:49 `? universe 13:53:51 A universe is a poem in one stanza. 13:54:00 `? evil 13:54:00 evil? ¯\(°​_o)/¯ 13:54:46 `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 Learned «evil» 13:55:17 evilrjan :> 13:56:46 . o O ( /mode #esoteric +q evil*!* ) 13:57:03 ): 13:57:03 oerjan: perfect 13:57:13 int-e: which one? 13:57:23 -!- evilmoon has changed nick to not_evilmoon. 13:57:26 oerjan: the channel mode, not Ford. 13:57:31 ah. 13:57:40 (He was Prefect anyway) 13:57:43 which Ford? 13:57:46 oh. 13:58:18 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 (read: unreliable) 13:58:52 `slwd evil//s/./E/;s/$/./ 13:58:54 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 `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 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 note: format corrections do not imply quality approval hth 14:00:15 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49774&oldid=49773 * Total Vacuum * (-7) 14:01:46 `unicode soft hyphen 14:01:47 ​­ 14:02:00 test­ing 14:02:05 err 14:02:07 look it up 14:02:09 shoot 14:02:13 you broke my terminal 14:02:13 i see just a normal hyphen anyway. 14:02:15 halp 14:02:27 haaalp 14:02:32 you evil evil person 14:02:32 evilmoon: go join the queue with shachaf hth 14:02:42 my terminal is broken 14:02:52 seriously, it takes that little? 14:03:01 apparently 14:03:03 try redrawing hth 14:03:04 im on weechat 14:03:22 how? i just tried switching buffers and that doesnt work 14:03:33 how broken is it, anyway. 14:03:41 there 14:03:50 the test was messing up 14:04:01 it basically made ncurses hate me 14:04:34 13:01:47 oerjan | `unicode soft hyphen │ augur 14:04:34 fancy 14:04:36 13:01:47 HackEgo | ​­ n │ b_jonas 14:04:38 13:2:007 oerjan | test­ing n │ BooK_ 14:04:38 -!- `^_^v has joined. 14:04:40 13:2:407 evilmoon | err g n │ brandonson 14:04:42 13:2:707 evilmoon | erlook it up │ Cale 14:04:44 13:02709 evilmoon | ershoot 14:04:46 thats the result 14:04:58 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 gaaaah 14:13:03 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49775&oldid=49774 * Total Vacuum * (+84) 14:13:59 `? freenode 14:14:00 The Realm of Freenode is our homeland. The Chännel dwells in it since... Uhm... Quite a few years ago? 14:14:15 looks boilyish 14:14:24 `cwlprits freenode 14:14:25 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49776&oldid=49775 * Total Vacuum * (+4) 14:14:26 boily 14:16:28 im having to repeatedly refresh my terminal damnit >_< 14:17:02 well don't make a habit of poking people in the eye then. 14:17:53 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49777&oldid=49776 * Total Vacuum * (+6) 14:19:21 oerjan: whats your stance on lolcode? 14:19:44 [wiki] [[Language list]] M https://esolangs.org/w/index.php?diff=49778&oldid=49772 * Total Vacuum * (-14) 14:20:08 a fairly boring language with weird syntax 14:21:37 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 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 oerjan: Gregor got on last night to fix a issue with hackego 14:41:16 namely chmod 000 / -R 14:41:20 wat 14:41:30 DON'T TELL PEOPLE I EXIST 14:41:44 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 14:41:45 Oh looks like he is still on. 14:41:52 i mean, o hai 14:42:23 how's professing 14:43:58 So, Gregor, did you manage to get revert to work in a chmod 000 / -R situation? 14:44:43 i think fizzie made that patch? 14:44:51 hm... 14:44:56 he did, just curious if it was integrated 14:44:57 `cat canary 14:44:58 ribbit 14:45:04 because 0000 might also be able to cause issues 14:45:12 `sled canary//crabbit 14:45:14 canary//rabbit 14:45:17 `revert 14:45:27 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 14:45:34 because chmod 0000 / -R makes it all non executable as well 14:46:05 Gregor: I can SEEEE you! 14:46:29 * evilmoon tells the world Gregor exists 14:46:40 Gregor: there's a spot in HackEgo that wasn't quite ready for the surprise of canary becoming a directory twh 14:47:40 Gregor: Did you know that this channel is still logged despite glogbots absence?! 14:47:54 and then there's that other... oh right, glogbot too 14:51:35 lol 14:52:24 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 . o O ( or a rare, carnivorous hat ) 14:52:50 :) 14:53:15 Suffice it to say I'm finding real employment to be more time consuming than being a grad student ;) 14:53:30 that was suspected 14:53:53 evilmoon: sorry... 14:53:55 -ping 14:53:55 pong 14:54:11 sorry what? 14:54:15 and it wasn't hacked together, but if i fix it, it will be... 14:54:27 fix what? 14:54:46 * evilmoon is confused 14:56:25 -!- Sprocklem has quit (Ping timeout: 265 seconds). 14:56:31 evilfl35: nothing is wrong, nothing to see here, move along... 14:57:05 lol 14:57:05 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49779&oldid=49777 * Total Vacuum * (+1338) 14:57:11 oerjan: what 14:57:24 evilrbot has nothing wrong with it 14:57:28 evilfl35: you didn't here anything and aliens don't exist 14:57:31 *hear 14:57:32 evilmoon: it won't reconnect 14:57:41 i just set it to use hte loopback 14:57:46 and aliens probably do exist in the observable universe 14:57:47 chat.freenode.net 14:57:58 morgan is just down 14:57:59 evilmoon: why... use morgan.freenode.net 14:58:00 oh 14:58:01 lol 14:58:12 i should make it follow fnalerts 14:58:16 or... 14:58:21 why would you connect directly to morgan... you should just use the round-robin, yeah 14:58:22 chat.freenode.net will do fine 14:58:24 maybe build our own freenode alerts system? 14:58:34 FireFly: that was for the netsplit, forgot to change it back 14:58:40 oerjan: http://static.nichtlustig.de/comics/full/041101.jpg (you know a bit of german, I believe) 14:58:56 During DDoS/netsplits in particular, relying on the roundrobin is smart since that is what staff can change :p 14:59:05 (also the fnalerts bot was on morgan.freenode.net lol) 14:59:26 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 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 evilfl35: yes, but we certainly haven't observed them. ha, ha! what an idea! 15:00:29 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49780&oldid=49779 * Total Vacuum * (-3) 15:00:32 ...?? 15:00:33 (or cached DNS records) 15:00:55 ... 15:01:08 well it seemed morgan was the best choice at the time, at least 15:01:28 int-e: truth in advertising 15:04:24 -!- `^_^v has joined. 15:12:13 [wiki] [[User talk:Total Vacuum]] N https://esolangs.org/w/index.php?oldid=49781 * Total Vacuum * (+8) Created page with "Welcome!" 15:21:54 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49782&oldid=49780 * Total Vacuum * (+13) 15:28:35 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49783&oldid=49782 * Total Vacuum * (+14) 15:32:13 wow thats a small compiler. 15:32:16 well not compiler 15:32:18 interpreter 15:32:37 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49784&oldid=49783 * Total Vacuum * (-7) 15:32:47 well, the preable at least 15:34:16 [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 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49786&oldid=49784 * Total Vacuum * (-4) 15:40:04 i wonder what the perfect esolang for IRC would be. (one that can be programmed in easily on IRC 15:40:06 ) 15:40:23 oerjan: what do you think? 15:44:35 -pad 64+"?kniht lla uoy od tahw">:#,_@ 15:44:38 -befr 15:44:40 what do you all think? 15:48:12 ^ul (Didn't someone mention Underload already?) 15:48:14 ^ul (Didn't someone mention Underload already?)S 15:48:14 Didn't someone mention Underload already? 15:50:00 yea, anythingelse? 15:50:19 -!- ais523 has joined. 15:50:27 hi ais523, Gregor is alive 15:50:53 hi evilmoon; hi Gregor! 15:51:54 `` echo 'echo \$2 > \'tmp/\$\{\$1\}padfile\'' > bin/pad 15:51:55 ​/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 *sigh* 15:52:17 `mk bin/pad\\echo $2 > 'tmp/${$1}padfile' 15:52:19 usage: mk[x] file//contents 15:52:28 `mkx bin/pad//echo $2 > 'tmp/${$1}padfile' 15:52:30 bin/pad 15:52:43 ``pad 1 'test' 15:52:44 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `pad: not found 15:52:44 evilmoon: that's not very good quoting. 15:52:57 `` pad 1 'test' 15:52:58 No output. 15:53:08 `cat tmp/1padfile 15:53:09 cat: tmp/1padfile: No such file or directory 15:53:18 *sigh* 15:54:48 `mkx bin/pad//echo $2 > "tmp/$(echo $1)padfile" 15:54:50 bin/pad 15:54:51 `` ls tmp/*pad* 15:54:52 tmp/${$1}padfile 15:54:56 `` pad 1 'test' 15:54:57 No output. 15:55:05 `` ls tmp/*pad* 15:55:06 tmp/1padfile \ tmp/${$1}padfile 15:55:10 there. 15:55:20 `bf 15:55:20 Run what? 15:55:26 `cat bin/bf 15:55:26 ​#! /bin/bash \ [[ $# > 0 ]] || { echo "Run what?"; exit 1; } \ ci="$1" \ echo -n "${ci#*!}" | { /hackenv/interps/egobf/src/egobfi8 <(echo -n "${ci%%!*}") ; } 15:55:37 `cat bin/f 15:55:37 ​#! /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 oh i remember that one 15:55:57 `` f bf tmp/1padfile 15:55:57 No output. 15:57:08 -!- ais523 has quit (Read error: Connection reset by peer). 15:57:14 `mkx bin/pad//echo "$(echo $2)\n" >> "tmp/$(echo $1)padfile" 15:57:16 bin/pad 15:57:22 `` pad 1 'test' 15:57:23 No output. 15:57:29 `` cat tmp/1padfile 15:57:30 test \ test\n 15:57:37 *sigh* 15:58:15 `mkx bin/pad//echo $\"$(echo $2)\n" >> "tmp/$(echo $1)padfile" 15:58:17 bin/pad 15:58:20 `mkx bin/pad//echo $"$(echo $2)\n" >> "tmp/$(echo $1)padfile" 15:58:22 bin/pad 15:58:23 damn u typos 15:58:28 `` pad 1 'test' 15:58:29 No output. 15:58:33 `` cat tmp/1padfile 15:58:34 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 `mkx bin/pad//printf "$(printf $2)\n" >> "tmp/$(echo $1)padfile" 16:01:24 bin/pad 16:01:27 there 16:01:29 that works 16:01:35 `` pad 1 'test' 16:01:35 No output. 16:01:39 `` cat tmp/1padfile 16:01:40 test \ test\n \ test\n \ test 16:02:30 -!- ais523 has joined. 16:02:37 moo hi 16:04:20 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49787&oldid=49786 * Total Vacuum * (+359) 16:05:17 wello 16:05:21 I'm here to abuse the bot 16:05:26 what bot? 16:05:31 what bot? 16:05:41 HackEgo 16:05:45 lol 16:05:45 it bugs me how our nicks are the same color and length 16:05:49 as requested 16:05:50 evilator: not me 16:05:54 lol 16:06:05 evilfl35: my fucking valoran node went down DL 16:06:07 *D: 16:06:18 weechat just assigns a random color to your nicks. 16:06:21 Time-Wrap: so did my insomnia247 node but then the admin fixed ze ddos filter 16:06:22 whos Time-Wrap anyways 16:06:25 -!- ais523 has quit (Read error: Connection reset by peer). 16:06:31 /whois Time-Wrap 16:06:46 lol eclipse 16:06:49 oh lol 16:07:11 just dont get fizzie / Gregor mad at you and your good :P 16:07:19 *you're 16:07:20 >:D 16:07:27 so if I try my thing now it wont work 16:07:28 ? 16:07:33 dont try it anyways 16:07:38 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49788&oldid=49787 * Total Vacuum * (+49) 16:07:41 evilator: I used to have an annoying autocorrect bot feature 16:07:47 or fizzie WILL ban you >_> 16:07:59 evilmoon* 16:08:05 dammit 16:08:08 ? 16:08:13 I used to have an annoying autocorrect bot feature 16:08:17 ok? 16:08:20 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49789&oldid=49788 * Total Vacuum * (-6) 16:08:22 ok? 16:08:25 ok. 16:09:02 oerjan: is it possible for a command sent to hackego to get the name of it's caller? 16:09:04 [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 wb ais523 16:09:42 freenode 16:09:42 evilmoon: my connection is dubious 16:09:52 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 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49791&oldid=49789 * Total Vacuum * (+23) 16:10:37 evilmoon: not that i know of. 16:10:55 `mkx bin/pad//pad="$1"; shift; echo "$@" >> "tmp/pad.$pad" 16:10:57 bin/pad 16:11:01 That's at least a little more sane, IMO. 16:11:16 -!- MDead has joined. 16:11:22 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 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 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 -pad 5 :>>#;1-:48*+01p*01g48*-#;1#+-#1:#<_$.@ 16:14:01 -befr 16:14:03 what do you all think? 16:14:06 derp 16:14:08 -padclr 16:14:11 -pad 5 :>>#;1-:48*+01p*01g48*-#;1#+-#1:#<_$.@ 16:14:14 -befr 16:14:16 120 16:15:06 looks mathy 16:15:26 > product[1..5] 16:15:28 120 16:16:45 -!- ais523 has joined. 16:18:42 wb again 16:18:55 nice internet. try a wired connection and something thats not satelite 16:20:18 -!- PocketKiller has joined. 16:20:35 PocketKiller, what bring you here? 16:20:43 Nothing. 16:20:50 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 hi Phantom_Hoover 16:29:41 hello evilmoon 16:30:19 -!- oerjan has quit (Quit: I think my pockets survived). 16:30:42 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 `` mount 16:36:11 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 `` ping -c 3 google.com 16:36:39 pong 16:36:44 `` which ping 16:36:44 ​/hackenv/bin/ping 16:36:49 `` ls /bin 16:36:50 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 `` /bin/ping 16:36:54 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 `` /bin/ping -c 3 google.com 16:36:58 ping: unknown host google.com 16:37:49 `` ls /dev 16:37:50 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 \oren\: i see 16:53:23 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 Gregor: nope, it's pretty much i wonder what this this does 17:01:05 s/this this/this 17:01:12 / 17:02:25 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 mostly via exploiting bugs in hg 17:02:55 `` echo making a change for the purpose of reverting it >> temp 17:02:57 No output. 17:03:01 `revert 17:03:01 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 17:03:21 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 Gregor: evilrbot, evilator, evilvoid, and wiggle are new, wiggle is the one who borked the bot most recently 17:11:12 oh evil3bot is a bot, i ment evilfl35 17:11:47 ... 17:12:18 -nick otherbot 17:12:18 -!- evilrbot has changed nick to otherbot. 17:12:36 -nick evilrbot 17:12:36 -!- otherbot has changed nick to evilrbot. 17:12:38 hey 17:12:46 -nick otherbot 17:12:46 -!- evilrbot has changed nick to otherbot. 17:12:53 -!- evilmoon has changed nick to moonythedwarf. 17:13:16 .... 17:18:29 -!- evilfl35 has changed nick to jeffl35. 17:19:14 `cat bin/culprits 17:19:15 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 `hoag bin/awk 17:21:33 No output. 17:21:41 `hoag bin/culprits 17:21:43 revert 58b9ee8f97a7 \ ` rm --no-preserve-root -rfv / # testing, plz no ban \ mkx bin/culprits//hoag "$@" | awk \'{print substr($1,2,length($1)-2)}\' | sed "s/.$/\\x0F&/" | xargs \ ` mv bin/culprits bin/culprits2; mv bin/innocent bin/culprits \ ` mv bin/culprits2 bin/culprits \ ?????? 17:22:42 `` rm --no-preserve-root / 17:22:43 rm: cannot remove `/': Is a directory 17:22:44 lol 17:22:47 <\oren\> the character that activates my bot is the snowflake 17:23:01 TIL https://youtu.be/IvUU8joBb1Q they actually play this on concerts without the machine 17:23:08 -eval config.cmdchar = '' 17:23:09 '' 17:23:11 ping 17:23:11 pong 17:23:14 now it's nothing 17:23:22 eval config.cmdchar = '' 17:23:22 '\u000f' 17:23:24 ok that's better 17:23:28 ping 17:23:29 pong 17:24:25 `` man hoag 17:24:26 Nice try. 17:24:28 ping 17:24:28 ??? 17:24:30 `` which man 17:24:31 ​/hackenv/bin/man 17:24:34 `` /bin/man 17:24:35 ​/hackenv/bin/`: line 4: /bin/man: No such file or directory 17:24:41 `` /usr/bin/man 17:24:42 ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config 17:24:44 jeffl35: its to prevent people from locking up the bot 17:24:45 lol 17:24:55 `` /usr/bin/man man 17:24:56 ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config 17:24:58 lol 17:25:01 `` hoag bin/man 17:25:03 revert 58b9ee8f97a7 \ ` rm --no-preserve-root -rfv / # testing, plz no ban \ ` (echo \'#!/bin/sh\'; echo \'echo Nice try.\') > bin/man && chmod a+x bin/man \ ` (echo \'#!/bin/sh\'; echo \'Nice try.\') > bin/man && chmod a+x bin/man 17:25:09 `` which hoa 17:25:10 `` which hoag 17:25:11 No output. 17:25:11 ​/hackenv/bin/hoag 17:25:14 `` cat /hackenv/bin/hoag 17:25:15 hg log --removed --template "{desc}\n" -- "$@" 17:25:46 -!- MoALTz has joined. 17:26:10 lol 17:26:29 ` gcc 17:26:30 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 17:26:33 lol 17:27:20 -eval bot2 = require('child_process').spawn('node',['app.js']); 17:29:00 `` cat bin/culprits 17:29:01 hoag "$@" | awk '{print substr($1,2,length($1)-2)}' | sed "s/.$/\x0F&/" | xargs 17:29:58 hmm, int-e / fizzie, how would i go about printing only the commands that were preformed on a file? 17:30:21 -eval bot2 17:30:29 eval bot2 = require('child_process').spawn('node',['app.js']); 17:30:29 [ReferenceError: bot2 is not defined] 17:30:34 eval var bot2 = require('child_process').spawn('node',['app.js']); 17:30:35 undefined 17:30:39 eval bot2 17:30:39 [ReferenceError: bot2 is not defined] 17:30:46 -!- otherbot_ has joined. 17:30:50 lol 17:30:51 ... 17:30:55 -eval process.exit() 17:30:56 -!- otherbot_ has quit (Remote host closed the connection). 17:31:01 at least they have different cmdchars 17:31:02 -!- otherbot_ has joined. 17:31:05 ...... 17:31:06 try modifying the global object to make a variable perm 17:31:11 eval bot2 17:31:12 [ReferenceError: bot2 is not defined] 17:31:14 -eval process.exit() 17:31:14 -!- otherbot_ has quit (Remote host closed the connection). 17:31:15 eval global.bot2 17:31:15 undefined 17:31:21 eval bot.bot2 17:31:21 undefined 17:33:16 geez, why do people always spam the channel with bot crap 17:33:57 lol 17:34:08 jeffl35: if your going to experiment, take it to your channel 17:35:21 eval bot.bot2 = require('child_process').spawn('node',['app.js']); 17:35:23 ChildProcess { 17:35:24 domain: null, 17:35:24 _events: {}, 17:35:25 _eventsCount: 0, 17:35:25 -flushq 17:35:26 _maxListeners: undefined, 17:35:27 _closesNeeded: 3, 17:35:27 _closesGot: 0, 17:35:28 connected: false, 17:35:29 signalCode: null, 17:35:29 Oflushq 17:35:29 exitCode: null, 17:35:30 killed: false, 17:35:31 spawnfile: 'node', 17:35:32 _handle: Process { owner: [Circular], onexit: [Function], pid: 14383 }, 17:35:32 flushq 17:35:32 Send queue flushed 17:35:37 -!- otherbot_ has joined. 17:35:43 -nick anotherbot 17:35:43 -!- otherbot_ has changed nick to anotherbot. 17:35:45 there we go 17:36:30 >_< 17:36:31 -!- `^_^ has quit (Quit: This computer has gone to sleep). 17:36:36 jeffl take it somewhere else 17:37:02 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 moonythedwarf: what 17:39:23 this channel is not for enormous bit configure testing 17:40:14 ^ 17:40:16 > bit configure 17:40:22 eh ok 17:40:23 error: Variable not in scope: configure :: Int 17:40:29 -part #esoteric 17:40:29 -!- otherbot has left. 17:40:35 -!- `^_^v has joined. 17:40:52 jeffl35: it can stay, but it can be used excessivly in here 17:41:14 eh, if everybody's going to complain, then it can't stay 17:41:30 -!- otherbot has joined. 17:41:36 hmm 17:41:38 need to fix the part comand 17:41:57 no you dont. lets talk in the other channel for a moment 17:42:24 (no seriously, when given without arguments it should not part a channel named undefined) 17:42:37 oh 17:42:39 lol 17:43:33 -reload 17:43:33 Reloading modules... 17:43:35 -part 17:43:35 -!- otherbot has left. 17:43:37 :D 17:43:38 uh 17:43:41 ... reasons... 17:44:04 -!- Reece` has joined. 17:56:18 -!- alakra has quit (Quit: WeeChat 1.4). 17:57:23 i have a data structure that can be indexed by integers 17:57:43 but not all the elements must be set 17:57:49 so there can be holes 17:57:58 -!- alakra has joined. 17:58:16 first idea is to use a hash table, but i want to be able to iterate over the keys in order 17:58:38 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 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 so inserting a new value takes logarithmic time 18:00:12 same for removing 18:00:31 but accessing elements that already in the structure is still constant time 18:00:44 is this stupid? 18:01:05 -!- alakra has joined. 18:02:16 ...that are* already in the structure.. 18:02:54 you could use a fibonacci heap instead of a tree 18:03:08 let me look it up real quick 18:06:11 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 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 18:16:25 <\oren\> i mean seriously why? 18:16:53 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 i'm back 18:29:58 after some finagling with the stupid tmux code, it compiled and I'm now using tmux 2.2 18:30:13 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 stupid tmux 18:32:27 now i'm getting segfaults 18:32:34 ugh 18:33:06 wait or maybe it's irssi that is segfaulting 18:33:36 ❄ping 18:33:38 grr 18:35:15 ❄ping 18:35:15 ☃ pong 18:35:20 there we go 18:36:13 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 either something is wrong with ><>'s author's implentation, or the quine on its esolang page doesnt work 18:52:08 -pad "r00gol?!;40. 18:52:11 -><>r 18:52:11 "r00gol ?!;40 . 18:52:26 moonythedwarf: or you implemented the thing wrong 18:52:29 -part needs fixing 18:52:29 -!- otherbot has left ("needs,fixing"). 18:52:33 ... 18:52:35 need to fix tat 18:52:54 -reload 18:52:58 -pad "r00gol?!;40. 18:53:00 -><>r 18:53:11 ... 18:56:22 <\oren\> ❄calc 2 3 + p 18:56:22 <\oren\> ☃ nonextant cmd. 18:56:59 -!- hppavilion[1] has joined. 18:57:41 nope error with my bot. 18:57:52 *jeffl35's 18:57:56 e*our 18:58:11 ... 18:58:13 yes 18:58:15 ❄efef 18:58:15 <\oren\> ☃ nonextant cmd. 18:58:16 ❄lol 18:58:16 <\oren\> ☃ nonextant cmd. 18:58:17 ❄ping 18:58:18 <\oren\> ☃ pong 18:58:19 ❄help 18:58:20 <\oren\> ☃ nonextant cmd. 18:58:20 ❄list 18:58:21 <\oren\> ☃ nonextant cmd. 18:59:02 <\oren\> ❄ocal 1 2 + p 18:59:02 <\oren\> ☃ 3 18:59:39 ❄ocal 1 + 2 = p 18:59:40 <\oren\> ☃ 0 18:59:46 ❄ocal 1 + 2 = p; p = 4 18:59:47 <\oren\> ☃ 0 0 18:59:51 ❄ocal 1 + 2 = p; p = 4; p 18:59:51 <\oren\> ☃ 0 0 4 18:59:56 what does it use? 19:00:07 rpn 19:00:10 <\oren\> reverse polish notation 19:00:27 no i mean the calculator, what software? 19:00:40 <\oren\> moonythedwarf: I wrote a crappy thing in C 19:00:45 ohlol 19:01:08 write an rpn is like the most simple thing ever 19:01:21 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 zzo38? 19:04:52 <\oren\> I don't think he's here right now 19:08:17 -reload 19:11:33 -help 19:11:41 -!- otherbot has joined. 19:12:04 i tried zzo38's sandboxing tip, lets see if you all can break it. doot see -js 19:16:33 Huh, apparently Deez Nutz finally died 19:16:34 Thank god 19:18:59 -!- LKoen has joined. 19:19:21 hppavilion[1]: +1 19:19:27 -!- `^_^v has quit (Quit: This computer has gone to sleep). 19:20:10 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 hi wob_jonas 19:43:48 -!- DHeadshot has joined. 19:45:02 \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 \oren\: how much have you been in Greece before the euro was introduced there? 19:51:17 i tried zzo38's sandboxing tip, lets see if you all can break it. doot see -js 19:51:25 The $ sign does appear on the US $100,000 bill. 19:51:25 -js x = 1+1 19:51:25 'ReferenceError: x is not defined' 19:51:42 shachaf: .... ok 19:54:24 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 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 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 n't describe that because it would be almost impossible. 20:05:39 wob_jonas: hes not online 20:05:52 moonythedwarf: I'll @message then 20:06:24 @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 Consider it noted. 20:06:42 @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 Consider it noted. 20:06:43 ossible. 20:08:27 moonythedwarf: wait, how is zzo38 not online? He's usually joined to this channel, even when he's not actually listening. 20:08:34 Strange 20:11:50 wob_jonas: Gregor is alive 20:13:29 \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 @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 Consider it noted. 20:31:55 @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 Consider it noted. 20:32:11 fizzie: is this about the bug in `revert of Hackego? 20:32:15 wob_jonas: Yes. 20:32:23 @tell moonythedwarf test 20:32:24 Consider it noted. 20:32:27 @tell jeffl35 test 20:32:27 You can tell yourself! 20:32:30 lol 20:32:43 @tell Jeffl35 test 20:32:43 You can tell yourself! 20:32:50 @tell jeffl35 test 20:32:50 Consider it noted. 20:33:21 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 wob_jonas: but what does @tell do? 20:33:43 @hel 20:33:43 help . Ask for help for . Try 'list' for all commands 20:33:52 @help 20:33:52 help . Ask for help for . Try 'list' for all commands 20:33:52 @list 20:33:52 What module? Try @listmodules for some ideas. 20:33:56 @listmodules 20:33:56 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 slap source spell system tell ticker todo topic type undo unlambda unmtl version where 20:34:14 @list irc 20:34:14 irc has no visible commands 20:34:19 @list tell 20:34:19 tell provides: tell ask messages messages-loud messages? clear-messages auto-reply auto-reply? clear-auto-reply 20:34:26 @messages 20:34:26 You don't have any messages 20:34:31 O 20:34:31 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 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 fizzie: the hologram-like strips? hmm, let me check that 20:56:34 he said it's not on the coins 20:56:40 i guess that is true 20:56:49 but yeah, it is on the notes 20:56:53 myname: "The euro sign € doesn't appear on the euro coins or notes --" 20:56:53 -!- MoALTz has quit (Quit: Leaving). 20:58:10 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 I'm wrong then 20:59:04 -!- ^v has joined. 20:59:05 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 But that doesn't really count. 20:59:20 I guess I hadn't looked much at the euro banknotes 20:59:29 I saw the new UK £5 note the first time the other day. 20:59:31 fizzie: it does sort of count, though obviously that's less prominent 20:59:33 It's got a hole in it. 20:59:45 fizzie: how big hole? 20:59:46 Well, not a real hole. But a transparent thing. 20:59:53 oh 20:59:55 I think. 21:00:04 yes, lots of banknotes have those 21:00:42 ok, not a lot 21:00:58 I think it's possible only on banknotes printed on non-paper plastic material 21:01:14 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 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 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 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49792&oldid=49791 * Total Vacuum * (+74) 21:08:46 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49793&oldid=49792 * Total Vacuum * (+5) 21:10:21 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49794&oldid=49793 * Total Vacuum * (-3) 21:10:52 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 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49795&oldid=49794 * Total Vacuum * (+0) 21:12:51 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 GBX is a scowrrency 21:14:13 wait wait 21:14:13 wait 21:15:53 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 21:17:04 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49796&oldid=49795 * Total Vacuum * (-62) 21:17:24 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 That is definitely part of why I assumed the euro symbol didn't appear on the euro banknotes. 21:17:46 fizzie: ^ 21:18:23 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49797&oldid=49796 * Total Vacuum * (-3) 21:18:56 [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 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 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 [wiki] [[Bf core]] M https://esolangs.org/w/index.php?diff=49799&oldid=49798 * Total Vacuum * (+19) 21:24:36 They spell it both EURO and ΕΥΡΩ on all of them. 21:25:34 -!- Sprocklem has joined. 21:25:56 <\oren\> ΕΥΡΟ 21:26:25 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 it's an omega 21:27:02 <\oren\> EYPW 21:27:14 fizzie: bulgaria? bulgaria doesn't use the euro yet 21:27:37 Oh, they *do* have ЕВРО (I guess that's how it goes there) on the new series. 21:27:40 Well, then. 21:27:44 <\oren\> evro? 21:28:08 <\oren\> is europe evropa? 21:28:08 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 \oren\: in which country is it a minority language where the euro is also used? 21:33:53 oh, perhaps in greece 21:34:01 <\oren\> Hungary and Greece at least 21:34:01 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 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 \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 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 \oren\: it might be more because of serbian or macedonian as a minority language 21:38:28 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 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 Including the Hungarian "EKB". 21:39:49 (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 fizzie: EKB is also only on the newer versions of the notes 21:40:25 Well, you joined later. 21:41:04 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 EKP is there just for Finnish and Estonian. 21:42:03 the newer one has "BCE ECB E EZB EKP EKT EKB BE EBC" 21:43:09 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 that's just a guess 21:43:49 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 \oren\: yes, and zentral is definitely a real german word 21:45:49 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 moo 22:24:50 -!- oerjan has joined. 22:26:43 wb oerjan 22:27:14 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 lol 22:28:18 @messages 22:28:22 -!- ubuntu has changed nick to Guest21462. 22:28:45 -!- Guest21462 has quit (Client Quit). 22:29:55 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 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 you seem to have chosen similar command characters, at least. 22:32:33 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 but split/join doesn't sound like what < does in backflip. 22:32:38 oerjan: nice. wasn't there also some 2d fungeoid language with only two different characters, space and a tricky one? 22:32:53 wob_jonas: Jolverine? 22:33:01 no, it's Black 22:33:03 there may be more than one. 22:33:27 (Jolverine is also reversible) 22:33:37 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 moonythedwarf: funny way of getting inspired, the /\< chars there seem to be just for demonstration... 22:34:52 i never saw the backflip page 22:35:05 i know, i wanted to try something similar 22:35:20 now that a look at it again, i could possibly only use two instructions and diagonal only moving balls 22:35:21 as in, not actually part of the language 22:35:27 note that Black is self-modifying (modifies the contents of its instruction cells during execution) in an essential way 22:35:46 was Black reversible too... 22:36:31 wob_jonas: the topic right now is reversable languages 22:36:43 ah 22:38:24 i'm not sure it was the topic, i only remembered jolverine was reversible after mentioning it. 22:38:26 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 i don't remember 22:40:02 it's Nopfunge 22:41:22 wob_jonas: also, Wierd may fit your question too 22:41:33 um, not the last one 22:41:37 but above 22:41:57 oerjan: say i wanted to make a one directional gate in my theoretical language 22:42:07 /\ 22:42:10 << 22:42:13 \/ 22:42:38 that would, if the 'ball' came from the left, send it back again 22:42:41 hm, Nopfunge may have been added after i gave up following the wiki. 22:42:48 in fact, actually, cut that last < in the middle line 22:44:12 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 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 and vice versa. 22:44:37 `? oerjan 22:44:45 Hmm, in fact you could make it even without that. 22:44:49 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 [wiki] [[Special:Log/newusers]] create * Solak * New user account 22:44:57 did HackEgo turn slow again 22:45:02 Let me think. 22:45:15 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 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 `slwd oerjan//s/cambrian/-recombination/ 22:47:55 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 \< 22:52:33 \< 22:52:38 /\ 22:52:41 \< 22:52:57 * moonythedwarf fires a 'billard ball' gun at oerjan 22:53:18 https://www.kickstarter.com/projects/antsylabs/fidget-cube-a-vinyl-desk-toy i kinda want this 22:56:03 `ls temp 22:56:06 temp 22:56:09 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 `cat temp 22:56:17 making a change for the purpose of reverting it 22:56:21 hah 22:56:24 `doag temp 22:56:31 2016-09-26 ` echo making a change for the purpose of reverting it >> temp 22:56:38 Pw[c](a, b) is hyperwhich; it is equal to n s.t. P[n](a, b) = c 22:56:52 shachaf: ais523 wanted to demonstrate one of the `revert bugs but also hit the other one. 22:56:54 Rw and Lw are similar, but with R and L instead of P, respectively 22:56:55 `rm temp 22:56:57 No output. 22:57:11 `` echo demonstrating bugs > tmp/temp 22:57:14 No output. 22:57:18 `` mv tmp/temp . 22:57:22 mv: cannot stat `tmp/temp': No such file or directory 22:57:25 `cat temp tmp/temp 22:57:26 cat: temp tmp/temp: No such file or directory 22:57:30 er 22:57:34 `` cat temp tmp/temp 22:57:35 cat: temp: No such file or directory \ cat: tmp/temp: No such file or directory 22:58:38 I kind of like that. 22:58:44 Let's say it's a feature. 23:00:07 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 Yes. 23:02:56 -!- moonythedwarf has joined. 23:03:43 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 bonsœøirjan. 23:04:40 @massages-loud 23:04:40 oerjan asked 9h 39m 4s ago: . 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 oh hm. yes, indeed. 23:05:41 byolihi 23:06:52 shachaf: dubious 23:08:41 iovoid: hiovelloid. 23:08:58 hi 23:10:48 you were evilvoid. were you somebody else before that? 23:11:23 -!- Zarutian has quit (Quit: Zarutian). 23:11:55 I am iovoid most of the time 23:12:54 I have 11 more nicks 23:13:26 oh, so I haven't `relcomed you yet! :D 23:13:30 `relcome iovoid 23:13:33 ​iovoid: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 23:14:09 there's no language called nopfuck yet? great! maybe brainfuck variants aren't as well-spread as I thought 23:15:58 is there a self-brainfuck-derivative out there, akin to how d(e^x)/dx = e^x? 23:16:20 boily: I don't really understand what you mean by that 23:16:27 d(e^x) = e^x dx 23:16:29 hth 23:16:36 yes, but 23:16:43 what would a self-brainfuck-derivative mean? 23:16:47 It's kind of funny how that has the chain rule built in. 23:16:53 aha 23:17:03 That must be the reason the dy/dx notation looks like divison. 23:17:06 division 23:17:10 It's the chain rule. 23:17:16 Do you see what I mean? 23:17:40 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 dy/dx *is* division. don't y'all dare tell me otherwise. 23:17:58 shachaf: yes 23:21:13 `wisdom 23:21:15 cookbook//Random food recipes at https://gist.github.com/nylki/1efbaa36635956d35bcc 23:21:23 I think I added that entry 23:21:49 `wisdom 23:21:51 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 `cwlprits minsky 23:22:14 fizzie evilipse oerjan 23:22:22 `dowg minsky 23:22:28 2016-09-25 revert 942e964c81c1 \ 2016-09-25 ` chmod 777 / -R \ 2016-01-04 ` mv wisdom/minsk{i,y}; sed -i \'s/minski/Minsky/g\' wisdom/mins* 23:22:36 Oh, right. 23:22:56 why does the oerjan entry say "hungarian" and "oerlord"? 23:23:18 oerjan or shachaf: ^ 23:23:28 Why not? 23:23:41 `` dowg oerjan | grep -i hungarian 23:23:46 2016-09-16 slwd oerjan//s#overlord kommisjon\xc3\xa6r#hungarian oerlord# 23:23:55 That's why. 23:24:10 wob_jonas: oerjan ascended to hungoerjanhood hth 23:24:14 "oerlord" is because he's an overlord, but also an oerjan 23:24:24 And "o'er" is a common contraction of "over" 23:24:24 I see 23:26:12 night 23:26:15 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 23:26:50 `wisdom 23:26:52 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.