IRC logs for #openttd on OFTC at 2024-04-01
⏴ go to previous day
00:16:27 *** Wormnest_ has quit IRC (Ping timeout: 480 seconds)
01:56:50 *** Wormnest_ has joined #openttd
02:09:20 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
02:12:41 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
02:32:46 *** APTX_ has quit IRC (Quit: Farewell)
03:02:09 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:38:03 *** D-HUND is now known as debdog
04:40:22 <DorpsGek> - Update: Translations from eints (by translators)
05:09:28 <lemuria0685> Is OpenTTD multithreaded?
05:29:18 <locosage> lemuria0685: it sometimes uses a second thread so call that what you will xD
05:36:50 *** tabytac has quit IRC (Quit: User went offline on Discord a while ago)
05:47:13 *** ahyangyi has quit IRC (Quit: User went offline on Discord a while ago)
06:40:27 <pickpacket> Is 14.0 coming out today? 😃
07:08:11 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:11:50 <DorpsGek> - Add: summary for week 13 of 2024 (by OpenTTD Survey)
07:27:07 <belajalilija> pickpacket: soon ™️
07:31:59 <pickpacket> Reminds me that I should release Tea Tea Deluxe 1.4.1, which contains a bugfix
07:32:38 <pickpacket> I’ll probably do that later this week though
08:29:07 <truebrain> I ... forge-pushed out some work done by 2TallTyler ... oops
08:29:31 <truebrain> and this is why force-pushing is bad
08:34:58 <peter1138> Yeah, written over a year ago 😮
08:35:01 <truebrain> wait, peter1138 doing Scripting stuff? 😛
08:35:13 <truebrain> mind adding `[Script]` to your PR title / commit message? 😄
08:37:13 <truebrain> hmm, orudge never attached the gimp files for the birthday posts to the PR .. so where is that source ...
08:40:04 <truebrain> found the original image; good enough
08:42:20 <LordAro> truebrain: force-with-lease !
08:42:46 <truebrain> I understand git wants to be backwards compatible, but that that isn't the default is annoying as fffffffff
08:42:51 <LordAro> can we actually do a release without xz?
08:42:59 <truebrain> I wish GitButler wasn't this commericalised, it would have been a good alternative
08:43:16 <truebrain> LordAro: I have some ideas; but fighting the build-system as we speak
08:43:27 <LordAro> i have a 'pushf' alias (that also does force-with-include)
08:44:59 <truebrain> yeah, but having to install that on every machine I work on, is also a chore
08:45:25 <truebrain> mostly what I miss with all these GUI tools, is a simple way to visualize `git add -p` without creating tons of overhead
08:45:45 <truebrain> most either don't even allow that workflow, or are weirdly slow when doing so
08:56:24 <peter1138> #12408 was probably for andy.
09:02:03 *** gelignite has joined #openttd
09:06:41 <truebrain> okay, I was trying some cache poison to make sure liblzma was precompiled in our cache; but vcpkg is built decently enough that it notices it was based on another source file, refusing to reuse that cache file ..
09:06:58 <truebrain> so it seems that we can't make a release without modifying our source code to "patch" vcpkg
09:07:44 <truebrain> it sure can; but it was worth a shot to see if we can do it anyway 😄
09:26:46 <_zephyris> Sorry, away from a computer today!
09:27:18 <_zephyris> My alternative design would be a 20-shaped bit of train track
09:28:03 <truebrain> it is likely we have a few more days, so any alternative suggestion is welcome till we do an actual release 🙂
09:31:23 *** tramman has joined #openttd
09:35:49 <truebrain> funny, profiling a binary with ASAN shows the impact of ASAN on the execution 😛 It is more than 5% 🙂
09:52:06 *** ahyangyi has joined #openttd
09:52:06 <ahyangyi> Ah, that kind of "instrument any memeory operation" thing, I'd expect a 10x slowdown to be acceptable for an I/O intensive application.
09:57:29 *** masteroktagon has joined #openttd
09:57:29 <masteroktagon> _zephyris: Sth like this (mockup only)
09:58:24 <truebrain> just now with actual vanilla OpenTTD, and not some fork of it 😉
09:59:36 *** tramman has quit IRC (Quit: Page closed)
10:00:00 <masteroktagon> Yes, its an idea only for now
10:07:55 <merni> Just drop support for everything that involves xz /s
10:13:53 <johnfranklin> Which device takes better photos? iPhone 14, or a Canon SLR made in 2012?
10:14:19 <truebrain> I think you ended up in the wrong Discord
10:17:23 <johnfranklin> I mean, there are meal topics daily in this channel
10:18:57 <truebrain> talking about meal topics, it is lunch time! (and if you don't know the difference between chats about lunch, and asking about actual opinions about cameras, you are for sure in the wrong channel 😉 Try Discord channel #off-topic )
10:21:05 <truebrain> hmm .. a CPU + heap profile consumes ~100KiB per savegame .. 20 savegames .. that makes 2MiB per day
10:21:12 <truebrain> I guess I shouldn't be storing that on GitHub 😄
10:21:48 <johnfranklin> Thanks, will ask it in off-topic channel depending on the dominance of dutch
10:34:48 <truebrain> Meh, pprof can't export to html, but it does serve a http server .. meh
10:39:52 *** HerzogDeXtEr has joined #openttd
10:52:10 <masteroktagon> masteroktagon: Proposal for banner.
11:01:00 *** keikoz has quit IRC (Ping timeout: 480 seconds)
11:03:00 <kuhnovic> IMO the town makes it hard to see the 2
11:09:39 *** keoz has quit IRC (Read error: Connection reset by peer)
11:10:30 <masteroktagon> should I remove it?
11:17:52 <kuhnovic> It is nice to have as a bit of eyecandy, and it should be fine as long as the town doesn't touch the rails
11:18:57 <kuhnovic> Or perhaps upgrade it all to monorail? The yellow stands out quite well in the 0
11:27:45 *** keikoz has quit IRC (Ping timeout: 480 seconds)
11:31:06 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
11:32:49 *** As1 has quit IRC (Remote host closed the connection)
11:33:59 <peter1138> Canal in the shape of a 2.
11:39:58 <truebrain> fits the feature-theme
11:54:45 *** aasdasd has joined #openttd
12:01:07 <truebrain> also need room for the OpenTTD logo, and some text (14.0)
12:01:19 <truebrain> might be easier to draw this bigger and zoom out a bit?
12:01:33 <truebrain> and do we have a GRF with party boats or something? 😛
12:06:34 <xarick> why do you feel the need to celebrate
12:07:55 *** tateisukannanirase has joined #openttd
12:07:55 <tateisukannanirase> Perhaps a broken down train or bus in the corner.
12:12:42 <xarick> so I take it unbunch for AIs won't go into 14 😦
12:13:44 <xarick> really wanted to try unbunch on my ships
12:22:10 *** gelignite has quit IRC (Read error: Connection reset by peer)
12:40:16 <truebrain> kuhnovic: looks nice; now some room for the date and logo 😉
12:41:32 <truebrain> that sounds horrible
12:42:06 <peter1138> Dunno what the text is about...
12:42:23 <peter1138> Looks like a Gnome Desktop to me.
12:43:08 <peter1138> Old version though, before all the nice (if I say so myself) interface scale changes.
12:52:52 <truebrain> I am missing balloons
13:00:38 <kuhnovic> Should have used seawater to begin with, the diagonal edges are much nicer
13:00:51 <truebrain> that looks a lot nicer, tbh
13:01:05 <truebrain> and it is a Steam background; not sure it needs all the other stuff
13:01:16 <truebrain> just maybe without the weird grass 😄
13:01:38 *** gelignite has joined #openttd
13:02:37 <peter1138> The curl on the bottom of the 2 is a bit weird.
13:06:25 <truebrain> yeah, that works for me; but what peter1138 says, maybe there is some gain
13:06:34 <truebrain> but maybe others like the more busy variant more
13:08:53 <kuhnovic> I'll make one with a bit of fluff now
13:09:19 <LordAro> definitely some busyness would be nice
13:10:04 <truebrain> an `!` with trees after it 😛
13:10:29 <truebrain> anyway, just remember at the bottom will be "14.0", and the logo goes .. in the top right corner, I guess?
13:10:34 <truebrain> so keeping that free helps 🙂
13:10:44 <truebrain> also lol @ that single tree in that image 🙂
13:15:13 <kuhnovic> The scenario editor just randomly plants trees. And if you clear an area you get the weird grass sometimes... annoying 😛
13:17:26 <peter1138> Grass is fine, missing roads, buildings, industries, things that make it OpenTTD...
13:22:25 <truebrain> becomes this on Steam
13:23:38 <truebrain> normally we put the logo in the center, but that doesn't work this time, ofc 😛
13:26:29 <truebrain> excuse my ugly drawing skills, but something like this might work better?
13:27:59 <peter1138> Maybe above the 20, but overlapping slightly.
13:28:25 <truebrain> about as far as my creativity goes, so give it a go! 🙂
13:31:10 *** keikoz has quit IRC (Read error: No route to host)
13:31:45 <kuhnovic> Is this too much fluff?
13:32:04 <kuhnovic> truebrain: I can give this a try. Let's mess everything up again :p
13:34:25 <ahyangyi> Must have been a fun drive 😉
13:34:43 <truebrain> wtb, diagonal roads
13:45:04 <truebrain> install Gimp (if you haven't), load in my xcf, and try it out!
13:45:15 <truebrain> without seeing the logo and version, it is kinda hard to see how this all works out 🙂
13:46:04 <truebrain> image ends up like here
13:56:08 <kuhnovic> How about this? Sorry if I've butchered the layers 😛
13:57:10 <truebrain> but that is not a high bar 😛
13:58:07 <kuhnovic> I don't know how to hide the layer lines, total gimp noob
13:58:32 <truebrain> only way I know how 😄
14:00:11 <kuhnovic> I need to go know, let me know if there need to be more changes 🙂
14:01:34 <kuhnovic> Here's the savegame if anyone wants to make it even prettier 😉
14:29:26 <truebrain> lol, talking about compression, zstd is coming to Chrome as Content-Encoding 🙂
14:33:33 <LordAro> did i miss the "maybe we should try zstd compression by default" discussion?
14:40:09 <truebrain> it is the first of April after all, so why not have it now?
14:47:45 <LordAro> well, if lz4 is good enough for zfs' default compression, it's probably good enough for us
14:47:54 <LordAro> zstd is probably more text-focused
14:48:37 <LordAro> though i have zero evidence to back any of this up
14:51:03 <michi_cc> Has lz4 a well setup maintainer team (with some corporate backing)? If not, there's absolutely no difference to xz, because I don't think the attackers had any special connection to xz, just that careful analysis and social engineering resulted in xz being considered as an "easy" target with a identified attack vector to the real target.
14:51:49 <michi_cc> If zx wasn't indirectly linked into ssh on some distros, or had a well functioning maintainer, I fully believe they would just have picked some other target.
14:53:22 <michi_cc> Same with the systemd hate. If systemd wouldn't haven a vector, I don't think the attackers would have just shruged their shoulders and said oh well, but they would have just tried some other attack vector.
14:56:34 *** Wormnest_ has joined #openttd
14:56:45 <truebrain> Lol, people giving systemd hate? That is just stupid...
14:56:54 <truebrain> Blame ifunc, if anything
14:57:32 <truebrain> LordAro: Reason lz4 is default (although zstd matches performance), is because of latency. That is irrelevant to us. We want good compression, not fast 🙂
14:57:46 <truebrain> Different goals different balance 🙂
15:00:02 <truebrain> well, irrelevant .. but you get what I mean 🙂 Far less relevant 😉
15:00:35 <LordAro> (to a point, of course ;) )
15:01:28 <truebrain> and why lz4 is still commonly used, although zstd is really challenging lz4 🙂
15:02:14 <truebrain> peter1138: mainly the PR was closed as tha author was: it compressed better! No it doesn't! Wait it does! No it doesn't! 😛 Someone need to do proper benchmarking over a wide range of savegames 🙂
15:03:06 <truebrain> and zstd has a lot of "levels" to test 😛
15:03:46 <truebrain> brotli these days is also worth looking into 🙂
15:03:50 <truebrain> but all that, not because of what happens to xz
15:04:00 <truebrain> but just it reminds me we should give those other compressions a look 🙂
15:08:01 <truebrain> hmmmm ... with memory profiling active, OpenTTD doesn't always shut down ...
15:08:10 <truebrain> (with `-vnull:ticks=...`)
15:08:42 <truebrain> `Dumping heap profile to openttd.mem-prof.0001.heap (1711984037 sec since the last dump)`
15:08:55 <LordAro> that's a lot of seconds
15:09:05 <truebrain> sounds like a unix timestamp to me 🙂
15:10:04 <truebrain> ah, no, the memory profiling can just make things VERY slow ... as we do A LOT of mallocs 😛
15:17:09 <truebrain> I still wonder if the YAPF really has to do that many memory allocations a second
15:32:18 <truebrain> lol, so there is a Go package called "pprof", which can read perftools generated CPU profiles for C++ .. but there is also "go tool pprof", which is for Go. Both have the same CLI commands and everything, but the latter just hangs when used on a profile generated by the first.
15:41:50 <peter1138> I've got a scary patch for Yapf but it breaks the Dump facility.
15:42:06 <peter1138> But... I've no idea what use that is, I've never used it and don't know how.
15:42:15 <truebrain> what does the patch do?
15:42:28 <peter1138> Replaces a load of custom containers with a stl container.
15:43:19 <truebrain> somehow I doubt the dump stuff has ever been used by anyone but the original author 😛
15:44:51 <truebrain> ah, no, it got added by michi_cc ; so you can ask him 🙂
15:45:29 <peter1138> Might still never have been used by anyone but the original author... 🙂
15:45:38 <_jgr_> I've used it, but it's not that important in the big scheme of things
15:45:39 <truebrain> validates if the cache is sane
15:46:04 <truebrain> ah, also for desync tracing
15:46:16 <truebrain> we haven't done that in years either 😛
15:46:20 <peter1138> Well, how do I use it, so I can make sure I don't break it?
15:46:20 <michi_cc> I might have applied some patch for the dump things, but I don't think I actually wrote much of it.
15:51:19 <truebrain> peter1138: set the desync level to 2 or higher, by looking at the code
15:51:43 <truebrain> creates a yapf1.txt and yapf2.txt when the cache is found to be incorrect
15:52:46 <truebrain> just be careful .. it is LOUD
16:00:35 <peter1138> Oh, I already broke that.
16:01:12 <peter1138> The MemCmpT in CheckCaches() assume there are only POD types.
16:07:02 <locosage> truebrain: I tested it on a wide range of saves, unfortunately that's not enough as the main point of zstd is optimizing connection speed, not file size and that is much harder to test as there are many more variables involved
16:07:55 <locosage> also, I have a sneaking suspicion something is wrong with openttd net code as it seems to download saves much slower than, say, scp
16:08:13 <locosage> I guess with 14.0 I could add connection time as telemetry in cmclient
16:09:00 <peter1138> Is desync=2 anything to do with the yapf Dump stuff?
16:09:37 <truebrain> Only if cache is wrong
16:13:59 <peter1138> Gah, stop treating multimap.hpp's template operator==/!= as candidates for non-map/non-multimap things :S
16:15:36 <peter1138> Too many templates.
16:16:03 <truebrain> Might join the Java port
16:20:11 *** gelignite has quit IRC (Read error: Connection reset by peer)
16:21:21 <j_n> kuhnovic: nitpick but other similar banners are made using the OpenGFX2 graphics set
16:23:48 <peter1138> OpenGFX1 or OpenGFX2 is fine.
16:26:04 *** gelignite has joined #openttd
17:20:06 *** keikoz has quit IRC (Ping timeout: 480 seconds)
17:21:47 <truebrain> hmm .. I need to create the flamegraph on the GitHub runner ... can't do it later, as I do need access to the binary
17:22:09 <truebrain> means I need to find a way to create a flamegraph ...
17:22:19 <truebrain> why does this tool do have a http server, but not an HTML export .. so silly
17:24:26 <Rubidium> maybe save the binary?
17:24:55 <truebrain> I guess I could ... just need to setup an R2 storage for that
17:25:05 <truebrain> that is not the most useful profile, is it? 😄
17:26:49 <LordAro> truebrain: what format is your profile data?
17:27:29 <Rubidium> truebrain: well... might've been that it would've shown 95% of liblzma.so.5 for sshd ;)
17:27:50 <truebrain> can be converted to any format btw
17:28:37 <LordAro> you don't need the binary though
17:29:05 <truebrain> I always enjoy flamegraphs better, I have to say; but that is what I liked about this tool, it is just the profile stored as protobuf messages, and tooling around it that allows you to view it in what-ever
17:29:46 <truebrain> so you can do a svg, dot, flamegraph, text, etc
17:30:33 <LordAro> but then the original flamegraph stuff can read perf data just fine, so i guess i'm missing something
17:30:53 <truebrain> I was testing while I had access to the original executable
17:31:01 <truebrain> but remotely, it doesn't have access to it
17:32:28 <LordAro> i can't say i'd ever noticed one way or the other whether it was reading the original binaries
17:32:37 <truebrain> I just wanted to add a fast way to get a profile to my performance suite, so people can quickly see what changed
17:33:00 <kuhnovic> peter1138: This probably addressed the all-of-YAPF-is-on-the-stack-issue I guess?
17:33:02 <truebrain> what is nice about pprof, it can compare two profiles
17:33:25 <truebrain> so you can ask: what changed between yesterday and today
17:34:17 <LordAro> start the http server and save the index page? :D
17:34:25 <truebrain> that is what people do, yes 🙂
17:34:44 <truebrain> also, the resulting HTML is 500+ KiB, which surprised me 🙂
17:34:48 <peter1138> kuhnovic: Not sure, some of potentially.
17:34:50 <truebrain> but okay, nothing gzip can't fix
17:35:50 <truebrain> but ... they don't have any symbols 🙂
17:36:23 <truebrain> perf_data_converter changes `perf` into `pprof` format. I already have the latter 🙂
17:38:40 <LordAro> i guess you can generate the graphical output on the server with the binary, but no comparisons
17:38:44 <truebrain> so I either have to render a dot or flamegraph on the runner already, or publish the executable somewhere 🙂
17:39:11 <truebrain> I was hoping it could embed symbols, but it seems not
17:40:02 <peter1138> SmallStack is a bit weird too, it uses a custom pool implementation, has a mutex, and... is generally scary. Probably not "Small".
17:40:03 <truebrain> it is just that an interactive flamegraph makes it very easy to see where CPU/memory is hiding 🙂 Owh well ...
17:41:13 <LordAro> but that's not very helpful to you :p
17:41:50 <truebrain> the PNG is generates is 1.2 MiB .. that is a bit ... abusive 😛
17:42:37 <truebrain> and not many tools can render a .dot file easily ..
17:52:57 <truebrain> owh, I can first make pprof output its results as protobuf, which does symbolize the symbols. And publish that. Let's try!
18:23:11 <isosys> in the UI code, what exactly SetPIP/SetPIPRatio do? I thought it was some sort of padding, but there is also SetPadding..
18:27:31 <truebrain> Pre / Inner / Post padding
18:32:49 <isosys> So if I have a horizontal container with two pannels and SetPIP(2, 3, 4). it would be like this, right?
18:33:40 <isosys> Then I guess SetPIPRatio is related with the GUI scale. But what about SetPadding? How does it relates?
18:37:38 <peter1138> Padding is all sides of one widget
18:38:29 <peter1138> Pipratio is pip but remaining space allocated by ratios
19:32:12 *** gelignite has quit IRC (Quit: Stay safe!)
19:45:07 *** quantom2 has joined #openttd
19:45:13 <quantom2> I have a some questions
19:48:08 <quantom2> I joined a translator team for my language (UA) and actually have made... All around 50 different changes, that now all marked as "need a commit" (or something like that, I don't remember closely). So, here my question, do my changes will appear in next version without any problems, or someone(?) will need to check it manually? Just... I fixed a one bug in text that makes me full of angry 'case it
19:48:08 <quantom2> incorrect and wanna see it in game as soon as possible... So, can you help me?
19:49:33 <LordAro> translator updates will appear in the next nightly automatically
19:49:35 <truebrain> every night, at around 0500 UTC, all translations are updated into the game. Then just before a release we synchronize again, just to be sure we have the latest of the latest. So your changes will appear in the nightlies tomorrow 🙂
19:49:55 <LordAro> or they would, if nightlies were working at the moment
19:50:15 <truebrain> ghehe, true; unrelated, but true 🙂
19:50:50 <truebrain> okay, so benchmarking on GitHub Runners is a bit hit&miss .. you can be scheduled on a node that is clearly more busy than others. I do detect this, and fail because the measurement is not trustworthy. But it requires a manual "restart failed jobs"
19:51:06 <truebrain> but I think I solved my pprof issue, and I can now just use them without having the original binary 🙂
19:51:57 <truebrain> takes ~40 minutes to do a benchmark of a single version
19:52:00 <truebrain> so that is not all that bad either
19:52:33 <quantom2> LordAro: Than I will grab a ukrainian.lang from nightly and push it to 14.0RC3 to see it works😁
19:52:35 <truebrain> wentbourne is the worst offender 😛
19:52:47 <LordAro> quantom2: that definitely won't work
19:53:00 <LordAro> lang files are version specific
19:53:25 <quantom2> RC3 and nightly text are the same, excluding my changes
19:53:37 <LordAro> maybe so, but the binary content is not
19:53:49 <LordAro> lang files are not the same as the text files
19:54:36 <quantom2> Can I ask someone to make a binaries of ukrainian.lang for RC3, pleeeease?👉👈
19:54:40 <LordAro> (we have been wondering about the merits of having the binary files for a while, but no conclusion has been made yet)
19:55:02 <_glx_> there won't be any translation updates for RC3
19:55:24 <_glx_> but updates for nightlies will be applied to 14.0 too
19:55:31 <quantom2> I mean compile(?) that file separately for RC3. Not for server update, just for me
19:55:45 <quantom2> _glx_: You said nightly didn't works now?...
19:56:01 <_glx_> nightly works, just we can't build them 🙂
19:56:39 <quantom2> Oh my... Well, that a much bigger problem than I think
19:56:53 <quantom2> Okay... Can I compile .lang file by myself?
19:57:12 <quantom2> Is there any ways to do this?
19:57:55 <LordAro> technically yes, but for all practical purposes it requires compiling openttd itself
19:58:20 <_glx_> dunno if artifacts are accessible outside the team
19:58:52 <_glx_> but we can get builds excepts macos (which prevents the automatic update in steam)
19:59:57 <quantom2> Well, yes, I know about it a little, but have some experience. I work on xUSSR set (well, wokr too loud word, but I make graffic for metro type L, a moscow-metro-2 loco, and compile .grf file using NML sometimes). May there are some easy way to beginner?
20:01:01 <_glx_> only way is full build of openttd, but if you didn't have it already setup it will fail
20:01:02 <quantom2> _glx_: So can I build only .lang files using RC3 branch (if there still are RC3 branch)
20:01:21 <quantom2> _glx_: I have already installed RC3 by steam
20:01:30 <_glx_> I mean build environment
20:01:50 <quantom2> ...shit. what I need to get there?
20:02:51 <_glx_> it's really a bad timing, it's currently impossible to setup the build environment for most platforms
20:03:02 <quantom2> Is there any, I don't know, aaaaahh, manual for beginners? Like I'm not seems like a dumb guy, but all of that compiling and etc stuff seems way too much complicated for me. I can't get entry point, in other words
20:03:06 <_glx_> and that's why macos build fail
20:03:24 <LordAro> "beginners" are not supposed to have to compile lang files
20:03:25 <quantom2> _glx_: Only windows 64 bit build I need
20:03:26 <truebrain> long story short, till some "world-related" events are resolved out of our control, we are all sitting on our hands 🙂
20:03:58 <LordAro> there is almost no benefit to being able to compile lang files separately to OTTD
20:04:10 <LordAro> we get a request like this approximately once every 2 years
20:04:42 <quantom2> LordAro: Yes, but the best motivational is to get some motivation, lol. I tried to compile OTTD by myself in 4 years ago and have no success, meanwhile...
20:05:23 <truebrain> Someone patched the exploit to test their exploit 😄 This world 😄
20:05:55 <_glx_> compiling openttd is super easy now, except at this exact moment for reasons we can't do much about
20:06:05 <LordAro> (it's wrong, don't try to follow it)
20:06:08 <quantom2> LordAro: (well, if someday I join developers team I made a branch where fix it to make lang files not binary, just text with some encoding... That's sond simple, yes?)
20:06:13 <truebrain> LordAro: that someone being you?
20:06:18 <LordAro> truebrain: if you're lucky!
20:07:00 <quantom2> LordAro: Thanks for last work, heh
20:07:58 <quantom2> _glx_: So, i, hehehe, repeat my question again. How I can make it by myself if I don't know assembler and other complicated stuff?
20:08:08 <truebrain> Currently: you don't
20:08:22 <truebrain> we are all sitting on our hands waiting for some external things to settle and get fixed
20:08:41 <LordAro> truebrain: i'd have to make a checkout - GH web UI wants me to make a branch on the repo...
20:08:52 <quantom2> Okay, so better for me will just wait when nightly starts work?
20:09:04 <truebrain> We are all waiting for that, yes.
20:09:18 <truebrain> LordAro: pfff, not even a checkout? /me revokes access rights 😛
20:09:33 <quantom2> truebrain: Just a little question... What is this? Some new feature? I mean not what it exactly, just, eeehhh, what kind it of
20:09:58 <truebrain> a library got exploited by some bad guys, just before Easter. So we are patiently waiting for the greater powers to address that issue and make the world safe again.
20:10:35 <LordAro> truebrain: i haven't even reinstalled MSYS on this machine since I rebuilt it
20:10:53 <truebrain> LordAro: so maybe this time use WSL. Also makes your builds (a lot) faster
20:10:55 <quantom2> Oh fuck... You even can discard that shit?
20:11:10 <LordAro> truebrain: ooh, could do
20:11:25 <truebrain> also means in a few months I can burn those MSYS jobs with fire 😛
20:11:26 <_glx_> we could, but would drop all existing saves
20:11:31 <quantom2> Mean, they broke lib, can you discard changes, like, to old commits?
20:11:39 <_glx_> not sure users will be happy with that
20:11:53 <LordAro> that is most likely what will eventually happen
20:11:55 <quantom2> _glx_: So... You need to write all it from scratch?
20:12:04 <LordAro> but right now they've just blocked all access to the usual repos
20:12:07 <truebrain> MSYS has just been deprecated by WSL 😛
20:12:40 <LordAro> truebrain: i've been very happy with winget on this machine
20:12:43 <LordAro> much better than chocolatey
20:12:46 <truebrain> We not need to do anything, and OpenTTD is not vulnerable. But we do however need to wait for the dust to settle. And given it is Easter, that takes longer than normal.
20:13:13 <wensimehrp> when 14.0 release?
20:13:14 <_glx_> not need to reach for websites to download stuff
20:13:15 <LordAro> (probably won't be more than a week)
20:13:37 <truebrain> it is funny, how Microsoft changed in just a few years to a "easier to install NNN", both from user as from developer perspective 🙂
20:14:05 *** wallabra has joined #openttd
20:14:57 <Rubidium> wensimehrp: whenever the previously mentioned xz debacle has been resolved
20:17:59 *** keikoz has quit IRC (Ping timeout: 480 seconds)
20:19:02 <quantom2> That's big shit, guys. I just stand with you, heh. Well, thanks for all, I will go back to work on xUSSR and translation, I will hope all would safe
20:19:29 *** maxshpuntozavr has joined #openttd
20:20:36 <LordAro> the whole thing is fascinating in a number of ways
20:21:54 <_glx_> so much luck it was found now
20:24:30 <truebrain> That works 😄 (assuming you have `go` installed)
20:25:05 <LordAro> wait, it even downloads it for you?
20:25:14 <truebrain> and opens a browser!
20:25:28 <truebrain> hmm, 50 ticks is too low to track memory allocation really .. but much more ticks is taking for ever ... hmm
20:26:10 <truebrain> still amuses me that `GetCurrentMaxSpeed` takes 6.8% on westbourne 😛
20:26:22 <truebrain> very likely it is an optimization, and not actually that function, but still
20:27:01 <truebrain> You can pick any other savegame btw 🙂
20:27:40 <truebrain> 1.4 title game is mostly busy with `CopyInDParam` 😄
20:29:22 <maxshpuntozavr> truebrain: i hope it's a joke🫸 🫷
20:30:34 <truebrain> shit happens; live and learn
20:31:18 <maxshpuntozavr> like who tf intrested to hack it
20:31:48 <LordAro> well that's the big question
20:32:09 <LordAro> someone targeting someone else with xz attached to their ssh server
20:32:17 <LordAro> which as i understand is quite uncommon as it is
20:33:07 <truebrain> huh? xz via systemd to sshd .. pretty common setup on most distros?
20:33:29 <LordAro> i may not have fully understood the chain
20:34:13 <truebrain> they took months gaining trust and putting this in place; it wouldn't target a small subset of systems 🙂
20:34:37 <LordAro> depends if they had a specific target in mind
20:34:50 <LordAro> smaller attack surface, the less likely it is to be noticed
20:35:14 <truebrain> the only reason it got noticed now, is that the startup time was high enough that someone was like: huh?
20:35:34 <LordAro> along with the valgrind thing
20:35:50 <truebrain> the valgrind issues got resolved, without anyone noticing what actually was going on
20:35:58 <truebrain> that is the part that is also rather scary 😛
20:36:16 <truebrain> this story has many parts that are either just accidental, or very well crafted
20:36:46 <truebrain> a single character in a file that prevents Landlock sandbox from kicking in, for example
20:36:59 <LordAro> no one really stopped to ask, "why is xz using ifunc anyway"
20:37:25 <truebrain> so on the surface, it looked like xz uses landlock when available, but in reality it never did
20:37:44 <maxshpuntozavr> do you know who did it?
20:38:00 <truebrain> this story really is worth reading up on and looking into .. it is either really clever, or really coincidental
20:38:06 <andythenorth> looks like they only targeted intel
20:38:24 <LordAro> maxshpuntozavr: no one does
20:38:38 <LordAro> andythenorth: by which you mean x86/x64
20:38:53 <LordAro> let's not confuse people unnecessarily :p
20:38:55 <truebrain> amd makes no x64 CPUs anymore? 😛
20:39:05 <LordAro> but yes, your macbook is safe
20:39:07 <maxshpuntozavr> but how there usually types a nick of a person who did it
20:39:11 <truebrain> fucknig MacOS groupies
20:39:23 <LordAro> maxshpuntozavr: read the ars article above
20:39:23 <andythenorth> brew shipped the vulnerable version of xz
20:39:51 <andythenorth> but it seems the vuln only manifests when building for redhat or debian on x86
20:39:57 <andythenorth> but M1 is over anyway
20:40:03 <andythenorth> you can have my keys any time you like
20:40:06 <truebrain> btw, the reason it got detected, and I had to look this up, is that the timing went from 0.3s to 0.8s, and someone was like: why 0.5s more?
20:40:30 <LordAro> adds up when you're running hundreds of automated tests
20:40:35 <andythenorth> it's a good job we have neurodiverse people
20:41:28 <_glx_> and that shows why even maintainers should not be allowed to push without PR
20:41:30 <LordAro> truebrain: in a similar vein i was looking into -fno-semantic-interpolation recently
20:41:57 <truebrain> _glx_: did you check opntitle.dat update from recently?
20:42:03 <quantom2> truebrain: Can you describe more? Another question, it will be safe to popularizate that info? Like, let world know what happens and all of that?
20:42:23 <truebrain> quantom2: for you too, read the article linked earlier
20:42:34 <andythenorth> ok Snow Runner finally available on macOS, should I?
20:43:44 <truebrain> LordAro: no. Not on a "sunday" this late, anyway 😛
20:44:12 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:44:21 <truebrain> One of the better replies on all this xz stuff btw 😛 It made me giggle 🙂
20:44:55 <LordAro> also the dangers of "negative tests" that only check for "something failed" without checking for the specific failure mode (or perhaps "something passed", without checking whether the thing under test was actually run)
20:47:11 <quantom2> truebrain: Oh, yes? Or that my English is too bad, or I missed it, thanks, heh
20:47:37 <truebrain> follow the links etc
20:49:44 <truebrain> LordAro: most CMake tests work like that, sadly
20:49:50 <truebrain> if anything fails, it must not be supported
20:50:05 <LordAro> inherited from autotools really
20:50:30 <LordAro> but even a basic "check stderr for 'not found'" would do
20:50:46 <truebrain> so many leasons one could learn from this 🙂 But I doubt anything will actually change 😛
20:51:02 <j_n> _glx_: couldn't bother yet
20:51:14 <LordAro> there were real changes to openssl after heartbleed
20:51:38 <truebrain> I meant for things like how CMake detects libraries 🙂
20:51:41 <j_n> I intended to test but I forgor
20:51:46 <_glx_> would appreciate if you could, as we can't really validate the fix by ourselve
20:54:18 <Rubidium> I hope distro maintainers aren't going to just willy-nilly patch in things with (lots of) dependencies into applications that often run as root
20:54:57 <peter1138> Like systemd notification for sshd?
20:55:05 <truebrain> haha, best example 😉
20:55:40 <truebrain> For context, to quote: `The payload is loaded into sshd indirectly. sshd is often patched to support systemd-notify so that other services can start when sshd is running. liblzma is loaded because it's depended on by other parts of libsystemd. This is not the fault of systemd, this is more unfortunate.`
20:56:19 <LordAro> or like adding patches that save network passwords
20:56:21 <j_n> the option no longer causes a crash
20:56:25 <j_n> however, it seems to load the incorrect font
20:56:48 <LordAro> i should really complain about that
20:56:48 <truebrain> ugh, yes, that that patch exists in FreeBSD is insane
20:56:56 <truebrain> it is really really really bad
20:57:02 <Rubidium> LordAro: I have a patch against that ;)
20:57:06 <truebrain> ports shouldn't add functionality
20:57:08 <_glx_> loading an "incorrect" font seem to be the expected result
20:57:46 <truebrain> Rubidium: talking about which, I spent too much time in Factorio this week, so didn't got the chance to look at your work .. sorry about that. Still in the top #10 on my stack 😛
20:57:47 <_glx_> better get a wrong but working fong than a crash
20:57:59 <j_n> I guess my job here is done?
20:58:19 <_glx_> yup, thanks for testing
21:01:34 <j_n> sorry again for the delay
21:03:01 <truebrain> haha, with NPF enabled, the amount of allocations done on the heap are for 65% AyStar 😄
21:03:21 <silent_tempest> Why can't people setup a build for OpenTTD? Cause there's some issue with VCPKG?
21:03:26 <silent_tempest> Which is a windows only thing?
21:04:19 <_glx_> vcpkg is not a windows only thing, we use it for macos, windows and even linux
21:04:50 <truebrain> hmm, ViewportSortParentSpritesSSE41 also does a lot of heap work; the surprising things you find 🙂
21:05:53 <silent_tempest> _glx_: So you can setup an environment to work on development but no official releases can happen ATM?
21:06:39 <_glx_> well it's impossible to setup windows devenv from scratch right now
21:07:15 <silent_tempest> Okay cause I've had no issues on Linux
21:07:46 <silent_tempest> But I'm not making official release builds 🙂
21:08:39 <_glx_> and due to bad timing, and us removing macos x64 from CI not too long ago, the macos runners using the most recent image don't have a cached version of the older lzma now used by vcpkg
21:08:51 <truebrain> Finally, something that seems to be working 🙂 Now to run this over a few dates, to collect actual data 🙂
21:09:41 <_glx_> all other targets have lzma 5.4.4 in their cache
21:09:45 <Rubidium> silent_tempest: we can make a release without the troublesome library, but then you can't load the vast majority of the savegames made in the last 13 years
21:10:17 <_glx_> (until new images are pushed)
21:10:21 <silent_tempest> Doesn't building the XZ code from source mitigate the exploit?
21:10:45 <Rubidium> silent_tempest: also they are assuming that lzma 5.4.4/5.4.5 are safe
21:10:48 <_glx_> vcpkg builds from source, but access to source is currently blocked
21:11:37 <truebrain> let the security researches do their work; ones they figured it all out, sanity will be restored. And they tend to be quick with these kind of things 🙂
21:12:59 *** keoz has quit IRC (Ping timeout: 480 seconds)
21:13:37 <silent_tempest> Maybe planning for a release on Aprils was not the best decisions... Lol
21:15:30 <_glx_> maybe check release history 😉
21:16:14 <LordAro> the historical record shows there's usually no problem at all
21:16:18 <LordAro> except when we forget
21:16:21 <truebrain> We too spend years building up to this, to only now say: April fools!
21:16:44 <truebrain> Thinking we would release today, ha ha, got you good!
21:16:45 <LordAro> maybe we should've posted the release announcements anyway :D
21:17:05 <LordAro> and switched all the links to rick rolls
21:17:27 <quantom2> I think this is a best idea for now
21:17:39 <LordAro> too late for april fools now
21:17:43 <quantom2> Maybe, made a joke post on site?
21:18:22 <LordAro> there are very few places left on the planet that are still before midday
21:18:27 <quantom2> Like, ha-ha, we all laught for your joke, like,know, release 1 April, ha-ha, now guys listen, we don't know where next release
21:18:33 <_glx_> oh of course I need to generate a new token to run backport script because it was a long time ago
21:19:23 <LordAro> "we put the release inside a corrupted archive file and forgot where we put it, does anyone know where it is?"
21:19:29 <quantom2> LordAro: April fool's it's too late, but for reality fool's not late ever
21:19:45 <quantom2> Reality fool's like this all stuff around XZ
21:21:14 <quantom2> LordAro: Listen, I laughed a loud, haha. I still think there a good idea with post, like, in start - jokes, but to end you describe situation, that release don't known why, and I think community will have no problem with this
21:22:17 <LordAro> but remember we usually get posts saying "i thought it was a joke, i can't believe it"
21:22:25 <quantom2> LordAro: You replying me or peter1138 ?😅
21:22:37 <LordAro> or "wait they removed ships?"
21:22:55 <LordAro> so don't put too much stock in the community's ability to get jokes :p
21:23:05 <quantom2> Hehehe, that fun, realy
21:23:11 <silent_tempest> "Hey guys. I fixed boats bug I broke pigs." -Notch
21:23:39 <Eddi|zuHause> you win some and you lose some
21:24:05 <quantom2> Well, thanks for company, I will go now to sleep
21:26:03 <truebrain> Ugh, performance benchmark fails, because no vcpkg cache on main branch ... owh well
21:26:49 <quantom2> quantom2: *last thing, I mean no problem with late release. Just, know, I were in community, except this server, and thay still much confused that today no release, no news, nothing. Maybe close this information hole will be better than nothing?
21:30:23 *** HerzogDeXtEr has joined #openttd
21:32:14 <truebrain> In general we don't make promises when we release things. They happen when they happen. Today is no different.
21:39:25 <_glx_> and another backport PR 🙂
21:42:18 <truebrain> Need to think of a way now to benchmark PRs .. that would be interesting 🙂
21:42:52 <LordAro> rust has something in that area iirc?
21:42:56 <LordAro> anything to copy from?
21:44:34 <truebrain> I meant in relation to my earlier PR 🙂
21:45:12 <truebrain> It now accepts a date, and finds the last commit of that day. Need to modify that to accept PRs, I guess.
21:45:55 <truebrain> (So it can be manually triggered)
21:46:08 <truebrain> It takes too long to automate it 🙂
21:47:18 <LordAro> also need to take into account the base of the PR, i think?
21:47:26 <LordAro> no merged results in GH
21:47:37 <LordAro> or did they add that recently?
21:48:00 <truebrain> There always has been the merge result . The non merge is relative new
21:48:37 <truebrain> The /merge vs /head in the refs
21:48:42 <LordAro> oh yeah, forgot we implemented it ourselves
21:49:31 <truebrain> But okay, first need to wait for this xz to be fixed. Then I can see if these results are actually stable and comparable. Still don't actually know 🙂
21:49:58 <truebrain> Doing this on all kind of different CPUs is scary 😛
21:51:36 <LordAro> i don't think we'd particularly benefit from it
21:51:45 <LordAro> CI not slow enough, not enough pending PRs
21:52:19 <truebrain> Yeah, and merge queue mostly shines if you are really scared a non-rebased PR might fail and needs another check before merging
21:52:34 <LordAro> we use it with GL at work
21:52:38 <truebrain> Which requires a lot more unittestd 😄
21:52:41 <LordAro> but mostly because our CI takes hours
21:53:11 <truebrain> And with GitLab you are kinda forced to use it, as you cannot squash a non rebased otherwise 😛
21:53:51 <truebrain> I so hate the GL interface btw ... information is so hard to preceive
21:53:51 <LordAro> actually i think they just added that feature in the last couple of releases
21:54:32 <truebrain> And everything is called "merge"
21:54:42 <truebrain> But rarely it is related to a merge commit
21:54:55 <truebrain> So annoyingly confusing to explain shit
21:55:01 <LordAro> not that i particularly mind all the merge commits for our work repo - people can't commit properly so things are basically always squashed. The alternative of always rebasing would be worse
21:55:18 <truebrain> "Yeah, hit merge on that merge request which starts the merge train to create a squash commit"
21:56:28 <truebrain> LordAro: Ay least on GitHub you can squash without rebase if it is a clean squash.. GitLab is just being unneeded pedantic here
21:57:33 <LordAro> though generally i'd prefer always merge commit over sometimes merge commit
21:57:55 <truebrain> I just rather ban merge commits (and I do at work)
21:58:42 <truebrain> Always squash, if you ask me. So much easier to explain to people what is going on etc
21:59:16 <truebrain> But requires people to make small MRs .. which is challenging
21:59:17 <LordAro> but like you say, GL couldn't do merge trains like that until very recently(?)
21:59:59 <LordAro> i lost a battle recently to get a ~6000 line MR split up
22:00:04 <truebrain> I have not used Gitlab before. But you can now force squash always. And to avoid rebase need on out of date MRs, you can use merge trains
22:00:06 <LordAro> i'm not happy about it
22:00:29 <silent_tempest> That had to be lots of commits squashed together
22:00:34 <truebrain> None of those "merge" words are related to a merge commit btw ....
22:00:42 <LordAro> over 500 commits at last count
22:01:02 <truebrain> "Fix everything" MRs \o/
22:01:13 <silent_tempest> That's just a dump
22:01:19 <silent_tempest> Or a promotion
22:01:25 <LordAro> oh wait, my numbers are way off
22:01:34 <_glx_> and sneakily add some backdoor
22:02:06 <truebrain> Someone spend a few weeks on one MR 😛
22:02:29 <LordAro> i think it's over a year at this point
22:02:42 <truebrain> So many things went wrong to get to that point 😛
22:02:48 <LordAro> largely completely in isolation, so now in review (such as it is) it's getting completely raked over
22:02:50 <peter1138> Well, I kinda like regular merges too.
22:02:56 <LordAro> truebrain: this is what i've said
22:03:48 <truebrain> LordAro: It is what it is 🙂
22:04:31 <LordAro> i'm tempted to try reviewing it so "thoroughly" that GL stops functioning due to the number of open threads
22:05:37 <truebrain> peter1138: Regular merges.. merge commits you mean? Asking, as with Gitlab you can't be sure 😛
22:05:57 <truebrain> I am not annoyed about that at all, in case you missed my rants about it 😛
22:08:29 <truebrain> It is just so stupid to call everything "merge" ... I will stop now 🙂
22:08:49 <peter1138> Hmm, okay, I', not sure what you are ranting at then 😄
22:10:19 <peter1138> Hmm. I use it once.
22:10:27 <peter1138> Then it needed an update and I gave up trying.
22:10:40 <truebrain> Keep it that way, is my advise 😛
22:10:51 <peter1138> I get on bitter with gtea anyway.
22:11:02 <peter1138> My keyboard is laggy due to compiling, wtf.
22:11:32 <silent_tempest> up arrow opens last message for editing peter1138
22:11:53 <peter1138> Yes but then my corrections aren't seen on IRC.
22:12:13 <truebrain> So inclusive of you 🙂
22:12:34 <silent_tempest> Do people actually use IRC for this?
22:14:41 <silent_tempest> Is what the bot tag means?
22:15:29 <_glx_> the tag is also used for github to discord
22:17:10 <_glx_> the real hint is tag+kitten 🙂
22:17:30 <silent_tempest> _glx_: I was just wondering if the cat avatar was relateds
22:18:10 <silent_tempest> When I copy/paste a picture can they see it?
22:18:53 <silent_tempest> Or do I need to find a better way share screen shots of the UI work I've been playing with?
22:19:09 <LordAro> usually there are links to the images
22:19:39 <LordAro> i don't know if it covers every situation though
22:20:36 <silent_tempest> Hmn first one I found from yesterday linked to some discord CDN which makes sense but when I clicked on it just said content unavailable
22:20:56 <truebrain> Links only work for N minutes
22:20:59 <_glx_> yeah it's time limited by discord API
22:21:31 <_glx_> and it's understandable, they don't want to be an image server
22:21:46 <silent_tempest> Yeah I mean totally fair
22:21:56 <silent_tempest> But I'm just wondering what I should actually be doing
22:22:19 <silent_tempest> 48 hours would be like enough I guess?
22:24:49 <peter1138> > 26 files changed, 415 insertions(+), 294 deletions(-)
22:24:57 <peter1138> less macro = more code, in this case 😦
22:29:24 <peter1138> This is more C++ templates that are spruced up with macros...
22:31:29 <silent_tempest> Looking at this feature Peter has an open PR:
22:31:53 <silent_tempest> Git hub is flagging compiler warning on code Peter didn't change?
22:32:49 <peter1138> It's out of date so I wouldn't pay much attention to that.
22:33:26 <silent_tempest> I was looking to find a good example of a larger PR.
22:33:38 <silent_tempest> Since the Font picker code is north of 500 lines now
22:36:39 *** Flygon has quit IRC (Read error: Connection reset by peer)
22:44:11 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:48:38 <peter1138> That probably isn't a good example 🙂
22:49:01 <silent_tempest> I gathered from your comments
22:50:45 *** frosch123 has quit IRC (Quit: User went offline on Discord a while ago)
23:29:45 *** aasdasd has quit IRC (Remote host closed the connection)
23:53:08 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
continue to next day ⏵