Config
Log for #openttd on 15th November 2020:
Times are UTC Toggle Colours
00:49:43  *** HerzogDeXtEr has quit IRC
01:04:44  <DorpsGek_III> [OpenTTD/team] Aphanasiy opened issue #88: [ru_RU] Translator access request https://git.io/Jks6e
01:17:58  *** Progman has quit IRC
01:32:30  *** Flygon has joined #openttd
01:55:29  *** gelignite has quit IRC
01:56:34  *** nielsm has quit IRC
04:08:10  *** glx has quit IRC
06:17:19  *** Martin has joined #openttd
07:34:25  *** andythenorth has joined #openttd
08:08:28  *** sla_ro|master has joined #openttd
08:18:44  *** longtomjr has joined #openttd
08:22:01  *** Wolf01 has joined #openttd
08:23:30  <Wolf01> andythenorth: I don't remember if I already asked you if you have ev3
08:23:37  <andythenorth> I don't
08:24:14  <Wolf01> Good, so you are safe today :P
08:24:49  <Wolf01> I need to set the initial position of a rocking mechanism...
08:25:27  <Wolf01> I think it's only possible with the new system
09:02:33  *** Progman has joined #openttd
09:15:20  * andythenorth refactors Horses
09:17:58  *** jottyfan has joined #openttd
09:47:48  <TrueBrain> hmm .. refactoring ...
09:48:00  * andythenorth refactors TrueBrain 
09:48:05  *** gelignite has joined #openttd
09:48:56  *** gelignite has joined #openttd
09:50:36  <andythenorth> hmm recolour sprites are a bit mad
09:50:58  <TrueBrain> wait, why do you now have 3 screws left over andythenorth ? WHERE DID THEY USE TO GO?! OMG
09:51:22  <Wolf01> XD
09:51:28  <andythenorth> what about when you are short of screws?
09:51:39  <andythenorth> oh that sounds like an incel thing
09:51:49  <Wolf01> Usually that mean that you need to check the floor
09:51:52  <andythenorth> what about when you find there is one screw missing, and it's probably inside the gearbox?
09:51:55  <TrueBrain> we have a dutch saying about screws, i wonder if there is an english translation ..
09:52:18  <TrueBrain> "er zit een schroefje los → one brick short of a full load"
09:52:20  <TrueBrain> riggghhhtttt
09:52:38  <andythenorth> that looks like a screw loose
09:52:50  <TrueBrain> it is
09:52:50  <andythenorth> is that 'they have one screw missing'?
09:53:13  <TrueBrain> I don't know if it means the same :P
09:53:14  <andythenorth> https://dictionary.cambridge.org/dictionary/english/have-a-screw-loose
09:53:18  <TrueBrain> in Dutch it means you are a bit cook-cook
09:53:33  <TrueBrain> is that the right english word too? Lol
09:53:37  <TrueBrain> translating these things is difficult :P
09:53:49  <andythenorth> said out loud, cook-cook sounds like an incel thing too
09:53:49  <TrueBrain> well, yes, that means the same andythenorth  :)
09:54:03  <TrueBrain> which is funny, as when I lookup the Dutch to English, it doesn't show that
09:54:03  <andythenorth> hmm
09:54:11  * andythenorth makes sprites
09:54:12  <TrueBrain> languages are WEIRD :P
09:54:16  <andythenorth> sprites...but how?
09:54:27  <TrueBrain> yeah, and I am making a patch so CSS can move out of TrueWiki ... funnnnn
09:54:53  <andythenorth> are we having a styles library?
09:55:43  <TrueBrain> that honestly would be a good idea, via git submodules
09:55:47  <TrueBrain> as we are now copy/pasting CSS :P
09:55:53  <TrueBrain> but .. not my cup of tea
09:55:59  <TrueBrain> is that the right saying?
09:56:03  <andythenorth> yes
09:56:15  <andythenorth> styles libraries are ok, but copy-paste also works
09:56:29  <TrueBrain> well, someone fixed some things in BaNaNaS
09:56:32  <TrueBrain> which I did not copy to wiki
09:56:35  <TrueBrain> which is not synced to website
09:56:37  <TrueBrain> so ... meh
09:57:50  *** m1cr0m4n has quit IRC
09:58:12  <andythenorth> I am not understanding how to refer to a recolour_sprite
09:58:15  <andythenorth> it has no ID
09:58:16  <andythenorth> https://newgrf-specs.tt-wiki.net/wiki/NML:Recolour_sprites
10:00:47  <andythenorth> https://github.com/OpenTTD/nml/blob/master/regression/020_recolour.nml suggests I need to be using GRM
10:00:50  <andythenorth> I think
10:02:22  <TrueBrain> maybe a stupid question, but I never really understood NewGRFs etc: why is it so complex to do these kind of things?
10:02:28  <TrueBrain> is it just the complexity of the result
10:02:37  <TrueBrain> or the complexity of the options?
10:02:44  <andythenorth> it's triangular
10:02:57  <TrueBrain> in my head, you have sprites, you have some metadata on those sprites, and done :P
10:03:14  <andythenorth> it's the complexity of the API, the result, and the historical way it developed
10:03:28  <TrueBrain> so just everything combined
10:03:29  <TrueBrain> I see
10:03:48  <andythenorth> _most_ of the complexity is due to authors trying to do complex things
10:04:05  <andythenorth> within an API which is super-flexible in some dimensions, and totally crippled in others
10:04:15  <TrueBrain> ghehe
10:04:16  <andythenorth> nml mostly masks the historical organic mess
10:04:29  <andythenorth> sometimes nml really can't hide the bodies under the carpet though
10:06:14  <andythenorth> I think I have to wait for frosch, this is totally impenetrable :)
10:07:29  <TrueBrain> :(
10:18:30  <Wolf01> I can't get what I'm doing wrong with EV3 :(
10:19:47  <Wolf01> Back to the old software, I can't manage the new one well, even if it's easier...
10:38:31  *** jottyfan has quit IRC
10:44:01  <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain opened pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN
10:46:39  <TrueBrain> and now I have to wait for frosch too :D
10:46:57  <TrueBrain> but I think I removed all "OpenTTD" references from the TrueWiki codebase now :)
10:48:56  <TrueBrain> if you now start an empty TrueWiki, there is no CSS :P
10:49:00  <TrueBrain> not sure it is an improvements :D
10:51:29  <TrueBrain> it has something magic, no CSS wikis :)
10:52:51  *** nielsm has joined #openttd
10:55:42  <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain updated pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN
10:56:25  <TrueBrain> and now is even "english" as primary language a configuration option \o/
11:13:36  <TrueBrain> so, that means we can now setup as many wikis as we like .. "<username>.wiki.openttd.org" ? :D
11:14:00  <andythenorth> horse.wiki.openttd.org
11:14:16  <TrueBrain> it has no API yet, so you cannot publish automatically :P
11:14:38  <TrueBrain> resources is a bit of an issue .. is ~100MB per instance of RAM
11:15:18  <TrueBrain> which is like a dollar per month
11:15:34  * LordAro copies his windows install to his nvme drive
11:15:51  <TrueBrain> that ... often is an improvement :P
11:16:54  <LordAro> it's been in my system for nearly a year, it's about time i made use of it
11:17:04  <LordAro> also my linux install is out of space
11:17:16  <TrueBrain> haha
11:17:46  <TrueBrain> so now we have to make a SaaS out of TrueWiki, so we can fund OpenTTD, right?
11:17:58  <LordAro> so, windows on 1T ssd -> 1T nvme, linux 120G ssd -> 1T ssd
11:18:04  <LordAro> TrueBrain: exactly
11:18:16  <TrueBrain> so how much to ask for a wiki SaaS? :P
11:18:27  <TrueBrain> has to depend on the amount of pages your wiki has :P
11:18:35  <LordAro> all of the money
11:18:44  <TrueBrain> diskspace is totally irrelevant
11:18:46  <TrueBrain> CPU time too
11:18:54  <TrueBrain> only memory usage is a constraint
11:18:56  <TrueBrain> funny, how that goes
11:19:19  <TrueBrain> even bandwidth is not worth mentioning really
11:22:08  <TrueBrain> funny, the wiki is really visit about as much as the website
11:22:12  <TrueBrain> did not expect that
11:22:20  <TrueBrain> @calc 1000 / 5/ 60
11:22:20  <DorpsGek> TrueBrain: 3.33333333333
11:22:24  <TrueBrain> around 3 requests per second to both
11:30:46  <TrueBrain> lol .. I was a bit worried about the rule evaluations the ALB had to do more now ... as that could result in a higher bill
11:30:56  <TrueBrain> but .... you can do 1000 rule evaluations per second for 0.008 dollarcent
11:31:00  <TrueBrain> we do 15k per 5 minutes :P
11:31:02  <TrueBrain> WE ARE FINE
11:31:29  <TrueBrain> they are clearly operating on another scale :P :D
11:32:04  <LordAro> heh
11:33:13  <TrueBrain> the eints load is going up up up the last 12 hours, that is also weird
11:33:23  <TrueBrain> CPU has been slowly climbing ...
11:40:28  *** WormnestAndroid has quit IRC
11:40:41  *** WormnestAndroid has joined #openttd
11:40:53  <TrueBrain> hmm, no clue why .. there are no error requests .. so either it is "stuck", or someone is REALLY busy, or something is wrong ... I dunno :P
11:42:00  <TrueBrain> ah, no, someone is hitting it with a lot of requests
11:42:09  <TrueBrain> @calc 500 / 5 / 60
11:42:09  <DorpsGek> TrueBrain: 1.66666666667
11:42:17  <TrueBrain> 2 requests per second since 1800 yesterday
11:42:25  <TrueBrain> in a VERY consistent matter
11:42:43  <TrueBrain> who is trying to break eints ...
11:42:53  <LordAro> banhammer time!
11:46:39  <TrueBrain> it is a fucking crawler
11:46:44  <TrueBrain> KauaiBot, wtf is that
11:47:55  *** frosch123 has joined #openttd
11:48:11  <TrueBrain> lol ... the bot tries to open a string, gets redirects to the login page
11:48:13  <andythenorth> SEO crawler?
11:48:15  <TrueBrain> fetches that
11:48:27  <TrueBrain> and I think the login hit generates a state on the server
11:48:42  <TrueBrain> which causes the CPU to slowly increase, as it is iterating a list that is getting bigger and bigger
11:49:02  <andythenorth> quak
11:49:04  <TrueBrain> yeah, memory is also going up
11:49:11  <TrueBrain> okay .... so this is on one hand a bug
11:49:14  <TrueBrain> on the other hand .. wtf bot?
11:49:19  <TrueBrain> but we don't have a robots.txt, so I guess
11:50:04  <andythenorth> nofollow on login redirect?
11:50:08  <TrueBrain> cannot find any online reference to KauaiBot
11:50:11  <TrueBrain> can any of you?
11:50:24  <TrueBrain> andythenorth: nofollow?
11:51:30  <TrueBrain> the scanner uses AWS, so IP block is difficult :P
11:53:35  <TrueBrain> how long does eints keep state about a login attempt ...
11:53:47  <TrueBrain> frosch123 possibly knows? :D
11:54:37  <andythenorth> I can't find a useful result for KauaiBot
11:54:43  <TrueBrain> owh, 16 hours, it seems
11:54:49  <TrueBrain> there is no initial timeout on a failed login attempt :D
11:55:05  <TrueBrain> but what is nofollow on login redirect andythenorth ?
11:55:51  <andythenorth> urgh dunno :)
11:56:03  <TrueBrain> owh, was hoping that was a thing :P
11:56:27  <andythenorth> I can't think how that works, ignore andythenorth
11:56:31  <DorpsGek_III> [OpenTTD/team] frosch123 commented on issue #88: [ru_RU] Translator access request https://git.io/Jks6e
11:57:00  <DorpsGek_III> [OpenTTD/team] frosch123 commented on issue #87: [ro_RO] Translator access request https://git.io/Jk3r8
11:57:06  <TrueBrain> well, given that after 16 hours session will drop, it does mean it reaches the most CPU/memory it is going to use
11:57:09  <TrueBrain> still this is not really good :D
11:57:22  <frosch123> hungarian people translating romanian - plausible enough :)
11:57:23  <TrueBrain> every new session it checks for expired sessions
11:57:28  <TrueBrain> that explains the CPU :)
11:57:43  <TrueBrain> so it does about 1 login request per second
11:57:47  <TrueBrain> @calc 3600 * 16
11:57:47  <DorpsGek> TrueBrain: 57600
11:57:54  <TrueBrain> so it has 60k entries to check every second :D
11:58:02  <TrueBrain> frosch123: eints is buggy :P
11:58:15  <frosch123> TrueBrain: visiting the login page creates the session cookie
11:58:27  <TrueBrain> yes .. and this bot is doing that every second
11:59:14  <frosch123> we do not distinguish authenticated from unauthenticated sessions, everything is 16h
11:59:24  <TrueBrain> so I found out :) But I am happy you are slowly reading up :P
11:59:43  <andythenorth> frosch123 are recolour sprites confusing? o_O
12:00:16  <andythenorth> I can't see how they can be used as a varact2 result, there's no ID to refer to them
12:02:19  <TrueBrain> frosch123: should we add a robots.txt to translators?
12:02:27  <TrueBrain> it crawling it useful?
12:02:44  <frosch123> andythenorth: https://newgrf-specs.tt-wiki.net/wiki/NML:Builtin_functions <- see reserve_sprites
12:02:55  <LordAro> TrueBrain: all except the homepage seems reasonable
12:02:55  <frosch123> maybe there is an example in nuts, can't remember
12:03:26  <frosch123> TrueBrain: no, not useful. the bots can crawl github if they want
12:03:58  <TrueBrain> how does robots.txt work ...
12:04:48  <frosch123> https://en.wikipedia.org/wiki/Robots_exclusion_standard#Examples <- you copy&paste examples?
12:05:33  <TrueBrain> now how does bottle work ... :D
12:06:23  <frosch123> oh, there is no bypass for static files?
12:06:23  <andythenorth> there's an example in regressions
12:06:31  <andythenorth> I just don't understand it conceptually
12:06:31  <TrueBrain> only in /static
12:06:34  <TrueBrain> robots.txt should go in /
12:07:14  <TrueBrain> there we go
12:07:17  <frosch123> TrueBrain: anyway, root.py has /health
12:09:02  <TrueBrain> cheers
12:10:08  <frosch123> what does "primary-language" do?
12:10:39  <TrueBrain> when you go to /, it redirect to /<primary-language>/
12:11:53  <DorpsGek_III> [OpenTTD/wiki-data] frosch123 approved pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkG1Z
12:12:09  <TrueBrain> wiki-data-staging also has 2 PRs for you frosch123  :)
12:12:13  <TrueBrain> and was this what you had in mind?
12:12:28  <frosch123> blatant copies even
12:12:47  <frosch123> we need a "staging" logo
12:12:51  <TrueBrain> including the ., yes :P
12:13:06  <TrueBrain> the downside of this approach is .. you would like to see PRs to wiki-data-staging
12:13:11  <TrueBrain> which are cherry-picked into wiki-data
12:13:17  <TrueBrain> but that is a bit more difficult in this approach
12:13:53  <DorpsGek_III> [OpenTTD/eints] TrueBrain opened pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12
12:14:02  <DorpsGek_III> [OpenTTD/wiki-data-staging] TrueBrain merged pull request #1: Add: IRC announcements for PRs and issues. https://git.io/JkGad
12:15:19  <frosch123> flake before push :)
12:16:08  <andythenorth> hmm is company_recolour an undocumented builtin?
12:16:10  * andythenorth looks
12:16:14  <DorpsGek_III> [OpenTTD/eints] TrueBrain updated pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12
12:16:43  <andythenorth> nvm, it's a template
12:16:50  <DorpsGek_III> [OpenTTD/wiki-data] TrueBrain merged pull request #3: Add: TrueWiki config file and static files to render pages https://git.io/JkGaN
12:16:54  <DorpsGek_III> [OpenTTD/wiki-data-staging] TrueBrain merged pull request #2: Add: TrueWiki config file and static files to render pages https://git.io/JkGaA
12:17:04  <DorpsGek_III> [OpenTTD/eints] frosch123 approved pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG1b
12:17:19  * andythenorth considers recolouring in PIL :P
12:17:24  <DorpsGek_III> [OpenTTD/eints] TrueBrain merged pull request #33: Fix: timeout session if they don't login within 10 minutes https://git.io/JkG12
12:17:34  <andythenorth> this is nuts
12:17:52  <LordAro> andythenorth: no, this is horse
12:17:58  <andythenorth> nuts horse
12:18:03  <frosch123> andythenorth: what's the problem?
12:18:23  <andythenorth> problem is between keyboard and chair
12:18:38  <andythenorth> how is the recolour sprite ever chained? https://github.com/OpenTTD/nml/blob/master/regression/020_recolour.nml
12:18:38  <frosch123> do you even have a keyboard?
12:18:45  <LordAro> Layer 8 issue
12:18:59  <andythenorth> I have no mental model for recolouring
12:19:08  <frosch123> andythenorth: haha, nml examples are awesome :)
12:19:14  <andythenorth> I am expecting a realsprite to be passed through a recolour table
12:19:20  <frosch123> it only checks syntax, but never makes any sense
12:19:20  <andythenorth> is that not what this does?
12:20:11  <andythenorth> specifically, I am expecting a a recolour sprite to be returned to colour_mapping cb as a result
12:20:16  <andythenorth> but I see no way to make it the result
12:20:28  <TrueBrain> cannot believe we are being crawled to death .. lolz
12:20:32  <TrueBrain> tnx frosch123 for the reviews!
12:20:44  <andythenorth> recolour sprites seem to be applied to the whole grf and selected on action A or D?
12:20:44  <frosch123> andythenorth: i have to reboot my router, i'll post an example later
12:20:47  <andythenorth> kk
12:21:11  <TrueBrain> priorities!
12:21:17  <andythenorth> action A / action 5, not D
12:22:05  <LordAro> TrueBrain: if i were being skeptical, i'd say that the robots change should've been separate to the session change
12:22:13  <andythenorth> it makes sense in nfo because there's a sprite number :P https://newgrf-specs.tt-wiki.net/wiki/RecolorSprites
12:22:21  <TrueBrain> LordAro: that is why I made them into two commits?
12:22:22  <LordAro> as now you won't know if you've actually fixed (all of) the cpu/memory usage issues
12:22:30  <LordAro> TrueBrain: applying them together, i mean
12:22:43  <TrueBrain> do you think this bot will read robots.txt any time soon?
12:22:46  <TrueBrain> that is cute :)
12:22:48  <LordAro> heh, true
12:22:51  <LordAro> but maybe
12:22:58  <TrueBrain> I would like that only robots.txt was enough
12:23:04  <TrueBrain> I wrote the other patch as I am sure it is not :P
12:23:16  <LordAro> oh absolutely
12:23:37  <TrueBrain> and honestly, if one of the two already prevents this, I am good :)
12:24:06  <TrueBrain> I just now have to test a logged in session stays alive after the 10 minnutes :P
12:24:47  <LordAro> well if nothing else you could run `wget -r -e robots=off` :p
12:25:15  <TrueBrain> it is funny, all our login-methods already had: after 10 minutes not logged in? Bye now
12:25:17  <TrueBrain> except for eints :P
12:25:20  *** frosch12 has joined #openttd
12:25:29  <TrueBrain> eints in general does everything different :P
12:25:45  <LordAro> almost as if it was made by a different person for a different purpose :p
12:26:06  <LordAro> @seen Alberth
12:26:06  <DorpsGek> LordAro: Alberth was last seen in #openttd 1 year, 16 weeks, 3 days, 18 hours, 4 minutes, and 53 seconds ago: <Alberth> andy: I bisected the build-train bug back to d54b6ac09b6fe88c09f7886739fe9c05f16b8222  (feb 28th)
12:26:11  <LordAro> :/
12:26:58  <TrueBrain> "different purpose" is debatable
12:27:09  <TrueBrain> but you also see how much we have learnt how to host online services in a few years
12:27:27  <TrueBrain> it is not like BaNaNaS v1 was so great :P
12:27:31  <frosch12> LordAro: login session was done by me though :p
12:27:36  <LordAro> :D
12:27:40  <frosch12> but eints was first, the rest improved
12:27:51  <TrueBrain> and eints doesn't have asyncio
12:28:00  <TrueBrain> which makes solutions we use now more difficult :D
12:28:04  <LordAro> is there an issue to rewrite it in asyncio yet? :p
12:28:16  <frosch12> we close such issues
12:28:20  <frosch12> only PRs :p
12:28:30  <TrueBrain> owh, bananas login has the same issue btw
12:28:35  <TrueBrain> also no login-timeout
12:28:53  <frosch12> it was copied from eints :)
12:28:57  <andythenorth> ok so are there global and grf-local sprite references?
12:28:59  *** frosch123 has quit IRC
12:29:06  <andythenorth> and GRM is for global?
12:29:24  <andythenorth> and when reserving GRM sprites, OpenTTD will give a result
12:29:32  <andythenorth> I don't have to care what the result is, just store it in a param
12:29:49  <TrueBrain> I cannot be bothered fixing bananas atm :P
12:29:53  <andythenorth> and I can stuff recolour_sprites into those addresses using GRM
12:29:59  <andythenorth> then refer to them as cb result
12:30:06  * andythenorth has been reading nfo docs
12:30:20  <andythenorth> nfo docs remain more informative than nml
12:30:48  <andythenorth> nml docs are pretty much 1 or 0 for usefulness
12:30:51  <TrueBrain> first lunch .. hour overdue
12:34:35  <frosch12> andythenorth: https://gist.githubusercontent.com/frosch123/889b6478a6d5d7b10f89d9b014845331/raw/ed31d6a7624dde2f02e7903b68541c245861b841/recolour_example.nml
12:34:55  <andythenorth> :o
12:35:00  <andythenorth> frosh has been abbreviated
12:35:08  <andythenorth> bring back the 3
12:36:06  <andythenorth> 42 because Deep Thought?
12:36:33  <DorpsGek_III> [OpenTTD/eints] TrueBrain created new tag: openttd-github-1.0.10 https://git.io/JkGyy
12:36:35  <frosch12> it must be < 64, and it must be > number of actual grf parameters from action14
12:37:09  <andythenorth> ok
12:37:14  <andythenorth> thanks
12:37:51  <andythenorth> 'my first GRM'
12:38:24  <frosch12> vehicle recolouring is the only valid application of GRM left :)
12:38:29  <TrueBrain> MAKE FROSCH GREAT AGAIN
12:38:39  <TrueBrain> too soon?
12:38:39  <frosch12> @kick TrueBrain no
12:38:39  *** TrueBrain was kicked by DorpsGek (no)
12:38:43  *** TrueBrain has joined #openttd
12:38:48  <TrueBrain> too soon :)
12:39:25  <frosch12> andythenorth: so, it's also 'your last GRM'. you can now c&p from this single example
12:40:54  <TrueBrain> https://pasteboard.co/JAtp73S.png < -eints :)
12:41:17  <frosch12> i can see the daily submit :)
12:41:26  <TrueBrain> yup
12:41:31  <TrueBrain> and the shit called a crawler after :P
12:42:57  <TrueBrain> https://github.com/boramalper/pydis <- someone pissed off someone :P
12:44:29  <andythenorth> can he rewrite nml in python?
12:44:35  <andythenorth> oops wrong idea :D
12:44:38  <frosch12> someone compared that to truewiki?
12:45:01  <TrueBrain> haha, I already have the rant, I only have to add benchmarks!
12:45:09  <FLHerne> frosch12: Why param[42] and not something descriptive like `recolourings` ?
12:45:15  <LordAro> TrueBrain: seems a bit odd
12:45:19  <FLHerne> Maybe that's not descriptive
12:45:27  <TrueBrain> LordAro: what does?
12:45:36  <frosch12> FLHerne: you overestimate my fluency in nml syntax :)
12:45:37  <LordAro> "prove that interpreted languages are not slow" "this is 60% as fast as the compiled version"
12:46:14  <andythenorth> 42 should be 'ultimate'
12:46:31  <FLHerne> andythenorth: Please use a name instead of param[n], it'll be less weird :p
12:46:45  <LordAro> doing so in 230 lines of code is quite good though
12:46:47  <TrueBrain> LordAro: yeah .... as I said, it reads as if someone ticked someone off :P
12:46:53  <LordAro> though i bet uvloop & hiredis are compiled
12:46:53  <andythenorth> param[forty_two]?
12:46:55  *** iSoSyS has joined #openttd
12:46:58  <LordAro> which do all the heavy lifting
12:47:21  <TrueBrain> yup
12:47:32  <TrueBrain> I just like good rants
12:47:32  <FLHerne> andythenorth: No, just `whatever = reserve_sprites()`
12:47:34  <TrueBrain> and this had one :)
12:47:50  <FLHerne> We have named parameters in NML :p
12:49:35  <FLHerne> ...I think? Now I can't find it in the docs
12:49:40  * FLHerne looks at the code instead
12:50:24  <andythenorth> no I'm sure we do
12:50:34  <andythenorth> action 14 params are named
12:50:57  <andythenorth> I think there was an example in FIRS as well, for snow sprite magic in arctic
12:51:14  <FLHerne> Yes, we definitely do
12:53:24  <TrueBrain> frosch12: I am not sorry to inform you I threw away all my gollum repositories :P
12:59:35  *** glx has joined #openttd
12:59:36  *** ChanServ sets mode: +v glx
13:01:39  <frosch12> TrueBrain: funny, while afk i was just wondering the same: delete or archive
13:01:45  <TrueBrain> https://github.com/TrueBrain/TrueWiki/pull/91 <- well, seems we were not the only one being annoyed frosch12  :P
13:05:26  <frosch12> well, nice. but it's the opposite of what truewiki is meant for :p
13:05:35  <frosch12> wikipedia does not have a tree structure
13:07:32  * andythenorth has made up some recolourings :P 
13:07:37  <andythenorth> they're really broken and funny
13:07:53  <andythenorth> I suppose I should put in the actual CC remaps
13:13:56  <glx> andythenorth: if you want to try https://github.com/OpenTTD/nml/pull/170
13:14:20  <andythenorth> thanks
13:17:06  <andythenorth> glx that's halved the number of warnings
13:17:43  <glx> expected :)
13:18:27  <andythenorth> there are still some 'not referenced', but many fewer
13:18:37  <TrueBrain> next PR disables warnings; you should see how much that fixes! :P
13:18:57  <andythenorth> 'fixes'
13:19:13  <glx> remaining 'not referenced' are legit this time I think
13:21:08  <andythenorth> they are newly introduced relative to dfb4499a70ef3c84ebde7d1eda10a8173f1e8a9f
13:21:22  <andythenorth> they're quite specific context, I'll have a look what they're doing
13:22:21  <glx> because an optimised switch should not trigger 'not referenced' with #170
13:23:38  <glx> unless optimised switch referenced them in the expression
13:23:47  <andythenorth> these are 'not referenced' https://gist.github.com/andythenorth/34346731bd102c242db34a06a64958c3
13:25:03  <andythenorth> they're only referenced from a   STORE_TEMP(switch_alt_var_41_position_in_vehid_chain_multiple_ids_1(), 18)
13:29:21  <glx> it's horse master ?
13:30:15  <TrueBrain> that gist .. lolz .. wtf :P
13:31:00  <TrueBrain> what does that even do?!
13:31:02  <frosch12> TrueBrain: -funroll
13:31:21  <TrueBrain> but .. why?
13:31:35  <frosch12> grfs have no loops. so andy unrolled a 128 iteration loop or so
13:31:58  <TrueBrain> lolz
13:32:12  <TrueBrain> that cannot be fast :P
13:32:53  <glx> and then people wonders why openttd is slow ;)
13:33:29  <TrueBrain> how ever often I read these kind of statements, I cannot deduce what it does, as in, parameters feel .. random :P
13:33:38  <frosch12> it's because they put signals on every second tile, obv :p
13:34:15  <TrueBrain> I am tempted to click that "Report abuse" button
13:34:22  <TrueBrain> GitHub should do something about this :D
13:36:30  <andythenorth> glx yes horse master
13:36:42  <glx> andythenorth: funny messages when building it
13:36:54  <andythenorth> I should delete those
13:36:57  <glx> I am not a walrus - vehicles cargos pipeline needs refactored as it is unfinished copy-paste from intermodal containers pipeline
13:37:45  <frosch12> 418 i am not a walrus?
13:37:47  <TrueBrain> rriiiigggghhhtttttt :P
13:38:09  <frosch12> TrueBrain: says the one who wrote their own wiki server :)
13:38:21  <TrueBrain> I am just judging ... not really anyway :)
13:38:31  <andythenorth> why did I do this unroll?
13:38:31  *** gelignite has quit IRC
13:38:47  <andythenorth> oh it's because there's no way to check 'position in sequence of IDs'
13:38:53  <andythenorth> instead of 'position in sequence of ID'
13:39:02  <andythenorth> but there is !
13:39:07  <andythenorth> the power of newgrf!
13:39:26  <glx> and I should have redirected output to a file
13:39:49  <andythenorth> also it's not much code to generate all those switches :P
13:39:50  <andythenorth> https://github.com/andythenorth/iron-horse/blob/master/src/templates/procedures_alternative_var_41.pynml#L38
13:40:00  <andythenorth> procedures are awesome for inventing my own pseudo-vars
13:40:05  <TrueBrain> every time I look at these GRF repos, I realise the only way to write a GRF is if you can write a GRF ... I cannot believe anyone can learn this
13:40:19  <andythenorth> my grfs are entirely written by frosch
13:40:24  <andythenorth> I just copy-paste from here
13:40:30  <TrueBrain> XML?! WTF?!
13:40:34  * frosch12 denies everything
13:40:38  <TrueBrain> okay, I need eye-bleach now
13:40:54  <andythenorth> it only LOOKS like XML
13:40:55  <TrueBrain> XSLT maybe more
13:41:00  <TrueBrain> but wtf
13:41:01  <TrueBrain> take it away
13:41:11  <TrueBrain> how do you still have your sanity?
13:41:26  <andythenorth> I like the templating language
13:41:39  <andythenorth> it has the advantage that the XML syntax looks nothing like the nml :P
13:41:47  <andythenorth> nothing collides
13:42:09  <andythenorth> it's a html templater, I am using it all wrong
13:42:37  <frosch12> andythenorth: don't port to truewiki templates though :)
13:43:07  <andythenorth> top result for truewiki https://truewiki.wordpress.com/
13:43:32  <frosch12> yes, they are all weird
13:43:45  <frosch12> but with enough links to the real truewiki, we can fix that
13:43:48  <andythenorth> oof truewiki would be a lot of wear and tear on my {} keys
13:43:54  <andythenorth> I'd be worried the paint might come off
13:44:06  <TrueBrain> it did :(
13:44:54  <frosch12> the only key that shows lack of paint, is my ctrl key
13:45:00  <frosch12> i did not even play that much ottd :p
13:45:15  <andythenorth> I have a weird cramped little finger from ottd
13:45:21  <andythenorth> left-hand ctrl
13:45:31  <andythenorth> all that ctrl-clicking trains to set the livery
13:48:26  <andythenorth> unrelated: can we patch for 'autoreplace to match consist number [n]'?
13:49:55  *** gelignite has joined #openttd
13:51:37  <glx> ok I see what's wrong
13:51:49  <glx> read_only detection somehow fails
13:52:25  <glx> switch (FEAT_TRAINS, SELF, deasil_switch_graphics_vehicle,
13:52:25  <glx>     switch_initialise_alt_var_41(1770,2150,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1)
13:52:25  <glx>     ) {
13:52:25  <glx>     return deasil_switch_graphics_vehicle_cargo;
13:52:25  <glx> }
13:52:25  <glx> and similar are optimised
13:54:42  <glx> but I really don't understant what it's supposed to do
14:00:36  <glx> ok I kind of see
14:00:48  <glx> anyway read_only is broken
14:12:53  *** longtomjr has quit IRC
14:35:24  *** longtomjr has joined #openttd
15:05:18  <andythenorth> lol the dec hex dec conversion dance
15:05:34  <andythenorth> I have indexes from frosch in hex, I've converted them to dec manually for my constants
15:05:42  <andythenorth> I convert them back to hex with python
15:05:55  <andythenorth> then when they're wrong, nml reports the value back to me as dec
15:11:24  *** jottyfan has joined #openttd
15:16:10  *** tokai has joined #openttd
15:16:10  *** ChanServ sets mode: +v tokai
15:22:50  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y
15:23:02  *** tokai|noir has quit IRC
15:24:47  <glx> andythenorth: fixed is_read_only
15:24:54  <andythenorth> hurrah
15:26:10  <andythenorth> glx wfm thanks :)
15:26:22  <andythenorth> now just an option to suppress optimisation notices?
15:26:30  <andythenorth> or maybe FLHerne did that already?
15:26:54  <glx> I don't think it's done yet
15:30:20  <glx> more than 1600 removed action 2 for iron horse ;)
15:32:16  <andythenorth> hurrah
15:32:22  <andythenorth> all those single default result switches
15:33:28  <glx> oh some are not single default, but all results are the same ;)
15:34:07  <glx> so optimised to default only, then optimised again as constant
15:34:45  <glx> but it's not really surprising for a generated nml
15:35:20  * andythenorth wonders if filesize or compile time changes much
15:49:11  <glx> -rw-r--r-- 1 Loïc Loïc 16578353 15 nov.  16:41 after.nfo
15:49:11  <glx> -rw-r--r-- 1 Loïc Loïc 16939862 15 nov.  16:45 before.nfo
15:49:11  <glx> small nfo size reduction, but it should improve processing speed in openttd
15:49:31  <glx> less indirection means faster return
15:49:55  <glx> and of course it skips fetching the useless expression
15:57:00  <glx> oh and checking the optimised block list I can see some blocks that could also be optimised but are not
16:02:37  <andythenorth> the stuff Horse makes OpenTTD do is probably...unwise
16:07:15  <glx> https://pastebin.com/PXua7jjm <-- the 2 not optimised switch in this paste could be optimised
16:08:37  <andythenorth> yes
16:10:21  <glx> checking why it's not
16:12:40  <andythenorth> frosch12 assuming 2 sets of recolour sprites (handling 1cc, 2cc), is the correct way to index into them? https://gist.github.com/andythenorth/58471b095c63afdce69e6bc65fc59ca2
16:12:41  *** Flygon has quit IRC
16:12:58  <andythenorth> _seems_ to work
16:13:48  <frosch12> yes, ofc you can also put the switch variable into the formula
16:14:18  <frosch12> "case 1: return 1; case 2: return 2;" is not really meaningful
16:15:03  <frosch12> it's like writing "if (condition) { return true; } else { return false; }" :)
16:15:52  <andythenorth> but they differently use company_colour1 or company_colour2?
16:15:57  <andythenorth> or do I miss something?
16:16:14  <frosch12> ah, i didn't see that. all good :)
16:16:28  <andythenorth> this almost makes sense
16:16:37  <andythenorth> it's very retro having to keep count of sprites when reserving :)
16:16:40  <frosch12> stockholm syndrome?
16:17:00  <andythenorth> I think I can abstract most of it away in the generator
16:17:16  <andythenorth> the abstraction might be worse complexity than the problem :P
16:21:00  *** jottyfan has quit IRC
16:25:23  <glx> ah no they can't be optimised because they don't have default return, meaning they can fail
16:29:21  <andythenorth> ok :)
16:52:57  <andythenorth> hmm stable dict order in python yet? o_O
16:53:21  <andythenorth> 3.7 eh
16:55:35  <glx> when I read the nml I see they can indeed be optimised, but it's impossible to detect it automatically
16:57:46  <glx> lark_switch_graphics checks getbits(extra_callback_info1, 8, 8), then decides on 2 paths (0 or default)
16:58:36  <glx> if 0 it goes to lark_switch_set_layers_register_more_sprites, which STORE_TEMP some stuff than goes to lark_switch_graphics_vehicle
16:59:16  <glx> lark_switch_graphics_vehicle is a random choice for reversed/unreversed
17:00:31  <andythenorth> I am glad I don't try to write compilers :)
17:01:32  <glx> then each reversed/unreversed checks flip status, then the next step checks getbits(extra_callback_info1, 8, 8) again and fails if not 0
17:02:29  <glx> which can't fail because we are already in == 0 branch :)
17:03:01  <glx> but it's impossible to know from nmlc
17:17:15  <glx> ah after reading the templates I see why nml looks like that
17:21:16  <glx> andythenorth: if I correctly understand the logic, if you move https://github.com/andythenorth/iron-horse/blob/1a3584ead22e7c13e3f51435c1303c3e69e5581b/src/templates/vehicle_engine.pynml#L53 after the condition, and remove "0:" it should be the same, but optimisable
17:23:36  <andythenorth> makes sense
17:23:54  <andythenorth> isn't it weird that I don't return a default result there?
17:24:20  <andythenorth> oh it's only supposed to have explicit results nvm
17:25:00  <glx> anyway validity range for layers is checked earlier in https://github.com/andythenorth/iron-horse/blob/1a3584ead22e7c13e3f51435c1303c3e69e5581b/src/templates/graphics_switches.pynml#L6
17:26:24  <glx> so when you are in ${vehicle.id}_switch_graphics_vehicle_layers_${reversed_variant}_${flipped} you already know you will get a correct value
17:27:00  <glx> not having a default means CB_FAILED if value not in a given range, but that can't happen in this chain
17:28:13  <andythenorth> ok
17:28:20  <andythenorth> I don't know how anyone else reads my code :P
17:28:20  <andythenorth> oof
17:28:33  <glx> it's very hard to read your code :)
17:29:27  <andythenorth> ok I have finished recolouring for a bit, I'll move this result
17:29:52  <glx> and nml indentation in templates is weird in the resulting .nml
17:30:15  <FLHerne> glx: Try running it through nmlc -o blah.nml, it gets tidier :p
17:31:13  <andythenorth> yeah I did consider fixing the indentation
17:31:16  <andythenorth> but generated code so eh
17:31:43  *** HerzogDeXtEr has joined #openttd
17:32:48  <andythenorth> lark_switch_graphics_vehicle_layers_unreversed_flipped is now optimised
17:32:51  <andythenorth> and the other one
17:33:12  <andythenorth> if OpenTTD understood vehicle lengths and offsets correctly, this code would be simpler :P
17:33:58  <andythenorth> maybe it can't, due to newgrf authors, dunno
17:34:02  *** HerzogDeXtEr has joined #openttd
17:38:16  <glx> and that's a 84678 bytes improvement in nfo size :)
17:40:21  <andythenorth> pushed
17:40:45  <andythenorth> it's still funny that the nfo is so much bigger than the nml
17:41:23  <glx> well part of the nfo is the comments
17:41:40  <glx> nmlc is quite verbose in nfo :)
17:45:18  <andythenorth> suppression :P
17:45:33  <andythenorth> I wonder how much Horse code is junk handling flipped vehicle offsets
17:45:41  <andythenorth> maybe 20%
17:46:21  * glx slaps andythenorth with https://github.com/andythenorth/iron-horse/blob/a7db36964a5744f5f3cb186e6d4c4e7321a2e851/src/templates/vehicle_intermodal.pynml#L92
17:48:36  <andythenorth> it's because the template for properties always chains through ${vehicle.id}_switch_graphics_purchase
17:48:39  <andythenorth> I could conditional it
17:48:59  <glx> I mean the switch value is always 0
17:49:12  <glx> so a default is enough there
17:49:47  <glx> same for https://github.com/andythenorth/iron-horse/blob/a7db36964a5744f5f3cb186e6d4c4e7321a2e851/src/templates/vehicle_engine.pynml#L127
17:51:09  <andythenorth> saves 0.1MB of nfo :)
17:51:55  <andythenorth> pushed
17:55:02  <glx> I guess nmlc could detect those, it should be quite easy to see the expression is a constant
17:56:11  *** jottyfan has joined #openttd
18:24:51  <TrueBrain> I have one of those emails again, of which I am not sure what to do with it ...
18:24:52  <TrueBrain> https://pasteboard.co/JAvEIY0.png
18:25:04  <TrueBrain> how can an email address to nobody, be condidential?
18:25:20  <TrueBrain> if it is not addressed to anyone, how can it be only for those it is addressed to?
18:25:25  <TrueBrain> this is inception ..
18:26:25  <TrueBrain> pretty sure it crashes even the most advanced AI, so it is a good filter for bots
18:26:32  *** longtomjr has quit IRC
18:27:03  <frosch12> so, do you have projects that need funding?
18:27:15  <TrueBrain> MANY! But I am not allowed to read his email, I think
18:27:20  <TrueBrain> I am not sure
18:27:22  <TrueBrain> ....
18:31:20  <frosch12> i think they wouldn't deny "funding" a "project you can't disclose"
18:35:19  *** Wormnest has joined #openttd
18:55:11  *** jottyfan has joined #openttd
19:45:06  <frosch12> TrueBrain: did you misclick when choosing agpl?
19:45:13  <TrueBrain> no
19:45:18  <TrueBrain> why?
19:45:27  <frosch12> because you made so much fun of that license :)
19:45:47  <TrueBrain> it is the only sane license for software like this, as far as I know :)
19:49:01  <TrueBrain> I mostly hate there is need for such license in the world
19:49:13  <TrueBrain> as .. like .. big dudes .. come on .. stop stealing shit and selling it without contributing back
20:19:48  * andythenorth writes newgrfs
20:32:25  * andythenorth considers fading paint for older trains
20:32:42  <andythenorth> probably not enough colours to do that well
20:51:45  <andythenorth> hmm I need a train friend to talk about colours with
20:55:03  <frosch12> use spritestacks to alpha-blend a dirt layer on top :p
20:55:13  <andythenorth> ha
20:55:29  <andythenorth> oof I could automate the generation of the sprites for that
21:01:02  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y
21:01:50  <glx> added another optimisation (won't change anything for iron horse as you modified related templates already)
21:03:58  <andythenorth> \o/
21:05:04  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y
21:05:19  <glx> and of course flake8 and black complained :)
21:10:07  <andythenorth> offset bugs with recolour_sprites are quite lolz
21:10:18  <andythenorth> truly odd colour combinations
21:24:41  <LordAro> glx: codeql warning about a couple of things as well :p
21:24:55  <glx> saw it yes
21:25:51  <glx> only one in my PR and it's already fixed, just need a push
21:28:32  <LordAro> :)
21:28:57  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Switches optimisations improvements and fixes https://git.io/Jks2Y
21:48:19  <DorpsGek_III> [OpenTTD/nml] LordAro approved pull request #170: Switches optimisations improvements and fixes https://git.io/JkZMS
21:57:46  <andythenorth> \o/
22:01:44  *** frosch12 has quit IRC
22:19:34  *** rptr_ has joined #openttd
22:22:23  *** Flygon has joined #openttd
22:39:08  *** sla_ro|master has quit IRC
22:39:18  *** HerzogDeXtEr has quit IRC
23:03:28  *** Wolf01 has quit IRC
23:07:34  *** andythenorth has quit IRC
23:29:47  *** iSoSyS has quit IRC
23:34:52  *** Progman has quit IRC
23:35:39  *** nielsm has quit IRC
23:40:35  *** rptr_ has quit IRC

Powered by YARRSTE version: svn-trunk