IRC logs for #openttd on OFTC at 2018-10-25
            
00:23:29 *** glavinics has joined #openttd
00:29:49 *** Wacko1976_ has quit IRC
00:31:32 *** glavinics has quit IRC
00:54:56 *** HerzogDeXtEr has quit IRC
01:01:49 *** Thedarkb has quit IRC
01:04:04 *** Thedarkb-X40 has joined #openttd
01:08:47 *** Progman has quit IRC
01:12:16 *** OsteHovel has quit IRC
01:12:27 *** OsteHovel has joined #openttd
02:01:12 *** triolus has quit IRC
02:03:43 *** triolus has joined #openttd
02:06:50 *** Samu has quit IRC
02:17:19 *** Flygon has joined #openttd
02:18:55 *** goobot has joined #openttd
02:24:14 *** glavinics has joined #openttd
02:32:19 *** glavinics has quit IRC
02:54:31 *** sushibear has quit IRC
03:30:22 *** Lejving_ has quit IRC
03:45:16 *** glx has quit IRC
04:14:00 *** sim-al2 has joined #openttd
04:35:59 *** triolus has quit IRC
04:38:22 *** triolus has joined #openttd
04:44:48 *** goobot has quit IRC
04:52:04 *** sim-al2 has quit IRC
05:33:28 *** triolus has quit IRC
05:36:19 *** triolus has joined #openttd
06:17:50 *** yellyFish has joined #openttd
06:26:03 <yellyFish> hi. i have been trying to profile my cpu usage and see why does it run slow sometimes and i am no expert in C++ but i could tell that there is a recursive call to deterministspritegroup::resolve that sometimes get pretty deep. As i said i am no expert but i recall hearing that recursive calls are difficult for compilers to optimize by themselves. Does anybody here have the time and knowledge to
06:26:05 <yellyFish> look into it or i am just rambling?
06:40:25 <Eddi|zuHause> no sane person is here at 6AM
06:47:09 <yellyFish> most people here are in europe time zone?
06:47:16 <yellyFish> i guess i'll ask later then
06:56:51 *** rocky11384497 has quit IRC
08:02:49 *** Thedarkb-X40 has quit IRC
08:56:54 *** yellyFish has quit IRC
09:05:26 *** yellyFish has joined #openttd
09:14:38 *** Wacko1976 has joined #openttd
09:21:28 *** glavinics has joined #openttd
09:27:58 *** matt21347 has joined #openttd
09:29:29 *** glavinics has quit IRC
09:47:09 *** Wacko1976 has quit IRC
10:00:46 *** matt21347 has quit IRC
10:01:08 *** matt21347 has joined #openttd
10:13:21 *** Wacko1976 has joined #openttd
11:08:48 *** glavinics has joined #openttd
12:07:34 *** Wacko1976 has quit IRC
12:07:41 *** Wacko1976 has joined #openttd
12:08:24 *** sla_ro|master has joined #openttd
12:44:12 *** Wacko1976_ has joined #openttd
12:48:23 *** Wacko1976 has quit IRC
13:04:28 *** Wacko1976_ has quit IRC
13:10:15 <planetmaker> Eddi|zuHause, can you explain to me how CETS builds for you locally? It doesn't for me: https://paste.openttdcoop.org/padld0gj2
13:11:53 <planetmaker> (using a python3.6 environment)
13:13:28 <LordAro> looks like scripts/write.py is broken :p
14:25:13 *** Wacko1976 has joined #openttd
14:30:35 *** sim-al2 has joined #openttd
14:31:27 *** glavinics has quit IRC
14:52:42 *** sim-al2 is now known as Guest1317
14:52:42 *** sim-al2 has joined #openttd
14:57:36 *** Guest1317 has quit IRC
15:08:46 *** sim-al2 has quit IRC
15:11:47 <Eddi|zuHause> planetmaker: needs python2
15:12:44 <Eddi|zuHause> they removed the inline-decomposition of tuples in python3
15:12:50 <Eddi|zuHause> and i use that all over the place
15:13:57 <Eddi|zuHause> probably the main reason why i never bothered porting
15:14:34 <planetmaker> uh
15:15:15 <planetmaker> py2 is so oldschool :P
15:16:20 <LordAro> booo, py2, etc
15:16:26 <Xaroth> can you link the offending line, Eddi|zuHause?
15:17:51 <Eddi|zuHause> Xaroth: lots of lines in the form "def x((a1, a2)):", where you now need to write "def x(a):\n a1,a2=a" or something like this
15:18:56 <Xaroth> ew :P
15:18:59 <LordAro> or add * to where the function is called
15:19:34 <Eddi|zuHause> LordAro: it's already called with **
15:20:09 <Xaroth> yeah, there's very strong reasons why they wanted to get rid of tuple parameter unpacking
15:20:21 <LordAro> oh dear
15:20:37 <LordAro> maybe you should just write better code :p
15:21:00 <Eddi|zuHause> should probably replace it with named tuple
15:21:03 <Xaroth> to be fair, the 'workaround' isn't that much work :P
15:21:13 <Eddi|zuHause> so i can write a.a1, a.a2 where needed
15:21:13 <Xaroth> it's just one line of code extra per instance
15:21:16 <planetmaker> aye, ok, builds when I install everything outside an anaconda environment
15:22:22 <planetmaker> locally
15:22:36 <planetmaker> https://jenkins.openttdcoop.org/job/cets/30/console <-- makes me wonder what went wrong there :D
15:23:08 <Eddi|zuHause> the code is really not that bad, the problem is my "identifier" is a tuple, and in some places i don't need to know the components of that tuple, so i just compare the complete ID, and in other places i do need to know the complete ID so i decompose it into the tuple parts
15:23:33 *** Samu has joined #openttd
15:24:14 <planetmaker> use a dict instead of tuple? :)
15:24:32 <Eddi|zuHause> planetmaker: no, that's horrible
15:24:55 <Eddi|zuHause> (to debug typos and stuff)
15:26:27 <Eddi|zuHause> planetmaker: i can't help you with pixa
15:26:59 <planetmaker> I've no clue there either... but I wonder... I don't think I have it installed here localy... so it's not needed. Or is it?
15:27:06 <Eddi|zuHause> planetmaker: maybe your version of pixa is too new to work with python2?
15:27:27 <Eddi|zuHause> i think i have code to skip pixa
15:27:50 <Eddi|zuHause> it won't have the autogenerated (currently placeholder) sprites
15:29:00 <planetmaker> jenkins@jenkins:~/jobs/pixa/workspace$ hg id
15:29:00 <planetmaker> f1d1d7fed9cc tip
15:29:04 <planetmaker> what do you use?
15:29:25 <Eddi|zuHause> uhm, i don't even know where to look
15:29:59 <Eddi|zuHause> b1d2acd778e2
15:31:30 <planetmaker> jenkins@jenkins:~/jobs/pixa/workspace$ hg log | grep b1d2ac
15:31:30 <planetmaker> changeset: 20:b1d2acd778e2
15:31:37 <planetmaker> jenkins@jenkins:~/jobs/pixa/workspace$ hg id -n
15:31:37 <planetmaker> 21
15:31:39 <planetmaker> hm
15:31:50 <planetmaker> one revision difference
15:32:24 <Samu> hi
15:33:49 *** Samu has quit IRC
15:34:02 *** Samu has joined #openttd
15:34:05 <planetmaker> Codechange: make pixa python 3 compatible
15:34:12 <planetmaker> so that actually might break it indeed for you
15:34:17 <Xaroth> heh
15:37:14 <planetmaker> let's muddle around and downgrade DevZone's pixa
15:37:21 <planetmaker> and see how CETS build goes then
15:37:41 <planetmaker> seems to work :P
15:37:45 <planetmaker> https://jenkins.openttdcoop.org/job/cets/31/console
15:38:10 <planetmaker> Eddi|zuHause, so, please blame andy :P
15:38:19 <Xaroth> never not blame andy, right?
15:38:32 <planetmaker> well... mostly :P
15:38:38 <Xaroth> I mean, I could go for "Never not blame TrueBrain"
15:38:39 <planetmaker> but pixa is his baby, it's his commit :)
15:38:40 <Xaroth> but he's not at home
15:38:49 <Xaroth> so it wouldn't be as funny.
15:40:54 <planetmaker> ding. Success in building CETS on DevZone
15:41:42 <Eddi|zuHause> hm, i ran "make -B" but it somehow didn't process the png files (and never got to the point of using pixa)
15:42:56 <planetmaker> now I'm in a dilemma... the builds don't exactly run in a separate environment which is scratched afterwards... I can have only one pixa currently :P
15:43:12 <Xaroth> Rewrite all the things! :P
15:43:27 <Eddi|zuHause> use containers! blockchain!
15:43:31 <Eddi|zuHause> AI!
15:43:32 *** nielsm has joined #openttd
15:43:34 <planetmaker> Xaroth, yes... that's what TB would say. And actually... me, too, in this case ;)
15:43:51 <Xaroth> I've been hanging out with TrueBrain too much.. it's rubbing off
15:43:57 <Xaroth> ... ew, cooties.
15:43:57 *** Flygon has quit IRC
15:45:40 <planetmaker> is andy still using his pixa in his repos, anyone around here right now knows?
15:46:26 <Eddi|zuHause> File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 27, in <module>
15:46:27 <Eddi|zuHause> from . import VERSION, PILLOW_VERSION, _plugins
15:46:29 <Eddi|zuHause> ValueError: Attempted relative import in non-package
15:46:30 <Eddi|zuHause> uhm what?
15:46:48 <Eddi|zuHause> planetmaker: almost certainly
15:47:49 <planetmaker> may I suggest to import the correct pixa revision into your repo so that you can import pixa locally?
15:47:58 <planetmaker> s/import/copy/g
15:48:02 <planetmaker> it's only one tiny file
15:48:10 <planetmaker> at least for the time being until I have a proper solution
15:49:58 <planetmaker> It's a bit ugly, but... knowing my time schedule, I won't have a satisfactory solution this or next week :)
15:53:41 <Eddi|zuHause> let me first see whether i can get pixa to run here again
16:06:02 <Eddi|zuHause> planetmaker: hm, so after fixing a few unrelated things in my code, it seems to run with pixa r21
16:08:09 <planetmaker> :D
16:08:26 <planetmaker> then push and see whether DevZone builds it just fine. It's back to pixa-v21
16:08:30 <Eddi|zuHause> at least i could never reproduce your version of the error :p
16:20:16 <Eddi|zuHause> planetmaker: is it possible that the error is in the PIL version?
16:24:02 <planetmaker> hm, why?
16:24:11 <planetmaker> as the last line of the stacktrace is therein?
16:24:43 <planetmaker> I wondered... yet I assume that rather pixa or cets is passing-through some type which PIL/pillow doesn't expect. dunno
16:24:58 <planetmaker> anyhow, the build on devzone succeeded
16:24:59 <Eddi|zuHause> yes, but i couldn't reproduce that
16:25:54 <planetmaker> do you really use PIL instead of pillow?
16:26:03 <planetmaker> (or does devzone?)
16:26:38 <Eddi|zuHause> i'm not sure
16:27:34 <Eddi|zuHause> i think pillow is providing an implementation of PIL, so from python side they look the same
16:27:54 <planetmaker> that's how pillow started, yes. PIL simply was abandoned
16:28:04 <planetmaker> it's a fork of PIL
16:29:06 <Eddi|zuHause> https://paste.openttdcoop.org/pvbrpvo1j
16:30:53 <Eddi|zuHause> i think the "wrong" way to import had weird side effects
16:33:12 *** sla_ro|master2 has joined #openttd
16:33:26 <Eddi|zuHause> https://jenkins.openttdcoop.org/job/cets/32/changes <-- the links on this page don't work
16:34:05 <planetmaker> ah, hm, yes. probably a broken plug-in on update
16:34:26 <Eddi|zuHause> also, where would i find the output of the build?
16:34:34 *** glavinic_ has joined #openttd
16:34:55 <planetmaker> http://bundles.openttdcoop.org/cets/
16:35:33 <Eddi|zuHause> 4 years since the last successful build
16:35:39 <planetmaker> :)
16:36:13 <planetmaker> time surely flies
16:38:29 *** sla_ro|master has quit IRC
16:41:35 <planetmaker> seems that the template-plugin works not so well anymore :|
16:42:39 *** glavinic_ has quit IRC
16:48:07 *** HerzogDeXtEr has joined #openttd
16:53:27 *** HerzogDeXtEr1 has joined #openttd
16:53:36 *** guru3 has quit IRC
16:58:17 *** Wormnest has joined #openttd
16:59:09 *** HerzogDeXtEr has quit IRC
17:00:13 *** guru3 has joined #openttd
17:08:39 *** Thedarkb has joined #openttd
17:12:53 *** Alberth has joined #openttd
17:12:53 *** ChanServ sets mode: +o Alberth
17:13:06 <Alberth> o/
17:13:10 <planetmaker> \o
17:14:35 <Alberth> hi, I wondered if I should do a little advertising for my macro processor :)
17:29:55 *** xdarklight has joined #openttd
17:29:59 <xdarklight> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
17:30:02 <xdarklight> I thought you guys might be interested in this blog by freenode staff member Bryan kloeri Ostergaard https://bryanostergaard.com/
17:30:06 <xdarklight> Read what IRC investigative journalists have uncovered on the freenode pedophilia scandal https://encyclopediadramatica.rs/Freenodegate
17:30:09 <xdarklight> A fascinating blog where freenode staff member Matthew mst Trout recounts his experiences of eye-raping young children https://MattSTrout.com/
17:30:17 *** xdarklight has quit IRC
17:31:12 <planetmaker> hm, maybe it's a good idea, Alberth :)
17:31:40 <planetmaker> will s/o kill me when I push directly to nml master?
17:35:46 <Alberth> if you're developer I think you won't die :p
17:36:20 *** Unit193 has joined #openttd
17:36:24 <Alberth> not sure though, I don't have the permissions memorised
17:37:06 <Alberth> won't do much good if you want stuff reviewed though :p
17:37:12 <planetmaker> lucky me :P
17:37:20 <planetmaker> no, of course not for those cases :)
17:37:23 <Alberth> :)
17:37:30 <planetmaker> But there's stuff which needs no review
17:37:44 <planetmaker> Like devzone integration
17:38:10 <Alberth> I usually do make a branch and a merge/pull request, then presse the "merge" button myself
17:38:21 *** pastly has joined #openttd
17:38:24 <planetmaker> more clicks ;)
17:38:30 <Alberth> ha :)
17:39:03 <Alberth> depends on how much value you attach to the history I guess
17:39:15 <planetmaker> in what way does it differ?
17:39:45 <planetmaker> difference being that github's default merges squash things?
17:39:50 <planetmaker> I find that actually detrimental
17:40:29 <Alberth> that's a setting you can change (if you can :p )
17:40:59 <Alberth> I like the default of having a merge commit
17:41:47 <Alberth> you get nice groups of commits, and a link to the issue / PR
17:41:50 <planetmaker> it leaves you eventually with a series of 'big' commits which might be not easy to read when you squash every commit series into one for larger features
17:42:09 <Alberth> yeah, squashing is quite bad
17:42:21 *** rocky11384497 has joined #openttd
17:42:34 <planetmaker> having PR and links to issues - that's sth I like as well, yes
17:43:05 <planetmaker> But a PR with no more info than the commit message itself... would be somewhat pointless, too :)
17:43:08 <Alberth> at work my commits are much larger, in the thousands of lines, squashing is a good way to never ever understand the commit any more
17:43:19 <planetmaker> hehe :)
17:43:28 <Alberth> yep, just a group then
17:43:39 <Alberth> it's java eh? bit bloaty :p
17:43:53 <planetmaker> uh, you switched from python to java. Should I pity you?
17:44:17 <Alberth> nah, java is no problem, it's just a silly nanny language
17:44:25 <planetmaker> :)
17:44:36 <Alberth> I do still program python, and C/C++
17:45:10 <Alberth> java is better than python for large scale programs
17:45:25 <Alberth> I got more and more need for adequate typing support in python code
17:45:50 <planetmaker> hm, I see
17:46:06 <planetmaker> what python offers there meanwhile didn't suffice?
17:46:30 <Alberth> it's purely optional, and not enforced
17:46:39 <planetmaker> indeed
17:46:45 <Alberth> I don't get compile errors when I break something
17:47:18 <Alberth> which is really useful at a scale of a 10K+ line program
17:47:25 <planetmaker> agreed
17:48:08 <Alberth> java code is much much larger even, probably a decade of work in it
17:48:44 <planetmaker> yours, you mean?
17:48:57 <Alberth> I did about 1/2 of that :p
17:49:03 <planetmaker> ha
17:49:44 <Alberth> and my former collegue the other half
17:50:15 <planetmaker> still at the department, are you?
17:52:51 <Alberth> yep, different group though
17:52:51 <Alberth> now more control oriented, more continuous time modeling
17:53:01 <Alberth> research with groups of vehicles at the highway (coupled trucks eg)
17:53:12 <planetmaker> oh :)
17:53:38 <Alberth> and robotics as well
17:54:22 <Alberth> still with wheels though, rather with legs :p
17:54:30 <Alberth> *rather than
17:55:36 <Alberth> you're still making 0-gravity flights?
17:56:42 <planetmaker> indeed I am. Though I meanwhile try to avoid the plane for burocracy reasons
17:57:19 <planetmaker> more targetting to finally get sth into orbit
17:57:59 *** Gja has joined #openttd
17:58:19 <DorpsGek_II> [OpenTTD/OpenTTD] quantuumsnot opened issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxDb6
17:58:55 <planetmaker> he. Funky issue
17:59:31 <Alberth> "program an AI, you'll never has to play yourself then" :p
18:00:31 <planetmaker> don't we target that for a decade now? :P
18:01:10 <Eddi|zuHause> i imagine something like a selective bulldozer: "only remove rails in this area, leave roads/buildings/trees untouched"
18:01:51 <planetmaker> phrased like that, such feature actually starts to make sense
18:02:11 <Eddi|zuHause> depending on which toolbar you have open right now
18:02:20 <Eddi|zuHause> or something like that
18:04:23 <Eddi|zuHause> an alternative interpretation would be something similar to ctrl+drag signals where the bulldozer follows the rail until the next junction
18:05:08 <Alberth> I hardly ever remove long sections of track
18:05:29 <Eddi|zuHause> me neither, but i also don't work with industry closure
18:05:57 <Alberth> good point
18:06:14 <planetmaker> :) Seems "not my problem" here all-around ;)
18:06:29 <Eddi|zuHause> and when i did, i usually only removed the station and left the rails in place
18:06:40 <Eddi|zuHause> that was before infrastructure maintenance, though
18:06:53 <Alberth> "fully automatic" is just a silly request
18:08:24 <planetmaker> kinda reminds me on an ancient patch which made grass grow on unused tracks
18:08:34 <planetmaker> showing the gradual decay
18:08:45 <Eddi|zuHause> Alberth: we need Big Data to have a mythical Algorithm that knows what the player wants before he knows it
18:08:59 <Eddi|zuHause> Alberth: and then annoy every player that wants to deviate from the norm
18:09:03 <Alberth> has such nice edge cases where you work on connecting a neighbour industry too, but just before you lay the final connection, the previous industry closes
18:09:17 <planetmaker> haha!
18:09:18 <Alberth> just correct the player :p
18:09:35 <planetmaker> My infrastructure barely only serves one purpose
18:09:42 <planetmaker> except the very last bit of tracks
18:10:02 <Alberth> yeah, depending on how you build your network
18:10:09 <planetmaker> sure enough
18:10:20 <Eddi|zuHause> i imagine the majority of people still never figured out signals so they build point-to-point connections
18:12:49 <nielsm> hm what about a feature that lets players save industries from closing (unless it's an extractor and the closing reason is "resources ran out") by paying a sum
18:13:13 <nielsm> you have one month to bail it out
18:13:34 <Eddi|zuHause> completely unrelated?
18:13:58 <Eddi|zuHause> you can already fund a new industry in the place of the old one
18:14:09 <Eddi|zuHause> and that one never closes (afaik)
18:16:03 <nielsm> well, for maybe 1/5 the cost of founding a new industry of that type, you extend the closing industry's life by one year
18:16:05 <nielsm> for example
18:16:46 <nielsm> (and if you manage to begin servicing it in the meantime, it will probably survive)
18:17:06 <planetmaker> I wouldn't mind. Not sure how smoothly that goes with NewGRFs.
18:17:30 <planetmaker> closure of serviced industries is anyway a NewGRF thing
18:24:54 <Alberth> default industries hardly ever close if you serve them properly
18:33:45 <yellyFish> hi. i tried to ask this earlier but i guess it was too late. I have been trying to profile my cpu usage and see why does it run slow sometimes and i am no expert in C++ but i could tell that there is a recursive call to DeterministicSpriteGroup::Resolve that sometimes get pretty deep. As i said i am no expert but i recall hearing that recursive calls are difficult for compilers to optimize by
18:33:46 <yellyFish> themselves. Does anybody here have the time and knowledge, i know that's a lot to ask for, to look into it. And even if it can't be transformed into a tail call, any little optimization should compound greatly.
18:35:27 <Eddi|zuHause> certainly more sane persons here at 6PM than 6AM :p
18:36:06 *** dwfreed has joined #openttd
18:36:48 <Eddi|zuHause> anyway, the problem with recursive function calls is not that compilers cannot optimize them, but that also humans have sometimes trouble picking a better algorithm to replace them
18:36:50 <yellyFish> well, for me it's 1PM. so
18:37:47 <Eddi|zuHause> so i don't know how much effort you want to put into it to squeeze out some optimization
18:39:53 <yellyFish> i can't play in the server i like so i guess i could put that time into it and help everyone at the same time
18:40:12 <yellyFish> i am kinda rusty in C++ tho
18:41:20 <Eddi|zuHause> i'm assuming that code deals with NewGRFs, particularly resolving VarAction2
18:41:59 <Eddi|zuHause> other than using less newgrfs, i'm not sure what you could get out of this
18:44:50 <Eddi|zuHause> as far as difficulty to get into openttd coding, you've picked a project somewhere between "insanely hard" and "nearly impossible"
18:46:14 <Eddi|zuHause> i would suggest an easier project to "get your feet wet"
18:46:52 *** nnplv has joined #openttd
18:48:49 *** Scaredy has joined #openttd
18:50:01 *** Scaredy has quit IRC
18:51:12 <planetmaker> yellyFish, did you do timines with or without NewGRFs?
18:55:28 *** Thedarkb has quit IRC
19:06:21 *** sla_ro|master has joined #openttd
19:09:20 <yellyFish> with NewGRFs and with a tool called perf
19:10:33 <Eddi|zuHause> yellyFish: there are some timing-related debug features in the code, you could try to use them to add the spritegroup resolving to the frame time window
19:10:38 *** Thedarkb has joined #openttd
19:10:56 <Eddi|zuHause> or possibly use them to find out which NewGRF is the worst offender
19:11:37 *** sla_ro|master2 has quit IRC
19:11:52 <yellyFish> are you talking about the -d option?
19:12:03 <Eddi|zuHause> no
19:12:16 *** Wolf01 has joined #openttd
19:12:20 <Wolf01> o/
19:14:37 *** Progman has joined #openttd
19:22:17 *** pastly has left #openttd
19:23:06 <yellyFish> oh, you mean the frame rate window?
19:24:54 <Eddi|zuHause> yes, in the code there are lines that say things like "start measuring the time now" and "stop measuring the time now". you could put those in the various SpriteGroup::Resolve descendents
19:25:36 <planetmaker> there's TIC and TOC macros in the code
19:25:37 <Eddi|zuHause> in src/newgrf_spritegroup.cpp
19:25:59 <Eddi|zuHause> planetmaker: i think there's something newer/more finegrained now
19:26:07 <planetmaker> even better then :)
19:26:13 <planetmaker> since when? :-O
19:26:24 <Eddi|zuHause> a few months?
19:26:29 <planetmaker> <3 sweet!
19:28:02 <Eddi|zuHause> https://github.com/OpenTTD/OpenTTD/commit/2a868b9f3b8e3b5f8b9e5f728f628ec88fd5e3ad
19:28:58 <Eddi|zuHause> "PerformanceAccumulator framerate(...);"
19:29:17 <planetmaker> ha, ty!
19:29:32 <planetmaker> that totally slipped my attention. Great :)
19:31:52 <Eddi|zuHause> So, something like add "PFE_SPRITEGROUP" into "enum PerformanceElement" (framerate_type.h) and then add "PerformanceAccumulator framerate(PFE_SPRITEGROUP);" in the beginning of the relevant functions
19:32:17 <Eddi|zuHause> additional magic needed to put the value into the GUI
19:32:53 <yellyFish> yes. i was looking to something like that
19:33:58 <yellyFish> but first i should check if there is any particular NewGRF that is taking long
19:42:36 <Eddi|zuHause> yellyFish: well, it's a question of trying out random stuff to see if it has an effect, or find out how much fraction of the frame time goes into NewGRF resolving, to test if it is even worth bothering.
19:43:28 <planetmaker> yeah. First thing to test is w/o NewGRF vs. with your current NewGRF choice
19:43:42 <planetmaker> (what NewGRFs are you using?)
19:43:57 <Eddi|zuHause> it may be tricky to find a similarly filled savegame that has no NewGRF
19:44:20 <planetmaker> hm, yes. Maybe coop has some. Difficult tho
19:44:51 <planetmaker> https://www.openttd.org/en/servers <-- is your server there, yellyFish ?
19:45:03 <yellyFish> yeah. i can run the netsave locally fine at like 0.7 speed but online i get choked
19:45:53 <Eddi|zuHause> well, 0.7 means you can't keep up with the server, so he will throw you out
19:46:00 <yellyFish> yes
19:46:04 <yellyFish> https://www.openttd.org/en/server/121499
19:46:06 <Eddi|zuHause> (server must be the slowest)
19:46:13 <yellyFish> it uses JGRPP
19:46:23 <planetmaker> ah, hm
19:47:26 <yellyFish> but same should apply to both i think.
19:47:45 <planetmaker> yep
19:48:20 <planetmaker> but I don't know where jgrpp deviates and by how much
19:48:25 <Eddi|zuHause> yellyFish: something i might try: just printf the grf-ID inside ::Resolve, and then grep -c to find out which one is most often
19:49:00 <yellyFish> lol. yeah i guess that's a quick way to check
19:50:14 <Eddi|zuHause> the spritegroup should have a way to access the GRF it is contained in to get its ID
19:52:48 <Eddi|zuHause> ResolverObject::grffile
19:52:52 <Eddi|zuHause> or something like that
19:53:05 *** Wormnest has quit IRC
19:53:24 <yellyFish> yes the resolverobject has one
19:54:10 <Eddi|zuHause> so "this->grffile.grfid"
19:54:39 <Eddi|zuHause> note that grfid should be printed as big-endian hex number
19:54:47 <yellyFish> object->grffile.grfid
19:55:36 <Eddi|zuHause> is Resolve a static function?
19:56:15 <Eddi|zuHause> "object" sounds like the parent of "this"
19:56:21 <Eddi|zuHause> or other way around
19:56:44 <yellyFish> it's the resolverobject passed to the resolve function
19:57:10 <Eddi|zuHause> yeah, but "this" is implicitly passed as well
19:58:23 <Eddi|zuHause> ah "this" isn't a ResolverObject but a SpriteGroup
19:58:30 <Eddi|zuHause> that makes sense then
19:59:47 *** sim-al2 has joined #openttd
20:01:32 <yellyFish> how would i go about testing this on the server without having a version mismatch?
20:01:52 <Eddi|zuHause> you don't
20:01:57 <yellyFish> or first check locally?
20:02:06 <Eddi|zuHause> these things you only do locally
20:02:12 <yellyFish> gotcha
20:02:50 *** frosch123 has joined #openttd
20:06:48 *** Sausage has joined #openttd
20:06:48 <Sausage> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
20:06:49 *** Sausage has quit IRC
20:06:53 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on issue #6943: Music doesn't works https://git.io/fxyYF
20:08:04 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxyOv
20:09:46 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh merged pull request #6937: Fix #4109: Add more water checks to the Oil Rig layout https://git.io/fxWDM
20:17:45 <Samu> oh, nice thx
20:19:32 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxy3r
20:22:38 *** andythenorth has joined #openttd
20:22:41 <andythenorth> o/
20:27:47 <planetmaker> \o
20:29:47 <andythenorth> so I just close this one with a comment?
20:29:48 <andythenorth> https://github.com/OpenTTD/OpenTTD/issues/6944
20:31:50 <Eddi|zuHause> no, why?
20:33:45 <andythenorth> because it's not stupid, but totally absolutely untenable
20:33:57 <andythenorth> there is no concept of specific routes in OTTD
20:34:17 <Eddi|zuHause> doesn't mean there's no improvement to be had here
20:35:01 <andythenorth> as usual, I don't see the point because it doesn't fit my play style :P
20:35:08 <andythenorth> what's the case for removing a supply chain?
20:35:32 <LordAro> i don't even see how it could be feasible, let alone actually desired
20:35:33 <Eddi|zuHause> industry closure, it says so?
20:35:55 <yellyFish> like oil rigs getting depleted?
20:36:07 <Eddi|zuHause> for example
20:36:40 <frosch123> maybe they don't know about ctrl+autorail
20:37:14 <andythenorth> industry closure is a bug
20:37:24 <andythenorth> if you have serviced industries closing, then you're doing it wrong
20:37:25 <Eddi|zuHause> frosch123: but that only removes individual track pieces?
20:37:26 <andythenorth> or it's a bug
20:37:35 <DorpsGek_II> [OpenTTD/OpenTTD] quantuumsnot commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxyGK
20:37:51 <andythenorth> just drag dynamite
20:37:53 <andythenorth> no problem
20:37:59 <frosch123> Eddi|zuHause: if you drag it it is a selective removal
20:38:11 <frosch123> it's definitely faster than building the track
20:38:12 <Eddi|zuHause> frosch123: yes, but too micromanag-y
20:38:29 <Eddi|zuHause> frosch123: there is need for something inbetween
20:38:30 <yellyFish> something like the signal autoplacement but rail removal
20:38:40 <frosch123> "need" :p
20:38:48 <LordAro> at best a "follow bulldozer" could follow a track until a junction, but that would just get stopped by every depot
20:39:03 <Eddi|zuHause> well, "need" is a too strong word, but all other words would have been longer :p
20:39:05 <yellyFish> it's the same like signals anyway
20:39:16 <yellyFish> it would be a nice feature to have that
20:39:18 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxyG5
20:41:24 <yellyFish> btw, i sorted the data of NewGRF that use the function most and i have two that use it the most
20:41:30 <yellyFish> what do i do with them now?
20:42:04 <Eddi|zuHause> which ones?
20:42:07 <planetmaker> put them in glas box, and give them extra credit :)
20:43:23 *** Namarrgon has joined #openttd
20:43:40 <yellyFish> GRF ID 44440302, filename: north_american_renewal_set-2.51/newnars.grf
20:44:05 <planetmaker> is that because most of your trains are from that set?
20:44:12 <yellyFish> firs_2-2.1.5/firs.grf
20:44:19 <yellyFish> well, i expected firs
20:44:28 <frosch123> i did not
20:44:44 <frosch123> industry grfs are pretty cheap, unless you do ecs-style tile annimation
20:45:18 <Eddi|zuHause> does this cover callbacks?
20:46:29 <yellyFish> i put the printf just before the most used if branch, where they check if the variable is not available
20:46:39 <Eddi|zuHause> the next two questions i would ask here would be: could some of those calls be eliminated by caching, or are they affecting things that are not visible anyway, and should be skipped? (that would improve larger maps)
20:46:48 <DorpsGek_II> [OpenTTD/OpenTTD] quantuumsnot commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxyZ9
20:47:15 <frosch123> Eddi|zuHause: for vehicles the solution is to remove caching :p
20:47:32 <frosch123> well, or rather: remove the prefetch of the cache
20:47:45 <Eddi|zuHause> well, yes, lazy caching
20:47:59 <Eddi|zuHause> only fill the cache if it is already being accessed
20:48:29 <frosch123> i started, but did not finish :)
20:49:11 <Eddi|zuHause> that would be the answer to question 2, though
20:50:07 <yellyFish> so check which variable is called the most if any is substantially more than the others?
20:50:21 <Eddi|zuHause> no
20:50:48 <Eddi|zuHause> i don't think that gives you meaningful answers
20:52:47 <frosch123> yellyFish: http://devs.openttd.org/~frosch/profile_ecs.png <- ECS in 2011
20:53:49 <yellyFish> mmmm. didn't know that was in the game
20:53:58 <frosch123> it isn't :p
20:54:03 <Eddi|zuHause> i don't think it is
20:54:24 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on issue #6944: Feature request: Add automatic demolition of supply chain when an industry is depleted https://git.io/fxyc8
20:54:47 *** glx has joined #openttd
20:54:47 *** ChanServ sets mode: +v glx
20:54:49 *** sim-al2 has quit IRC
20:55:41 <yellyFish> frosch123: then what are you trying to tell me with that? i am confused
20:55:48 <frosch123> https://github.com/frosch123/OpenTTD/tree/feature_newgrf_profiler <- it's just 7 years behind
20:56:22 <frosch123> yellyFish: measuring the amounts of callbacks was my approcach in 2011
20:56:51 <frosch123> which resulted in "ecs is hopeless", and various improvements for other grfs
20:57:28 <frosch123> last year i did some callgrind stuff, which improved nuts by 20%
20:57:53 <frosch123> but there is still lots of optimisation potential for vehicles
20:58:11 <frosch123> industry grfs never appeared on my list, unless you run a 4kx4k map with 3 vehicles
20:58:15 <DorpsGek_II> [OpenTTD/OpenTTD] Wilma456 commented on issue #6943: Music doesn't works https://git.io/fxycb
20:58:53 <frosch123> basically: if industry newgrf need more resources than vehicle grfs, you either use ecs, or you have too few vehicles compared to the number of industries
20:59:07 <yellyFish> no. i have plenty that i am sure
20:59:28 <frosch123> no idea, maybe it's something new then
20:59:54 <frosch123> maybe andy started doing ecs style animation :)
20:59:59 <frosch123> but I doubt that
21:02:45 <yellyFish> maybe check what is making firs go through that branch
21:10:08 *** sekhmet has joined #openttd
21:10:12 <sekhmet> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
21:10:12 *** sekhmet has quit IRC
21:10:27 <yellyFish> lol
21:10:31 <Wolf01> They are spamming in every server
21:11:26 <frosch123> as if entrepreneurs would use irc
21:12:00 <yellyFish> lol. i see what you did there
21:12:28 <andythenorth> frosch123: ecs style animation is not wiki :P
21:12:31 <andythenorth> what does it mean :P
21:13:06 <frosch123> there is a callback to decide the duration of an animation frame
21:13:19 <andythenorth> that's a nice website he had
21:13:26 <frosch123> but it means that this callback is called every tick for every tile to decide whether the duration is over
21:15:07 * andythenorth clarifies that the 'nice site' comment about the racist site was irony
21:15:09 <andythenorth> just in case
21:15:19 <andythenorth> don't click the link
21:15:28 <frosch123> why did you?
21:15:34 <andythenorth> because curious
21:15:34 <Eddi|zuHause> i really wasn't going to...
21:15:41 <frosch123> deperate to do something else than tanks?
21:15:42 <LordAro> oh dear
21:15:54 <LordAro> you've probably got all the viruses now
21:15:55 *** gelignite has joined #openttd
21:15:57 <glx> hope you did it in private mode
21:15:58 <andythenorth> I am always curious what spammers are promoting
21:17:35 <Eddi|zuHause> i'd not be worried about the content of the site, but about the data harvesting, tracking cookies or flyby infections
21:19:16 <andythenorth> or that clicking creates a business model for people I dislike
21:19:30 <andythenorth> I have yet to be drive-by-ed
21:19:33 <andythenorth> but there's a first time
21:19:49 <andythenorth> I've seen attempted drive-bys
21:20:11 <andythenorth> and I know multiple people who've been conned by fake flash updates
21:20:22 *** tompaw has joined #openttd
21:20:22 <tompaw> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
21:20:22 *** tompaw has quit IRC
21:20:37 <Eddi|zuHause> well, problematic thing about drive-by-infections is the ones you wouldn't notice
21:20:38 <LordAro> maybe time for +r
21:21:21 <glx> no need for +R with this rate
21:21:54 <yellyFish> Looks like there really is a market for entrepeneurs and fentanyl addicts, huh
21:22:15 <andythenorth> yeah I've seen something like this on multiple macs https://en.wikipedia.org/wiki/Flashback_(Trojan)
21:22:41 <andythenorth> and I once saw an unprompted download in my browser succesfully started from a site
21:23:04 <yellyFish> spooky
21:24:08 <andythenorth> drive-by innit
21:24:17 <andythenorth> anyway
21:24:36 <andythenorth> so ECS style animation :P
21:27:10 <frosch123> it works on 256x256 maps with 100 industries
21:27:19 <andythenorth> frosch123: so animation_speed as a cb, not a prop?
21:27:51 <frosch123> yes, using the speed callback is worse than setting the fastest animation speed
21:28:14 <andythenorth> I use it as a prop
21:28:21 <frosch123> that's fine
21:28:25 <andythenorth> so if nml is doing the right thing, it's not that :P
21:28:43 <frosch123> rewrite the profiler patch, and you can measure it :)
21:29:21 <Eddi|zuHause> how many new windowing systems did we have since 2011?
21:29:48 <frosch123> we also had a major newgrf refactoring
21:30:05 <andythenorth> all the things
21:30:14 <andythenorth> I should finish something newgrf
21:30:57 <nielsm> someone should review those cargo count patches
21:30:58 <frosch123> Eddi|zuHause: the patch already has nested widgets
21:31:07 <frosch123> so, that part is likely the most compatible one
21:31:40 <yellyFish> okay. both newGRFs call the most for variable 1A
21:31:56 <andythenorth> nielsm: maybe Eddi|zuHause can review them? o_O
21:32:04 <andythenorth> now he has commits he's in the zone again
21:32:14 *** Thedarkb has quit IRC
21:32:49 <frosch123> yellyFish: that's not even a variable :p
21:33:32 <yellyFish> variable are in hex right?
21:33:34 <Eddi|zuHause> that's the constant -1
21:33:53 <Eddi|zuHause> (or 0xFFFFFFFF)
21:34:26 <Eddi|zuHause> https://newgrf-specs.tt-wiki.net/wiki/GlobalVariables
21:34:45 <Eddi|zuHause> yellyFish: but as i said, that information is probably not useful for any optimisation purposes
21:35:28 <frosch123> yellyFish: add a shortcut for 1A in static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *scope, byte variable, uint32 parameter, bool *available), and see wether that has an impact
21:37:22 <frosch123> it safes a non-inlined function call
21:39:50 <Eddi|zuHause> Var 1A is probably used a lot in some internal nml calculations
21:39:53 <frosch123> (assuming you have something like callgrind running, to measure improvments in one-digit percentages)
21:40:03 <frosch123> Eddi|zuHause: nars is nfo
21:41:02 *** Thedarkb has joined #openttd
21:41:37 <yellyFish> mmm i think i found a logic error. i'll check if it's fixed in latest JGR version first
21:42:01 <Eddi|zuHause> frosch123: also "newnars"?
21:42:21 <frosch123> does that exist?
21:42:33 <Eddi|zuHause> frosch123: that's what the filename says above
21:43:18 <frosch123> it says nars 2.51
21:43:19 <Eddi|zuHause> "<yellyFish> GRF ID 44440302, filename: north_american_renewal_set-2.51/newnars.grf"
21:43:29 <frosch123> i assume that is a pikka nars 2
21:43:43 <yellyFish> is it safe to say that there is a semantic error if there is a if branch that can never get evaluated to true?
21:43:51 <Eddi|zuHause> well, there is certainly a difference between NARS2 and NARS2.5
21:44:10 <frosch123> it's on bananas with "custom" license, must be pikka
21:44:11 *** spudly has joined #openttd
21:44:12 <spudly> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
21:44:12 *** spudly has quit IRC
21:44:23 <Eddi|zuHause> yellyFish: depends
21:44:28 <frosch123> yellyFish: gcc7 should warn about that
21:44:39 <Eddi|zuHause> yellyFish: have a link to the code?
21:45:20 <yellyFish> https://github.com/JGRennison/OpenTTD-patches/blob/b582ef8078a8f66b5f77fabf978c89771e65e260/src/newgrf_spritegroup.cpp#L240
21:46:09 <Eddi|zuHause> yellyFish: so why do you think that can never be true?
21:46:47 <yellyFish> _sprite_group_resolve_check_veh_check starts false and never get assigned true
21:46:52 <Eddi|zuHause> yellyFish: remember that by convention, variables starting with _ are global variables
21:47:14 <Eddi|zuHause> so they might be set in completely different locations
21:47:37 <yellyFish> oh yeah, duh. you right
21:48:03 <frosch123> that's jgr code?
21:48:10 <yellyFish> yes
21:48:40 <frosch123> are they any measurement results about that whitelist?
21:48:43 <frosch123> *there
21:50:03 *** gelignite has quit IRC
21:50:06 <yellyFish> you mean done by me?
21:50:24 <frosch123> i do not follow jgr development
21:50:43 <frosch123> so, i have no idea about that stuff
21:52:34 <yellyFish> well, i was checking that because what i am measuring goes past that whitelist
21:53:23 <yellyFish> there is a case check for that 1A var in the whitelist but doesn't get checked because of that global variable. Not sure what that global variable means tho
21:54:19 <frosch123> https://github.com/JGRennison/OpenTTD-patches/commit/3ac94e97c8eb05e2a767ce5c0267a268e9e12145 <- it's from here
21:54:56 *** sla_ro|master has quit IRC
21:55:19 *** nielsm has quit IRC
21:55:30 <Eddi|zuHause> yellyFish: that whitelist basically only says that the value of var 1A doesn't really change, but it's not where var 1A actually gets evaluated
21:57:08 *** Gja has quit IRC
21:57:59 <Eddi|zuHause> frosch123: i think the idea there is that the cache invalidation is not unconditionally every tick
21:58:15 <frosch123> yes, i read the code
21:58:32 <frosch123> but there is no specific branch for it, so i never noticed it before
21:59:08 <Eddi|zuHause> frosch123: patchpacks is where patches go to die :p
21:59:24 <frosch123> jgr has branches for single features
21:59:33 <frosch123> which makes looking at them a lot easier
22:00:04 <frosch123> Eddi|zuHause: that only applies to patchpacks which are not maintained like jgrpp
22:00:17 <frosch123> jgr knows how to use git
22:00:50 <frosch123> unless he asks his little brother to do stuff :p
22:02:43 <frosch123> i guess it's more likely he has children though, than siblings in influencable ages
22:03:23 <frosch123> andythenorth: what is the status of python/c++ programming skills?
22:03:35 <frosch123> devops?
22:03:45 <andythenorth> status?
22:03:48 <andythenorth> o_O
22:04:16 <frosch123> i talked about deligating tasks to children or siblings :)
22:04:28 <andythenorth> child #1 keeps asking to learn 'snake'
22:04:47 <andythenorth> but when I try and teach him, he gets distracted by it's basic maths calculations
22:04:48 <frosch123> you name it snake so they cannot google for it?
22:04:50 <andythenorth> he really likes maths
22:04:55 <andythenorth> he calls it snake
22:05:06 <andythenorth> he was delighted when saw chameleon in Iron Horse
22:05:14 <andythenorth> more animals :P
22:05:16 <frosch123> :p
22:05:33 <andythenorth> children wouldn't be allowed to devops
22:05:33 <frosch123> i guess flask and flexx are no animals
22:05:40 <andythenorth> nobody should do devops without battle scars
22:06:04 <andythenorth> until you've broken all production Apache at 6.30pm on a Friday, you don't get SSH
22:06:07 <andythenorth> :P
22:06:46 <Eddi|zuHause> over here, nobody is even there fridays at 6:30pm
22:07:06 <frosch123> it's the best time to get work done, if you have to
22:07:14 <Eddi|zuHause> nothing happens friday after 2:30-ish
22:07:35 <Eddi|zuHause> frosch123: yes, but my boss didn't understand it, and demanded i show up at 8AM like everyone else
22:07:52 <frosch123> you can also show up at 5am
22:07:56 <frosch123> it works in both directions
22:08:16 <Eddi|zuHause> not for me
22:08:39 *** ChanServ sets mode: +o orudge
22:09:42 <andythenorth> 8AM is a terrible idea
22:10:20 <Eddi|zuHause> well, technically the rules of the company were 7AM to 4PM
22:10:59 <frosch123> you head for 8am if there is still preparation work for the 10am meeting :p
22:11:57 <Eddi|zuHause> there was a weekly meeting mondays at 8:30, and i said something like "i can do that, if i don't have to show up before 10 the other days"
22:12:57 <Eddi|zuHause> they first agreed, but later they were like "you keep the times like everyone, or else" and i said "then else..."
22:13:09 <frosch123> a meeting with the whole team is like sleep, isn't it?
22:13:39 <andythenorth> the world has 3x as many engineer job openings as engineers afaict
22:13:39 <Eddi|zuHause> not after driving to work...
22:13:47 <andythenorth> why developers stay in crap jobs and moan I don't know :)
22:13:50 <andythenorth> inertia probs
22:14:03 <andythenorth> also engineer salary inflation is a thing currently :P
22:14:06 <Eddi|zuHause> and my usual tendency to be 5-10 minutes late to everything more than 200m away
22:14:12 <frosch123> andythenorth: because 80% of it jobs are crap?
22:14:20 <andythenorth> hmm
22:14:34 <frosch123> but yes, salary inflation :p
22:14:46 <andythenorth> we had a potential hire recently, hates his boss
22:14:50 *** lyf has joined #openttd
22:14:54 *** LazarUS has joined #openttd
22:15:00 <andythenorth> but got offered effective 20% rise so stayed
22:15:11 <andythenorth> hate the work, hate the company BUT THE MONEY
22:15:25 *** LazarUS has quit IRC
22:15:25 *** lyf has quit IRC
22:15:34 <Eddi|zuHause> i could really live without the money... i need a good work environment
22:15:42 <Eddi|zuHause> one that is demanding but not pushy
22:16:06 *** glavinics has joined #openttd
22:16:09 <yellyFish> lol. should use the money to get his boss in a 'accident'. kill two birds with one stone
22:16:51 <Eddi|zuHause> who says the next boss won't be worse?
22:17:14 <frosch123> yellyFish: "having a bad boss" may still be a better option than "having to do the work of a former boss"
22:17:44 <yellyFish> i am working with incomplete information here
22:18:00 <frosch123> Eddi|zuHause: that's the second question. the first is "when will there be a next boss"?
22:19:40 <andythenorth> level up
22:19:41 *** Alberth has left #openttd
22:19:49 * andythenorth is hiring :P
22:20:34 <Eddi|zuHause> andythenorth: you have something i can do from home and not get brexit troubles?
22:22:06 <andythenorth> nah
22:23:14 *** frosch has joined #openttd
22:23:19 <frosch> do you accept remote working from continental europe?
22:23:39 <Eddi|zuHause> that's what i just asked?
22:23:50 <frosch> and yes, my router had a freudian breakdown
22:27:53 *** frosch123 has quit IRC
22:30:06 <andythenorth> somewhat not
22:30:08 <andythenorth> for reasons
22:30:30 <andythenorth> it's hard to get the full benefit of my sense of humour remotely
22:30:58 <frosch> oh, that probably excludes non-native brittish :)
22:34:33 <andythenorth> we have Australians
22:34:41 <andythenorth> New Zealanders
22:36:03 <frosch> a nearby university has an indian community, so recently my indian coworkers outnumber the chinese coworkers
22:37:13 <frosch> even more suprising is that they reach 50% women, compared to 10% in every other group
22:37:48 <planetmaker> andythenorth, aren't those just the criminals from yesterday? :P
22:38:26 <andythenorth> planetmaker: so they tell me
22:38:53 <frosch> i think there was a recent dilbert about that
22:39:08 <frosch> unusual, usually we quote xkcd :)
22:39:44 <planetmaker> I may have, but I didn't try on purpose :)
22:42:21 <frosch> http://dilbert.com/strip/2018-09-20
22:42:28 <frosch> (more main stream than the usual xkcd)
22:42:43 <andythenorth> far too close to the bone
22:42:50 <Eddi|zuHause> frosch: i'm assuming you mean indian from india, not "indian" from america
22:42:59 <andythenorth> they're native americans
22:43:16 * andythenorth doesn't actually know that for a fact
22:43:16 <frosch> Eddi|zuHause: yes, but i may include the occasional pakistani
22:43:22 <frosch> or east-iranian
22:43:23 <andythenorth> indian sub-continent
22:43:34 <Eddi|zuHause> frosch: how about east pakistan?
22:43:47 <planetmaker> he :)
22:44:09 <Eddi|zuHause> (that was a real thing, it's now called Bangladesh)
22:48:21 <Eddi|zuHause> in any case, india is probably more ethnically diverse than "america"
22:55:10 *** frosch has quit IRC
23:03:54 <andythenorth> how is it bedtime already? :(
23:03:56 *** andythenorth has left #openttd
23:04:13 <Eddi|zuHause> bedtime? i barely got up?
23:09:51 <planetmaker> :D
23:14:56 *** elvishjerricco has joined #openttd
23:14:59 <elvishjerricco> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
23:15:00 *** elvishjerricco has quit IRC
23:15:44 <Eddi|zuHause> how hard is it to kill these things serverside BEFORE their message is delivered to the clients?
23:16:23 <glx> good question
23:17:23 *** Happpy has joined #openttd
23:17:36 *** Happpy has left #openttd
23:18:20 <LordAro> surprisingly hard
23:18:45 <Eddi|zuHause> you'd have to run the filter code on all servers, i presume
23:22:50 <planetmaker> the main problem likely would be to distinguish them from legitimate users
23:23:36 <planetmaker> have them join 10 channels after network join. And send that message. Might be a normal user with a script saying 'hi' in his favourites as well
23:23:39 *** Progman has quit IRC
23:34:49 *** Thedarkb has quit IRC
23:45:54 *** Wolf01 has quit IRC
23:53:23 *** zetaPRIME_ has joined #openttd
23:53:27 <zetaPRIME_> With our IRC ad service you can reach a global audience of entrepreneurs and fentanyl addicts with extraordinary engagement rates! https://williampitcock.com/
23:53:27 *** zetaPRIME_ has quit IRC
23:58:43 *** Thedarkb has joined #openttd