IRC logs for #openttd on OFTC at 2020-11-16
⏴ go to previous day
01:14:21 *** tokai|noir has joined #openttd
01:14:21 *** ChanServ sets mode: +v tokai|noir
04:06:58 *** Gustavo6046 has joined #openttd
05:41:19 <DorpsGek_III> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #8341: Doc: Fix links to new OpenTTD wiki https://git.io/Jknnm
06:35:05 *** sla_ro|master has joined #openttd
07:26:12 *** FLHerne has joined #openttd
08:27:59 *** longtomjr has joined #openttd
08:44:21 *** andythenorth has joined #openttd
08:59:20 <andythenorth> I can use procedures to fake vars on lead engine of the consist
09:32:46 <andythenorth> but I'll have to branch through every engine ID
09:48:21 <andythenorth> hmm the number of engine IDs exceeds the maximum ranges for a varact2
09:48:33 <andythenorth> maybe I'll shard the varact2s
10:55:58 <DorpsGek_III> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8341: Doc: Fix links to new OpenTTD wiki https://git.io/JknA4
10:56:05 <TrueBrain> fun fact: you can force-push into other people's branches :P
10:57:17 <TrueBrain> to other people's master branch even
10:57:21 <TrueBrain> that is rather insane, honestly :)
10:57:39 <LordAro> if they give permission to contributors
10:57:45 <LordAro> which is ticked by default
10:58:19 <TrueBrain> but FORCE push.. odd :P
10:58:31 <TrueBrain> anyway, eints "attack" stopped yesterday at ~2200
10:58:37 <TrueBrain> so I guess they picked up the robots.txt :)
10:58:58 <TrueBrain> and the wiki is really visited a lot :)
11:00:44 <TrueBrain> LordAro: any idea when you will get to ansible+VPSes? Not trying to rush you, just for my planning :)
11:01:33 <LordAro> probably in the next day or 2
11:03:00 * andythenorth wonders when we last profiled impact of newgrf on OpenTTD performance
11:03:28 <TrueBrain> that ... is a long time ago :P
11:03:37 <TrueBrain> that dude really uses too much smileys, damn
11:06:46 <andythenorth> I'm curious because I'm adding more and more conditional code that might run on every graphics paint
11:06:53 <LordAro> mm, callgrind is very nice
11:07:09 <TrueBrain> just most people do not know how to read callgrind :P
11:07:15 <TrueBrain> and they start to optimize weird functions
11:07:23 <TrueBrain> andythenorth: I can assure you, that every added NewGRF is a performance hit :P
11:07:34 <andythenorth> hmm, how about a Horse grf, and a Horse grf with all the fancy callbacks nerfed?
11:08:00 <TrueBrain> and you might see the FPS differ? :D
11:08:04 <TrueBrain> easiest profile ever :D
11:09:36 <TrueBrain> (and if you cannot see a difference with 1k trains ... add 1k more :D)
11:10:15 <orudge> TrueBrain: everything OK with the new VPSes, etc? Will get something set up for mail hosting later - can then imapsync everything across and update DNS whenever you like. Should be an easy enough process.
11:10:56 <TrueBrain> orudge: LordAro is going to provision the VPSes, but they were up and running, so that seems perfectly fine :)
11:11:06 <orudge> Did you get IPv6 sorted out?
11:11:10 <orudge> or is LordAro working on that
11:11:13 <TrueBrain> it has to be added manually to the VPS
11:11:21 <TrueBrain> so that should be in ansible, I am guessing
11:11:35 <TrueBrain> they are assigned to the VPS at least :)
11:11:52 <TrueBrain> but it seems OVH doesn't do advertising for it .. which is a good choice, honestly :D
11:12:04 <TrueBrain> (as in, router advertisement)
11:12:17 <TrueBrain> regarding email, honestly, it is a bit of a mess what we currently have
11:12:34 <TrueBrain> the idea was to put everyone except info@ on a forward to what-ever they want
11:12:48 <TrueBrain> others I will have to check with them what they want
11:14:33 <TrueBrain> I wonder if I can send as truebrain@ if it is forwarded .. hmm ..
11:14:48 <TrueBrain> something to figure out :)
11:16:54 <andythenorth> if I could set arbitrary bits on a train, that would avoid a lot of conditionals
11:17:04 <andythenorth> but apparently we can't have arbitrary bits for performance reasons
11:17:30 <andythenorth> but we have arbitrary bits already
11:17:45 <andythenorth> but I guess a feature we can't use has no performance impact :D
11:17:49 * andythenorth understands software
11:27:53 <andythenorth> oh I see what I'm doing
11:28:09 *** ChanServ sets mode: +v tokai
11:28:15 <andythenorth> ok so historically we've relied on trying to store/read information on newgrf vehicles, per vehicle
11:28:35 <andythenorth> but because I have all the information in python
11:28:50 <andythenorth> I can just use procedures to write a huge lookup table into the grf
11:29:18 <andythenorth> including 'running' the callbacks of another vehicle
11:30:05 <TrueBrain> I see you are having fun :)
11:30:11 <andythenorth> software revelations :P
11:30:13 <TrueBrain> did you know, we once wrote a Squirrel alternative that was called NUTS?
11:30:18 <TrueBrain> it executed .bolt files
11:30:19 <andythenorth> sometimes I think I should learn software
11:30:40 <andythenorth> would be the improved faster version
11:30:58 <TrueBrain> writing compilers is fun :)
11:31:11 <andythenorth> write a new newgrf API and a compiler for it :P
11:31:52 <TrueBrain> you don't need a new API
11:31:58 <TrueBrain> just a compiler that understand the complexity of it
11:32:03 <LordAro> newgrf-squirrel has been suggested before, i think
11:32:25 <TrueBrain> that would most likely be too slow for many GRFs
11:32:55 <TrueBrain> or, well, that is not true: you could compile the Squirrel to GRFs, ofc
11:33:16 <TrueBrain> weird place to add "the" :D
11:34:20 <andythenorth> some of the API is kind of broken or weird
11:34:36 <andythenorth> but maybe we're doing it wrong
11:34:40 <TrueBrain> as with many APIs :)
11:34:48 <andythenorth> there's loads of stuff that's an actual property or var on the actual vehicle
11:34:56 <TrueBrain> this is why they invent higher-level languages, to avoid complexity of the lower-level API
11:35:22 <andythenorth> but in many cases it's really just a class attribute, or a var that will be static, or a var that varies according to deterministic conditional code
11:35:46 <TrueBrain> does it matter where the information is stored?
11:36:16 <andythenorth> but var 61 (lookup properties of other vehicles) comes with warnings
11:36:31 <andythenorth> there isn't an actual problem here to solve
11:36:35 <andythenorth> this is wavey hands thinking
11:42:28 <FLHerne> andythenorth: prop 25 is entirely for setting arbitrary bits on a train?
11:42:40 <FLHerne> Then you read var 42 to see which arbitrary bits were set
11:49:01 <andythenorth> yeah how do you read bits specific to a vehicle?
11:49:05 <andythenorth> rather than the consist?
11:49:11 <andythenorth> they're ORed so what use is that?
11:49:27 <andythenorth> (it's fine if you want to find the train has a brakevan or something)
11:49:38 <andythenorth> not if you want to keep a byte of information on the specific vehicle
11:52:58 <FLHerne> You'd think var 47 would, but it doesn't seem to
11:53:16 <FLHerne> Why do you want to do that?
11:54:37 <andythenorth> I don't have an actual use case, or not one that would survive very long
11:54:51 <orudge> [10:14:35] <TrueBrain> I wonder if I can send as truebrain@ if it is forwarded .. hmm .. <-- I think to do it 'properly' we'd need to set up a mailbox, but you could then set a filter to auto-forward all incoming e-mail then auto-delete it
11:54:56 <andythenorth> it's better to read the ID then have a huge lookup table of facts about the vehicle in a procedure
11:55:18 <FLHerne> I guess I don't see why this is better than setting a temp var in a switch or so
11:55:36 <TrueBrain> orudge: I guess; what really annoys me that IMAP doesn't support OAUTH, except for gmail / outlook and 1 or 2 other big players
11:55:37 <andythenorth> the case is var 61 to read information about other vehicles
11:55:55 <andythenorth> but the more I think about it, the more 'correct' the huge lookup table seems
11:56:03 <TrueBrain> orudge: as that would solve "authentication" issues :)
11:56:21 <FLHerne> What information do you want to know about a specific other vehicle?
11:57:49 <orudge> TrueBrain: It looks like Postfix and Dovecot may support OAUTH, but exim, which cPanel uses, doesn't. And even if it did, it likely wouldn't work with cPanel. And if I can avoid manually managing mail servers these days, I do. :)
11:58:02 <andythenorth> current 'livery', available power type, how fast it goes, what roster it belongs to in Horse, whether it's a pax coach, etc etc
11:58:12 <TrueBrain> orudge: fun fact, they indeed do support OAUTH, just no client does
11:58:21 <TrueBrain> orudge: clients have hardcoded a few oauth providers, like gmail, outlook, ..
11:58:27 <TrueBrain> a server cannot indicate what oauth provider to use
11:58:31 <TrueBrain> it is REALLY stupid and REALLY silly
11:58:32 <FLHerne> andythenorth: But why?
11:58:46 <andythenorth> why anything? :) To do silly things with appearance
11:59:04 <FLHerne> andythenorth: Caring about all those facts about each other vehicle in the chain will give you some ridiculous combinatorial explosion :-/
12:02:17 <TrueBrain> I mean .. it is 2020 .. wtf people ...
12:28:52 *** frosch123 has joined #openttd
12:32:43 <frosch123> i think "truemail" is a bad idea
12:37:03 <TrueBrain> It is also a problem in the IMAP protocol, sadly
12:42:39 <frosch123> funny how often irc is linked from github docs :)
12:43:31 <frosch123> TrueBrain: i don't think those urls are important enough for a redirect. do the 404s of the past days have some decent favorites?
12:50:17 *** WormnestAndroid has quit IRC
12:50:30 *** WormnestAndroid has joined #openttd
12:58:17 <TrueBrain> what am I looking at?
12:58:40 <frosch123> using "&" and "&" as text in various syntaxes
12:58:54 <TrueBrain> ah, wikilink text are html escaped, yes
12:58:55 <frosch123> in all but one place & is rendered as "&"
12:59:12 <TrueBrain> this has to do with [[en/Page&Page|Page&Page]]
12:59:33 <TrueBrain> this is one of the big issues with wikitext honestly ..
12:59:41 <TrueBrain> you are free to type HTML where-ever you want
12:59:53 <TrueBrain> what mediawiki does, it "guesses" if it should escape or not
13:00:06 <TrueBrain> for eample, Page&Page is escaped, but Page&Page is not
13:00:39 <TrueBrain> but I agree this is not consistent
13:01:02 <TrueBrain> mostly "[[&]]" seems to be rendered wrong
13:01:17 <TrueBrain> well, external links too
13:01:29 <frosch123> yes, title of internal link. external link is fine
13:01:42 <TrueBrain> I guess I can remove the escaping of the text in wikilinks
13:02:01 <TrueBrain> well, escape <>, but not anything else, I guess
13:02:34 <frosch123> ok, i'll add < to the page, to see what it does
13:03:40 <TrueBrain> in last hour, of all 404s:
13:03:50 <TrueBrain> the rest is not important
13:04:07 <TrueBrain> (loading of robots.txt, loading of load.php, Special pages, php files ..
13:04:12 <TrueBrain> first other page is /Signals, with 4 hits
13:05:25 <TrueBrain> NewGRF_List was 1 person
13:05:27 <TrueBrain> hitting the F5 a lot
13:05:35 <TrueBrain> guess he didn't agree with the 404
13:06:40 <TrueBrain> so no, nothing stands out
13:08:06 <frosch123> so we remain with adding no redirects
13:09:58 <frosch123> ugh. i don't dare show you the rendered result of the new test page
13:10:17 <TrueBrain> ah, I remember why I added the escape
13:10:24 <TrueBrain> [[en/&]] should render as &, not &
13:10:39 <TrueBrain> but [[en/&|&]] should render as &, not &âmp;
13:10:58 <frosch123> that sounds reasonable
13:11:45 <TrueBrain> tnx for that page, that is surprisingly useful
13:11:48 <frosch123> as it turns out, the browser also does some interpretation, and happily renderes unescaped "&" :)
13:14:02 <TrueBrain> those & are not all & :P
13:15:47 <TrueBrain> I love GitHub Actions. I know I say it a lot, but damnnnn
13:18:11 <TrueBrain> bit silly how it does not do that correctly automatically :)
13:18:22 <TrueBrain> but it is such a niche issue ... :P
13:18:38 <TrueBrain> deployment to staging is on its way
13:19:27 <TrueBrain> no search-engine has updated site:wiki.openttd.org yet :(
13:21:09 *** gelignite has joined #openttd
13:23:18 <TrueBrain> deployed, and updated the page with ' too
13:23:39 <TrueBrain> I think this looks okay now, right?
13:29:05 <frosch123> there are still plenty raw "&" in the generated html, but my browser does not care :)
13:31:19 <frosch123> but it escapes " and < in the important places
13:31:52 <andythenorth> hmm, parameterised procedures
13:31:59 <andythenorth> I can basically define my own var numbers
13:32:08 <andythenorth> and pass in the target var and a vehicle ID
13:32:58 <andythenorth> no that's pointless, I can just use a named procedure, silly andythenorth
13:34:08 * andythenorth wonders how much varact2 results can be cached :P
13:35:27 <frosch123> i think "cache" is the wrong strategy. but ottd could "avoid" many
13:35:48 <frosch123> i read about jgrpp adding something recently, but did not check what exactly
13:36:16 <TrueBrain> frosch123: there is nothing wrong with & in HTML
13:36:23 <TrueBrain> only &<text> is being processed
13:36:44 <frosch123> TrueBrain: oh, is that a xhtml thing?
13:36:55 <TrueBrain> &<text> is an html entity
13:37:04 <TrueBrain> that is by specs for .. well, as long as I know HTML :)
13:37:22 <frosch123> well, i should not have expected anything else from html :)
13:37:27 <TrueBrain> funny enough, &<text>; is also an html entity, but the ; is not always mandatory :D
13:37:30 <frosch123> it's as silly as mediawiki
13:38:10 <TrueBrain> but the important part works now: if a page is called &, the title shows that too :D
13:38:25 <TrueBrain> in other words, we escape html entities in page names correctly now \o/
13:38:50 * andythenorth proposes newgrf reboot
13:39:05 <TrueBrain> that is an impossible task :P
13:39:10 <TrueBrain> we once tried "newmap"
13:39:18 <andythenorth> stop talking about specific prop x / var y / cb z
13:39:37 <andythenorth> and how author abc needs a specific thing added for their one-off use case
13:39:38 <TrueBrain> but let's call it newnewgrf
13:40:08 <TrueBrain> well, I guess NewGRF doesn't have to be compatible with TTDp anymore :)
13:40:54 <frosch123> looks like "app", and has plenty of openttd chars in it
13:41:04 <andythenorth> I have basically figured out how to extend new vehicle properties or deterministic vars without touching newgrf spec
13:41:36 <TrueBrain> well, that suits your character, so nothing wrong there :)
13:41:37 <andythenorth> I think I'm probably building my own state machine badly, by accident
13:42:05 <frosch123> is andygrf more like typescript, or like coffeescript?
13:42:23 <frosch123> is there teascript?
13:44:14 <andythenorth> I think it's more like NeverDoThisAgainScript
13:44:47 <andythenorth> since I moved many vehicle var / cb results to procedures
13:44:52 <TrueBrain> or, I know, radical: lua
13:44:53 <andythenorth> I can run them for vehicle A from vehicle B
13:45:55 <andythenorth> frosch123 I like how the links to the web environments go to domain parking / malware installers
13:49:26 <TrueBrain> why ....... holy crap
13:49:37 <TrueBrain> I need to remove my eyes now
13:50:51 <andythenorth> "Closing Parenthesis"
13:50:56 <andythenorth> please, bring that to python
13:51:58 <andythenorth> this is quite good eh
13:52:02 <TrueBrain> I just said, but I repeat: NO
13:52:07 <TrueBrain> go away you evil people :(
13:52:25 <TrueBrain> (it is what frosch123 said btw andythenorth , but happy you found it too :P)
13:52:44 <TrueBrain> but it is by far the worst idea I have seen in months for any language :P
13:52:47 <TrueBrain> what the hell really ..
13:53:08 <frosch123> TrueBrain: it's a trollpage, even i can detect that
13:53:09 <andythenorth> really quite good trolling
13:53:31 <TrueBrain> frosch123: doesn't matter .. just NO
13:54:25 <andythenorth> can we use this as inspiration for newnewgrf?
13:54:29 <andythenorth> I could make some examples
13:54:31 <TrueBrain> that you can even come up with that bullshit, incredible :P
13:54:39 <TrueBrain> andythenorth: I am going with .... no :P
13:54:56 <andythenorth> I was going to apply it to both the source, and the template language
13:55:10 <andythenorth> particularly, it would be really helpful if the templater didn't use an control codes
13:55:31 <andythenorth> then the template language wouldn't 'pollute' the nml
13:55:47 <andythenorth> so ideally the templater would just look like nml, only more different
14:32:27 <andythenorth> newgrf state machines on github?
14:32:32 * andythenorth considers how it would work
14:40:17 <frosch123> didn't andy want a bananas url redirecter?
14:41:12 <frosch123> clearly we should have replaced talk pages with gh issues
14:52:53 <TrueBrain> Still a good idea :p
14:55:38 <andythenorth> frosch123 something something something about versioned docs
14:55:51 <andythenorth> or preventing link rot or something
14:56:23 <andythenorth> can we actually reimplement OpenTTD in GitHub?
14:56:32 * andythenorth wonders how that would work
14:56:55 <andythenorth> cargo would move by PR?
15:08:00 <andythenorth> there's no way in varact2 to not unroll, right?
15:08:15 <andythenorth> varact2 can't recurse back to self afaik
15:09:09 <frosch123> yes, that's one of the main goals. all callbacks finish in fixed time
15:09:54 <frosch123> that grfs can still work around that, proves the rule, or something?
15:09:56 * andythenorth trying to paddle in a 10 foot deep pool
15:32:30 *** longtomjr has joined #openttd
15:53:33 <andythenorth> I could optimise the unrolls
15:53:54 <andythenorth> If I check var 60 first, I could bail on the entire chain if certain IDs are not found
15:54:17 <andythenorth> instead of always walking the full chain looking for a list of IDs
16:32:20 *** andythenorth has joined #openttd
16:32:58 <andythenorth> optimising Horse could become a project :P
17:12:27 *** Wormnest has joined #openttd
18:24:58 *** Progman has joined #openttd
18:26:30 *** blathijs has joined #openttd
19:15:21 *** HerzogDeXtEr has joined #openttd
19:26:07 <andythenorth> read that earlier
19:26:13 <andythenorth> but I don't have a reddit account
19:26:43 *** Eddi|zuHause2 has joined #openttd
19:28:07 <TrueBrain> it made me giggle :) E_CONTENT_TOO_HARD
19:30:44 * andythenorth considers a parameter
19:31:01 <andythenorth> so we have so many things we need to innovate in OpenTTD
19:31:06 <andythenorth> * content framework
19:31:20 <andythenorth> * github as savegame database
19:31:35 <andythenorth> and people say it's done?
19:31:40 <andythenorth> apart from timetables?
19:33:51 *** Eddi|zuHause has joined #openttd
19:37:00 <TrueBrain> GitHub as cloud-save, lolz
19:39:19 <andythenorth> instant versioning :P
19:39:37 <andythenorth> how efficient is savegame format? :P
19:39:42 <andythenorth> can it be incremental?
19:39:52 <TrueBrain> only if you output it as XML :P
19:40:00 <andythenorth> it isn't XML? :o
19:40:09 <andythenorth> we should switch
19:40:28 <andythenorth> also, apparently if we get rid of truly-random trees, savegame size will plummet
19:40:29 <TrueBrain> how to say this politely ....
19:40:50 <TrueBrain> truly-random? WE INVENTED TRULY RANDOMNESS?
19:40:50 <andythenorth> something something something trees are 80% of savegame + memory usage
19:40:54 <TrueBrain> omg, we are going to be rich!
19:41:08 <andythenorth> we are sitting on a goldmine here
19:41:29 <TrueBrain> let's keep it that way :)
19:41:31 <andythenorth> people want truly random, we send them back some hash of all the trees
19:41:38 <andythenorth> random-as-a-service
19:41:57 <TrueBrain> I want to understand how to emulate the SNES PPU in a simple way, but darn, that thing is hard to emulate ..
19:42:21 <andythenorth> I am not likely to be helpful with that :(
19:42:52 <TrueBrain> LordAro: no no, our trees are truly-random
19:42:52 <andythenorth> LordAro 'who we are' is v. good
19:42:56 <TrueBrain> not the pesky /dev/random random
19:43:15 <andythenorth> what even is truly-random, mathematically?
19:43:19 <andythenorth> and who would suggest it?
19:43:27 <TrueBrain> it truly doesn't exist :P
19:43:41 <andythenorth> is the universe deterministic or not?
19:43:48 * andythenorth philosophy degree revisits
19:43:58 <TrueBrain> it is not so much a mater of if it is
19:44:00 <TrueBrain> more if you can proof it
19:44:10 <andythenorth> can you falsify the hypothesis?
19:44:13 <andythenorth> and what is 'proof'?
19:44:20 <andythenorth> anyway, I like trains
19:44:54 <TrueBrain> owh my, I hadn't seen the DRaaS also have pricing :P
19:45:00 <andythenorth> can we afford it?
19:45:08 <TrueBrain> it has a 4 second refund policy
19:45:09 <andythenorth> for when we replace our truly-random trees?
20:46:01 *** gelignite has joined #openttd
21:27:35 *** andythenorth has joined #openttd
21:32:48 *** andythenorth_ has joined #openttd
23:33:40 *** andythenorth_ has left #openttd
continue to next day ⏵