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

Powered by YARRSTE version: svn-trunk