--- Log opened Sat Jan 30 00:00:38 2016 |
00:05 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:05 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:31 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [[NS] Quit: Reboot] |
00:33 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code |
00:34 | | mode/#code [+o gnolam] by ChanServ |
00:46 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [[NS] Quit: Reboot] |
00:47 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code |
00:47 | | mode/#code [+o gnolam] by ChanServ |
01:16 | | * Vornicus examines catalyst's erasure thingy |
01:16 | | * Vornicus gets it. |
01:29 | <~Vornicus> | So, checking here: I know that, typically, having a templated something means that for each T you pass in at some point or other, you get a different compilation of the templated something. I see that the Nested object, the one that does the void * stuff, has a templated friend in it. I take it that this is *not* enough to require a new compilation of Nested? |
01:30 | <&McMartin> | friend indeed results in no code; it's a directive to the compiler that says "Classes with this name ignore my encapsulation directives" |
01:30 | <&McMartin> | Or else the other way around, I always have to look it up |
01:33 | <&ToxicFrog> | it's the former. |
01:33 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
01:33 | <&ToxicFrog> | "friend class foo" means "foo can access my privates" |
01:33 | <&ToxicFrog> | Which to me implies a bit more than "friend", but hey, I don't know what the standardization committee gets up to in their spare time. |
01:34 | <&McMartin> | A joke so old it has hair on it |
01:56 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
01:57 | | catadroid [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
02:33 | < [R]> | <Sthebig> "* * * * * - five star cron job, will run again" -internets |
02:46 | <&McMartin> | -_- |
02:50 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
03:25 | <@Alek> | McM: A joke so old it's lost its hair already. |
04:22 | < [R]> | Joker |
04:26 | | mac is now known as macdjord|slep |
05:17 | | ion_ [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
05:18 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
06:09 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
06:13 | | ion_ [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
06:15 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
10:05 | | Kindamoody[zZz] is now known as Kindamoody |
10:59 | | Kindamoody is now known as Kindamoody|afk |
11:19 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
11:35 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
11:49 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
12:03 | | catadroid [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Bye] |
14:49 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
14:49 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:21 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
15:28 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
15:29 | | mode/#code [+o Crossfire] by ChanServ |
17:18 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
18:02 | < abudhabi> | What does "553 envelope sender <email@here.com> rejected" mean? |
18:04 | < abudhabi> | I'll be damned if this error message gives any hints as to what is wrong. |
18:09 | < [R]> | 553 |
18:09 | < [R]> | |
18:09 | < [R]> | "Requested action not taken â Mailbox name invalid". That is, there's an incorrect email address into the recipients line. |
18:09 | < [R]> | |
18:09 | < [R]> | Check all the addresses in the TO, CC and BCC field. There should be an error or a misspelling somewhere. |
18:17 | < abudhabi> | Why doesn't it just say that? |
18:21 | < [R]> | A 553 email error is normally related to SMTP authentication not being used. Most mail servers require that you authenticate with a valid user on that system, before you're allowed to relay a remote message out. However some mail administrators will also using the 553 error if a user doesn't exist or for various other reasons as well. |
18:21 | < [R]> | You should receive a bounce-back message from the server with a variation of email error 553 in the subject, and the body should contain your original message that you attempted to deliver. |
18:22 | < [R]> | I don't know if you missed the last few discussions about SMTP being a giant shit-pile. |
18:30 | < catalyst> | Systematically Malfunctioning Transfer Protocol |
18:30 | < catalyst> | Semi-Malicious Transfer Protocol |
19:57 | | Turaiel[Offline] is now known as Turaiel |
20:24 | | Kylo-Ren [cmnd@Nightstar-nelvj0.dyn.optonline.net] has joined #code |
20:24 | | Kindamoody|afk is now known as Kindamoody |
20:33 | | Kylo-Ren is now known as Kylo_Ren |
20:33 | | * TheWatcher readsup |
20:33 | <@TheWatcher> | Should I relink the Email hates The Living talk?~ |
20:34 | | Kylo_Ren is now known as Kylo-Ren |
20:35 | | ErikMesoy [Erik@Nightstar-hq72t5.customer.cdi.no] has joined #code |
20:35 | | mode/#code [+o ErikMesoy] by ChanServ |
20:38 | <&McMartin> | It's quite possible some people missed it the first time |
20:38 | <&McMartin> | And it *is* excellent |
20:47 | <@TheWatcher> | https://www.youtube.com/watch?v=JENdgiAPD6c then! |
20:57 | <@celticminstrel> | Fiddling with Inform lately, seems a bit buggy. |
20:58 | <@celticminstrel> | The documentation is pretty good but not as well-organized as I'd like, and insufficiently detailed in specifications. |
21:00 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed] |
21:04 | <&McMartin> | Which Inform? |
21:04 | <@celticminstrel> | 7 |
21:05 | <@celticminstrel> | The latest, which no longer supports 32-bit Macs. |
21:05 | <@celticminstrel> | (Not that that's a problem or anything, of course.) |
21:05 | <&McMartin> | I think that was actually an App Store requirement~ |
21:05 | <@celticminstrel> | I dunno. I didn't get it from the app store. |
21:05 | <&McMartin> | But yes, I7 was not "take formal specification, implement" |
21:06 | <@celticminstrel> | I was actually using an old, pre-2014 version a few days ago, then upgraded when running into a bug or something. |
21:06 | <&McMartin> | For that matter, neither was I6, whose syntax, despite looking very C-like, is known to be tremendously difficult to actually parse. |
21:06 | <&McMartin> | Right |
21:06 | <@celticminstrel> | But now that's traded for different bugs! |
21:06 | <&McMartin> | Note also that the language is still considered "in beta" despite being around for many years now; major relases regularly deprecate or replace entire sections of the language |
21:07 | <&McMartin> | That also said |
21:07 | <&McMartin> | I am Pretty Solid At I7 |
21:07 | <&McMartin> | So I can probably help out with weird bits |
21:07 | <@celticminstrel> | I'll keep that in mind. |
21:07 | <&McMartin> | Also, if you end up using my extensions, grab them off my website, not the main Inform one. |
21:08 | <&McMartin> | Though I should probably update those for the latest version anyway |
21:08 | <@celticminstrel> | I didn't see any of yours in the extensions library within the program. |
21:08 | <@celticminstrel> | Assuming it's under a recognizable name. |
21:08 | <@celticminstrel> | Author name, not extension name. |
21:08 | <&McMartin> | It is, and it's on the site, not shipped with it |
21:08 | <&McMartin> | I did some menu-based conversation systems that have seen some use |
21:08 | <@celticminstrel> | Right, but the latest version of the app has a built-in downloader or something. |
21:08 | <&McMartin> | Right, but you have to go download it |
21:09 | <@celticminstrel> | Most of the conversation extensions seem to be by some Eric Eve person. |
21:09 | <@celticminstrel> | The ones available from in-app, at leas.t |
21:09 | <&McMartin> | Yes, that's a port from TADS 3 |
21:10 | <&McMartin> | http://inform7.com/extensions/npc/#Saying_Complicated_Things |
21:10 | <&McMartin> | Except these are the ones to not use~ |
21:10 | <@celticminstrel> | None of those are listed in-app... |
21:10 | <&McMartin> | https://hkn.eecs.berkeley.edu/~mcmartin/if/ are the ones to use. |
21:11 | <&McMartin> | If you need them, which you probably don't, but: the ones on the official site are out of date and won't compile |
21:12 | <@celticminstrel> | I wish "Adaptive Hints" had a more detailed description (either yours or the other one). I can't tell whether it's good otherwise. |
21:14 | <&McMartin> | That's a tricky question~ |
21:14 | <&McMartin> | I mean, for what it *does* - it's what Flight of the Hummingbird Uses for its hints |
21:14 | <@celticminstrel> | The Eric Eve version apparently uses menus. |
21:14 | <@celticminstrel> | Ah. |
21:14 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
21:14 | <@celticminstrel> | Then I could just download and try that, I guess. |
21:14 | <&McMartin> | But it embodies a specific strategy of how hints should work |
21:15 | <&McMartin> | This is not necessarily universally embraced~ |
21:15 | <@celticminstrel> | I liked one of the examples involving hints, where you ask for a hint about a specific object and it tries to point you in the right direction. |
21:15 | <&McMartin> | Right |
21:15 | <&McMartin> | Adaptive Hints is "you say HINT and get a list of menus outlining problems the character knows they have" |
21:16 | <&McMartin> | And they appear or vanish as needed |
21:16 | <@celticminstrel> | ...though the example breaks down when there's multiple solutions. |
21:16 | <@celticminstrel> | Which is a problem. |
21:16 | <&McMartin> | The menus themselves are deliberately mimicking the online hints for the Amiga-era Infocom games. |
21:16 | <&McMartin> | Which is to say, you have a topic and you get a list of progressively revealed, ever more explicit hints |
21:17 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
21:17 | <@celticminstrel> | That sounds similar to the example system actually... though probably not the same. |
21:17 | <&McMartin> | The example system doesn't make them appear or disappear as needed, IIRC. |
21:17 | <@celticminstrel> | My Inform build number is 6M62 by the way, if that means anything. |
21:17 | <&McMartin> | But otherwise, the default behavior is Infocom Gold Editions of stuff, yeah |
21:18 | <&McMartin> | It means it's the latest version that I haven't thoroughly tested stuff with, but which was a maintenance release so I expect stuff that worked in 6L02 will work there. |
21:19 | <@celticminstrel> | I'm currently failing to get someone to respond to "X, something about a password". :/ |
21:19 | <&McMartin> | That's the "Answering it that" action, which is probably not the greatest thing to try to get working in your hello world. |
21:19 | <&McMartin> | Especially if "something about a password" is supposed to be arbitrary text |
21:19 | <&McMartin> | Because that means pre-empting the parser and doing stuff by hand |
21:20 | <@celticminstrel> | I was just going to check if it contains the word "password". |
21:20 | <&McMartin> | This can indeed be done, but it's, say, tier 2 work? |
21:20 | <&McMartin> | Yes, that's still bypassing the parser |
21:20 | <&McMartin> | That *also* said, there's a keyword scanner in the Reactable Quips extension, you can probably loot it~ |
21:20 | <&McMartin> | But I stole *it* from one of the Writing With Inform examples... |
21:20 | <@celticminstrel> | But the "answering it that" action already takes arbitrary text as its second parameter... |
21:21 | <@celticminstrel> | For example, "anwser [text] to [someone]". |
21:21 | <@celticminstrel> | Mispelled that but whatever. |
21:22 | <@celticminstrel> | Also there the parameters are reversed. |
21:22 | <&McMartin> | Right |
21:22 | <&McMartin> | You want to look at the "Complimentary Peanuts" example, for base code here |
21:22 | <&McMartin> | But this also assumes you know how to make tables be laid out, etc |
21:23 | <&McMartin> | http://inform7.com/learn/man/WI_18_33.html |
21:23 | <@celticminstrel> | And "[someone], [text]" is supposed to also generate that when [text] isn't a valid command, and I can see (with ACTIONS) that that's indeed what's happening. |
21:23 | <@celticminstrel> | I already used tables for a book that you can look things up in, so that's fine. |
21:23 | <&McMartin> | So I think you want something like >> if the topic understood includes "password" |
21:24 | <@celticminstrel> | ... |
21:24 | <&McMartin> | As part of an "Instead of answering guard that something:" rule |
21:24 | <@celticminstrel> | What I was using is "matches the text", which incidentally is completely different from "matches", but yeah, maybe "includes" will work. |
21:25 | <@celticminstrel> | I actually already bypassed the parser once to make it possible for the player to rename certain things. |
21:25 | <&McMartin> | Includes is straight substring detection |
21:25 | <@celticminstrel> | Though the new name is only for addressing, not for printing. I couldn't find a way to get both. |
21:25 | <&McMartin> | "change the printed name of the object to |
21:25 | <@celticminstrel> | "matches the text" is also substring detection, I'm pretty sure. |
21:25 | <&McMartin> | "[foo]" |
21:25 | <&McMartin> | Ah yes |
21:26 | <&McMartin> | One of the recent major changes started blurring the difference between mutable and immutable strings |
21:26 | <@celticminstrel> | Except that it's intended to work on text rather than snippets, which might make a difference. |
21:26 | <&McMartin> | Which used to be iron-divided |
21:26 | <&McMartin> | And snippets *are* different, still, I think; I think a snippet is a lexed player input or something? |
21:26 | <&McMartin> | It's been quite a while since I've dealt with it |
21:26 | <@celticminstrel> | Yeah, I had no problem changing the printed name of the object. The problem was that my implementation involved substituting the new name with the old name in the command, and I couldn't find a way to retrieve the old name of the object. |
21:26 | <&McMartin> | Oh |
21:26 | <&McMartin> | Um, there's an example for this too, I think |
21:27 | <@celticminstrel> | Yes, "includes" indeed worked, yay! |
21:27 | <&McMartin> | Because what you describe is the famous Featureless White Cube and Magic Burin sequence in Spellbreaker |
21:27 | <&McMartin> | Which is The Thing To Beat if you're making a custom parser~ |
21:27 | <@celticminstrel> | Spellbreaker? |
21:29 | <&McMartin> | Spellbreaker was the third of the Enchanter games, or the sixth Zork, depending on how you count |
21:29 | <&McMartin> | Anyway, naming stuff and making it appear: http://inform7.com/learn/man/RB_8_3.html#e140 |
21:30 | <@celticminstrel> | Ooh. |
21:30 | <&McMartin> | A lot of these mechanisms are basically named templates for not having to use I6's parse_name property |
21:30 | <&McMartin> | But "Understand the ______ property as describing ______" covers like 98% of those cases, as it happens~ |
21:31 | <@celticminstrel> | That surprisingly looks much simpler than my version. |
21:31 | <&McMartin> | (Since it also takes enumerated types as well as text, and enums are usually what you want) |
21:31 | <&McMartin> | (The standard use case here is to have a lit/burned-out adjective, and then let LIT TORCH and BURNED-OUT TORCH be understandable exactly when lit or burned-out) |
21:31 | <@celticminstrel> | I don't understand how this works though... |
21:31 | <&McMartin> | (And that's even easier than the fido case) |
21:32 | <&McMartin> | I actually recommend reading/skimming Writing With Inform sequentially, front-to-back |
21:32 | <@celticminstrel> | Ohhh, the Understand line takes care of it all. o.o |
21:32 | <&McMartin> | Right |
21:32 | <@celticminstrel> | I read the first three chapters sequentially but then got into dabbling. |
21:32 | <&McMartin> | Yeah |
21:32 | <@celticminstrel> | I missed that form of Understand somehow. |
21:33 | <@celticminstrel> | I see one potential problem though... couldn't you examine the dog with "X NOTHING" there? |
21:33 | <&McMartin> | You could |
21:33 | | Kylo-Ren [cmnd@Nightstar-nelvj0.dyn.optonline.net] has left #code [] |
21:33 | <&McMartin> | You can dodge that by making it "nothing,", which the lexer will never return as a word, I think~ |
21:33 | <@celticminstrel> | Would it cause problems if the nickname were an empty string, I wonder... |
21:35 | | * McMartin nosd |
21:35 | <&McMartin> | That said |
21:36 | <&McMartin> | I'd want to read at least through chapter 8 completely; the action processing rules have surprising corners once you start wanting to implement *systems* as opposed to call-and-response. |
21:36 | <@celticminstrel> | I think the carrying capacity just broke my code. |
21:36 | <@celticminstrel> | I guess the action failed, so the After rule didn't happen. |
21:36 | <&McMartin> | Correct. |
21:37 | <&McMartin> | Begin->Instead->Check->Carry Out->After->Report, with anything that returns "stop" aborting. |
21:37 | <&McMartin> | Instead and After return "stop" by default, everything else returns "continue" by default. |
21:37 | <@celticminstrel> | I thought it was too late to stop from Carry Out onwards. |
21:37 | <&McMartin> | Stops processing |
21:38 | <&McMartin> | After returns "stop" by default because you don't want to have something like |
21:38 | <&McMartin> | "You raise the glittering diamond on high, dancing a little jig. Taken." |
21:38 | <&McMartin> | So After stops by default to prevent the Report rule ("say 'taken.'") from running. |
21:39 | < catalyst> | I think that tomorrow I shall write a little irc bot. |
21:39 | <&McMartin> | Whether incredibly dramatic actions should happen in Instead rules, After rules, or outside of the action mechanism entirely is one of those schools-of-design things. |
21:39 | <@celticminstrel> | In this case all I wanted was someone to respond to the action. |
21:39 | <&McMartin> | (I'm a fan of "big whiz-bang solution things should be managed via the scene-change machinery" school, because it means the solutions to your puzzles don't exist in the code) |
21:40 | <&McMartin> | Ah, yes. |
21:40 | <@celticminstrel> | Isn't it impossible for the solutions not to exist in the code? Or do you mean post-compilation code or something? |
21:40 | <&McMartin> | So, the system says "you tried to take something, but decided not to because you're carrying too much already." |
21:40 | <&McMartin> | "So he didn't react to it because you didn't *do* it." |
21:40 | <@celticminstrel> | Oh, wait. Since this action ends the scene even if it fails, I can link the response to the end of the scene instead. |
21:41 | <&McMartin> | celticminstrel: You can state the final position and check to see if it's been met |
21:41 | <&jerith> | catalyst: In C++? |
21:41 | <@celticminstrel> | Huh? |
21:41 | <&McMartin> | You don't need to put anything in there about *how you get there* |
21:41 | <&McMartin> | re: solution not existing in code |
21:41 | <@celticminstrel> | Oh. |
21:41 | < catalyst> | jerith: I was considering Rust, but I don't think I grok how lifetimes work well enough with threads yet |
21:42 | <&McMartin> | (Flight of the Hummingbird is mostly about navigation puzzles, so its puzzle solutions are of the form "the location is X and flags A B C are true") |
21:42 | < catalyst> | although... I don't need to use that technology, to be fair |
21:42 | <&McMartin> | (Scenes work real well for those) |
21:42 | <&jerith> | The thing I've heard about rust recently is that it's starting to move to from alpha to beta but isn't really ready for prime time yet. |
21:42 | <&McMartin> | (They also, if you make them non-recurring scenes, ensure that you don't end up with a game that awards an infinite number of points for repeatedly locking and unlocking the same door) |
21:43 | <@celticminstrel> | Heh. |
21:43 | <@celticminstrel> | I'm not using points though. At least not at the moment. |
21:43 | <&jerith> | So this is probably a good time for you to play with it. :-) |
21:43 | <&McMartin> | (Which is one of The Classic Rookie Mistakes. I7 is designed to make the Classic Rookie Mistakes less... classic.) |
21:43 | | * McMartin heads out for errands. |
21:43 | < catalyst> | I really like a lot of the idioms in Rust |
21:44 | < catalyst> | Also, I think I learned what I needed to know about the IO monad in Haskell ten yearsa go tonight |
21:44 | < catalyst> | ten years ago* |
21:44 | <&jerith> | I've heard mostly good things about it, although it doesn't really operate at a level I'm entirely comfortable with. |
21:44 | < catalyst> | which is "It forces the compiler to call functions" |
21:45 | <&jerith> | It basically enforces sequencing and output. |
21:45 | < catalyst> | I wish someone would phrase it like that, instead of trying to build up monads from first principles |
21:45 | < catalyst> | which is completely pointless as a first step because you're beginning from the abstraction, not working towards it from the concrete |
21:45 | | * catalyst grumbles about fucking burrito space suits |
21:45 | <&jerith> | Yeah. |
21:46 | <&jerith> | I have a friend who explains that sort of thing really well. |
21:46 | < catalyst> | Essentially, 'The IO monad is an imaginary parameter that you can wrap your calls in so that the compiler won't cache their results' |
21:46 | < catalyst> | that's all you need |
21:46 | < catalyst> | then you can explain what that *is* later |
21:47 | < catalyst> | I guess there's some stuff about sequencing required too. |
21:47 | <&jerith> | It's a little more subtle than that. |
21:47 | <&jerith> | But I've forgotten the details. |
21:47 | < catalyst> | There's the do syntax and bind as well |
21:47 | <&jerith> | If and when pjdelport shows up in here, ask him. :-) |
21:48 | < catalyst> | But, essentially, everyone explains it entirely wrong and it bugs me because some people revel in doing so |
21:48 | < catalyst> | Which does not imply a community I care about being a part of |
21:48 | < catalyst> | ..why am I so annoyed |
21:51 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
22:02 | | Kindamoody is now known as Kindamoody[zZz] |
22:37 | <&McMartin> | I found I needed to gearswitch in and out of the IO monad mode not because of cached results, but because of lazy evaluation |
22:41 | < abudhabi> | Just had the weirdest display glitch. |
22:42 | | Alek [Alek@Nightstar-n7s.4qg.15.24.IP] has quit [[NS] Quit: bbl] |
22:42 | < abudhabi> | Suddenly, both monitors zoomed in into total pixelation, I could see maybe 320x200, and only around the cursor. |
22:42 | < abudhabi> | Had to point where I wanted to see. |
22:43 | < abudhabi> | Resetting the display fixed it. |
22:43 | < abudhabi> | But it was weird. |
22:43 | <@gnolam> | Maybe you hit the "magnifier" accessibility shortcut by accident. |
22:45 | < abudhabi> | Not impossible. How does one do that? |
22:48 | | Turaiel is now known as Turaiel[Offline] |
23:01 | | catadroid [catalyst@Nightstar-d8v02k.dab.02.net] has joined #code |
23:11 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
23:11 | | mode/#code [+o Crossfire] by ChanServ |
23:35 | | * McMartin switches gears from writing about assembler to writing about assemblers. |
23:54 | | Kylo-Ren [cmnd@Nightstar-nelvj0.dyn.optonline.net] has joined #code |
23:59 | | Kylo-Ren [cmnd@Nightstar-nelvj0.dyn.optonline.net] has left #code [] |
--- Log closed Sun Jan 31 00:00:54 2016 |