00:15:45 -!- hppavilion[1] has joined. 00:19:25 -!- Elronnd\StD has changed nick to Elronnd. 00:21:20 -!- copumpkin has joined. 00:28:33 -!- oerjan has joined. 00:29:30 yellørjan. 00:30:52 yhoily. 00:36:15 -!- spiette has quit (Quit: .). 00:47:42 hm... 00:48:19 @let class Typeable a => T a 00:48:22 Defined. 00:49:11 @let newtype W = W Int deriving T 00:49:12 .L.hs:312:20: 00:49:12 Can't make a derived instance of ‘T W’: 00:49:12 ‘T’ is not a derivable class 00:49:16 damn 00:50:25 @tell int-e lambdabot still lacks enabled extensions (like GeneralizedNewtypeDeriving) for enterprise exploit searching tdnh 00:50:26 Consider it noted. 00:50:33 -!- AstroMoon has joined. 00:52:22 shachaf: argh i need GHC again :( 00:52:33 oerjan: for what 00:52:42 to check if that's an exploit 00:53:01 GHC 8? 00:53:06 you cannot newtype derive Typeable, but can you newtype derive a _subclass_ of it? 00:53:33 shachaf: not just 8 00:53:48 but i'm not going to install an older version, anyway. 00:54:05 when you get ghc 8 you'll have to answer all my questions hth 00:54:14 NOOOOOOOO 00:54:52 -!- AstroMoon has quit (Quit: Got to keep moving!!). 00:56:29 oerjan: Isn't Typeable autoderived these days? 00:56:53 shachaf: yes. the point here is whether you can break it. 00:57:08 by indirectly deriving a wrong instance. 00:59:46 huh the new haskell platform installer requires manual config editing in windows. 01:00:31 Hmm, I think your idea might work... 01:07:14 <\oren\> oerjan: is this a security exploit? 01:07:15 * oerjan downloads minimal version 01:08:00 \oren\: well it's a type safety breach, and some security depends on type safety 01:08:19 not if it takes itself seriously hth 01:08:22 but after all the exploits we've found, you'd be foolish to depend _justs_ on that. 01:08:28 *-s 01:09:01 but still, it'll probbly be enough to increase spj's pulse a bit. 01:09:10 *+a 01:09:35 stupid lag ruins my typing concentration :( 01:10:23 i think the lag might be due to downloading the Platform 01:11:37 oerjan: just download it onto your cloud server hth 01:11:41 it has so much bandwidth 01:11:45 the cloud is all about bandwidth 01:11:52 OKAY 01:11:52 cloud 01:11:58 soon as i get one 01:12:17 -!- ais523 has joined. 01:12:19 wtf it interrupted. 01:12:21 <\oren\> ERROR: Rainbow does not implement interface Icloud 01:13:29 :D 01:13:43 oerjan: Oh, maybe it doesn't work. 01:13:48 I'll just let you figure it out. 01:15:37 -!- rntz has quit (Ping timeout: 244 seconds). 01:16:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 01:16:39 -!- rntz has joined. 01:22:50 -!- copumpkin has quit (Ping timeout: 258 seconds). 01:23:36 -!- copumpkin has joined. 01:24:25 -!- ybden has quit (Quit: dut). 01:28:15 shachaf: yeah. stupid download. 01:28:40 oh well, 3 mins left it says. 01:30:25 shachaf: i expect that even if it works it'll need some fiddling to get ghc to _not_ ues the autoderived instance. 01:30:29 *use 01:30:56 * oerjan really cannot type when the letters don't show up at the same speed... :( 01:36:40 -!- heroux has quit (Ping timeout: 260 seconds). 01:40:10 -!- hppavilion[1] has joined. 01:57:33 exploding sheep are fun. mwah ah ah ah ah. 01:58:40 yo, winghci is up 01:59:40 shachaf: i'm also finally restoring backup to my laptop, so now i actually have the origin of sp^wpcs on it. 02:01:03 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:02:42 oerjan: whoa, i forgot that pun 02:04:30 * oerjan deletes them from the backup directory on nvg, because they took up like half his quota. 02:04:47 the OOTS book (two versions), that is. 02:04:54 What's your quota? 02:05:47 250 Mb, i think 02:06:05 -!- Koen_ has quit (Quit: Leaving...). 02:06:30 this backup solution might not scale into the next time... 02:07:17 is that bits or bytes 02:07:34 bytes 02:08:25 you can back up 250MB very cheaply on the internet hth 02:11:09 i guess. i probably even have something from microsoft included with the laptop. 02:11:26 (although i might have to register more "properly") 02:12:08 You can use Google Drive or Dropbox or something for free for that little space, I'm sure. 02:12:39 Of course, why would you want to store your data in the US? 02:13:06 so the NSA can back it up properly, duh 02:13:36 i have so far avoided getting any kind of account with either google or microsoft. 02:14:14 that you know of hth 02:15:08 that would have made more sense if you were talking about the nsa 02:16:08 i'm sure the nsa know all my crimes but consider me too small a fish to fry hth 02:16:27 oerjan: tarsnap will back up your data securely for 250 picodollars / byte-month hth 02:16:43 I have $50 of Tarsnap bounty credit but I've never used it. 02:18:07 yay up and editing 02:22:59 Hi! I just flew in here from https://youtu.be/wfYbgdo8e-8, and boy is my FREAKTHEFUCKOUT cortex tired! 02:30:45 -!- MoALTz has quit (Quit: Leaving). 02:31:20 -!- boily has quit (Quit: PREMATURE CHICKEN). 02:34:50 oerjan: did you find a bug that lets you unsafeCoerce between a value and its newtype 02:35:09 that's a little unsatisfactory. 02:35:26 Actually I think you can do more. 02:35:40 i'm not sure. i just had a mysterious failure. 02:36:14 exciting 02:37:01 somehow it uses the autoderived Typeable when newtype deriving. or so it seems. 02:38:51 I don't think so? 02:39:12 class Typeable a => S a 02:39:12 instance S Int 02:39:12 newtype W = W Int deriving S 02:39:12 f :: S a => a -> TypeRep 02:39:12 f a = typeOf a 02:39:20 f (W 1) gives W 02:39:32 clas Typeable a => T a where { foo :: a -> TypeRep }; instance T Int where { foo = typeOf }; newtype W = W Int deriving T; typeOf (W 5) -- Int 02:39:51 Er, foo (W 5) 02:40:01 oh you used a method 02:40:24 Aren't methods the issue with GND? 02:41:28 ok, let me try building on that. 02:43:36 shachaf: hm the problem is that a TypeRep doesn't give you enough to break things 02:43:47 and using a :~: fails due to roles, i think. 02:43:54 -!- augur_ has joined. 02:43:56 Using :~: in the method does, yes. 02:43:57 so maybe it really is safe, due to roles 02:44:06 The method type has to be representational or something. 02:44:16 I'm not sure about safe. 02:44:30 But it doesn't seem correct that you can have x :: W such that typeOf x is Int 02:45:20 shachaf: you don't. 02:45:44 You effectively do inside the method. 02:46:30 fsvo effectively 02:47:33 -!- augur has quit (Ping timeout: 258 seconds). 02:47:40 But roles restrict you from doing much. 02:48:03 yes, so it seems. 02:54:09 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 02:54:30 -!- Kaynato has joined. 02:55:46 oerjan: so oerjan: did you find a bug that lets you unsafeCoerce between a value and its newtype 02:56:38 what, do you want a swat or something 02:57:13 -!- copumpkin has joined. 02:58:54 confirmed with a GADT that even if you wrap the class existentially, you still get the automatic Typeable. 03:09:16 oerjan: can you do anything with other fancy types 03:09:22 like Vault or StableName or something 03:09:38 well the question is whether you can get something that doesn't force the role 03:16:57 oerjan: Oh, there's nothing special about Typeable here. 03:18:58 power outage #scow 03:24:57 Could a microcode execution to work in this way: First all register reads and memory reads and calculations are performed simultaneously, and then the jumping and register writes and memory writes are all performed simultaneously; if a register write affects the operation, jumps will be affected for the current cycle but any other affects occur for the next instruction instead. 03:26:16 shachaf: indeed, my error was assuming that superclass dictionaries somehow got wrapped into subclass ones, and went through newtype deriving with them. but any wrapping doesn't happen until afterwards. 03:26:29 at least that's what i now think. 03:27:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 03:42:01 Long ago (in this exact galaxy), I learned something in a job interview. 03:42:25 They asked me to explain the "public", "protected", and "private" access modifiers in OO programming. 03:42:47 And in the course of doing so, I realized I didn't quite know how they work. 03:43:47 I said that I'm not sure if, in a non-static method belonging to a class, I can access private members of other instances of the class, besides self. 03:43:50 Turns out that yeah, you can. 03:43:57 And I have no idea why I bring this up. 03:44:12 It's kind of a pointless story. Like that one Mitch Hedberg joke. 03:45:34 In what programming language? In some you cannot access private members of other instances of the class 03:45:58 I think they were talking about C#. Or... maybe Java? 03:46:09 Here we go, it's the Hedberg joke about the locksmith. 03:46:26 https://en.wikiquote.org/wiki/Mitch_Hedberg - 'If I was a locksmith I'd be fuckin' pimpin' that shit out. "Say, what's goin' on, man? Tell you what. I'll trade you a free key duplication (laughs)." That joke made me laugh before I could finish it. Which is good 'cause there's no ending.' 03:47:29 One time in a job interview they kept trying to get me to say the word "singleton". 03:47:57 shachaf: because they wanted to know you were aware of the concept? or did they just think it was a fun word to say? 03:48:08 I kept avoiding it, and saying things like "global variable" because that's what it really amounted to. 03:49:03 I don't know why. 03:49:28 JavaScript has no classes or public/protected/private, but you can implement a lot of stuff that acts like it. One thing that can be done is to put the private variables and methods that access them in the constructor; in this way it won't have access to privates of other objects. Another thing can be done is you can make up a WeakMap to assign your own private values to any object. 03:50:05 (Actually JavaScript does now have a "class" command, although I do not use it.) 03:51:13 zzo38: What do you use JavaScript for? 03:52:05 -!- hppavilion[1] has joined. 03:52:10 GreaseMonkey, Node.js, userChrome.js 03:52:32 `? usual suspects 03:52:57 There are 3.99 usual suspects, but they're usually rounded up. 03:53:35 `sled wisdom/usual suspect//s3933 03:53:40 No output. 03:53:51 oops, squandered opportunity there 03:54:18 What does "sled" mean here? 03:54:32 It means slashsed 03:54:39 I did a phone interview once. They asked me: if I had to make some classes to represent square tables, rectangular tables, and circular tables, how would I do it? 03:54:51 You give it an argument consisting of a file name, and then two slashes, and then a sed script. 03:55:12 I felt like they were obviously expecting a specific answer. 03:55:16 tswett: Was this an innovative database company? 03:55:20 OK 03:55:28 I've never heard of circular tables but it sounds exciting. 03:55:37 Have a Table class, then RectangularTable inheriting from Table, SquareTable inheriting from RectangularTable, CircularTable inheriting from Table. 03:55:43 That, of course, is not the answer I gave them. 03:57:54 If they ask me such question then I would just ask them more questions. 03:58:53 zzo38: How would you conduct a job interview? 03:59:02 Or, more generally, how would you decide whether to hire someone for a job? 03:59:45 I don't know, but I suppose it can depend what job. 04:01:02 Yes. 04:03:38 Hmmmmm. I'm getting an idea. A terrible idea. 04:03:41 Maybe an esolang idea. 04:04:18 Interfaces in C# have limitations. For example, there's no way to define this interface: 04:05:14 interface ICloneable { T Clone(); /* where T is the class implementing this interface */ } 04:06:05 It's also impossible for an interface to contain any method implementations. 04:06:50 Interfaces can't contain static members, either. 04:07:02 Now, in my opinion, it would make perfect sense for an interface to contain static members. 04:07:32 Sometimes you remind me of Java Update. 04:08:07 Who's that? 04:08:31 That isn't so good that it can't be where T is the class implementing this interface. Even Haskell can do that. 04:08:57 zzo38: "even Haskell"? That's sort of a core feature of Haskell. 04:09:05 zzo38: Even Haskell? 04:09:14 tswett: Yes I know that 04:09:24 Haskell is an advanced purely-functional programming language. 04:09:51 I'm thinkin', could you just have the one concept, called a "trait" or something, that can have abstract members, non-abstract members, static, non-static... 04:10:12 And then... implementing an interface is very similar to inheriting from a class. 04:10:44 I think I know where this is going. 04:11:01 treason? 04:11:01 So, there are things called "traits". Traits replace classes and interfaces. 04:11:04 shachaf: yep! 04:12:34 A trait can inherit from any number of other traits. Members of traits can be abstract, virtual, or final. 04:14:09 Unlike with class inheritance, if a trait B inherits from a trait A, and the trait A has a member called "foo", then the trait B does not automatically have a corresponding member also called "foo". 04:14:14 In other words... 04:14:43 With trait inheritance, members *are* inherited from one trait into its children; but when a member is inherited, it doesn't necessarily keep its name. 04:15:40 tswett: this sounds a lot like C++... 04:15:46 coppro: does it? 04:15:50 I don't really know C++. 04:16:04 C++ doesn't separate interfaces from classes 04:16:21 a class can have any number of bases, be entirely abstract, concrete, entirely virtual, entirely not 04:16:35 Hmmm. 04:16:36 final was added later as a compiler check 04:17:24 C++ allows you to hide inheritance behind access control, so that inheritance is, say, private, in which case consumers can't access base members or convert to the base class. It's rarely used though 04:17:42 it supports your ICloneable interface, too, via the CRTP 04:17:48 (curiously recursive template pattern) 04:17:59 or through concepts 04:19:30 You can make upcasting private? Interesante. 04:19:53 multiple inheritance gets a little weird though 04:20:07 suppose you have classes B and C inheriting from A, and D inheriting from B and C 04:20:14 then by default, D actually has two copies of A 04:20:36 you have to mark the base class A virtual in each case to make it collapse into one (at the cost of a lot of extra runtime thunks) 04:26:59 One of these days I'll have to work out category theory. 04:27:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 04:30:06 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 04:38:13 -!- hppavilion[1] has joined. 04:38:54 After watching that video I posted earlier (https://youtu.be/wfYbgdo8e-8 if you forgot), I wrote a program to test communication 04:39:44 Hey hppavilion[1]. 04:39:45 I made a 5-bit character set and a program that would accept input and convert strings of "a"s and "s"s into 0s and 1s then into that character set 04:39:57 hppavilion[1]: remind me... what country are you in, if I may ask? 04:40:05 tswett: Transnistria 04:40:31 You would put your left hand (controlled by the right brain) onto the a and s keys and let it go wild, then it would make a result 04:40:36 Then I tried talking to my right brain 04:40:44 [L] Um... hello? 04:40:53 [R] assaassaassaassaassasasassaassaasasasassasassaaassaassaaasassassaasaassa 04:41:00 Which converted to: 04:41:01 MZTGVTFLLDGFWJ 04:41:17 As I expected, it didn't work in the slightest. 04:41:25 Existential crisis averted 04:41:45 tswett: I'm in Alaska, which is in the USA 04:42:33 Well, it's hardly among the 48 original states. 04:42:57 shachaf: 49, if you count Puerto Rico 04:43:00 The 40 original states that the US had back when it was founded, in 1946. 04:43:05 s/40/48/ 04:43:34 USA stands for United State Automaton, right? 04:43:52 coppro: We're hardly an automaton; at best, we're a decision tree 04:44:04 Not even a decision tree really; more of a stall-instead-of-making-a-decision tree 04:44:16 `? histogram 04:44:18 histogram? ¯\(°​_o)/¯ 04:44:40 So no one is interested in my failed experiment? 04:44:57 I'm kind of interested. 04:44:58 (Well, I suppose experiments can't fail if done correctly; they can just give uninteresting results) 04:45:05 I've tried to do that sort of thing before. 04:45:15 I just realized how many times my right brain said "ass" 04:45:44 I mean, to be fair, there's a 1/8 chance of it saying that for any 3 "a"s and "s"s 04:45:52 hppavilion[1]: you ever hear of tulpas? http://www.tulpa.info/what-is-a-tulpa/ 04:45:56 `learn Histograms are diagrams showing histamine levels. Taneb invented them. 04:45:57 And the chance probably goes up when you allow overlapping chains 04:46:02 Learned 'histogram': Histograms are diagrams showing histamine levels. Taneb invented them. 04:46:03 tswett: Nope, clicking 04:46:16 `?USA 04:46:16 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?USA: not found 04:46:17 `? USA 04:46:21 See America. 04:46:27 `? America 04:46:28 This wisdom entry had to be removed due to a DMCA takedown notice. 04:46:36 boring 04:46:42 hppavilion[1]: so, I can try to find you an internship in Michigan if you're ever interested. 04:46:46 `learn USA apparently doesn't stand for United State Automaton 04:46:48 tswett: ...oh god 04:46:49 Relearned 'usa': USA apparently doesn't stand for United State Automaton 04:46:52 `before 04:46:58 wisdom/usa//See America. 04:47:23 shachaf: They tested it before changing it... 04:47:39 shachaf: It's literally 8 lines above you 04:47:42 look 04:47:45 i'm not the logreader here 04:47:48 blame oerjan 04:48:07 hppavilion[1]: oh god what? 04:48:10 shachaf: I don't think tilting your eyes by about a half a radian counts as logreading 04:48:15 tswett: tulpas 04:48:31 tswett: This sounds almost as crazy as fictionkin 04:48:47 tswett: And at least pice as crazy as otherkin 04:49:50 tswett: But then again, quantum physics is pretty damn crazy, and brains are a lot bigger than quantum stuff 04:50:18 tswett: I have a feeling this /might/ be one of those things that is really crazy- crazier than things that are wrong- but also plausible 04:50:59 If oerjan was here he would fix that wisdom entry. 04:51:03 Since he's not retired anymore. 04:51:11 Maybe he'd even fix it with sedlast or sled. 04:52:06 `sled wisdom/usa/s,$,., 04:52:06 usage: sled file//script 04:52:10 darn 04:52:17 `sled wisdom/usa//s,$,., 04:52:20 wisdom/usa//USA apparently doesn't stand for United State Automaton. 04:52:27 shachaf: i don't trust sedlast 04:52:49 oerjan: it works fine if you're not racist hth 04:54:00 tswett: It at least seems like an interesting thing to experiment with over the summer 04:54:14 shachaf: since when am i not retired 04:54:46 oerjan: since you started editing wisdom entries again hth 04:55:02 i think you are just confused about what i retired from hth 04:55:18 . o O ( or perhaps i am ) 04:55:27 what did you retire from 04:55:52 anyway, in norway retired people are now officially encouraged to keep working. 04:55:59 (sometimes) 04:57:24 shachaf: fixing stupid bugs from people who cannot remember how HackEgo works even after the fifth time 04:57:34 oh 04:57:38 mainly. 04:57:40 why did you ever take that job in the first place 04:57:46 i know, right? 04:58:51 also, i retired from actually checking the repository browser page. 04:59:25 those two things are not unconnected. 04:59:55 hppavilion[1]: oh yeah, are you starting summer vacation right around now? 05:00:41 tswett: I've been on summer vacation for... maybe 2 weeks? 05:00:41 `` ps aux | grep grep 05:00:43 2-3 05:00:44 5000000000 288 0.0 0.2 4180 620 ? S 04:00 0:00 sh -c 'env' 'PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin' 'HACKENV=/hackenv' 'http_proxy=http://127.0.0.1:3128' 'LANG=en_NZ.UTF-8' '/home/hackbot/hackbot.hg/multibot_cmds/lib/limits' '`' 'ps aux | grep grep' | cat \ 500000000 290 0.0 0.6 19140 1600 ? 05:00:50 `? oerjan 05:00:51 Your retired mysterious adjectival cackling overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who mildly dislikes Roald Dahl with a passion. Lately when he tries to remember a word, "amortized" pops up instead. His arch-nemesis is Betty Crocker. 05:00:52 Oh dang. 05:01:03 My summer vacation was yesterday. :D 05:01:29 tswett: _all_ of it? 05:01:36 i knew americans had it bad, but... 05:02:05 I have an office job. I get 25 vacation days a year. 05:02:05 `sled wisdom/oerjan//s-retired --;s(rd(rd emeritus( 05:02:10 wisdom/oerjan//Your mysterious adjectival cackling overlord emeritus oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who mildly dislikes Roald Dahl with a passion. Lately when he tries to remember a word, "amortized" pops up instead. His arch-nemesis is Betty Crocker. 05:02:19 A whole 25? Envy. 05:02:51 pikhq: You get that at Google after 5 years, right? 05:02:57 Except in Europe where you get it right away, or something. 05:03:07 Yeah. 05:03:09 Which... I understand that Europe generally has better vacation time than the US. 05:03:38 `sedlast s/antediluvian/precambrian/ 05:03:45 wisdom/oerjan//Your mysterious adjectival cackling overlord emeritus oerjan is a lazy expert in future computation. Also an precambrian Norwegian who mildly dislikes Roald Dahl with a passion. Lately when he tries to remember a word, "amortized" pops up instead. His arch-nemesis is Betty Crocker. 05:03:49 Man, y'know, I think I've been a regular in this channel for about 11 years now. 05:03:52 oops 05:04:02 oerjan: suddenly you're sedlasting? 05:04:13 tswett: 11 years a regular and still not a member? 05:04:17 `sedlast s/ an/ a/ 05:04:24 wisdom/oerjan//Your mysterious adjectival cackling overlord emeritus oerjan is a lazy expert in future computation. Also a precambrian Norwegian who mildly dislikes Roald Dahl with a passion. Lately when he tries to remember a word, "amortized" pops up instead. His arch-nemesis is Betty Crocker. 05:04:33 How long have I been here? 05:04:38 I honestly don't know. 05:04:59 I've been using Freenode for over 12 years, I think. 05:05:10 Though my nick was registered a little under 12. 05:05:31 -!- Elronnd has changed nick to Elronnd\StD. 05:06:18 ...12 years ago, not age 12 05:06:45 Though those aren't all that far apart. 05:06:49 Maybe. 05:07:10 Maybe I should stay away from that topic. 05:07:11 `sedlast s/pre/Pre/ 05:07:20 wisdom/oerjan//Your mysterious adjectival cackling overlord emeritus oerjan is a lazy expert in future computation. Also a Precambrian Norwegian who mildly dislikes Roald Dahl with a passion. Lately when he tries to remember a word, "amortized" pops up instead. His arch-nemesis is Betty Crocker. 05:08:41 i've been here for 10 years now. plus/minus a few days. 05:09:40 hm minus, apparently. 05:09:48 maybe i was on the wiki first. 05:11:04 `le/rn chaf/Any word ending in "chac" can notify shachaf. 05:11:07 Learned «chaf» 05:11:08 oops 05:11:14 `sedlast shachafh 05:11:21 wisdom/chaf//Any word ending in "chaf" can notify shachaf. 05:15:27 `forget chaf 05:15:31 Forget what? 05:16:00 HackEgo: chaf 05:18:35 I wonder when my first wiki edit was. 05:19:53 2005. 05:22:46 So yeah. About 11 years. 05:24:36 -!- Sgeo has quit (Read error: Connection reset by peer). 05:55:05 -!- Kaynato has quit (Ping timeout: 260 seconds). 05:57:15 -!- Sgeo has joined. 06:00:38 sgello 06:09:26 Hi 06:09:40 My expensive toys aren't working :( 06:14:54 And your cheap toys? 06:21:29 This ring is still holding together 06:34:01 -!- ais523 has quit (Ping timeout: 240 seconds). 06:39:40 -!- ais523 has joined. 06:54:11 I don't see why people use 4-part versioning schemes when we can use the more modern, more expressive 18446744073709551616-part schemes 06:54:36 isn't that called open source 06:54:42 And even then, we should avoid those for major software and use the G64-part scheme 07:05:35 `? tetris 07:05:39 tetris? ¯\(°​_o)/¯ 07:05:42 http://www.qwantz.com/index.php?comic=2985 is actually an awesome idea 07:06:50 -!- lambda-11235 has quit (Quit: Bye). 07:06:56 `learn Tetris is where Soviet Russia was invented. Taneb was not present although Triangle and Robert were. 07:06:59 Learned 'tetri': Tetris is where Soviet Russia was invented. Taneb was not present although Triangle and Robert were. 07:07:31 `` mv wisdom/tetri{,s} 07:07:34 No output. 07:08:26 -!- heroux has joined. 07:19:58 What happened there? <-- a timeout, probably. 07:20:33 oerjan: I guess if it prints text and then times out some text still gets printed. 07:20:42 yeah 07:20:54 you have an odd logreading order 07:21:53 ...or at least one of them, at any rate! <-- hi 07:22:07 shachaf: no, i've just not got any further? 07:22:26 I guess you don't count reading your IRC client as logreading. 07:22:32 indeed. 07:23:58 `` ls wisdom/usual* 07:24:01 wisdom/usual suspects 07:24:16 I guess you could de-s it. 07:24:23 `` ls wisdom/*usual* 07:24:25 wisdom/the usual suspect \ wisdom/usual suspects 07:24:38 `cat wisdom/the usual suspect 07:24:39 cat: wisdom/the usual suspect: No such file or directory 07:24:50 fine, i made a mess of it 07:24:58 * oerjan cackles adjectivally 07:24:59 how the fuck did this tetri learning happen? 07:25:22 myname: it strips off s 07:25:35 ah, plural 07:25:53 better slashlearn 07:25:56 `` ls wisdom/the\ usual\ suspect 07:25:57 wisdom/the usual suspect 07:26:00 `` ls -l wisdom/the\ usual\ suspect 07:26:02 lrwxrwxrwx 1 5000000 0 13 May 31 19:43 wisdom/the usual suspect -> usual suspect 07:26:11 `` mv wisdom/usual\ suspect{s,} 07:26:13 No output. 07:26:15 `? the usual suspects 07:26:19 There are 3.99 usual suspects, but they're usually rounded up. 07:26:48 `sled wisdom/usual suspect//s;,; in #esoteric,; 07:26:52 wisdom/usual suspect//There are 3.99 usual suspects in #esoteric, but they're usually rounded up. 07:27:32 i demand names 07:28:25 I was pretty pleased with that pun. 07:28:42 @tell boily if only you were here to measure my funpun tdnh 07:28:42 Consider it noted. 07:29:37 -!- augur_ has quit (Remote host closed the connection). 07:30:17 myname: John, Ahmed, Jens, Fiona and Balthasar hth 07:30:23 -!- augur has joined. 07:30:57 oerjan is good at rounding 07:31:04 yep 07:31:36 i,i But the Judge said he never had summed up before; / So the Snark undertook it instead, / And summed it so well that it came to far more / Than the Witnesses ever had said! 07:33:15 `cat bin/sled 07:33:15 ​[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || exit 1; sed -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:33:45 `sled fnord//hi 07:33:46 No output. 07:34:42 -!- augur has quit (Ping timeout: 250 seconds). 07:34:46 Maybe a sledpreview would be useful. 07:35:05 So you can test in /msg and then sled in produ^W#esoteric. 07:35:34 `sled bin/sled/s/exit 1; sed/{ echo 'Rosebud!'; exit 1 }/ 07:35:36 `sled bin/sled//s#\|\| exit 1#|| { echo 'no such file'; exit 1; }# 07:35:36 usage: sled file//script 07:35:39 bin/sled//|| { echo 'no such file'; exit 1; }[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || exit 1; sed -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:35:49 :( 07:35:50 oops 07:36:04 `revert 07:36:06 I just discovered Dinosaur Comics 'butiwouldratherbereading' 07:36:23 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 07:36:25 `sled bin/sled//s/exit 1; sed/{ echo 'Rosebud!'; exit 1 }/ 07:36:32 bin/sled//[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || { echo 'Rosebud!'; exit 1 } -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:36:32 revert is so slow 07:36:45 `sled fnord//hi 07:36:46 ​/hackenv/bin/sled: line 2: syntax error: unexpected end of file 07:36:50 damn 07:36:54 Which suggests that Dinosaur Comics is generated by an algorithm; the individual pages might even just be text on the server 07:37:09 oh 07:37:12 `revert 07:37:15 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 07:37:22 OMG 07:37:26 http://www.qwantz.com/index.php?comic=2968&butiwouldratherbereading=somethingmorehistoricallyaccurate IS THE BEST THING EVER 07:37:37 `sled bin/sled//s/exit 1; sed/{ echo 'Rosebud!'; exit 1 }; sed/ 07:37:41 bin/sled//[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || { echo 'Rosebud!'; exit 1 }; sed -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:37:47 `sled fnord//hi 07:37:47 (Am I late to the party? Did everybody already know about this?) 07:37:48 ​/hackenv/bin/sled: line 2: syntax error: unexpected end of file 07:37:54 GODDAMMIT 07:37:54 oerjan: Did you know about this? 07:38:07 (In other news, I just said "OMG". So... SEPPUKU) 07:38:08 hppavilion[1]: i am not even reading what you're saying. 07:38:16 oerjan: Do you read dinosaur comics? 07:38:23 hppavilion[1]: still not reading. 07:38:30 :,( 07:38:52 shachaf: Do /you/ read dinosaur comics? 07:39:02 I only read the good ones. 07:39:20 shachaf: Were you aware of butiwouldratherbereading? 07:39:28 shachaf: Because http://www.qwantz.com/index.php?comic=2968&butiwouldratherbereading=somethingmorehistoricallyaccurate is amazing 07:39:36 You already linked that. 07:39:50 oerjan: whoa whoa whoa, that's quite an oath 07:39:55 `revert 07:39:57 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done. 07:40:04 `cat bin/sled 07:40:06 ​[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || exit 1; sed -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:40:09 shachaf: Yes 07:40:24 shachaf: Wait, how do you know which ones are good in advance? 07:40:51 oerjan: i can't believe you would use a big big D 07:41:24 i have no idea why this isn't working. 07:42:48 missing ; after the 1 hth 07:44:20 gah 07:44:30 `sled bin/sled//s/exit 1; sed/{ echo 'Rosebud!'; exit 1; }; sed/ 07:44:36 bin/sled//[[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || { echo 'Rosebud!'; exit 1; }; sed -i "$value" "$key" && { echo -n "$key//"; cat "$key"; } 07:44:54 `sled fnord//plugh 07:44:55 Rosebud! 07:45:07 thanks 07:45:08 Oh, I get it. 07:45:10 Sled. 07:45:17 That took a little too long. 07:46:10 ais523: do you happen to know why the templating of Confound and Intervene differs? 07:46:13 `card-by-name Confound 07:46:15 Confound \ 1U \ Instant \ Counter target spell that targets one or more creatures. \ Draw a card. \ PS-C 07:46:17 `card-by-name Intervene 07:46:18 Intervene \ U \ Instant \ Counter target spell that targets a creature. \ UL-C 07:46:38 b_jonas: no 07:46:40 ais523: as far as I know, the first abilities function exactly the same, and there's no reason why they should be phrased differently 08:01:06 -!- AnotherTest has joined. 08:44:54 -!- oerjan has quit (Quit: Nite). 09:04:12 -!- AnotherTest has quit (Ping timeout: 246 seconds). 09:05:44 -!- xkapastel has quit (Quit: Connection closed for inactivity). 09:14:29 -!- ais523 has quit (Ping timeout: 260 seconds). 09:31:48 http://xkcdsw.com/3900 09:31:49 Oh god 09:31:52 The horror 09:37:22 -!- Koen_ has joined. 09:48:37 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 09:56:29 -!- augur has joined. 10:01:06 -!- augur has quit (Ping timeout: 258 seconds). 10:09:21 -!- gamemanj has joined. 10:14:07 What's the current best way to report templating problems (indirectly) to the M:tG rules team then? The wizards forum worked for me once, but that forum is shut down now, so I'm not sure what to do . 10:15:04 start new forums, let them get popular, then report them there? 10:15:13 b_jonas: I think you can send them mail. 10:15:16 gamemanj: aww 10:15:33 shachaf: I think the "indirectly" means it has to be publically visible 10:15:36 shachaf: send who email? I don't think you could ever send email directly to wizards. Even on the forum, you didn't talk directly to wizards. 10:15:45 I meant physical mail, not email. 10:15:53 shachaf: ah... that might work 10:15:56 At least I think I read an article where they talked about receiving mail. 10:16:29 Wizards used to have some forms on their website, but I don't think they worked well. Or at least, the bug reports I sent about the Gatherer interface with that form never got into their public list of bugs about Gatherer. 10:16:45 Let me try to find a snail mail address. 10:17:05 shachaf: how old an article? this may have changed in the last few years. 10:17:15 I'm not even sure if I actually read it. 10:20:19 alternately, I can try the "customer service" emails or phones they give 10:20:50 and maybe I should also try to report the Gatherer issues that Gatherer still has 10:20:56 "We at Wizards of the Coast recognize that no matter how detailed the rules, situations will arise in which the interaction of specific cards requires a precise answer. If you have questions, you can get the answers from us at Wizards.com/CustomerService. Additional contact information is on the last page of these rules." 10:21:07 I think they're probably aware of some of the Gatherer issues. 10:21:20 Like how comments have been broken for 2 years or something, haven't they? 10:22:11 shachaf: yes, but they used to have a list of bugs (for the old Gatherer), and also had a submission form for new bugs, but even after some time, the bug I reported through the form didn't get to the list or get fixed. that might hvae been something I did wrong though. mind you, the new gatherer fixed some of the old bugs (and introduced new bugs) so it's partly moot. 10:22:25 "However, if you have rules questions that aren't answered by the basic or comprehensive rules or the release notes, feel free to contact customer service." 10:22:28 http://wizards.custhelp.com/app/answers/detail/a_id/2339 10:23:10 Gatherer used to have a lot of bugs about split and flip cards. I think they fixed those now, but now they have at least one bug about double-faced card.s 10:25:43 ...I wonder how a card game could have bugs, but yet, the rules of a card game are a program the players follow. 10:26:05 Well, Magic: The Gathering isn't even decidable. 10:26:28 That could make things difficult. 10:27:26 gamemanj: I said _Gatherer_ had bugs. it's a software. 10:27:39 but yes, the card game also has bugs 10:28:00 Ah. (I have no idea what's what, so I'm just being very general about what I say) 10:28:28 this templating inconsistency with Intervene I was talking about is a bug in the card game, although it's a very minor doc bug, not an important bug. there are bigger bugs that pop up occasionally. 10:29:17 (I'm still annoyed by Hollow Dogs being a Zombie instead of a Skeleton, but that's not definitely a bug) 10:32:26 -!- Reece` has joined. 10:39:09 hmm, how many nodes do I need to put in a graph before it annoys people who try to understand it? 10:40:40 I'll probably try the customer service 10:44:14 gamemanj, 5 10:44:46 Taneb: Ok, so a graph of the Audio Test it is - that only has 2 nodes. 10:45:52 Also note that zzo38's program would be a better fit if it wasn't somehow able to change it's own jump value... 10:46:01 ...on every instruction... 10:46:22 or, at least, that's what the analyzer's saying 10:50:03 Oh, it's the second segment generalization pass that's doing it... it runs the pass twice so that it won't have to recompile segments as much, but somehow zzo38's program is theoretically capable of self-modification. It's probably not, but it's convinced the analyzer. 10:50:27 -!- ais523 has joined. 10:53:32 -!- ais523 has quit (Client Quit). 10:53:49 -!- ais523 has joined. 10:53:58 -!- ais523 has quit (Changing host). 10:53:58 -!- ais523 has joined. 10:55:13 -!- Koen__ has joined. 10:57:36 -!- Koen_ has quit (Ping timeout: 246 seconds). 11:03:36 -!- gremlins has joined. 11:03:48 -!- gremlins has quit (Remote host closed the connection). 11:04:11 -!- gremlins has joined. 11:06:07 -!- Reece` has quit (Ping timeout: 260 seconds). 11:27:52 -!- ais523 has quit (Remote host closed the connection). 11:28:13 -!- ais523 has joined. 11:28:45 If I can recognize the structure of my font renderer in a directed graph of control flow... am I crazy? 11:32:39 gamemanj: I see no causal relationship between the two. 11:33:25 that said you might be crazy for other reasons 11:33:35 * int-e absent-mindedly mapoles oerjan before he realizes that he's not even there. 11:34:12 which is why I didn't just reply with a simple "no". 11:34:49 -!- boily has joined. 11:35:26 gamemanj: I'll be more blunt: Be careful or the bytes will push you over the edge ;-) 11:35:46 (hurray for weak puns) 11:36:01 int-e: stare into the heart of the bytes https://dl.dropboxusercontent.com/u/21184720/project-i.svg 11:36:16 (WARNING: Big file) 11:36:57 gamemanj: you'll have to forgive me, I find that graph confusing :P 11:37:02 I am also confused 11:37:27 Like, I know what code it's from, but I don't have a symbol table 11:37:54 why is there a red edge 11:38:05 red means the virtual machine was interrupted 11:38:17 and is graphviz really still the most usable graph renderer around? 11:38:30 Well, it was a bit slow, but then again the input .dot was REALLY BIG 11:38:34 (64k or so) 11:38:42 And also .dot is simple 11:39:02 Reminder: At some point this had to be generated 11:39:16 and what are the labels on the edges? 11:39:35 number of instructions? 11:39:37 yes 11:40:05 Basically this graph doesn't show every instruction, it instead condenses it into "segments" 11:40:16 This is more or less an offshoot of a test to see how JITable BytePusher could be 11:40:44 oh there's a 520 instructions edge... neat 11:40:49 Each square or circle represents a segment. Not shown are the "alternate" versions of segments which are generated to handle parallel universes 11:41:00 @massages-loud 11:41:00 shachaf said 4h 12m 17s ago: if only you were here to measure my funpun tdnh 11:41:15 (If the compilation of the segment made assumptions which turned out to be wrong, a parallel version is made to handle the new condition) 11:41:25 @ask shachaf hellochaf. you punned? 11:41:26 Consider it noted. 11:41:33 for the record, the mapole is for oerjan said 10h 42m 18s ago: lambdabot still lacks enabled extensions (like GeneralizedNewtypeDeriving) for enterprise exploit searching tdnh 11:41:36 (All versions of all segments are cached, but they are not generated until needed) 11:42:06 I think GND is still not considered to be SafeHaskell anyway. 11:43:03 hmm, there's a rectangle... 11:43:16 Rectangle means that there has been at least one initialization at that point 11:43:23 (actually, a few of them) 11:43:37 That is, the 2/3/4 address was set there on at least one frame 11:43:41 Usually you will find that only red lines lead to these, but that may not always be the case 11:43:58 so self-modifying code? 11:44:12 No, just changing the per-frame address 11:44:19 The self-modification is more or less obscured by this graph. 11:44:24 okay 11:44:39 Mind, the reason this graph is more than just 2 nodes is because it does self-modify jump addresses and such 11:44:42 To actually perform calculations 11:44:53 Things like the Audio Test are 2 nodes 11:44:53 I don't know what per-frame address means, and I don't want to know right now :P 11:45:13 Well, it's the same thing as the red lines, really 11:45:30 As I said - VM interrupt 11:45:54 If you don't find any red lines going to a rectangle, 11:45:54 "This train is experiencing difficulties, which are being dealt with." First time I've heard that one. 11:46:09 that's probably the initialization node - the first code the VM executes. 11:47:37 Aha. Initialization is at 47e. 11:47:55 fizzie: is this train in the UK? or was that translated? it sounds strangely nonidiomatic 11:48:12 From that, I can infer that fc2ef7 is the Internal Keyboard Test part of the system. 11:49:22 ais523: South West Trains, so UK. 11:49:39 https://twitter.com/suzytimms/status/615391949701423104 11:49:57 very vague :-( 11:50:04 int-e: For future reference, if an address ends in f4, it usually means "false", if it ends in f7, it usually means "true". 11:50:20 I learned a ton about health and safety from reading train accident reports 11:50:20 also learned quite a bit about how trains fail in the process 11:50:42 (they fail pretty safe; there are reports where things went catastrophically wrong and still nobody was hurt) 11:50:44 It did continue: "Please listen for further announcements from [unintelligible]." 11:51:10 -!- Koen__ has quit (Quit: Leaving...). 11:51:13 fizzie: Are you actually in this train? 11:51:25 I didn't notice any difficulties, and there were no further announcements, so possibly it was played back by mistake. 11:51:55 I was on that train a few minutes ago, now I'm in a different one already. 11:51:56 fizzie: see #trains hth 11:52:15 I keep forgetting about #trains. 11:52:18 boily: possibly hth 11:52:19 there was this report that came out recently, and actually lead to the train company responsible being /banned/ from the railways, but nobody was hurt: https://www.gov.uk/raib-reports/dangerous-occurrence-at-wootton-bassett-junction-wiltshire 11:53:00 (I suspect that the reason for the ban was related to the whole thing about intentionally disabling safety systems that would have prevented the accident) 11:56:26 "RAIB has identified one key learning point. This is that allowing safety critical systems such as AWS and TPWS to function without improper interference is vital to the safe operation of the railway." 11:56:33 Good thing to learn. 11:57:39 -!- augur has joined. 12:00:26 -!- ais523 has quit. 12:02:28 -!- augur has quit (Ping timeout: 244 seconds). 12:04:43 -!- Phantom_Hoover has joined. 12:19:18 `learn bézout/Bézout's theorem says that if a system of polynomial equations over the complexes has as many variables as equations, then in the general case the number of solutions it has is equal to the product of one less than the degrees of the polynomials. 12:19:43 ​/hackenv/bin/learn: line 4: wisdom/bézout/bézout': No such file or directory \ Learned 'bézout/bézout'': bézout/Bézout's theorem says that if a system of polynomial equations over the complexes has as many variables as equations, then in the general case the number of solutions it has is equal to the product of one less than the degrees of 12:19:51 `slashlearn bézout/Bézout's theorem says that if a system of polynomial equations over the complexes has as many variables as equations, then in the general case the number of solutions it has is equal to the product of one less than the degrees of the polynomials. 12:20:03 Learned «bézout» 12:20:17 ``` cp -i wisdom/{bézout,bézout's} 12:20:20 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 12:20:30 ``` cp -i "wisdom/{bézout,bézout's}" 12:20:32 cp: missing destination file operand after `wisdom/{b\303\251zout,b\303\251zout\'s}' \ Try `cp --help' for more information. 12:20:42 ``` cp -i wisdom/{bézout,bézout\'s} 12:20:49 No output. 12:20:53 ``` cp -i wisdom/{bézout,bezout} 12:20:58 No output. 12:20:59 ``` cp -i wisdom/{bézout,bezout\'s} 12:21:02 ``` cp -i wisdom/{bézout,bezout\'s theorem} 12:21:05 No output. 12:21:06 cp: cannot stat `wisdom/{b\303\251zout,bezout\'s': No such file or directory 12:21:25 ``` cp -vi wisdom/{bézout,bezout"'s theorem"} 12:21:30 ​`wisdom/b\303\251zout' -> `wisdom/bezout\'s theorem' 12:21:33 ``` cp -vi wisdom/{bézout,bézout"'s theorem"} 12:21:37 ​`wisdom/b\303\251zout' -> `wisdom/b\303\251zout\'s theorem' 12:27:06 `wisdom 12:27:11 itidus21//itidus21 just made some instant coffee, and did it again an instant later, and then again and again. where is all this coffee coming from? it has buried itidus21! where is itidus21? 12:27:28 @ask itidus21 where are you? 12:27:28 Consider it noted. 12:27:35 -!- boily has quit (Quit: BALCONY CHICKEN). 12:32:43 boily: probably under a lot of instant coffee 12:34:30 -!- ybden has joined. 12:45:07 -!- hppavilion[1] has joined. 12:49:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 13:06:47 -!- Elronnd\StD has quit (Quit: Let's jump!). 13:07:10 hmm, any connection? ... boily has quit [Quit: BALCONY CHICKEN] Elronnd\StD has quit [Quit: Let's jump!] 13:11:41 -!- Elronnd has joined. 13:15:35 ...jumping off of the Balcony is a bad idea before defeating . After defeating , it is still a bad idea, unless you wish to receive the "bad" ending... 13:18:04 what if, instead of jumping off the Balcony, you drop that huge beam on him by shooting the supporting chains? 13:18:39 ...I have no idea what we're talking about. 13:20:44 "Madotsuki climbs the stairs, jumps off the side of the balcony and plummets downward, then everything becomes dark." ?! 13:21:24 Oh. I thought we were talking about something entirely different. 13:21:51 I guess there must be many games with balconies :P 13:22:00 that's the first one google found for me 13:22:10 Now, why someone would waste their time climbing up stairs only to jump off a balcony... 13:22:31 They could just, you know, walk to the area under the balcony. 13:23:37 since I've read about the game for all of 5 minutes I can tell you that you can't... because your room door is impassable (locked? apparently the heroine doesn't even bother trying the door, and just shakes her head) 13:44:33 `? pk 13:44:55 pk? ¯\(°​_o)/¯ 13:47:01 -!- Sgeo has quit (Ping timeout: 240 seconds). 13:47:11 so super mario bros is PSPACE-complete, eh 13:47:52 `learn PK is short for Phil Katz, an infamous player killer of the 1990s whose favorite method of attack was to deflate his enemies. 13:48:03 Learned 'pk': PK is short for Phil Katz, an infamous player killer of the 1990s whose favorite method of attack was to deflate his enemies. 13:49:02 super mario bros has crazy game mechanics... knocking monsters up through bricks? 13:50:23 http://news.mit.edu/2016/mario-brothers-hard-complexity-class-pspace-0601 heh nice 13:50:56 `? mario 13:50:59 Mario is a classic NP-hard problem invented by Nintendo. 13:51:13 ``` echo wisdom/*[mM]ario* 13:51:15 wisdom/mario wisdom/supermarionation wisdom/supermarioperator 13:51:24 oh, this'll be fun 13:51:29 `? supermarionation 13:51:30 supermarionation is another name for the mushroom kingdom. 13:51:46 `? supermarioperator 13:51:47 supermarioperator is one of many confusing operators as defined in Control.Plumbers.Monad. Your sanity is in another castle. 13:53:39 Is there a class between "finite state machine" and "turing-complete" for things that would be turing-complete if their environment gave them access to an external infinite memory? 13:54:25 izabera: I don't understand why that's somehow news today. is there a paper that proves something more than the original paper from 2009? 13:54:58 I mean, wasn't it already turing complete back then? or am I confusing mario games or something? 13:55:05 um 13:55:07 not turing complete 13:55:09 pspace complete 13:55:10 duh 13:55:14 `? pspace 13:55:15 pspace? ¯\(°​_o)/¯ 13:55:36 gamemanj: that seems a bit pointless; after all, Turing machines are finite automata with access to an infinite memory 13:57:01 hmm, maybe the original super mario paper is form 2012 13:57:09 int-e: Hmm, I suppose. 13:57:28 b_jonas: http://erikdemaine.org/papers/Mario_FUN2016/paper.pdf 13:57:33 http://arxiv.org/abs/1203.1895 by Greg Aloupis, Erik D. Demaine, Alan Guo, Giovanni Viglietta is I think the famous paper, althoguh the research does go back by years 13:57:45 It's just that how finite the finite state machine is defines if it could implement something. 13:57:57 do we have wisdom entries about this? I thoguht `? mario or something would tell 13:58:02 `? super mario 13:58:05 super mario? ¯\(°​_o)/¯ 13:58:20 int-e: thanks 13:59:18 wait... what 13:59:35 int-e: ok, that's REALLY interesting 13:59:44 int-e: thanks for nudging, I'll have to look at that article in detail 13:59:58 later, that is 14:00:50 essentially they have a new door device that looks embarassingly simple, but is based on a game mechanic that I didn't expect. 14:00:55 (I've never played those games) 14:01:26 int-e: it doesn't matter much, the original result is quite general and applies to lots of games, so I expect this one would as well 14:01:35 a specific game or two doesn't matter 14:01:52 you've probably played at least one 2d scroller game where it applies 14:02:00 where some of the results apply that is 14:10:35 There isn't much new from the general framework perspective, I think; they just instantiate their existing PSPACE framework. 14:12:36 well, there's an interesting idea of exploiting timers for NP-hardness proofs. 14:13:49 -!- Akaibu has joined. 14:17:11 int-e: ok, I will still read later 14:23:44 -!- gremlins has quit (Quit: Alsithyafturttararfunar). 14:44:03 -!- AnotherTest has joined. 14:51:24 -!- AnotherTest has quit (Ping timeout: 272 seconds). 14:53:43 -!- `^_^v has joined. 15:10:45 -!- Kaynato has joined. 15:22:10 -!- spiette has joined. 15:24:09 -!- hwpplayer1 has joined. 15:24:14 -!- hwpplayer1 has left. 15:32:12 Git question. How do I list all tags together with the commits they point to? (git branch -l -a -v) lists all branches together with the commit id they point to (plus two other columns that are irrelevant here), but (git tag -l) which lists tags doesn't have the relevant fields. Do I have to invoke (git rev-parse) for each tag or something? 15:39:58 git tag --format '%(refname:short) %(objectname)' 15:40:27 (hmm, better swap those two fields to get a readable output) 15:46:37 -!- lambda-11235 has joined. 15:49:51 int-e: thanks 15:50:40 and apparently --format is an argument that doesn't work for the (git branch) command, so I can't just do almost the same thing for tags and branches 15:50:43 but no matter 15:50:49 this will help, I'll add it to my script 15:53:49 git for-each-ref --format '%(objectname) %(refname)' refs/heads refs/tags 15:54:17 (there's a reference to git-for-each-ref in the documentation for git-tag's --format flag) 15:56:22 it's just getting more low-level that way... but you can treat tags and branches and remote branches in a fairly uniform way 16:10:17 int-e: ah, thanks 16:10:54 I'm already treating remote branches too (well, fetched snapshots of remote branhces), because git branch -a does that 16:14:07 but it's good to know about for-each-ref , I'll use that next time I want this 16:19:45 `learn Mario is a classic PSPACE-complete problem invented by Nintendo. 16:20:15 Relearned 'mario': Mario is a classic PSPACE-complete problem invented by Nintendo. 16:20:15 -!- spiette has quit (Ping timeout: 264 seconds). 16:58:22 -!- izabera has quit (Ping timeout: 244 seconds). 17:08:39 -!- augur has joined. 17:10:02 -!- augur has quit (Remote host closed the connection). 17:10:26 -!- izabera1 has joined. 17:11:33 [wiki] [[A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer.]] https://esolangs.org/w/index.php?diff=47097&oldid=46134 * M654 * (+86) 17:16:11 -!- ybden_ has joined. 17:18:27 -!- spiette has joined. 17:18:54 -!- ybden_ has quit (Client Quit). 17:19:06 -!- ybden_ has joined. 17:19:56 -!- izabera1 has changed nick to izabera. 17:26:43 -!- ybden_ has quit (Quit: ZNC - http://znc.in). 17:26:53 -!- ybden_ has joined. 17:28:21 -!- ybden_ has quit (Client Quit). 17:28:37 -!- ybden_ has joined. 18:40:23 -!- ybden_ has quit (Quit: ZNC - http://znc.in). 18:40:35 -!- ybden_ has joined. 18:41:31 -!- ybden has quit (Quit: leaving). 18:42:29 -!- ybden_ has changed nick to ybden. 18:47:29 -!- ybden has quit (Quit: ZNC - http://znc.in). 18:47:39 -!- ybden has joined. 18:50:10 -!- xkapastel has joined. 19:09:56 -!- idris-bot has quit (Quit: Terminated). 19:10:12 -!- Melvar has quit (Quit: thunderstorms). 19:33:00 Does it /have/ to be formal? 19:45:19 tricky question 19:46:31 I'm inclined to say yes, with the justification that any implementation of the programming language can serve as a formal specification... but you can take a more strict view on what "formal" means... 19:46:32 -!- Vorpal has quit (Ping timeout: 272 seconds). 19:47:54 and there's a large grey area anyway... if you tell Siri to add two and three, and multiply the result by five... and assuming it does so... does that constitute an act of programming? 19:48:58 why doesn't the google assistant have a name 19:49:05 -!- Melvar has joined. 19:49:16 <\oren\> google now? 19:49:40 even microsoft gave their Siri a name... Cortana. 19:49:57 but Google calls theirs "Assistant". 19:50:17 (as far as I can see, please tell me if I'm wrong) 19:50:39 -!- Vorpal has joined. 19:50:57 <\oren\> hmm i shpuod probably know more about those than i do 19:51:17 <\oren\> theyre our competitors after all 19:52:16 <\oren\> its officially called the google now app 19:54:19 "Hey, now, what's the time?" ... mmm, no that doesn't sound right. 19:54:21 :-P 19:56:35 -!- idris-bot has joined. 19:58:04 <\oren\> with most of tjese you can customize the actovation phrase 20:00:20 hmm, another memory lapse... I read some scifi story where the hero (who is with the military), together with some hundred other people, gets an assistant implanted... and he decides to call it "asshole"... and gets warned that this is a very popular choice. 20:01:16 <\oren\> this will be important when you have a voice activated car and phone. "hey Civic" to talk to your car. "hey galaxy" to talk to your phone 20:01:53 <\oren\> the defaults are important for product branding 20:02:07 -!- nycs has joined. 20:02:31 Okay Google? 20:04:41 -!- `^_^v has quit (Ping timeout: 240 seconds). 20:06:09 <\oren\> argh speaking of google some sort of recruiter from them called me just now. 20:07:01 <\oren\> what a pain 20:07:08 On the one hand, you could say "what, they just... called you???"... on the other hand, what's the chance it's really a google recruiter? 20:07:56 <\oren\> well the same person had emailed me and is pestering me on linkedin 20:08:01 I theorize that it is actually Vermicious Knid. 20:08:12 *actually a Vermicious Knid. 20:08:17 Did the recruiter tell you to scram? 20:08:21 are you at work where you can forward them to the legal department :P 20:09:24 <\oren\> screw it the email is 20:09:43 <\oren\> gzarnegar@google.com 20:09:56 sounds legitimate 20:09:57 ...did you double check the authenticity of the sender? 20:10:01 Check the email headers 20:10:08 Received-From, etc. 20:10:34 Why are you expecting the email to be illegitimate? 20:11:05 shachaf: Not expecting, but it's a possibility that should be kept in mind 20:11:33 <\oren\> it looks legit. seems sleazy for them to be nagging a competirors employees 20:11:44 Why is that sleazy? 20:11:50 Sleazy would be the opposite. 20:11:59 In fact they got sued for it. 20:12:20 Anyway, that's a legitimate @google.com email address, it's easy to look it up. 20:12:55 So you can just send email to it. 20:13:56 <\oren\> i just dumped her over the phone 20:14:12 ...That phrasing has fun implications. 20:14:38 good idea, I don't like phones either? 20:14:55 https://www.linkedin.com/in/gabbyzarnegar appears to be the person in question 20:15:03 <\oren\> yup 20:15:16 You work at SoundHound, don't you? 20:15:20 <\oren\> yup 20:15:20 Is that even a competitor? 20:15:54 <\oren\> yes. i work on our voice assisyant, Hound 20:16:09 And Google does have a sound search feature as well. 20:16:15 Though I'd guess most people don't even know it exists. 20:16:26 Google's search feature is pretty sound. 20:16:30 <\oren\> and the Houndify platform 20:16:47 A (sound search) feature, not a sound (search feature). 20:17:00 So it searches soundly? 20:17:22 Or are you talking about Google Maps? 20:17:29 I guess it can search bays too. 20:17:36 ... 20:18:04 oh man 20:18:09 "I have experience using both the Waterfall methodology and Agile/XP methodologies" 20:18:16 so many methodologies 20:18:32 <\oren\> unfortunayely yes 20:18:57 did someone post oren's job history into a side-channel or something? 20:19:07 Is there anyone who says that they "use Waterfall"? 20:19:12 I thought it was mostly a straw man. 20:19:23 <\oren\> nah hes probably reading my linkedin 20:19:37 -!- hppavilion[1] has joined. 20:19:55 straw men should easily keep afloat ... 20:20:09 Now I'm reading https://www.quora.com/How-can-the-sequence-3-7-15-31-63-etc-be-continued/answer/Oren-Watson 20:20:21 But I think you got that one wrong. 20:20:37 http://slbkbs.org/math-diff-2-4.txt explains the correct method. 20:20:46 127. 126. 42. 20:22:27 Puget Sound is the only sound I know of. 20:24:19 > let ex [x] = repeat x; ex xs = scanl (+) (head xs) (ex (zipWith (-) (tail xs) xs)) in ex [0,1,3,7,15,31,63] 20:24:21 [0,1,3,7,15,31,63,126,246,465,847,1485,2509,4095,6475,9948,14892,21777,31179... 20:24:23 fizzie: That's a sound sound, though. 20:25:26 int-e: I think I'd continue it as 3, 7, 15, 31, 17, 17, 17, 17, 17, 17, ... 20:25:32 ("ex" stands for "extrapolate", of course) 20:26:25 shachaf: hmm, 17 would come after 42 for me, in the list of most plausible answers 20:26:45 int-e: Well, did you read the link I posted? 20:28:06 shachaf: not in full detail. but according to that link you should continue with 19 :-P 20:29:35 Are there any shell-based twitter clients? 20:29:52 . o O ( curl ) 20:30:40 I'd also bet that the answer is yes. 20:30:48 I just don't know any. 20:31:17 and I'm too lazy to construct a lmgtfy link. 20:32:14 `? int-e 20:32:39 -!- Nithogg_ has quit (Ping timeout: 246 seconds). 20:32:39 int-e är inte svensk. Hen kommer att spränga solen. Hen står för sig själv. 20:32:45 ... it should probably say something about being obnoxious there. 20:34:08 int-e attempts to use certain spräk deriviations to confuse gamemanj. 20:34:18 int-e succeeds in this. 20:34:19 -!- Nithogg_ has joined. 20:34:27 `culprits int-e 20:34:36 `culprits wisdom/int-e 20:34:40 No output. 20:34:49 oerjan boily boily oerjan oerjan 20:34:53 (though the former question is also valid... but hackego isn't the authority on that matter) 20:35:27 so, if you're too lazy to construct a lmgtfy link... 20:35:43 does that mean you need a lmlmgtfyfy link? 20:35:52 gamemanj: basically "inte" is a swedish word, meaning "not"... so that gave rise to the first sentence, and I pretty much gave you all information that is required to guess its meaning... 20:36:20 gamemanj: perhaps 20:36:23 int-e, are you... swedish 20:36:41 Phantom_Hoover: ... 20:36:56 (for future reference, I do not know Swedish, but I know Swedish text when I see it, and I also know that spräk means language.) 20:37:00 well, no. 20:37:05 int-e, don't play games with me this is serious! 20:37:07 ok goo 20:37:08 *d 20:37:23 why would that be a bad thing? 20:37:25 I don't know the language either. 20:37:44 int-e: You're too lazy to make a lmgtfy link? 20:37:56 hppavilion[1]: I already commented on that. 20:38:13 hppavilion[1]: The solution is a lmlmgtfyfy link. 20:38:31 it's funny because it's meta 20:38:42 or, meta-meta, really. 20:38:43 <\oren\> or a mklmgtfy command 20:39:23 @google twitter command line client linux 20:39:24 http://www.tecmint.com/rainbow-stream-command-line-twitter-client-linux/ 20:39:24 Title: Rainbow Stream - An Advanced Command-line Twitter Client for Linux 20:39:56 @lmgtfy help 20:39:56 Unknown command, try @list 20:40:06 clearly there's room for improvement there 20:40:15 <\oren\> i always[assumed int-e was a variable declaration 20:40:27 \oren\: I tried to use SoundHound but it didn't work. 20:40:31 Ever. 20:40:47 You're supposed to be able to hum into it to find a name for a melody, right? 20:41:26 <\oren\> yes. although it only works if youre good at humming i find 20:41:42 now I want to try soundhound 20:41:48 with really obscure songs 20:42:39 OK 20:42:45 "[translation] both our infinite dreams and our sketched out future..." 20:42:54 `lmg shell-based twitter client 20:42:55 http://lmgtfy.com/?q=shell-based+twitter+client 20:43:03 Probably not perfect, but it works at least a little 20:43:14 <\oren\> liquid mineral gas? 20:43:29 (It won't substitute special characters with %-codes, but it will at least deal with spaces) 20:43:31 \oren\: Yeah, sure 20:43:44 ludicrous mind games 20:43:51 int-e: You're welcome 20:44:03 thanks 20:44:06 ...soundhound wants access to: Location, Files, Microphone, Wi-Fi connection information, Device ID and call information... 20:44:14 there are 4 of those which should not be in that list 20:44:22 Location, Files, Device ID and call information 20:44:33 i use bitlbee. does this qualify as a shell-based twitter client? 20:44:42 probs not 20:44:51 gamemanj: I've always hated apps that request permissions they should not want. I never give them permission to, in most cases 20:45:16 <\oren\> hmmm not sure why it wants those 20:45:19 Location it just shouldn't have, end of. Files it could possibly have a reason to access if you told it to. 20:45:26 Microphone it obviously needs. 20:45:40 Wi-Fi connection information is fine because you don't want it to eat data costs. 20:45:46 For example, no game should want any permissions. /Maybe/ pictures if it has a built-in screencap capability 20:45:52 <\oren\> location is so it can tell you what oeople near you are listenibg to 20:45:53 Doesn't lmgtfy.com have a "slightly less rude" mode? 20:45:56 actually location seems to be the most useful of the four... popular songs vary wildly by country 20:46:02 shachaf: Does it? 20:46:10 Wrong - moddable games need some way to give them the Lua files. But it shouldn't have anything else. 20:46:16 OMG 20:46:19 There's LMBTFY 20:46:33 For horrible people 20:46:35 int-e: That's even worse, since it means it won't find my really obscure song of choice. 20:46:48 device id makes no sense at all to me (except for tracking, obviously), and neither do contacts (but I bet there's a "share this find with..." feature) 20:46:58 gamemanj: the other 99% of users won't care! 20:47:04 ... 20:47:07 hmph 20:47:16 <\oren\> there is sociak media integration yeah 20:47:24 i dont mind games wanting internetty permissions, for scoreboards and the like 20:47:29 files... no clue why it wants that 20:47:47 shachaf: Can't find anything labeled "less rude" or the like 20:47:53 Just about everything seems to want the USB storage permission. 20:47:56 Oh, you add &n=1 to the URL. 20:47:56 <\oren\> it can save songs tpfrom itunes etc 20:47:56 It's v. annoying. 20:48:01 It's slightly less rude that way. 20:48:10 big data idea: get a taste for music preferences :P 20:48:16 There is a theoretical reason that it would want files, so that you can give it music 20:48:29 without having to play it back into the phone 20:48:45 Really it's location and device ID that it has no reason for 20:48:53 <\oren\> and you can use it as a music plqyer app 20:48:56 If I get more calls 20:49:01 because of this app 20:49:13 At least in M and later you can just turn off those permissions you don't want to give. 20:49:46 Android? 20:49:53 SoundHound seems to work (or at least run) with location, storage and telephone ("phone status and identity") disabled. 20:50:04 Mascarpone isn't even a dessert. 20:51:36 int-e: Well, according to that link, I should use my favourite number + 1. 20:51:38 what's wrong is that there's essentially no penalty for apps that ask for excessive permissions. 20:51:42 <\oren\> i only work on Hound though not soundhound, and only the backend 20:51:44 * gamemanj hums "SoundHound Did Not Hear Any Music" 20:51:44 So as to avoid revealing any character defects. 20:51:47 ... 20:52:29 Oh, the most annoying SoundHound feature I know of: it pops up notifications about songs apparently at random. 20:52:31 ... 20:52:32 Wow 20:52:35 It actually found it 20:52:37 so whenever a feature is added that might, in some obscure case, use a certain feature... 20:52:41 Well done, SoundHound 20:52:46 -!- AnotherTest has joined. 20:53:58 so... why doesn't it have accelerometer access... surely that must be useful to compensate for the doppler effect when you drop the phone while humming a song... 20:53:58 But can you set permissions in smaller pieces than that (such as to specify which directories it can see and which one it sees as root of the storage, and which internet services it can access and what proxies to use, and to fake device ID and so on)? 20:54:28 zzo38: At some point it would become "too difficult for users to use" 20:54:44 Put it into the "Advanced" menu then. 20:54:44 (but perhaps you don't have to ask permission for those?) 20:55:02 <\oren\> to difficult for[users to bother doing 20:55:04 Also recalibration of accelerometer per program 20:55:22 shachaf: What if your favorite number is -1? 20:55:55 > [2^n | n <- [0..]] :: [Int8] 20:55:57 [1,2,4,8,16,32,64,-128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0... 20:56:15 fungot: What's your favorite number 20:56:15 hppavilion[1]: look at the chicago kent symposium which deals with narrow scope of the " round body mustang" and the beatles' " all you need is love" are both in use. fnord ( user fnord) 20:56:16 ? 20:56:22 What if my favourite number is -1? 20:56:31 I've asked zzo38 what my favourite number is but he won't tell me. 20:56:46 shachaf: Wait, you use your favorite number + 1 where? According to what link? 20:57:00 The http link I posted above. 20:57:28 It was after you joined. 20:57:42 int-e: You don't need special permissions for the accelerometer. You do need the BODY_SENSORS permission "to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate." 20:59:42 Of course in certain situations the accelerometer... 20:59:47 Ah, I see 21:00:01 I thought it was on &n=1 21:02:32 -!- AnotherTest has quit (Ping timeout: 272 seconds). 21:06:13 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 21:17:24 fizzie: eh, there are all sorts of permissions which could be evil in "certain situations" 21:19:10 That is why to add the ability to configure proxies and so on 21:20:05 If the phone's accelerometer detects a certain special sequence of movements, then it should log this information for future use. 21:20:24 "Android keylogger app – powered by accelerometer/gyroscope movements – revealed" 21:20:38 2011.. has it been that long 21:21:32 nice, I was thinking about building one of those, glad it's already done so I don't have to 21:25:35 -!- nycs has quit (Read error: Connection reset by peer). 21:27:43 -!- hppavilion[1] has joined. 21:28:16 Hm... 21:28:34 The inverse (or something) of the pigeonhole principle is something I haven't heard talked about 21:28:54 If you have n pigeons in n+1 holes, then there is at least one empty hole 21:28:58 <\oren\> can i use kinect to set a password consisting of poses? 21:29:18 <\oren\> a para para password 21:29:29 \oren\: If you're willing to root the system, then yes. 21:29:33 \oren\: Otherwise, maybe 21:31:00 Honestly, I wonder why there isn't legislation requiring legitimate owners of a computer system to be able to legally and easily (like, easy-to-find-guide-on-the-website easy) root the system. 21:31:41 Like, I don't see how it can be legal to prevent the legitimate owner of a system from doing whatever the hell they want with that system, as long as they aren't violating other laws in the process 21:34:01 hollywood is too strong for that to happen in the US 21:34:21 how will you protect movies on hardware that's actually run by its owners? 21:34:43 oversimplifying, of course, but DRM is a driving factor behind all this 21:35:16 I was designing the computer machine and had the idea to use a combination of copyright and trademark laws to ensure that anyone who has such a computer (regardless of if it is a clone from another manufacturer or whatever) can legally and easily root the system (although you are unliekly to need to root it to do nearly all things, and to alter ROMs and so on requires a standard screwdriver) 21:35:38 and vendors aren't too unhappy about the resulting customer lockin either 21:43:29 It's kinda bizarre how much clout Hollywood has relative to their actual wealth. 21:46:35 hppavilion[1], the phrasing of that makes it sound like a tautology 21:46:42 I love today's xkcd 21:46:58 Phantom_Hoover: Yes, I know 21:47:41 -!- gamemanj has quit (Ping timeout: 240 seconds). 21:51:51 -!- `^_^v has joined. 21:59:09 -!- jaboja has joined. 22:14:03 -!- idris-bot has quit (Ping timeout: 276 seconds). 22:22:44 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:41:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds). 22:48:19 -!- idris-bot has joined. 22:49:04 -!- boily has joined. 23:03:12 -!- PinealGlandOptic has joined. 23:07:31 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:07:47 Is there a low-level git command that prints the .git directory for the current repository, and one that prints the directory associated with the current worktree? 23:08:13 And I guess one that prints the root directory of the checkout also helps. 23:08:42 Also, is there a website where I can see the full manual pages of git online, always for a recent version of git (more fresh than what I have installed)? I'm trying to look at https://git-scm.com/docs/git but that seems to be missing some generated part of the git(1) manpage where it lists commands. 23:09:53 -!- Phantom_Hoover has joined. 23:11:12 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:11:33 -!- Phantom_Hoover has joined. 23:14:12 -!- hppavilion[1] has joined. 23:15:10 -!- Sgeo has joined. 23:29:24 -!- Nithogg_ has quit (Ping timeout: 246 seconds). 23:31:53 -!- Elronnd has changed nick to Elronnd\StD. 23:34:04 -!- Nithogg_ has joined. 23:40:26 b_jonas: git rev-parse --show-toplevel 23:41:30 b_jonas: I meant: git rev-parse --git-dir 23:41:38 For the .git directory. 23:44:17 A bit curiously there seems to be no corresponding rev-parse option to show the GIT_WORK_TREE. 23:45:40 Maybe that's what the "top-level directory" means in this context. 23:56:35 `wisdom 23:56:56 lystrosaur//The lystrosaurs were an ancient genus of evil reptiles who successfully took over the world in the early Triassic.