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