IRC logs for #openttd on OFTC at 2023-05-12
⏴ go to previous day
02:02:21 *** Wormnest has quit IRC (Quit: Leaving)
03:01:16 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:04:15 *** axet has quit IRC (Quit: Leaving.)
05:25:12 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:37:28 <Rubidium_> is there a common term for data that is in the process of being removed? You have staging to prepare data, and then make it available atomically (like move a folder). However, I also want to make something unavailable atomically and then remove that data afterwards (as that could take a while)... though "trash" doesn't sound that nice
06:40:35 <pickpacket> Rubidium_: how is the data stored?
06:42:56 <Rubidium_> in folders on a file system
06:43:00 <pickpacket> I don’t know a common term for it, but in a file system the ”rm” command will only unlink the file while the data is still on disk
06:43:42 <pickpacket> I’m thinking that the atomic action is ”unlinking”
06:44:05 <Rubidium_> if it's directly on unix/linux, yes... but I don't have that guarantee
06:44:40 <pickpacket> Hmm. What does the process look like?
06:47:48 <pickpacket> Could always go ”stage” -> ”publish” -> ”unpublish” -> ”remove”
06:47:51 <Rubidium_> user: "remove measurement" -> service: "removes measurement" which could be a few dozen TBs with lots of 1 GB files in a folder structure, so recursively removing the folder will keep data lingering if the service gets restarted/interrupted. And moving it (within the same disk) is generally atomic, so I want to move it to some other folder and then have a background process remove the data from there
06:48:34 <pickpacket> or try to distinguish between ”remove” and ”delete”
06:49:00 <pickpacket> Does it matter to the user?
06:49:25 <Rubidium_> it's not seen by the end user
06:50:24 <Rubidium_> it's just that in case of a restart of the service I do not want to have a half delete folder of measurement data in the "live" data folder
06:50:25 <pickpacket> I would go for either unpublish and remove or remove and purge
07:01:25 <andythenorth> this is data that is marked for deletion?
07:07:51 <Rubidium_> well... I want to keep the system relatively simple. The number of measurements will be relatively low, so upon start up it's just as fast to do a scan of the folders than to start a whole database which would get out of sync (especially when a tester is messing with it). So the atomicity of removing something (or marking it for deletion) is achieved by moving the folder with data to somewhere else (on
07:07:57 <Rubidium_> the same disk, so atomic)
09:11:06 <petern> I still think hidden should mean hidden but apparently some authors don't.
09:19:51 <andythenorth> as long as nobody sets town build on hidden road types they don't want built
09:20:07 <andythenorth> "not player available" 😛
09:21:23 <petern> IMHO it's still conceptually wrong, the original hidden rail types were to provide compatibility between types, and that was a fudge even then.
09:22:25 <petern> Compiling with ninja in WSL seems to be so much faster than with native MSBuild / MSVC.
09:22:45 <petern> It manages to use multiple processes without thrashing my CPU, and flies through files.
09:27:06 <andythenorth> I mean...our eyes have an evolved in blind spot because of the retinal nerve thing, wheres octopi have an eye with a sensible spec
09:29:28 <petern> std::find_not would be nice.
09:49:21 <sittinbythefire> petern: At the end of the day, it seems we've been relying on behavior that was never originally intended. The question therefore seems to be whether that behavior should be removed and restored to its original intent, or whether we should keep the previous behavior and ignore the recently recognized error in the spec.
09:49:21 <sittinbythefire> Given the implications of staying with the current situation (several NewGRF sets broken), and the lack of any answer to my concerns in PR#10585 with regards to the impact to GSs, it seems that PR#10585 is the best option so far. I'd welcome a dissenting opinion however 🙂
09:49:24 <Rubidium_> what would std::find_not do?
09:50:08 <petern> Same as `std::find_if_not`, but without the extra wordiness of a lambda...
09:51:30 <Rubidium_> so... the first element that is not the same to some other element? Seems like an unlikely usecase, unless you got a whole lot of duplicates in your range/collection/...
09:51:56 <petern> "other" doesn't have to be element at all.
09:56:49 <Rubidium_> oh, by defining your own == operator with two different types? That makes some sense... well propose it :D
09:57:32 <petern> Unlikely, std::find_if_not works but is a bit long 🙂
10:19:23 <Rubidium_> std::find_if_not was added later too, and that was added mostly as convenience. So why not for std::find_not?
10:20:40 <Rubidium_> best part from that proposal might very well be: "Second, the workaround of using double negatives is not unconfusing."
10:25:10 *** gelignite has joined #openttd
10:34:02 <glx[d]> petern: Ninja is nice, VS in open folder mode defaults to using it
10:34:31 <petern> I had to apt install it on Debian in WSL.
10:36:11 <glx[d]> Yeah I had to install it for mingw too
11:49:36 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
13:25:32 <petern> Opinions on annotating asserts with assert(... && "") ?
13:27:51 <Eddi|zuHause> kinda weird but works?
13:31:02 <petern> Assertion `this->GetCount() != container.size() && "Scrollbar and container size must match."' failed.
13:31:31 <petern> Works. (Yes, that test is inverted, just to test it :-))
13:32:16 <Eddi|zuHause> i've seen those in transport fever
13:33:47 <JGR> petern: Seems like the kind of thing worth making into a dedicated macro/function
13:34:42 <petern> I'm not sure I want more macros, and a function is no use 🙂
13:37:56 <LordAro> petern: in what circumstances is it helpful? you can always go to the code and find the comment next to the assert...
13:38:13 <LordAro> a "nice error message" isn't helpful to users...
13:39:10 <petern> `assert(IsTileType(t, MP_CLEAR)); // XXX incomplete`
13:39:43 <petern> Out of 1857 asserts, only 54 have a comment on the line. Yeah, some may be commented before or after.
13:39:48 <Eddi|zuHause> anyone remember the comment: "TODO: doesn't work .... WHAT doesn't work?" :p
13:48:33 <glx[d]> and some nml PR would like to be reviewed too 🙂
13:48:44 <petern> I needed to fix the comments on that anyway.
14:07:45 <glx[d]> petern: ok I can fix black/flake8 for you then
14:10:42 <glx[d]> ! [remote rejected] extendedbyte-action3 -> extendedbyte-action3 (permission denied)
14:14:15 <petern> Probably cos andy opened it?
14:15:17 <glx[d]> or forgot the checkbox
14:19:07 *** Wormnest has joined #openttd
14:34:36 <petern> Hmm, can I have extra compilation flags without changing CompileFlags.cmake?
14:45:55 <LordAro> define CMAKE_CXX_FLAGS at cmake build time, iirc
14:46:02 <LordAro> or something like that
14:53:10 *** gelignite has quit IRC (Quit: Stay safe!)
14:55:27 *** felix has quit IRC (Ping timeout: 480 seconds)
15:20:54 *** HerzogDeXtEr has joined #openttd
15:45:26 *** blathijs has quit IRC (Ping timeout: 480 seconds)
15:45:47 *** blathijs has joined #openttd
15:45:47 *** ChanServ sets mode: +o blathijs
16:06:40 <andythenorth> what did I do now?
16:10:47 <Eddi|zuHause> everything? nothing? the wrong thing?
16:13:06 <Eddi|zuHause> there's never a right thing...
16:24:05 *** axet has quit IRC (Remote host closed the connection)
16:32:58 *** gelignite has joined #openttd
16:58:57 <petern> MinGW finished before CodeQL, mad
16:59:18 <TrueBrain> that is just insane ..
17:02:23 <TrueBrain> also insane .. I updated the motherboard of my 3D printer, and now the stepper motors make less noise
17:02:33 <glx[d]> oh steam was broken last night it seems
17:02:57 <glx[d]> Logging in user '***' to Steam Public...FAILED (Service Unavailable)
17:03:08 <TrueBrain> that doesn't happen often 🙂
17:09:52 *** CharlieAtlasff03k64 has joined #openttd
17:09:52 <CharlieAtlasff03k64> Quick question. What JDK do you use to work on OTTD, and what would you use if you were starting it right now? Thanks!
17:11:21 <CharlieAtlasff03k64> oh, i guess you wouldn't use it then!
17:11:29 <CharlieAtlasff03k64> huh, i wonder why i thought it was.
17:20:32 *** SpComb has quit IRC (Ping timeout: 480 seconds)
17:41:46 <Rubidium_> sadly that's mostly to get some input from you on the form before it gets applied everywhere and fixing simple things cost a lot of time
17:43:09 <TallTyler> frosch: No thanks 🙂
17:43:30 <TallTyler> I don't know enough, and will be traveling enough for my new job
17:44:06 <frosch> yeah, i don't think anyone from europe wants to travel to oregon either
17:44:43 <TallTyler> Speaking of which, I'll be in Leverkusen from 5 June through 20 June, so maybe the summer meetup could be 10 or 17 June?
17:44:56 <glx[d]> who though "9A 04 BYTE Un-print the previous BYTE characters. " was a good idea ?
17:45:13 <andythenorth> that's a thing? 😮
17:45:22 <frosch> ttdp only iirc, not implemented in ottd
17:45:39 <glx[d]> it is implemented it seems
17:45:50 <LordAro> *andy immediately decides he must have it*
17:45:54 <frosch> it's used in ttdp to modify original strings. append new string, delete original string chars, continue with new text
17:47:35 <frosch> ok, delete it from ottd? :p
17:48:21 <glx[d]> would simplify rubidium's life
17:48:25 <frosch> maybe the survey system can report newgrf using weird things, and then dorpsgek can ban them from bananas?
17:48:45 <LordAro> don't need the survey system for that
18:08:43 <TrueBrain> Will there be any newgrf left? :p
18:12:14 <frosch> TallTyler: noone volunteered for organizing one
18:24:53 <petern> Most of the time VS Code clears white-space only blank lines...
18:39:58 <DorpsGek> - Update: Translations from eints (by translators)
19:34:19 <glx[d]> it's waiting for a review
19:36:29 *** Marcindella has joined #openttd
19:36:29 <Marcindella> I'll teach anyone how to trade and earn $70-80k within 72 hours from the crypto market but you will pay me 10% of your profit when you receive it. Note only interested people should apply, drop a message let's get started by asking (HOW)
19:37:19 <andythenorth> how much up front though?
19:39:08 <glx[d]> Marcindella: Discord Moderator
19:40:20 <glx[d]> oh in Discord channel #openttd too
19:40:42 <andythenorth> I mean...I wanted in
19:40:46 <andythenorth> we could have funded OpenTTD with it
19:41:17 <frosch> is that the "cost" for being a verified discord server?
20:54:17 <petern> Rabbit holes are coming together...
20:54:45 <petern> I get to rebase my other scrollbar branch at some point, but I need to sleep.
20:55:25 *** Gazmeister has quit IRC (Quit: User went offline on Discord a while ago)
21:06:42 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:13:36 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:21:20 *** Kuhnovic has quit IRC (Quit: User went offline on Discord a while ago)
21:48:30 *** gelignite has quit IRC (Quit: Stay safe!)
22:03:07 *** tokai|noir has joined #openttd
22:03:07 *** ChanServ sets mode: +v tokai|noir
22:09:52 *** tokai has quit IRC (Ping timeout: 480 seconds)
22:22:55 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:45:31 *** Webster has joined #openttd
23:05:34 *** nielsm has quit IRC (Ping timeout: 480 seconds)
continue to next day ⏵