code logs -> 2016 -> Sat, 30 Jan 2016< code.20160129.log - code.20160131.log >
--- 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
code logs -> 2016 -> Sat, 30 Jan 2016< code.20160129.log - code.20160131.log >

[ Latest log file ]