Log for #openttd on 14th November 2020:
Times are UTC Toggle Colours
00:00:11  *** WormnestAndroid has joined #openttd
00:01:12  *** Flygon has joined #openttd
00:41:16  *** Progman has quit IRC
01:21:31  *** HerzogDeXtEr has quit IRC
04:11:20  *** glx has quit IRC
06:56:21  *** longtomjr has joined #openttd
07:32:08  <longtomjr> Oooh in a hot country is out for FIRS4. Might be time for another africa-themed multiplayer game in a bit
07:40:09  *** andythenorth has joined #openttd
07:41:17  <longtomjr> andythenorth, having a look at FIRS 4 alpha 4 now. A lot of exciting changes :)
07:41:34  <andythenorth> have you played previous alphas? o_O
07:42:07  <longtomjr> Played alpha 3
07:42:29  <longtomjr> Just read the changelog for alpha 4, super happy about in a hot country being back
07:43:25  <longtomjr> From recent games, my in a hot country game I ran were definately one of my favorites.
07:44:45  <longtomjr> I really like the addition of only spawning primary industries during the game, and not secondaries.
07:47:00  <longtomjr> also, I have an IH request if you are taking those (is there a box I missed on the way in?). Having ng torpedo wagons would be nice, since I tend to use ng for my factory complexes as a bit of a veriaty.
07:48:41  <longtomjr> I don't know how historically accurate it is, I don't think I have seen one in South Africa ever.
07:48:57  <longtomjr> And we tend to export most of our iron and manganese at this point
07:49:34  <longtomjr> Japan might have some
07:56:35  <longtomjr> andythenorth, there seems to be some glich with the coke oven
07:56:43  <longtomjr> sprite wise
07:56:46  <andythenorth> graphical?
07:56:50  <andythenorth> flickering sprite?
07:56:50  <longtomjr> yep
07:56:53  <longtomjr> yep
07:56:58  <andythenorth> yup, it's annoying
07:57:12  <longtomjr> so known issue?
07:57:21  <andythenorth> unfortunately :|
07:57:30  <longtomjr> is it fixable?
07:57:36  <longtomjr> or is it an ottd issue?
07:57:47  <andythenorth> it's probably something I've done wrong
07:57:57  <andythenorth> I don't really understand sprite sorting, it just mostly works
07:58:05  <andythenorth> when it doesn't I have no clue why :)
07:58:47  <longtomjr> Is the coke oven one you made larger?
08:02:28  <andythenorth> yes
08:02:39  * andythenorth looking for narrow gauge bottle cars
08:04:18  <longtomjr> I also had a look, but i am certain you have better resources for this
08:04:55  <andythenorth> doesn't need to be realistic
08:05:16  <longtomjr> found one
08:05:23  <longtomjr>
08:07:03  *** sla_ro|master has joined #openttd
08:10:41  *** nielsm has joined #openttd
08:13:34  <andythenorth> the primary issue is that I will have to rework the current sprite for size :P
08:15:59  <longtomjr> Odd, the ng ladle wagon looks like the same size, or even bigger (but that is probably the smaller rail playing tricks on my midn)
08:16:25  <andythenorth> it's moved down by 1 pixel
08:16:35  <andythenorth> so the ladle looks larger relative to wheels
08:17:06  <longtomjr> I eaaah ok
08:17:14  <longtomjr> *aah
08:17:23  <andythenorth> do you want the appearance of the bottle car, or just a dedicated pig iron wagon?
08:18:02  <longtomjr> I like the idea of transporting molten metal between the different part of my industrial complex.
08:18:08  <longtomjr> So that is about it.
08:18:21  <longtomjr> I would even be ok if the ladle wagon can just refit to pig iron
08:18:27  <longtomjr> since that makes sense for small distances
08:18:46  <longtomjr> (I think, I am not an expert on any of this)
08:19:53  <longtomjr> But I mean it is really not a big deal. Currently you can just work around it if you have a dual guage track. So you build a dual guage depot, and then just use ng trakcs
08:19:59  <longtomjr> and the pig iron wagon will work
08:21:20  <longtomjr> but this is obviously a a nice-to-have and were just a suggestion :)
08:31:44  <andythenorth> oh is there a grf with dual gauge now?
08:32:23  <longtomjr> U&Rermm 2 has a dual guage depot, don't know about other options
08:33:44  <andythenorth> might do a hot ingot car
08:34:04  <longtomjr> Ooooh
08:34:14  <andythenorth> or I might do the torpedo
08:34:15  <andythenorth> or both
08:34:20  <andythenorth> it's been on my list for a while
08:34:37  *** jottyfan has joined #openttd
08:34:54  <longtomjr> Ah ok, will be fun to have options :)
08:35:42  <longtomjr> btw, I am getting an error when trying to make IH locally "AttributeError: 'list' object has no attribute 'pipeline'"
08:36:04  <longtomjr> in
08:37:37  *** iSoSyS has joined #openttd
08:39:02  *** jottyfan has quit IRC
08:39:54  <longtomjr> whmm what am I missing
08:44:30  <longtomjr> andythenorth, it seems like you are passing in the list that you are looping over, instead of the variable assigned in the loop in line 82 of
08:45:33  <longtomjr> yep, changing that fixed the build step
08:45:49  *** HerzogDeXtEr has joined #openttd
08:47:07  <andythenorth> there's a known current bug
08:47:28  <andythenorth> if you're using the makefile, set the var for the number of pool workers
08:47:37  <andythenorth> I use 'PW=16'
08:48:11  <longtomjr> I am not a walrus lol
08:48:23  <andythenorth> can't even remember what that's for :P
08:48:29  <andythenorth> mostly I remove outdated error messages
08:49:03  <longtomjr> hmm, getting an nmlc error now
08:49:11  <longtomjr> `nmlc ERROR: "generated/iron-horse.nml", line 4528: Switch-block requires 4 parameters, encountered 5`
08:49:36  <longtomjr> were there an update
08:50:13  <longtomjr> I am on the latest release version. Are you using a later version from git?
08:52:11  <longtomjr>
08:52:41  <andythenorth> I have a patched version, I was testing PRs
08:52:44  <andythenorth> I should update
08:53:18  <longtomjr> Aaah ok ,I think that commit that I linked can be the one that adds the extra switch params
08:53:46  <longtomjr> Sorry for bothering with this, just wanted to play around and look at the IH code.
08:56:29  <andythenorth> nah it's fine
09:12:31  *** Progman has joined #openttd
09:24:34  *** Gustavo6046 has quit IRC
09:24:39  *** Gustavo6046 has joined #openttd
09:34:44  <TrueBrain> wow, CloudFlare already replied .. in fact, they replied within 2 hours
09:34:46  <TrueBrain> impressive
09:34:54  <TrueBrain> but no, we cannot afford CloudFlare doing our binary distribution :P
09:35:05  <LordAro> a shame :p
09:35:33  <LordAro> TrueBrain: i "finished" the ansible thing btw
09:35:50  <TrueBrain> can you test it out somewhere?
09:38:25  <LordAro> hmm
09:39:22  <LordAro> not easily
09:39:50  <TrueBrain> so how do you know it works? :P
09:40:01  <TrueBrain> I will see if we can get the VPSes :)
09:40:11  <LordAro> because it looks fine :p
09:40:30  <TrueBrain> ...... rriiiggghhttt .. I don't know a lot about Ansible, but I know that isn't how it works :D
09:40:34  <TrueBrain> :P
09:40:41  <TrueBrain> setup a VM and provision that?
09:40:42  <LordAro> i have no doubt there will be additional tweaks required, hence '"finished"' ;p
09:40:49  <TrueBrain> but we can also wait for the VPSes, and "test it live" :)
09:45:14  <TrueBrain> I sent a mail to the mister in charge to rent those 2 VPSes :)
09:47:58  <TrueBrain> LordAro: did you add the proxy_pass to it already?
09:48:51  <LordAro> i didn't, what was that needed for?
09:49:00  <TrueBrain> did you miss a part of the conversation yesterday? :P
09:49:02  <LordAro> i thought this was pure file serving
09:49:07  <LordAro> apparently!
09:49:19  <TrueBrain> we decided yesterday that it would be a lot easier if these nginx VPSes are cache proxies
09:49:22  <TrueBrain> and fetch their data from AWS
09:49:25  <TrueBrain> and cache it for .. a long time
09:49:35  <TrueBrain> as that means we don't have to actively push data to these VPSes
09:49:53  <TrueBrain> I linked example configuration for that
09:49:53  <LordAro> oh i see
09:50:01  <TrueBrain> then you complained your regex would be for nothing
09:50:15  <TrueBrain> but it isn't
09:50:23  <TrueBrain> as you should rewrite before doing the proxy_pass
09:50:56  <TrueBrain> it is a bit more complex configuration, but one which you can test locally :)
09:51:21  <TrueBrain> I test nginx config via a Docker :)
09:52:38  <LordAro> i'd have to reboot into linux though :p
09:52:46  <TrueBrain> WSL2!
09:53:01  <LordAro> and i need to do various disk shuffling before i can use it sanely
09:53:18  <TrueBrain> well, you can wait for the VPSes to be provisioned of course
09:54:02  <TrueBrain> right, bringing the wiki live was the next task on the list ... lets see ...
09:54:45  <TrueBrain> I think we did everything we could to prepare .. so it is now basically flipping the switch ...
09:54:56  <TrueBrain> which does require some reprovisioning of certificates, but that will be fine
09:58:33  <TrueBrain> what always the interesting thing is about changing domains with CDK and AWS .. you get these conflicts
09:58:46  <TrueBrain> one part generates the listener with the right domain etc, and outputs what he is called
09:58:54  <TrueBrain> another part uses that name to provision the container to link to that
09:59:06  <TrueBrain> the problem is ... you cannot change the listener to another domain, as that changes the name, and the old name is in use
09:59:21  <TrueBrain> it becomes this infinite: I AM STUCK, situation
09:59:27  <TrueBrain> which kinda cracks me up :P
10:02:44  *** Flygon has quit IRC
10:11:00  <andythenorth> hmm
10:11:07  <andythenorth> newgrf ponies
10:11:17  <TrueBrain> hmmm ... ponies .....
10:11:22  <andythenorth> could I have some random bits from the vehicle group?
10:11:32  <TrueBrain> 1011100011
10:11:35  <TrueBrain> there you go!
10:11:37  <andythenorth> thanks!
10:11:45  <TrueBrain> yw mate
10:11:48  <andythenorth> can you supply that to every player in every game?
10:11:53  <andythenorth> TB-as-a-service
10:11:59  <TrueBrain> I -could-, but I really do not want to :)
10:12:15  <andythenorth> we haven't broken enough newgrf stuff recently
10:12:48  <TrueBrain> every time I think about these things, so many cool things pop in my mind, what we could do with OpenTTD etc ... LALALALALALALAALALA, I have other things to do :P
10:13:08  <andythenorth> first we need to clone ourselves
10:13:15  <andythenorth> I have only 2x as many ideas as time
10:13:18  <andythenorth> but still
10:13:26  *** Wolf01 has joined #openttd
10:13:34  <TrueBrain> I still want to finish my SNES decompiler/emulator ...
10:13:39  <TrueBrain> haven't had time for that in months now
10:13:42  <TrueBrain> stupid AWS migration :P
10:13:55  <TrueBrain> why did I build my own wiki server? :D
10:13:56  <andythenorth> what we need is to print money and not have jobs
10:14:05  <andythenorth> how could we arrange that?
10:14:19  <TrueBrain> owh, ffs, deployment is failing because of more dependencies .. silly dependencies being silly
10:14:22  <TrueBrain> ugh .. euhmm ...
10:14:47  <TrueBrain> pre-checks didn't show me it would do this .. grrr
10:15:44  <TrueBrain> meh, I am just going to remove it then .. some downtime, but what-ever
10:19:10  <TrueBrain> some days I like 100% uptime, some days I just cannot be bothered :P
10:32:04  <andythenorth> longtomjr pushed a fix to the single-process rendering, thanks
10:34:47  <TrueBrain> is live, depending on your DNS cache, it might take an hour before you can see that :P
10:36:05  <TrueBrain> so many 404s coming in :P
10:36:51  <TrueBrain> why do so many browsers hardcoded try /favicon.ico, instead of what is indicated on the page?
10:36:54  <TrueBrain> I don't get that ...
10:40:58  <longtomjr> Thanks andythenorth :)
10:41:45  <LordAro> TrueBrain: gist updated as requested
10:41:50  <LordAro> and completely untested, ofc
10:41:52  <LordAro> :p
10:42:06  <LordAro> stackoverflow says it should work
10:42:13  <TrueBrain> I assume the first "location" block is a typo? :)
10:42:27  <TrueBrain> URL is btw
10:42:50  <LordAro> yes, because i didn't want to delete it while i was still modifying it :p
10:42:58  <TrueBrain> and you are missing the line that configured the cache
10:43:20  <LordAro> so i am
10:44:51  <TrueBrain> next up would be: how do we announce these proxy VPSes to the balancer ...
10:44:59  <TrueBrain> do we hard-code it? But what if they crash for what-ever reason?
10:45:06  <Wolf01> <TrueBrain> is live <- nice :D BTW, it says I'm logged in as you
10:45:15  <TrueBrain> wuuttthhh?
10:45:20  <TrueBrain> euhmm ... lol?
10:45:46  <TrueBrain> that .. is not what it should say, ofc :D
10:45:58  <Wolf01>
10:46:01  <TrueBrain> lol .. that page is cached .. how ...
10:46:05  <TrueBrain> I believe you, no worries :)
10:46:36  <TrueBrain> you aren't really logged in, so anything that requires logged in, will tell you to login
10:46:39  <TrueBrain> but .. that is not correct :D
10:46:48  <LordAro> haha
10:47:08  <LordAro> TrueBrain: gist fixed (for when you're not fighting caching issues)
10:47:32  <LordAro> can confirm Wolf01
10:47:49  <TrueBrain> nice catch Wolf01  :)
10:47:56  <reldred> Lol I've got it as well
10:48:01  <Wolf01> It happened with our institutional sites as well, they enabled caching to keep up with the requests and you were able to see the details of the last person which logged in before you
10:48:05  <TrueBrain> solution is simple:
10:48:50  <TrueBrain> LordAro: your comment about not logging 200s is a lie
10:48:56  <TrueBrain> that part only works if there really is something in front of it :D
10:49:09  <TrueBrain> if you enabled log-rotate, I would just log everything, tbh
10:49:19  <TrueBrain> inactive=60m should also be: inactive=1y
10:49:45  <reldred> Also that newgrf list needs some work, all my stuff is on bananas/github now
10:49:58  <LordAro> i just copied the comment from your original nginx conf
10:50:08  <TrueBrain> LordAro: yeah, but I wouldn't copy that whole block
10:50:13  <TrueBrain> why not log 200s on the VPSes
10:50:33  <TrueBrain> and I like the argument: I JUST COPIED IT! I HAVE NO BRAAIINNNZZZZ :P :P :P :D <3 <3
10:50:58  <TrueBrain> reldred: I suggest you hit that Login button and fix it ;)
10:51:58  <TrueBrain> LordAro: on AWS, there is first a loadbalancer, which logs everything, and then the containers; those containers, if they also log 200s, spams the logs, which are stored in AWS for debugging. That is a lot of noise. So there we disable 200s from the logs, as if we want to know the 200s, we can check with the load balancer
10:52:11  <TrueBrain> for these VPSes, there is nothing in front of them, so I guess storing them on disk is fine, as long as there is a log rotate ofc
10:52:17  <TrueBrain> for like, what, 90 days? 30 days?
10:52:18  <TrueBrain> what-ever
10:52:48  <TrueBrain> w00p, now it is LordAro that is logged in :P
10:52:53  <TrueBrain> depplooyyy quuiiccckkkeeerrrr
10:53:10  <LordAro> :D
10:53:58  <Wolf01> :D
10:54:00  <TrueBrain> there we go
10:54:06  <TrueBrain> I like how it is always something that breaks :P
10:54:16  <TrueBrain> but I absolutely love how easy this was to fix on production .. I mean, what, 5 minutes?
10:54:31  <TrueBrain> sorry, 10
10:55:00  <TrueBrain> I am happy you spotted it as soon as you did Wolf01  :) Otherwise it could have been hiding for a while :D
10:55:39  <LordAro> TrueBrain: fixored
10:56:14  <TrueBrain> looks good to me
10:56:30  <TrueBrain> so how are we going to announce these VPSes?
10:56:37  <TrueBrain> how do we know if they are online, basically
10:57:04  <TrueBrain> do we push or do we pull
10:57:11  <LordAro> `location = /status { return 200; }` ?
10:57:25  <TrueBrain> yeah, well, use /healthz , but yes :)
10:57:37  <TrueBrain> but we can also push
10:57:45  <TrueBrain> that the VPSes tell the balancer every 5 minutes: I AM HERE
10:57:50  <TrueBrain> possibly with a payload with some stats
10:58:22  <LordAro> could do, though that's more work :p
10:58:40  <Wolf01> That's like one of the first thing I do... check if forums etc use the same session of another user, the support forum of the development tool we use at work used to append the session string parameter to the urls, so when you wanted to link to another topic you had to remove it manually or other users were able to switch user after they clicked on you link... luckily thei fixed it after one
10:58:40  <Wolf01> user started to post contents like "[user A] hello, I'm user B, I clicked on a user A link and now I'm him"
10:58:46  <TrueBrain> LordAro: more work for who, is the question ;)
10:59:10  <TrueBrain> Wolf01: lol :)
10:59:26  <TrueBrain> LordAro: one of the two sides has to get the status of the other side, so there is some work involved no matter what
10:59:37  <TrueBrain> or we can say: WE TRUST THE VPSES ARE ALWAYS UP :D
11:00:21  <TrueBrain> ideally, what frosch123 mentioned, we would like to be informed when a VPS is down
11:00:23  <TrueBrain> which can be done via Sentry
11:00:35  <TrueBrain> but that means we have to send stats to Sentry
11:01:11  <TrueBrain> and this is why pushing can be useful, as that can include some metrics of the VPS
11:01:19  <LordAro> i would think it would much easier to get the bananas-server to do: `for server in fileservers: if server.get("/healthz"): return server.get(actualfilepath)`
11:01:24  <TrueBrain> but the free version of nginx has poor status-information
11:01:41  <TrueBrain> LordAro: we are NOT going to do that for EVERY request :P
11:01:57  <TrueBrain> you want to do health-checks every N seconds
11:02:12  <LordAro> :p
11:02:14  <TrueBrain> it would kill the balancer otherwise
11:02:18  <LordAro> i guess that is a bit much
11:02:27  * LordAro has no experience with distributed systems
11:02:39  <TrueBrain> the problem with your solution is, that adding/removing VPSes means a configuration change of the balancer
11:02:45  <TrueBrain> with pushing, it will be dynamic
11:02:50  <LordAro> true
11:02:52  <TrueBrain> (if a VPS announces itself, it is there)
11:03:02  <TrueBrain> there are pros and cons to all of this btw, there is no "right way"
11:03:26  <TrueBrain> but decoupled systems are easier to maintain, in general
11:03:27  <LordAro> ofc
11:03:39  <TrueBrain> as, if you want to upgrade one of the VPSes, you can just do that
11:04:32  <TrueBrain> but okay, for a v1 of this, we can indeed hardcode the URLs in the balancer (well, via configuration, but it would require a redeployment to change)
11:04:42  <TrueBrain> and query every N seconds if they are still there
11:04:57  <TrueBrain> I am however wondering how much work the other way around is
11:05:08  <TrueBrain> it would require a Python script on the VPS on a crontab
11:05:12  <TrueBrain> which first checks if the nginx is alive
11:05:20  <TrueBrain> then call the balancer with a secret telling: HI!
11:05:40  <TrueBrain> basically, you reverse the trust
11:09:34  <DorpsGek_III> [OpenTTD/aws-infra] TrueBrain pushed 4 commits to master
11:09:35  <DorpsGek_III>   - Add: remove the "" domain alias (by TrueBrain)
11:09:36  <DorpsGek_III>   - Fix: remove AWSALB cookie from our traffic (by TrueBrain)
11:09:37  <DorpsGek_III>   - Add: run wiki on ECS for both production and staging (by TrueBrain)
11:09:38  <DorpsGek_III>   - Add: scale up our ECS cluster to 4 nodes, as we are out of memory (by TrueBrain)
11:10:44  <LordAro> TrueBrain: a couple of lines with requests, i think?
11:11:04  <TrueBrain> it sounds trivial to write
11:11:09  <TrueBrain> I just wonder if it is a good idea :D
11:11:32  <LordAro> if requests.get(localhost/healthz):, some_secret_here)
11:11:46  <TrueBrain> it does need to tell the URL it is on too
11:12:00  <LordAro> if requests.get(localhost/healthz):, my_hostname, some_secret_here)
11:12:04  <LordAro> :p
11:12:22  <LordAro> tricky bit (to me) is getting the secret right
11:13:00  <andythenorth> oh Apple silicon support :o
11:13:17  <TrueBrain> andythenorth: well, the lack thereof, is the conclusion :P
11:13:18  <andythenorth> should I buy an AS thing?
11:14:08  <andythenorth> hmm
11:14:25  <TrueBrain> LordAro: what I like about that solution, that if you want to do maintenance on a VPS, you disable that cronjob for a few minutes
11:14:29  <DorpsGek_III> [OpenTTD/OpenTTD] LordAro commented on pull request #8340: Draft: Feature: Create Universal (x86_64 + Apple Silicon) build on macOS
11:14:32  <TrueBrain> meaning the balancer will no longer direct traffic to it
11:14:59  <andythenorth> the raw geekbench numbers on Apple silicon are high
11:15:09  <andythenorth> maybe Mac laptops will stop being achingly horribly slow
11:15:18  <TrueBrain> LordAro: I like how your comment also announced our ticket on their tracker :D
11:15:25  <LordAro> ¯\_(ツ)_/¯
11:15:29  <andythenorth> incentive :P
11:15:32  <TrueBrain> :D
11:15:34  <LordAro> exactly!
11:15:49  <TrueBrain> so how to deal with secrets .. hmm ...
11:16:21  <andythenorth> my kids' £400 2016 iPads substantially outperform my £2500 i9 Mac
11:16:26  <andythenorth> oof
11:16:31  <andythenorth> Apple laptops are crap
11:17:01  <andythenorth> as per all those issues we have about OpenTTD mac performance
11:17:05  <LordAro> that is... surprising
11:17:11  <TrueBrain> LordAro: guess you have to look into Ansible Vault :P
11:17:28  <andythenorth> we should get Apple to focus on OpenTTD benchmarks TBH
11:17:33  <andythenorth> maybe I will email them
11:17:59  <LordAro> TrueBrain: quite likely!
11:18:18  <TrueBrain> is that doable? As I agree with you that the most complex part of this idea is how to share the secret
11:18:22  <LordAro> we just put passwords into the config files in ansible at work, as it's all fully internal :p
11:18:33  <TrueBrain> .... don't .....
11:18:37  <TrueBrain> I am going to pretend I did not read that
11:18:52  <LordAro> heh
11:18:58  <TrueBrain> but otherwise we can just do it the hard-coded way
11:19:04  <TrueBrain> I mean .. that would be fine for now too
11:20:27  * LordAro does some ansible-vault reading
11:20:44  <TrueBrain> wow ... our request/sec doubled, with the switch of wiki :P
11:21:57  <TrueBrain> might be interesting to see if we hit AWS ALB limits :P
11:22:12  <TrueBrain> it is funny .. all the domains are in a single list on the ALB, and it triest to match them from top to bottom
11:22:17  <TrueBrain> I add new services at the bottom, because that is easier
11:22:26  <TrueBrain> meaning 7 rules are evaluated before wiki is considered
11:22:30  <TrueBrain> I... might want to change that :D
11:23:13  <LordAro> ALB?
11:23:23  *** iSoSyS has quit IRC
11:23:36  <TrueBrain> Application Load Balancer
11:29:40  <TrueBrain> our main website is 60% of the requests compared to the wiki
11:31:04  <TrueBrain> it is like: 1000 / 680 / 150 / 23 requests per 5 minutes for wiki / www / eints / binaries
11:31:05  <TrueBrain> :D
11:31:29  <TrueBrain> (CDN information is not part of the same graph, so I don't know that)
11:32:37  <TrueBrain> and other than a lot of people getting 404s, it seems stable, the wiki
11:34:35  <LordAro> oof
11:34:48  <TrueBrain> takes a bit of time for search engines to update :)
11:34:51  <TrueBrain> not something we can help/fix
11:35:25  <LordAro> indeed
11:35:26  <TrueBrain> hmm .. pretty sure my caching is too aggressive ... Categories and Folders are cached, but never invalidated ... :P
11:45:24  <LordAro> TrueBrain: i wrote some more things in the gist
11:45:45  <LordAro> i should point out that i am being really bad - every single bit of this has been written in the github web interface
11:45:55  <LordAro> not even slightly been checked for syntax, other than using the highlighting :p
11:51:42  <TrueBrain> What could possibly go wrong, right? :D
11:51:53  <LordAro> exactly!
11:51:54  <andythenorth> hmm will I update nml to trunk?
11:52:00  <andythenorth> I have some PR I am depending on
11:52:08  <andythenorth> what could go wrong? :P
11:52:11  <LordAro> which PR?
11:52:17  <LordAro> we merged most of them..
11:53:35  * andythenorth looks
11:54:52  <andythenorth> wow nml trunk got noisy
11:55:15  <LordAro> yeah, we rewrote everything
11:55:45  <andythenorth> 3729 Horse warnings where previously there were none
11:55:51  <LordAro> :D
11:56:06  <andythenorth> dunno which of these are spurious and which are the actual errors
11:56:17  <LordAro> ideally none of them are spurious :p
11:57:08  * andythenorth looks what broke
11:58:52  <andythenorth> getting a lot of 'not referenced' for cases I don't understan
11:58:55  <andythenorth> understand *
11:59:04  <andythenorth> what triggers not referenced now?
11:59:07  <TrueBrain> LordAro: how does Ansible Vault work, as in, can you commit these playbooks? Does it need a password to unlock?
11:59:35  <LordAro> TrueBrain: aiui, yeah
11:59:48  <TrueBrain> aiui? Wuth?
11:59:53  <LordAro> as i understand it
11:59:58  <andythenorth> example
12:00:02  <LordAro> --ask-vault-pass when running the playbook
12:00:07  <TrueBrain> cool
12:00:10  <LordAro>
12:00:12  <TrueBrain> well, that works, I guess
12:00:23  <andythenorth> 'breeze_switch_create_effect_check_railtype_unreversed' is unreferenced
12:00:32  <andythenorth> but that paste suggests otherwise
12:00:44  <TrueBrain> now the question: how often do we do the healthz check
12:00:49  <TrueBrain> on AWS everything run on 30 seconds
12:00:52  <LordAro> andythenorth: sounds like a bug that you should complain at glx about
12:00:54  * andythenorth tanks for a bit, 3729 errors are a lot
12:00:59  <LordAro> (i.e. file an issue)
12:01:29  <TrueBrain> guess 30 seconds is fine here too
12:01:53  <TrueBrain> (direct people to a broken server for 5 minutes sounds too much, but I dunno)
12:02:05  <LordAro> difficult to run a cron more than once a minute :p
12:02:07  <TrueBrain> well, no, AWS does a check every 30 seconds, and if you missed 2, you are marked unhealthy
12:02:16  <TrueBrain> owh, yes, cron .. hmm
12:07:35  *** jottyfan has joined #openttd
12:08:08  <LordAro> TrueBrain: thought: will proxying http -> https actually work?
12:08:30  <LordAro> i.e. bananas-1.cdn:80 -> bananas.cdn:443
12:08:32  <reldred> I've done it with nginx and haproxy before
12:08:35  <TrueBrain> it is not a proxy, what we are doing
12:08:43  <TrueBrain> nginx fetches the file
12:08:47  <TrueBrain> and returns it as if it was his
12:08:47  <LordAro> proxy_pass'ing
12:09:04  <TrueBrain> well, it is a proxy, but .. euh .. it is not forwarding
12:09:08  <TrueBrain> so nginx creates the connection
12:09:10  <LordAro> but if you say so :p
12:09:12  <TrueBrain> so yeah, that works
12:09:17  <TrueBrain> well, test it out! :P
12:09:20  <TrueBrain> :D :D
12:09:22  <LordAro> D:
12:10:53  <TrueBrain> oeh, someone found a bug! :D
12:11:45  <TrueBrain> well, that is a most unusual request that someone did to the server
12:11:46  <TrueBrain> lol
12:12:24  <andythenorth> hmm, now I need to bisect to a functional nml rev :)
12:12:25  <andythenorth> oof
12:12:29  <andythenorth> Horse is quite broken in game
12:13:12  <LordAro> :(
12:13:30  <andythenorth> stuff happens
12:13:48  <andythenorth> we can fix it!
12:13:55  <LordAro> :o
12:17:17  <andythenorth> introduced by
12:17:26  <andythenorth> not sure Horse is actually broken in game
12:18:06  <TrueBrain> the input LordAro  gives to this conversation is amazing :D
12:18:13  <TrueBrain> so happy he hasn't found the UTF-8 variants :P
12:18:22  <andythenorth> are constants being substituted for switch results, leaving the switch orphaned?
12:18:31  <LordAro> :ꙮ
12:18:49  <LordAro> is this better? (check the fix commit)
12:19:45  <LordAro> andythenorth: if you could produce a minimal example, i'm sure glx would appreciate it :p
12:20:57  <andythenorth> I have a feeling the cases are obvious
12:21:03  * andythenorth will await glx
12:21:58  *** frosch123 has joined #openttd
12:31:54  <milek7> LordAro: apart from cron, there is systemd timers thing
12:32:03  <LordAro> very true
12:32:10  <LordAro> not sure if that can run more often than 1min though
12:32:16  <LordAro> or if it's advisable to do so
12:32:30  <TrueBrain> right, pushing a few to wiki now to fix cache invalidation issues :)
12:32:38  <TrueBrain> not that anyone would have noticed, as nobody is editing :(
12:32:38  <TrueBrain> :P
12:32:46  <TrueBrain> a few? a fix
12:32:46  <TrueBrain> ffs :P
12:32:47  <LordAro> clearly just have 2 cron rules - `./foo` and `sleep 30 && ./foo` :p
12:33:04  <TrueBrain> LordAro: we could also just make a Python process run for-ever, I guess
12:33:15  <LordAro> we could
12:33:21  <milek7> knowing systemd, it likely can :P
12:33:38  <TrueBrain> but that is making things even more complicated, honestly
12:34:05  <TrueBrain> you know what, lets first get this to work, and extend on it later
12:34:10  <TrueBrain> so hardcoding a list it is
12:34:11  <milek7> AccuracySec=    Specify the accuracy the timer shall elapse with. Defaults to 1min. [...]  To get best accuracy, set this option to 1us.
12:34:18  <TrueBrain> and bananas will query the server regular for healthz
12:42:52  <TrueBrain> what to do if there are no servers? Hmm
12:42:56  <TrueBrain> fall back to AWS, I guess
12:43:16  <LordAro> what if AWS doesn't work? :p
12:43:24  <TrueBrain> you cannot reach the service ;)
12:50:29  <andythenorth> oof I have discovered Horse lacks many wagon types
12:50:33  * andythenorth much to do
12:53:05  <TrueBrain> 2020-11-14 13:52:53 ERROR    CDN server "" offline: Cannot connect to host ssl:default [Connect call failed ('', 8080)]
12:53:10  <TrueBrain> that will go to sentry if a server goes offline
12:53:14  <TrueBrain> sounds good enough to me :D
12:54:47  <TrueBrain> LordAro: owh, btw, can you also provision "staging" variant?
12:55:08  <TrueBrain> so they should listen on both as
12:55:49  <TrueBrain> hmmm .. TrueWiki error .. a cache file is not there that should be there ... interesting ...
12:56:25  <TrueBrain> ah, of course, oops
12:57:52  *** tokai has joined #openttd
12:57:52  *** ChanServ sets mode: +v tokai
12:59:18  <DorpsGek_III> [OpenTTD/team] andrejmoltok opened issue #87: [ro_RO] Translator access request
13:01:53  <TrueBrain> so many fixes for the caching .... it is funny :D
13:04:01  <TrueBrain> deploying fix for the page that broke ... pompiedom :)
13:04:44  *** tokai|noir has quit IRC
13:06:05  <Wolf01> Deploying fixes, deploying bugs, deploying fixes for bugs that weren't :P
13:06:15  <DorpsGek_III> [OpenTTD/bananas-server] TrueBrain opened pull request #37: Add: support more than one CDN url
13:06:24  <TrueBrain> LordAro: how about we start with something simple like that ^^ ?
13:06:49  <TrueBrain> means you can do away with the cron + Python script
13:06:52  <TrueBrain> only /healthz is needed
13:08:12  <TrueBrain> if it misses a single health-check, the server is marked as offline
13:08:20  <TrueBrain> we could fancy-pancy that a bit by allowing to miss 1 or 2
13:08:29  <TrueBrain> but .. we can test this on staging, see how often that happens
13:11:13  <TrueBrain> means you can remove the vault stuff too btw :P
13:11:48  <TrueBrain> and now we wait for orudge to read his email :P :D :)
13:33:10  *** glx has joined #openttd
13:33:10  *** ChanServ sets mode: +v glx
13:44:17  <frosch123> TrueBrain: i cannot use [[Folder:foo | bar]] to link to folders?
13:44:26  *** rptr_ has joined #openttd
13:44:44  <TrueBrain> frosch123: [[:Folder:en/]] should work
13:46:54  <frosch123> nope, depending on leading : or trailing / i get different error messages, but none work
13:49:00  <TrueBrain> it is was is used internally .. let me check :D
13:49:24  <frosch123> <- updated the manual of style (rewrote 50%)
13:49:37  <TrueBrain> [[:Folder:Page/en/]]
13:49:38  <TrueBrain> works for me
13:49:48  <frosch123> ah, with Page .)
13:49:53  <TrueBrain> yeah, ofc with Page :)
13:50:13  <TrueBrain> well, ofc .. Folder is the exception I guess
13:50:19  <TrueBrain> but I hope that does make sense :P
13:51:02  <TrueBrain> okay ... for the led-strip I had in mind, I need a 18A power supply .. which costs 20 euro .. pffff
13:51:10  <TrueBrain> the powersupply is more expensive than the led-strip itself
13:52:20  <frosch123>  [[:Folder:Page/en/]] works, but  [[:Folder:Page/en/ | foobar]] does not
13:52:48  <TrueBrain>
13:52:50  <TrueBrain> works for me
13:53:02  <TrueBrain> lose the spaces, I guess
13:53:20  <frosch123> yes, spaces are the problem :)
13:53:35  <TrueBrain> guess it is missing a strip() somewhere :)
13:53:46  <TrueBrain> submit an issue :D
13:53:56  <TrueBrain> maybe the author can be bothered to fix it :P
13:54:05  <TrueBrain> btw, frosch123 , how about a news item? :D :D :P
13:54:20  <frosch123> i am working on the pages i want to link from it :p
14:01:50  <frosch123> ah, no dorpsgek yet?
14:01:55  <frosch123>
14:02:50  <TrueBrain> yeah .. from "en" and "nl" those references are already removed
14:02:55  <TrueBrain> maybe you want to put them back :P
14:03:14  <TrueBrain> and
14:03:17  <frosch123> yeah, from the frontpage. but they do not belong tehre
14:03:27  <frosch123> so, no, i won't put them back :p
14:03:33  <frosch123> but yes, frontpage is next
14:03:50  <TrueBrain> I mention it, as for other languages you do change them
14:03:58  <TrueBrain> (in that PR)
14:04:07  <frosch123> yes, sed applies to everything
14:04:13  <frosch123> not my fault when people edit stuff manually :p
14:04:16  <TrueBrain> ah, fineeeee
14:04:28  <TrueBrain> if you promise to remove them for other languages too :P
14:04:48  <frosch123> i may ask the translators to do so :)
14:05:14  <frosch123> did we ever test update on push?
14:05:19  <TrueBrain> I did on staging
14:05:21  <TrueBrain> not yet on production
14:05:34  <TrueBrain> well, I did in pre-production
14:05:35  <frosch123> it worked :)
14:06:04  <TrueBrain> well, the action triggered
14:06:06  <TrueBrain> :P
14:06:54  <TrueBrain> it did work for some languages, not for others
14:06:58  <TrueBrain> either cache invalidation failed ...
14:07:23  <TrueBrain> or you didn't do all languages :P
14:07:31  <TrueBrain> ah, you only did the english links
14:07:32  <TrueBrain> yes, ofc
14:07:39  <TrueBrain> the translated sandboxes don't work :D
14:08:18  <TrueBrain> cannot believe the reload "just worked"
14:08:20  <TrueBrain> that is pretty neat :)
14:08:30  <TrueBrain> and no, someone has to add a .dorpsgek.yml to the repo
14:08:32  <TrueBrain> with the right settings
14:08:39  <TrueBrain> don't know if we want to announce pushes here
14:08:41  <TrueBrain> for wiki changes
14:08:48  <frosch123> probably not :)
14:17:01  <andythenorth> Horse 98%
14:21:03  <Eddi|zuHause> is that more or less than last time?
14:25:05  <andythenorth> yes
14:26:19  <andythenorth> no-one did the next line of lyrics also Eddi|zuHause :|
14:26:53  <Eddi|zuHause> i don't know the lyrics well enough
14:27:16  <Eddi|zuHause> well, that goes for almost any lyrics, really :)
14:30:08  <frosch123> <- no more dead links, no more duplicate links, only one archive link
14:30:20  <TrueBrain> w00p!
14:30:21  <TrueBrain> you go girl :)
14:30:48  <TrueBrain> still twice NewGRF
14:30:50  <TrueBrain> that looks weird
14:31:04  <TrueBrain> and I count at least 2 archive links :o
14:31:27  <frosch123> then your cache shows a different page
14:31:32  <frosch123> or you are looking at dutch again :)
14:32:09  <TrueBrain> hmm, cache issue indeed
14:32:12  <TrueBrain> why ... WHY??!!!
14:32:13  <LordAro> frosch123: i removed the deadlinks from the main page a few hours ago
14:32:32  <TrueBrain> right .. I go hunting again why the cache did not invalidate as it should
14:32:43  <LordAro> didn't know you were planning to rewrite them to staging
14:32:46  <frosch123> LordAro: ok, let's say there are "dead" links, and there are "zombie" links
14:33:00  <TrueBrain> owh, I know why ... lol ...
14:33:09  <TrueBrain> okay, if you are not logged in, you see old pages :D
14:33:10  <TrueBrain> hihi
14:36:14  <FLHerne> andythenorth: I thought you said Horse was 100% the other week? :p
14:36:22  <FLHerne> I guess you found more things to put in it...
14:37:16  <andythenorth> not enough metals wagons
14:40:26  <TrueBrain> this is now, what, fix 6 for cache? I wish I never added it :P :P
14:41:12  <andythenorth> 'you added caching, now you have 6 problems'
14:41:24  <TrueBrain> yeah .. and I am not really surprised either :P
14:41:46  <TrueBrain> when you are logged in, browser-cache is enabled, but server-side on-disk cache is not
14:41:46  <andythenorth> caching is like monitoring windows
14:41:52  <andythenorth> there's no optimum answer
14:41:52  <TrueBrain> so it became a bit complex logic :D
14:47:03  <TrueBrain> so I do time.time(), and store this file
14:47:05  <TrueBrain> after that, I write a file
14:47:10  <TrueBrain> I do getmtime() of the file
14:47:15  <TrueBrain> it is from before time.time()
14:47:16  <TrueBrain> how?!
14:47:44  <TrueBrain> difference of 0.01 seconds
14:47:50  <TrueBrain> so not rounding or anything
14:54:04  <milek7> "Internally, the ext4 filesystem code calls current_fs_time() which is the current cached kernel time truncated to the time granularity specified in the file system's superblock which for ext4 is 1ns. The current time within the Linux kernel is cached, and generally only updated on a timer interrupt. So if your timer interrupt is running at 10 milliseconds, the cached time will only be updated once every 10 milliseconds."
14:54:11  <milek7>
14:54:28  <milek7> (maybe outdated, it is from 2013)
14:55:46  <TrueBrain> seems it is still accurate ;)
15:05:03  <TrueBrain> right ... rewrote this patch a few times now, I think this should be it :P
15:05:09  <TrueBrain> but clearly I have to simplify it a bit :P
15:07:44  *** rptr_ has quit IRC
15:12:31  <TrueBrain> <- now we can see what you did frosch123  :D
15:13:02  <frosch123> i feel exposed
15:13:08  <TrueBrain> :D
15:13:29  <TrueBrain> lot simpler, the page now :D Which is good
15:26:36  <TrueBrain> frosch123: for some reason I am very tempted to make a tool that tells translators when the original language has changed, by looking at the structure of the page
15:26:47  <TrueBrain> I am just scared 90% of the pages would require attention :D
15:27:09  <frosch123> not sure what you mean with "structure"
15:27:22  <TrueBrain> so headers, paragraphs, sentences
15:27:26  <TrueBrain> image locations
15:27:28  <TrueBrain> link locations
15:27:52  <TrueBrain> if links point to a page that is the translation of the english page
15:27:55  <TrueBrain> stuff like that :)
15:27:59  <frosch123> you could check whether both pages contain the same links (while evaluating Translation:) :)
15:28:11  <frosch123> yeah, exactly :p
15:28:29  <TrueBrain> but, honestly, I think next week I am going to do nothing for OpenTTD :P
15:28:42  <frosch123> haha :)
15:28:55  <frosch123> "led week"
15:29:05  <TrueBrain> well, aliexpress ... won't be in for a few weeks :P
15:29:58  <TrueBrain> I hope it is in before xmas ... even that you can't be sure about :D
15:30:55  <TrueBrain> can you still "force" a reindex on search engines these days
15:30:59  <TrueBrain> or is it just a matter of waiting
15:34:23  <TrueBrain> slowly you see the covid map in The Netherlands turning a light-blue color again (meaning no infections)
15:34:28  <TrueBrain> damn, that took for-ever ....
15:35:39  <TrueBrain> lot longer than in March/April at least ...
15:39:49  <frosch123> here they just keep changing the colour scale :)
15:40:08  <frosch123> anyway, duckduck still does not find "github truewiki"
15:53:25  <TrueBrain> Google did already pick it up
15:53:32  <TrueBrain> #1 hit even
15:53:40  <TrueBrain> Shows it is a good name :D
15:56:53  <glx> we just have different red levels here
15:58:56  <DorpsGek_III> [OpenTTD/website] frosch123 opened pull request #173: Newwiki
15:59:03  <frosch123> there you go :)
16:00:30  <frosch123> i did not replace links in old news posts
16:00:56  <frosch123> various links just did not make sense, so i would have had to change the news text as well
16:02:34  <frosch123> lol, we already got the first mail, that google+bing link to dead wiki lniks
16:03:15  <TrueBrain> I earlier had one on Discord .. but he understood it quickly enough :)
16:03:37  <TrueBrain> <- so much community :D
16:03:53  <frosch123> yeah, "Main Page" did not quite fit in that case
16:07:07  <TrueBrain> lol, nice read frosch123  :) I wouldn't mind highlighting a bit more the amount of work you put int he restructuring, but otherwise a nice read :)
16:07:43  <DorpsGek_III> [OpenTTD/website] TrueBrain approved pull request #173: Newwiki
16:11:15  <frosch123> oh, i forgot to mention the elephant
16:11:26  <frosch123> i wanted to add a note about the search :)
16:13:14  <TrueBrain> owh LordAro ....... I have credentials for yooouuuuu
16:13:45  <DorpsGek_III> [OpenTTD/website] frosch123 dismissed a review for pull request #173: Newwiki
16:13:46  <DorpsGek_III> [OpenTTD/website] frosch123 updated pull request #173: Newwiki
16:14:00  <frosch123> added on item about the search :)
16:14:33  <DorpsGek_III> [OpenTTD/website] TrueBrain approved pull request #173: Newwiki
16:16:12  <TrueBrain> so I try to login to OVH, it sends an confirmation code by email .... which ... is ... not ... arriving :P
16:16:48  <frosch123> it already sent 7 mails
16:17:34  <TrueBrain> yup
16:17:49  <TrueBrain> VPSes only have an IPv4, hmmmmm
16:17:54  <TrueBrain> I hope that is a setting :D
16:18:42  <TrueBrain> well, soon we will migrate the mail to Zernebok, hopefully that helps with these annoying delays :P
16:20:18  <DorpsGek_III> [OpenTTD/website] frosch123 merged pull request #173: Newwiki
16:22:09  <TrueBrain> okay, IPv6 is assigned, but the box doesn't pick it up .. fine, we will figure that out :)
16:24:24  <TrueBrain> orudge: you are awesome :) Just wanted to mention that :D
16:24:45  <frosch123> we need to bake more cookies :)
16:25:12  <TrueBrain> yes
16:25:25  <TrueBrain> okay, DNS entries created
16:25:29  <TrueBrain> VPSes are online
16:25:53  <TrueBrain> now it is LordAro's job .. job 1, reset the passwords ASAP :P
16:26:16  <TrueBrain> vps-be46 is bananas-1.cdn, the other bananas-2.cdn
16:26:40  <TrueBrain> if this works, with the caching proxies ... this is a very simple, elegant, and money-saving solution :D
16:27:22  <TrueBrain> frosch123: you could add a <!-- more --> tag to the news
16:27:27  <TrueBrain> so it doesn't take up so much space on the frontpage
16:27:33  <TrueBrain> but .. meh, I am good with this what-ever
16:27:45  <frosch123> oh, never used that
16:28:10  <TrueBrain> we added that for these kinds of posts :P
16:28:37  <TrueBrain> I could have thought about that before the merge, ofc, but meh
16:28:47  <TrueBrain> foooooodddd
16:31:22  <DorpsGek_III> [OpenTTD/website] frosch123 opened pull request #174: Fix: front page should have shortened news.
16:33:01  <DorpsGek_III> [OpenTTD/website] TrueBrain approved pull request #174: Fix: front page should have shortened news.
16:36:37  *** Wormnest has joined #openttd
16:38:16  <DorpsGek_III> [OpenTTD/website] frosch123 merged pull request #174: Fix: front page should have shortened news.
16:47:56  <DorpsGek_III> [OpenTTD/website] frosch123 created new tag: 1.4.3
17:00:56  * andythenorth is dense
17:00:59  <andythenorth>     1: return palette_2cc(company_colour1, COLOUR_CREAM);
17:01:15  <andythenorth> instead of COLOUR_CREAM, how do I return 8 other indexes (of my choice)
17:04:05  <frosch123> you have to create a set of 16 recolourmaps for each company_colour1 and your custom seconds
17:05:05  <frosch123> or use spritestacks :)
17:07:07  <andythenorth> I can probably create the 16 recolourmaps
17:07:15  <andythenorth> that sounds generatable :P
17:14:20  <andythenorth> ha I think I already had the company colour indexes for use in docs python image recolouring
17:14:21  <andythenorth> hmm
17:15:12  <andythenorth>
17:25:55  *** rptr_ has joined #openttd
17:27:48  <frosch123> <- all your answers
17:28:28  <frosch123> and you cannot find them in the ottd source, they are in the baseset
17:28:41  <frosch123> i believe pikka had a "better cc" grf or so
17:29:06  <TrueBrain> <- don't know why (as it isn't mentioned), but someone is missing Special:Random :P
17:32:17  <andythenorth> ta
17:33:07  <TrueBrain> tatatatata
17:33:11  <TrueBrain> now you are a gun :D
17:33:50  <andythenorth> oh can I re-randomise bits within a switch chain?
17:33:56  <andythenorth> I want to make 2 independent choices :P
17:36:00  <TrueBrain> frosch123: I see I was too forgiving in the use of / :P :P
17:36:49  <TrueBrain> frosch123: do we want to support both [[Folder and [[:Folder ? Or do we want to promote the one over the other?
17:37:04  <frosch123> he, i asked that question :p
17:37:15  <TrueBrain> ghehe :)
17:37:20  <TrueBrain> I just don't know ... wikilinks are WEIRD
17:37:26  <TrueBrain> [[:File is always a link
17:37:35  <andythenorth> can I slice only some of the random bits, and use different ones later in the varaction2 chain?
17:37:37  * andythenorth ponders
17:37:39  <TrueBrain> and otherwise there is no real difference between  [[NNN and [[:NNN
17:37:46  <frosch123> i am fine with :Folder, maybe later we get some magic folder page, that would be shown for Folder without leading :
17:37:54  <TrueBrain> [[Media also makes a link ... and [[:Media doesn't work
17:37:57  * andythenorth pretends to know what talking about
17:38:20  <frosch123> TrueBrain: oh, yeah, Folder: without leading : could be a TOC that you can transclude
17:38:28  <frosch123> so, yeah, link is :Folder: only
17:38:31  <TrueBrain> k k
17:39:20  <TrueBrain> [[:Category:en/Bla | bla]]
17:39:23  <TrueBrain> etc is also invalid :)
17:39:41  <frosch123> two fixes for one? :)
17:39:55  <andythenorth> I am only really doing this rainbow in case it amuses frosch123 :P
17:40:24  <frosch123> i like the "send instructions" in the bottom right corner
17:40:35  <andythenorth> ha
17:40:37  <TrueBrain> frosch123: guess I mostly didn't want to support [[:Category: en/Bla]] (space after second :)
17:40:41  <andythenorth> if only that were intentional :)
17:42:43  *** gelignite has joined #openttd
17:42:50  <frosch123> TrueBrain: don't worry, i removed all [[File:<-- yo, how is the weather? -->Image<!-- png rulez-->.png]] in the conversion
17:42:59  <andythenorth> I have random switch chaining to other random switches
17:43:23  <andythenorth> but some results in some of the random switches seem to be never reached
17:43:37  <andythenorth> unless it's just that I need a larger sample set
17:44:01  <TrueBrain> <- so many strips :P
17:44:03  <frosch123> andythenorth: don't use "random_switch" except when you have to rerandomise
17:44:13  <TrueBrain> now [[:Folder:   en/Bla   | Bla]] will work
17:44:21  <frosch123> use getbit(random_bits, ....) or something
17:44:26  <andythenorth> hurrah
17:45:05  <glx> you can use dependant and independant too I think
17:45:37  <andythenorth> yes, but I think that's for a different case?
17:45:55  <frosch123> no, it's for this case
17:46:01  <frosch123> but i don't trust it working :)
17:46:20  <frosch123> 8 random bits are too few for automatic allocation
17:46:55  <frosch123> TrueBrain: they can leave their hat on?
17:47:10  <TrueBrain> frosch123: sorry?
17:47:33  <frosch123> song reference
17:47:42  <andythenorth> hmm I've forgotten how to bits
17:47:48  <andythenorth> I have 5 possible results
17:48:00  <andythenorth> getbits(random_bits, 0, 5) or getbits(random_bits, 0, 3)?
17:48:11  <frosch123> the latter
17:48:23  <TrueBrain> r/woosh, sorry :P
17:49:27  <glx> 5 values -> at least 3 bits
17:49:37  <frosch123> so, how does this dorpsgek.yml work?
17:49:41  <TrueBrain> frosch123: <- fixed! :)
17:49:48  <TrueBrain> frosch123: copy it from any other repo :P
17:50:05  <TrueBrain> for example
17:51:15  <TrueBrain> or if you want also changes to the wiki being announced
17:51:25  <TrueBrain> that looks like this:
17:51:26  <TrueBrain> [OpenTTD/wiki-data-staging] DorpsGek pushed 1 commits to master
17:51:26  <TrueBrain>   - new page: en/Folder Links (by frosch123)
17:52:11  <andythenorth> hmm this doesn't work as expected
17:52:17  <andythenorth> and I am only doing it for lolz :)
17:52:41  <TrueBrain> aren't we all?
17:53:03  <frosch123> will "Libararian" work for "except-by"? it's no gh user
17:53:27  <andythenorth>
17:53:38  <andythenorth> I still have random_switch elsewhere in the chain though :|
17:53:56  <andythenorth> not sure how to get evenly balanced results with random_bits
17:54:08  <andythenorth> given, e.g. odd number of choices
17:55:04  <frosch123> oh, i think i misunderstood what "push" really is
17:55:09  <frosch123> it's "push" without "pr"
17:56:03  <andythenorth> glx also I didn't do a ticket, but nml since 7f62081693d5e3b0e4a0ea84d5f17bfb5e7947b9 produces about 3700 warnings with Horse
17:56:28  <andythenorth> a lot are switches 'unused' because they resolve to a constant
17:56:39  <frosch123> <- so, i guess, just that?
17:56:41  <glx> optimised and unused yes
17:56:42  <andythenorth> but the switch in some cases exists to do a necessary STORE_TEMP
17:57:04  *** otetede has joined #openttd
17:57:44  <glx> if there's a store_temp it should not optimise
17:57:47  <andythenorth> can the constant result also do the STORE_TEMP?  I have no idea how it all resolves to advanced varact2 internally
17:58:25  <andythenorth> e.g. 'breeze_switch_create_effect_default_unreversed' is unused
18:03:45  <glx> and
18:04:01  <glx> if there's a STORE_TEMP it's not optimised
18:04:58  <andythenorth> I try nml head again shortly and see
18:05:04  <andythenorth> currently lost in random bits :P
18:05:41  <andythenorth> does reading the random bits destroy them?
18:06:57  <andythenorth> oh do I have to read specific bits?
18:07:06  <andythenorth> "Feature-specific random data: triggers in low byte, bits in other three bytes. Bits of the variable not associated with random or trigger bits are reserved."
18:07:31  * andythenorth understands
18:07:53  <frosch123> randombits should already be only the random bits, without triggers
18:08:20  <andythenorth> if I read the same random bits twice, and expect a different result
18:08:26  <andythenorth> disappointment will ensure
18:08:33  * andythenorth fixes that
18:08:33  <frosch123> yes :)
18:11:26  <andythenorth> ha ha 'totally random' looks like puke :)
18:12:01  <LordAro> TrueBrain: so i'm guessing you want a public key?
18:19:35  <andythenorth> ha I sack this totally random :D
18:19:42  <andythenorth> looks....BAD
18:23:08  <TrueBrain> LordAro: no, I want to give you the root credentials :P
18:23:26  <TrueBrain> LordAro: can you access info@ mailbox?
18:23:45  <frosch123> ^^ that's a trap :p
18:23:49  <LordAro> i cannot
18:24:21  <TrueBrain> username: debian
18:24:27  <TrueBrain> host:
18:24:40  <TrueBrain> IPv6 won't work, as the box isn't configured for it, it seems
18:24:52  <glx> you could do it in PM :)
18:25:11  <TrueBrain> glx: no shit :P Possibly exactly what I just did ;)
18:25:40  <LordAro> s'ok, i haven't got IPv6 anyway :p
18:26:07  <TrueBrain>
18:26:11  <TrueBrain> no clue how that works with Ansible :)
18:26:50  <LordAro> i'll see what i can figure out :p
18:26:58  <LordAro> might not get round to doing anything with it oday
18:27:04  *** glx has quit IRC
18:27:40  <TrueBrain> for the IPv6 you can dig the AAAA
18:27:43  <TrueBrain> the gateway is at ::1
18:28:09  <TrueBrain> if there is anything I can help with, let me know!
18:28:26  <LordAro> :+1:
18:29:11  <TrueBrain> and if you have it working etc, feel free to make an "ansible" folder here:
18:29:13  <TrueBrain> and commit it there
18:29:39  <TrueBrain> having everything in a single place is nice :)
18:29:48  <TrueBrain> hmm, certificate of webster expired
18:29:51  <LordAro> :)
18:29:56  <TrueBrain> guess I really should hurry up with supybot
18:32:33  <andythenorth> ok let's try this nml thing
18:32:42  <TrueBrain> oh-oh
18:34:19  <DorpsGek_III> [OpenTTD/wiki-data] frosch123 merged pull request #2: Add: IRC announcements for PRs and issues.
18:34:28  <andythenorth> ok looks like 3742 warnings
18:34:48  <TrueBrain> owh, frosch123 solved 20k in a few days, so you can solve 4k in an hour
18:34:49  <TrueBrain> I BELIEVE IN YOU
18:35:07  <andythenorth> so do I need to refactor my code generation?
18:35:10  <andythenorth> to avoid returning constants?
18:35:24  <TrueBrain> owh, btw, frosch123 , push owner is which ever account is used to push; it doesn't matter what the author or commiter is (for .dorpsgek.yml)
18:35:29  <TrueBrain> so it is always DorpsGek, basically
18:36:03  <frosch123> ok :)
18:36:20  <andythenorth> oof this is going to be a thing :|
18:36:37  <andythenorth> code generator assumes it's ok to have switches that only have one value
18:37:02  <andythenorth> I will need to do a lot of python conditionals on len(foo)
18:37:12  <TrueBrain> :(
18:38:05  <andythenorth> I have done this kind of thing before to try and optimise compile speed
18:38:08  <andythenorth> so I know what's required
18:38:29  <andythenorth> but codebase gets very confusing
18:38:30  <TrueBrain> doesn't make it better now, does it? :D
18:38:31  <LordAro> len(foo) == x or x < len(foo) < y ?
18:38:39  <LordAro> if the former, you could use a dict
18:39:29  <andythenorth> I have to tell the templater to conditionally insert different things :P
18:39:35  <andythenorth> the conditions are in the templater langauge
18:40:00  <LordAro> do they have to be?
18:40:14  <andythenorth> yes, it's the method for generating conditional nml :P
18:40:30  <andythenorth> there are alternatives, but they get worse
18:40:41  <andythenorth> meh this is a shitload of work :)
18:42:35  *** glx has joined #openttd
18:42:35  *** ChanServ sets mode: +v glx
18:43:22  <andythenorth> I kind of assumed this would be fine
18:43:53  <andythenorth> I've written a lot of nml on the basis that there can be a single default result
18:45:05  *** rptr_ has quit IRC
18:45:42  <andythenorth> oh can I trick it like we used to trick renum?
18:45:49  <andythenorth> by inserting a spurious range check?
18:46:01  <andythenorth> or does it resolve the entire switch chain?
18:48:35  <andythenorth> hmm that seems like the wrong approach
18:49:18  <andythenorth> oof
18:49:44  <andythenorth> glx I can't figure out what my goal should be
18:50:00  <andythenorth> presumably I need to refactor my nml generation to not return these constants via switches?
18:50:37  <glx> oh webster certificate expired
18:52:55  <glx> well at some point optimisation warnings will be mutable
18:53:13  <glx> same for deprecated warnings
18:53:34  *** gelignite has quit IRC
18:54:18  <andythenorth> hmm
18:55:23  * andythenorth trying to figure out how the code generator can pre-emptively analyse the results of the code generation
18:55:59  <andythenorth> I think it's just a lot of case(1) and case(n)  handling
18:56:33  <FLHerne> andythenorth: Does it matter? NML optimizes them out for you now
18:56:57  <andythenorth> yes, warnings can't pass
18:57:03  <andythenorth> so it matters
18:57:26  <FLHerne> That just means we need more warning settings :p
18:59:20  <FLHerne> -Wno-switch-opt or something
18:59:31  * FLHerne adds one
19:00:03  <andythenorth> ta
19:00:10  <andythenorth> I don't see how it can work though? o_O
19:00:33  <andythenorth> the optimisation generates about 1900 'not referenced' warnings for Horse
19:00:45  <andythenorth> which can't be suppressed, that's a necessary warning
19:02:07  *** Wormnest has quit IRC
19:02:52  <FLHerne> andythenorth: That's an nmlc bug
19:03:07  <andythenorth> ok
19:03:11  <FLHerne> The 'not referenced' warnings are bogus
19:03:26  <andythenorth> I also don't understand how the store_temp case is handled
19:03:31  <andythenorth>
19:03:44  <FLHerne> It decides the switches aren't needed, removes them, and replaces their uses with use of the original value
19:04:26  <FLHerne> But somehow it doesn't remove them enough, because *then* it checks to see if they're used
19:04:55  <FLHerne> And complains because the uses it just replaced don't exist anymore
19:05:28  <andythenorth> the switch in L321 won't be reached afaict
19:05:54  <andythenorth> it's detected as a constant
19:06:10  * andythenorth might be wrong, dunno
19:06:47  <TrueBrain> <- lets see if we can make andythenorth obsolete :P :D <3
19:08:30  <andythenorth> wfm
19:09:08  <TrueBrain> seems I should start working on splitting OpenTTD from TrueWiki
19:09:16  <TrueBrain> just to make it more clear what is where :)
19:09:27  <TrueBrain> not terribly difficult
19:09:36  <andythenorth> I would have said use the conventional breakpoints, and have a bunfight about an XL viewport at 1200px or so
19:09:52  * andythenorth stays out of CSS, I will be glad if I never have to do any ever again
19:10:03  <TrueBrain> I feel the same! :D
19:10:54  <TrueBrain> hmm ... should the CSS and Templates be part of wiki-data, I wonder
19:11:16  <TrueBrain> in .truewiki or something
19:11:31  <TrueBrain> means you don't need to release a new "openttd-truewiki" every "truewiki" release
19:11:34  <TrueBrain> frosch123: what do you think?
19:11:51  <FLHerne> andythenorth: That switch shouldn't be removed, and with iron-horse master I don't think it is
19:13:30  <FLHerne> andythenorth: As the nml code you linked says, STORE_TEMP isn't read-only
19:14:03  <andythenorth> but it's in a chain no?
19:14:18  <andythenorth> breeze_switch_create_effect_default_unreversed is only reached via breeze_switch_create_effect_check_railtype_unreversed
19:14:21  <andythenorth> and breeze_switch_create_effect_check_railtype_unreversed is removed
19:14:38  <andythenorth> I'm not sure that's true yet
19:15:03  <andythenorth> puzzlingly, breeze_switch_create_effect_default_unreversed is not referenced as unreached
19:15:13  <andythenorth> oh is the 'constant' the next switch ID?
19:15:22  <FLHerne> andythenorth: 'removed' means 'replaced by its return value'
19:15:34  <andythenorth> ok so it's a varact2 ID
19:15:45  <FLHerne> andythenorth: So all uses of breeze_switch_create_effect_check_railtype_unreversed should turn into breeze_switch_create_effect_default_unreversed
19:15:56  <andythenorth> not a constant in the sense of global constant
19:16:05  <andythenorth> ok that makes sense
19:16:19  <FLHerne> (and then the former gets erroneously marked as unused)
19:17:00  <andythenorth> thanks
19:17:02  <TrueBrain> LordAro: only now looking at PowerToys .. fun fact: has their releases on AWS :P
19:17:24  <TrueBrain> which I cannot help being ironic
19:17:38  <LordAro> haha
19:19:06  *** WormnestAndroid has quit IRC
19:19:44  *** WormnestAndroid has joined #openttd
19:22:47  <frosch123> TrueBrain: css yes, templates no?
19:23:00  <TrueBrain> they contain OpenTTD snippets
19:23:13  <TrueBrain> otherwise I have to make variables out of that, and put a JSON file with those, or something?
19:23:22  <TrueBrain> would be cleaner, now I come to think of it
19:25:50  <TrueBrain> funny .. seems my "Windows" button on my keyboard isn't registered by Windows as such :P
19:27:07  <TrueBrain> oowwwhhh, so that is what that button on my keyboard is for
19:27:08  <TrueBrain> funny
19:27:57  <frosch123> for how long do you have that keyboard?
19:28:06  <TrueBrain> poeh .... close to 10 years now?
19:28:27  <frosch123> i learned that notebooks now have fn-locks
19:28:36  * andythenorth wants that
19:28:49  <andythenorth> I have to fn-lock the stupid emoji bar to play openttd
19:28:56  <TrueBrain> LordAro: PowerToys is cool :D Tnx for mentioning it :)
19:28:56  <andythenorth> but I don't have fn-lock, only fn
19:29:43  <frosch123> and i randomly discovered that my mouse@work had not only a button when pressing the scroll wheel, but also when pushing it left or right
19:29:54  <frosch123> which is super weird, and i have no idea who would use that for anything
19:30:04  <TrueBrain> mine has that too ... NEVER use it
19:30:41  <TrueBrain> I also never press down my scrollwheel ..
19:30:45  <TrueBrain> I don't understand all those extra buttons :P
19:30:56  <LordAro> middle click is extremely useful
19:31:01  <TrueBrain> (says the person with 18 configurable keys on my keyboard ...)
19:31:12  <milek7> do you open links in new tab?
19:31:14  <TrueBrain> what does your middle click do? :)
19:31:21  <TrueBrain> CTRL+click
19:31:22  <TrueBrain> duh
19:31:23  <frosch123> middle click is pan in a lot of applications
19:31:28  <frosch123> middle click is "close tab"
19:31:32  <frosch123> and middle click is paste
19:31:42  <frosch123> middle-click-paste is way better than right-click-paste
19:31:45  <TrueBrain> right click is paste (and copy)
19:31:46  <frosch123> i hate the windows coonsole
19:32:02  <TrueBrain> I do like my extra mouse buttons next to my thumb
19:32:08  <TrueBrain> especially the press-to-talk I have bound there
19:32:13  <TrueBrain> that ... helps a lot in games :D
19:32:13  <LordAro> middle click is paste for the selection clipboard on linux too
19:32:42  <frosch123> i do not know how to remap the thumb buttons on windows
19:32:52  <andythenorth> there's no shorthand for scoping to 'first unit of articulated vehicle'?
19:32:59  <TrueBrain> logitech drivers allow you to
19:33:02  <frosch123> so i hate them since i press them accidentally all the time :p
19:33:03  <andythenorth> I know it was discussed at least once, but I forget the outcome
19:33:03  <TrueBrain> but it is button-4 etc for me
19:33:09  <TrueBrain> which I can bind in applications
19:33:17  <andythenorth> PARENT gets me lead engine
19:33:37  <frosch123> enter stuff in website form, accidentially click the mouse-back button, meh
19:33:42  <TrueBrain> and he is talking about trains again,pfft :P
19:33:57  <andythenorth> nml even :P
19:34:39  <frosch123> andythenorth: the additional scopes were never implemented. but you can use the "position within aticulated vehicle" and "variable of nearby vehicle"
19:35:02  <andythenorth> yes
19:35:07  <andythenorth> I've done it before :)
19:35:25  <andythenorth> thanks
19:35:42  <frosch123> TrueBrain: btw. not sure whether you meant that.. but wiki-data should contain the whole "static" folder, not just "static/css"
19:35:58  <TrueBrain> yup
19:36:07  <TrueBrain> "static" folder and a "settings" YAML
19:36:13  <TrueBrain> static just in the root, you think?
19:36:20  <TrueBrain> truewiki.yaml + static in / ?
19:36:38  <frosch123> yes, Page, Category, Template, File are unique enough
19:37:41  <TrueBrain> sounds like a plan! Well, not today .. soon :)
19:37:56  <TrueBrain> means all those pesky CSS discussions can be held in other repositories :D
19:40:03  <TrueBrain> funny, now I pay attention to it ... I haven't visited a website yet that is full width
19:40:12  <TrueBrain> all my most frequent visited websites limit the width to ~1000px
19:41:06  <milek7> wikipedia?
19:41:11  <frosch123> tt-forums?
19:41:16  <andythenorth> for conventional websites, endless liquid layouts are poor
19:41:18  <TrueBrain> not on my list of "frequent", sorry :)
19:41:19  <andythenorth> they're a QA nightmare
19:41:28  <TrueBrain> and wikipedia is just awefull to read on a 2k monitor
19:41:36  <andythenorth> and there is an optimum ratio of column width to font size
19:41:43  <andythenorth> due to line length readability
19:41:48  <TrueBrain> yup
19:41:54  <TrueBrain> there are studies about this shit
19:42:00  <TrueBrain> starting in the 1800s somewhere :P
19:42:03  <andythenorth> after adding 2 columns of ads, there's no further use for space
19:42:15  <milek7> well, it is not that browser window can't be resized :P
19:43:28  <TrueBrain> wait, you don't have all windows open fullscreen?
19:43:30  <TrueBrain> that is ... odd
19:45:28  <frosch123> i always wanted to use a tiling window manager
19:45:39  <frosch123> but talking about them seems nicer than using them
19:47:16  *** gelignite has joined #openttd
19:47:25  <TrueBrain> as with many things :P
19:47:57  *** longtomjr has quit IRC
19:53:37  *** jottyfan has quit IRC
19:56:45  *** otetede has quit IRC
20:06:00  <TrueBrain> frosch123:
20:06:02  <TrueBrain> kamnetToday at 9:05 PM
20:06:02  <TrueBrain> If you wanna delete newgrf list by region, feel free to nuke it
20:06:05  <TrueBrain> GO GO GO :P
20:10:41  <frosch123> isn't that already in archive?
20:10:44  <TrueBrain> it is
20:11:57  <frosch123> should i get discord?
20:12:00  <frosch123> or just more spam?
20:14:33  <TrueBrain> I like Discord more than IRC, but that is me
20:14:46  <TrueBrain> And they are a friendly bunch
20:14:52  <TrueBrain> And less active :p
20:14:56  <TrueBrain> There is no andy there
20:15:07  <frosch123> do they do css?
20:15:15  <TrueBrain> They claim they do
20:17:33  <FLHerne> frosch123: Tiling WMs are great on laptops
20:17:42  <andythenorth> I considered joining reddit
20:17:49  <andythenorth> can we move chat to /r/openttd?
20:18:08  <frosch123> reddit is writeonly
20:18:38  <frosch123> but i guess you can use it upload screenshots/images, and link them here
20:18:43  <frosch123> instead of your s3
20:21:26  <andythenorth> there's an idea
20:24:39  <frosch123> maybe you can render horse docs as image, and also host them there
20:25:09  <andythenorth> well I could PDF them
20:25:14  <andythenorth> then rasterise the PDF
20:25:26  <andythenorth> then auto-generate VERY LONG alt texts
20:28:11  <FLHerne> Oh, there's an idea
20:28:29  <FLHerne> TrueBrain: Find a way to encode basesets as valid PNGs, and upload them to Google Photos
20:28:49  <FLHerne> They're less than 15GB :p
20:30:48  <TrueBrain> Hahahaha
20:30:53  <TrueBrain> I like it
20:34:19  <frosch123> "pngcodec" is already taken
20:35:02  <TrueBrain> Pngfuckgooglecodec?
20:35:22  <TrueBrain> Pngwedonotplayfaircodec?
20:35:52  <andythenorth> TermsAndConditionsApplyCodec
20:35:52  <frosch123> pngdmcacodec
20:36:00  <TrueBrain> Pnghideasaphotobutiamreallyabasesetcodec?
20:36:22  <frosch123> that may be a unique name
20:36:31  <TrueBrain> :D
20:38:05  <frosch123> FLHerne: can you do that in a way, so it still looks like a cat photo?
20:40:20  <andythenorth> is cat
20:40:40  <andythenorth> this would need some very artful steganography :P
20:42:01  <TrueBrain> With png, funny enough, it is very easy
20:42:06  <TrueBrain> Png has chunks
20:42:24  <TrueBrain> So you can just add random data as an unknown chunk
20:42:39  <TrueBrain> Just ... hopefully their service doesn't strip it :p
20:45:20  <glx> <FLHerne> (and then the former gets erroneously marked as unused) <-- I can probably fix that
20:46:44  <FLHerne> glx: If not, it's on my to-do list (I got sidetracked by RL again)
20:47:56  <TrueBrain> Wuth? What is that concept you call RL?
20:53:20  <frosch123> it's an open world game
20:53:25  <frosch123> mostly a walking simulator
20:53:52  <TrueBrain> Lol
20:55:23  <frosch123> andy plays it a lot. it has weird daily quests like "lunch". tanks are are
20:55:32  <frosch123> +r
20:58:30  <FLHerne> It *was* an open world game
20:58:40  <FLHerne> They added limits recently :-(
20:59:08  <andythenorth> it's mostly a sitting simulator for me
20:59:10  <andythenorth> and napping sim
20:59:16  <TrueBrain> No, not limits. Thet increased the difficulty setting
20:59:19  <andythenorth> they should make bed a savegame point
21:07:40  <Eddi|zuHause> they don't allow save scumming, sadly
21:11:59  <LordAro> FLHerne: no, just open PRs against github's DMCA repo, use that
21:16:34  <andythenorth> I like plain text savegame formats
21:16:43  <andythenorth> they make for the easiest winning of the game
21:17:45  <FLHerne> andythenorth: Eh
21:18:02  <andythenorth> I would like to be able to edit, e.g. daily tasks
21:18:11  <FLHerne> KSP has those, but half my editing attempts lead to the ship exploding ludicrously when reloading
21:18:18  <FLHerne> Oh, for RL
21:18:18  <andythenorth> lunch_complete=False > lunch_complete=True
21:18:29  <andythenorth> Euro Truck Simulator has them, editing money is fine
21:18:36  <andythenorth> editing co-ordinates is a bit dodgy
21:34:52  *** sla_ro|master has quit IRC
22:45:25  *** Wolf01 has quit IRC
22:52:55  *** andythenorth has quit IRC
22:56:01  *** WormnestAndroid has quit IRC
22:56:50  *** WormnestAndroid has joined #openttd
22:59:50  *** iSoSyS has joined #openttd
23:02:22  <milek7> meh
23:02:25  <milek7> there aren't many good VR games
23:02:45  <glx> Alyx is not bad IIRC (just saw streams)
23:03:10  <glx> beat saber seems good too
23:03:48  <milek7> alyx is good, practically only AAA game available
23:04:53  <milek7> beat saber.. doesn't appeal to me
23:06:32  <glx> keep talking and nobody explodes looks fun too, but can't be played solo
23:07:46  <milek7> maybe I should install windows
23:08:00  <milek7> derail valley works like crap on wine
23:10:05  *** iSoSyS has quit IRC
23:19:05  *** frosch123 has quit IRC
23:20:56  <DorpsGek_III> [OpenTTD/nml] glx22 opened pull request #170: Codechange: reduce warnings from switches optimisations
23:23:01  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Codechange: reduce warnings from switches optimisations
23:33:57  <DorpsGek_III> [OpenTTD/nml] glx22 updated pull request #170: Codechange: reduce warnings from switches optimisations
23:52:47  *** tokai|noir has joined #openttd
23:52:47  *** ChanServ sets mode: +v tokai|noir
23:59:41  *** tokai has quit IRC

Powered by YARRSTE version: svn-trunk