Times are UTC Toggle Colours
01:35:17 *** Wormnest has quit IRC 01:37:48 *** Speeder_ has quit IRC 01:46:31 *** y2kboy23_ has quit IRC 01:47:05 *** y2kboy23 has joined #openttd 02:44:40 *** WormnestAndroid has quit IRC 02:44:55 *** WormnestAndroid has joined #openttd 02:54:59 *** snail_UES_ has quit IRC 03:00:25 *** Flygon has joined #openttd 03:30:14 *** supermop_Home has quit IRC 04:03:51 *** y2kboy23 has quit IRC 04:06:58 *** y2kboy23 has joined #openttd 05:45:28 *** tokai has quit IRC 06:03:41 *** sla_ro|master has joined #openttd 06:09:01 *** andythenorth has joined #openttd 07:08:01 *** iSoSyS has joined #openttd 07:47:30 *** Progman has joined #openttd 08:33:24 *** Laedek has quit IRC 08:33:40 *** Laedek has joined #openttd 08:33:49 *** tokai has joined #openttd 08:33:49 *** ChanServ sets mode: +v tokai 08:58:29 <DorpsGek_III> [OpenTTD/master-server] TrueBrain merged pull request #4: Several bugs found while bringing this to production https://git.io/JUn78 09:03:10 <andythenorth> \o 09:03:13 <andythenorth> o/ 09:03:17 <andythenorth> \o/ 09:04:25 <DorpsGek_III> [OpenTTD/team] TrueBrain merged pull request #2: Add: initial workflow to automate requested access for translators https://git.io/JvGkD 09:04:52 <DorpsGek_III> [OpenTTD/team] TrueBrain opened issue #3: [nl_NL] Translator access request https://git.io/JUC0q 09:05:08 <TrueBrain> let's see how this works .. :) 09:05:34 <TrueBrain> "This is not an issue to request access; ignoring" 09:05:36 <TrueBrain> owh boy .. 09:06:50 *** iSoSyS has quit IRC 09:07:08 <DorpsGek_III> [OpenTTD/team] TrueBrain closed issue #3: [nl_NL] Translator access request https://git.io/JUC0q 09:07:25 <DorpsGek_III> [OpenTTD/team] TrueBrain opened issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:07:30 <TrueBrain> attempt #2 :) 09:07:43 <DorpsGek_III> [OpenTTD/team] DorpsGek commented on issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:08:08 <TrueBrain> who of the core developers dares to write a /approve in that ticket ? :D 09:08:40 <andythenorth> oh it's so hard not to troll you :( 09:09:01 * andythenorth must be a better person 09:09:19 <DorpsGek_III> [OpenTTD/master-server-web] TrueBrain merged pull request #5: Several bugs found while bringing this to production https://git.io/JUn7G 09:09:39 <TrueBrain> you are not a core developer andythenorth , so what-ever you reply on that ticket will be ignored :P 09:09:54 <andythenorth> zing 09:22:21 <TrueBrain> okay, deployments work .. time to roll this out in pre-production :) 09:23:58 <TrueBrain> oops .. found a "bug" ... staging is using the same database as production 09:24:05 <TrueBrain> that seems like a horrible idea really :P 09:26:18 <TrueBrain> orudge: wow, the new CPanel DNS Zone Manager is TERRIBLE. It paginates the records, but only shows this on the top right :P I know you can do nothing about that, but I just wanted to let you know :D It is a horrible UX :) 09:35:21 <TrueBrain> (it also doesn't allow changing records and pushing them at once, etc etc .. but I guess this is just more "newbie" friendly :P) 09:38:30 <DorpsGek_III> [OpenTTD/master-server] TrueBrain opened issue #5: Allow settings a table name prefix https://git.io/JUCEy 09:43:39 <TrueBrain> If anyone wants to test the new master-server, I would really appreciate that: change your "hosts" file such that "master.openttd.org" points to 3.120.179.246 and 2a05:d014:870:d200:93e4:fee6:abba:6b97 09:43:42 <TrueBrain> start your server after that 09:43:50 <TrueBrain> it should register itself without issue 09:44:02 <TrueBrain> it should show up within 7 minutes at https://servers.staging.openttd.org/listing 09:44:13 <TrueBrain> same if you want to test the OpenTTD client 09:47:06 <TrueBrain> (and I could really use some testers, to make sure I didn't make any weird boo-boo :D) 09:48:00 <TrueBrain> and _dp_ , if you want to query server information, this can be done on https://api.master.staging.openttd.org/server and https://api.master.staging.openttd.org/server/<server-id> 09:48:20 <TrueBrain> the server-id is nothing more than the md5("ip:port") of any of the ip/port combinations the server is running on (so either IPv4 or IPv6) 09:48:28 <TrueBrain> is JSON :) Might be easier than HTML :D 09:49:18 <DorpsGek_III> [OpenTTD/team] LordAro commented on issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:49:31 <TrueBrain> I see that LordAro cannot read 09:49:32 <TrueBrain> or write 09:49:34 <LordAro> ... 09:49:34 <TrueBrain> it is a bit sad 09:49:36 <LordAro> oops. 09:49:43 <TrueBrain> it is not like it is LITERALLY THERE 09:49:51 <LordAro> but "allow" is the opposite of "deny" 09:49:55 <TrueBrain> "Please reply with either /approve or /deny" .. LordAro does /allow ... 09:50:07 <TrueBrain> YOU reviewed this PR :P 09:50:10 <DorpsGek_III> [OpenTTD/team] LordAro commented on issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:50:16 <TrueBrain> :D :D :D :D 09:50:28 <DorpsGek_III> [OpenTTD/team] DorpsGek commented on issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:50:29 <DorpsGek_III> [OpenTTD/team] DorpsGek closed issue #4: [nl_NL] Translator access request https://git.io/JUC0l 09:50:38 <LordAro> \o/ 09:50:48 <TrueBrain> IT WORKS :D 09:50:51 <TrueBrain> sometimes I amaze myself :D 09:52:26 <TrueBrain> owh, all these .dorpsgek.yml are wrong .. they don't announce new versions .. oops 09:52:52 <TrueBrain> TrueBrain created new tag: 1.0.0 https://git.io/JUCuW 09:52:57 <TrueBrain> let me be DorpsGek_III for today :P 09:53:03 <TrueBrain> [OpenTTD/master-server] TrueBrain created new tag: 1.0.0 https://git.io/JUCuW 09:53:05 <TrueBrain> oops :) 10:00:39 <DorpsGek_III> [OpenTTD/master-server-web] TrueBrain created new tag: 1.0.0 https://git.io/JUCuh 10:00:48 <TrueBrain> and that one does announce ... lol 10:04:43 <TrueBrain> right, I am ready to flip the switch and bring this to production .. but I would love to get some feedback first if it works for others :D 10:07:23 <LordAro> have you tested with a variety of ancient versions? 10:08:34 *** Eddi|zuHause has quit IRC 10:09:06 *** Eddi|zuHause has joined #openttd 10:20:38 <TrueBrain> I am honestly more worried from a network perspective that things fail, but it is not a bad idea to run all major versions again :) 10:28:35 <TrueBrain> 0.4.8, 1.0.0, 1.4.4, 1.8.0, 1.9.3, 1.10.3 clients work 10:28:39 <TrueBrain> guess that is a sufficient large set :P 10:31:42 <TrueBrain> master, 1.9.0, 1.4.4 as server work .. 1.0.0 doesn't want to compile .. lets see .. 10:40:42 <TrueBrain> hmm .. 0.4.8 cannot advertise itself 10:41:41 <TrueBrain> it is funny how many issues compilers find these days on old code :P 10:47:05 <TrueBrain> okay, 1.0.0 works, 0.7.0 does not 10:47:14 <TrueBrain> do I care .... well, that is a good question :) 10:56:35 <TrueBrain> it is a freaking one-liner :P 10:57:25 <LordAro> :) 10:57:36 <DorpsGek_III> [OpenTTD/master-server] TrueBrain opened pull request #6: Fix: also make sure servers before 1.0.0 can advertise https://git.io/JUCaG 10:58:02 <TrueBrain> a new level of pedantic, making sure a server more than 13 years old still works, but okay :P 10:58:10 <LordAro> #helping 10:58:21 <LordAro> are there any <1.0 servers running at the moment? 10:58:26 <TrueBrain> no 10:58:37 <TrueBrain> oldest is 1.3.0 for some reason 10:58:49 <TrueBrain> a whole cluster of them 10:58:59 <TrueBrain> pretty sure 7 years ago someone forgot about them, and they are still running 10:59:17 <TrueBrain> Current date: 5345-12-29 10:59:37 <LordAro> :D 10:59:46 <TrueBrain> now review the PR, so I can deploy it :P 11:08:26 <LordAro> TrueBrain: couldn't possibly, i don't understand the code :p 11:08:36 <LordAro> why is that the only branch to explicitly store the session key? 11:08:48 <TrueBrain> the others do too, in the _next_session_id function 11:09:00 <TrueBrain> _get_next_session_key even 11:09:23 <LordAro> right 11:09:36 <TrueBrain> which is the bug .. it is the only branch not storing the session-key :) 11:09:50 <TrueBrain> basically, it pre-announces a server, and later on it is checked if the server really still exists 11:10:00 <TrueBrain> allows for more than one instance of master-server to run :) 11:10:22 <LordAro> it's also the only branch to not send a PACKET_UDP_MASTER_SESSION 11:10:30 <TrueBrain> and this is because of the protocol 11:10:33 <TrueBrain> protocol v1 did not support that 11:10:35 <TrueBrain> v2 does 11:10:44 <LordAro> right 11:10:57 <TrueBrain> comments line 123-126 11:11:24 <TrueBrain> there are so many comments in that file .. just reading them should give you a rough understanding of how complex this protocol became :P 11:11:37 <Eddi|zuHause> <TrueBrain> it is a freaking one-liner :P <-- statistically, most things will be one-lineres 11:12:02 <andythenorth> most bugs are just one liners 11:12:11 <andythenorth> if we always committed 2 liners, would we have fewer bugs? 11:12:20 <Eddi|zuHause> it's like if you count the words in a shakespeare play. about half the words will appear exactly once 11:14:09 <Eddi|zuHause> (this is the same underlying mechanics as the 80-20 rule) 11:47:52 *** tokai|noir has joined #openttd 11:47:52 *** ChanServ sets mode: +v tokai|noir 11:54:40 *** tokai has quit IRC 11:54:52 *** Gustavo6046 has quit IRC 11:58:07 <TrueBrain> LordAro: but I think in general it is safe to say that such PRs don't require an audit on functionality, more if the code quality is sufficient ;) Given I did test it etc :D 12:26:58 *** snail_UES_ has joined #openttd 12:39:05 <DorpsGek_III> [OpenTTD/master-server] LordAro approved pull request #6: Fix: also make sure servers before 1.0.0 can advertise https://git.io/JUCoN 12:39:06 <LordAro> TrueBrain: :p 12:39:36 <DorpsGek_III> [OpenTTD/master-server] TrueBrain merged pull request #6: Fix: also make sure servers before 1.0.0 can advertise https://git.io/JUCaG 12:39:56 <TrueBrain> [OpenTTD/master-server] TrueBrain created new tag: 1.0.1 https://git.io/JUCoh 12:40:22 <TrueBrain> okay, porting the security stuff is easy, but just .. stupid work .. :P 12:40:30 <TrueBrain> I need to copy/paste a shitton of stuff .. bit boring :P 12:41:05 <TrueBrain> and lookup subversion revisions to github hashes .. 12:49:32 <TrueBrain> 1.9.0, 1.4.4, 1.0.0, 0.7.0, 0.6.0 (advertises twice to the master-server, lol), all work. Think that is sufficient amount of testing :D 12:50:34 <TrueBrain> I see someone else also successfully started a server 12:50:50 <TrueBrain> so I guess this is ready to go live :) Tonight, I guess :) 12:51:44 <TrueBrain> hmm ... not sure how often it does DNS resolving .. possibly servers need a restart before it shows up on the new master-server .. worth testing .. 13:13:40 <TrueBrain> okay, DNS is resolved every time 13:14:50 <TrueBrain> so what is going to happen: I am going to change the TTL to < 15 minutes. At change, servers will be registered to the old master-server for the next 15 minutes, or when-ever their next broadcast is. After that, they appear on the new master-server. They remain on the old for another ~20 minutes, till the timeout there kicks in 13:14:59 <TrueBrain> guess that works 13:17:12 <TrueBrain> found a bug in the old master-server .. it does not update your server if there is UTF-8 chars in your servername :P 13:17:14 <TrueBrain> lalalalaaaaaa 13:24:44 *** Progman has quit IRC 13:35:07 *** nielsm has joined #openttd 13:39:01 <TrueBrain> interesting .. a CVE, with a patch, but without a commit .. so .. we never patched this upstream, or what is the message here :D 14:08:53 <Eddi|zuHause> when has an unpatched CVE ever hurt anyone... :p 14:13:07 * LordAro reads Eddi|zuHause's private keys 14:32:14 <DorpsGek_III> [OpenTTD/website] TrueBrain opened pull request #164: Remove: we no longer use a mirror network that depends on donations https://git.io/JUC1u 14:32:40 <DorpsGek_III> [OpenTTD/website] TrueBrain opened pull request #165: Add: port the security patches we have for CVEs https://git.io/JUC1g 14:32:48 <TrueBrain> there ... that should replace "security.openttd.org" :) 14:34:51 <DorpsGek_III> [OpenTTD/website] LordAro approved pull request #165: Add: port the security patches we have for CVEs https://git.io/JUC1V 14:35:06 <TrueBrain> that was ... scary quick LordAro 14:35:12 <TrueBrain> you are okay with the CSS too? :P 14:35:24 <DorpsGek_III> [OpenTTD/website] LordAro approved pull request #164: Remove: we no longer use a mirror network that depends on donations https://git.io/JUC1r 14:36:04 <LordAro> TrueBrain: that's what staging is for! 14:36:34 <TrueBrain> well, it looks fine; that is not my issue :P I expected something along the lines: ugh, that CSS looks wrong :P 14:36:59 <LordAro> all CSS looks wrong 14:37:03 <TrueBrain> fair enough 14:37:38 <DorpsGek_III> [OpenTTD/website] TrueBrain merged pull request #164: Remove: we no longer use a mirror network that depends on donations https://git.io/JUC1u 14:37:51 <DorpsGek_III> [OpenTTD/website] TrueBrain merged pull request #165: Add: port the security patches we have for CVEs https://git.io/JUC1g 14:37:54 <TrueBrain> to staging it goes 14:38:02 <TrueBrain> hmm, I might have merged those two too quickly 14:38:04 <TrueBrain> :D 14:38:52 <TrueBrain> let me cancel one before I make things worse :D 14:43:15 *** crem1 has joined #openttd 14:44:28 *** crem has quit IRC 14:54:31 <DorpsGek_III> [OpenTTD/website] TrueBrain approved pull request #157: Include final URL https://git.io/JUCMi 14:55:19 <DorpsGek_III> [OpenTTD/website] TrueBrain merged pull request #157: Include final URL https://git.io/JfLFY 14:55:22 <TrueBrain> https://www.staging.openttd.org/security.html 14:55:25 <TrueBrain> LordAro: find the bugs :D 14:55:45 <LordAro> page loads, doesn't it? 14:55:47 <LordAro> what more do you want 14:56:30 <LordAro> i have to say, the fact that we've not "had" a CVE in 2013 is a bit odd 14:56:44 <LordAro> i guess that's about the time that RB stepped down? 15:00:05 *** Wormnest has joined #openttd 15:00:32 <LordAro> @seen Rubidium 15:00:32 <DorpsGek> LordAro: Rubidium was last seen in #openttd 1 year, 17 weeks, 2 days, 20 hours, 58 minutes, and 36 seconds ago: <Rubidium> are those from the same NewGRF? 15:04:30 <TrueBrain> LordAro: I think he made most if not all of these .. and if you see the amount of work involved, I can imagine nobody wants to :P 15:04:47 <TrueBrain> and this morning you were overly picky, and now you found the other side of the balance .. not sure if I like that :P :P :D 15:06:30 <LordAro> well in between then i've had to try to convince someone that taking an offline copy (via various recursive wgets) of a Bamboo instance is really not the correct solution to the problem they're trying to solve 15:06:36 <LordAro> so i just don't care anymore 15:07:32 <TrueBrain> gave up on life, poor LordAro :( 15:07:35 * TrueBrain hugs LordAro 15:07:38 <TrueBrain> it is going to be okay 15:07:39 <TrueBrain> really, it is :) 15:10:18 <LordAro> other today fun was trying to work out why our zfs snapshots are taking so long to copy to another server 15:11:00 <LordAro> it's either "compression too high" or "compression not enough" 15:17:47 <TrueBrain> Or just too much data :p 15:18:34 <LordAro> that is an option also 15:24:23 *** gelignite has joined #openttd 15:44:10 *** iSoSyS has joined #openttd 16:05:38 <TrueBrain> right .. guess I am going to move the master-server to production .. I can't find a reason why not, except that I don't want to :P 16:07:49 <LordAro> :) 16:08:24 <TrueBrain> and the first servers are already switched .. that went quicker than I expected :P 16:10:03 <TrueBrain> hmm, also servers that are not responding to game-info requests 16:13:48 <TrueBrain> hmm .. possible IPv6 is not getting through .. 16:13:55 <TrueBrain> and my home IPv6 stopped working today :( 16:18:33 <TrueBrain> ah, lol .. NAT gateways didn't have IPv6 assigned .. oops 16:19:29 *** Gustavo6046 has joined #openttd 16:20:07 <TrueBrain> at least it seems all (most?) IPv4 servers have reproted in :) 16:30:43 *** iSoSyS has quit IRC 16:48:05 <TrueBrain> okay, and it appears we have a bug .. which I do not understand really :P 16:48:10 <TrueBrain> 1 server doesn't have a map_name .. 16:58:55 <TrueBrain> okay, switching back to the old infra .. I have to look into this in more detail .. 16:58:59 <TrueBrain> I do have a lot of test-data now :D 17:00:28 *** Wolf01 has joined #openttd 17:00:38 *** Flygon has quit IRC 17:03:47 <TrueBrain> oops .. the old master-server is not accepting the session-keys .. 17:03:51 <TrueBrain> and it doesn't retransmit a new one .. 17:04:40 *** iSoSyS has joined #openttd 17:04:45 <TrueBrain> so ... guess we are IPv4 only for a bit :) 17:05:20 <Wolf01> Fine, like my API auth system, I discovered like one month after doing it that I couldn't login because I didn't implement a renew token feature 17:05:32 *** iSoSyS has quit IRC 17:12:21 <andythenorth> hmm 17:12:27 <andythenorth> is it pixels or tanks? 17:12:37 * andythenorth had a break from both due to profound lack of interest 17:12:50 <LordAro> pixel tanks 17:13:05 <andythenorth> taxel pinks 17:13:18 <andythenorth> in the meanwhile I played a lot of Warcraft 1 17:13:22 <andythenorth> trying custom campaigns 17:13:42 <andythenorth> using save-load I managed to win every silly combination of army I could find 17:13:50 <andythenorth> although I didn't try 1 peon and 1 catapult 17:13:53 <andythenorth> I don't think that's viable 17:14:16 <andythenorth> it's about £5 on GOG.com and is one of the 1994 big 3 17:14:27 <andythenorth> along with TTD and Doom 1 shareware edition 17:14:42 <andythenorth> Railroad Tycoon in 4th Place 17:15:47 <andythenorth> https://www.gog.com/game/warcraft_orcs_and_humans 17:30:59 <Wolf01> I have it on CD-ROM 17:40:57 <TrueBrain> error on socket: [Errno -9] Address family for hostname not supported <- grr @ ECS .. why doesn't this container have IPv6 .. 17:41:36 *** DorpsGek_III has quit IRC 17:58:22 <TrueBrain> https://servers.openttd.org/listing/jgrpp <- at least that works :D 18:01:30 *** frosch123 has joined #openttd 18:06:49 *** HerzogDeXtEr has joined #openttd 18:09:14 <TrueBrain> hmm .. it might be that I cannot get IPv6 enabled on these containers ... mehhhhh 18:17:21 <TrueBrain> okay, to fix this properly, I do have to switch back to the old infra .. how am I going to do that in a smart way .. 18:20:25 <TrueBrain> there we go .. a small patch later 18:20:41 <TrueBrain> okay .. found 2 major blockers I need to investigate .. 18:20:45 <TrueBrain> 1 AWS related, 1 code related .. 18:20:55 <TrueBrain> owh well .. you can't always have them all :D 18:24:10 *** andythenorth has quit IRC 18:39:32 <Wolf01> https://hackaday.com/2020/09/10/the-o-bahn-busway-obscure-transit-for-the-masses/ perfect for NRT 19:06:39 *** andythenorth has joined #openttd 19:38:23 <andythenorth> TrueBrain thanks for doing infra stuff :D 19:58:43 *** gelignite has quit IRC 20:02:04 *** frosch123 has quit IRC 20:09:45 *** supermop_Home has joined #openttd 20:21:29 *** Progman has joined #openttd 20:29:40 <FLHerne> https://scontent-sjc3-1.xx.fbcdn.net/v/t1.0-9/119124876_2804953879737252_8774592172418098908_n.jpg?_nc_cat=110&_nc_sid=8bfeb9&_nc_ohc=mDYxjL1IfDsAX-zE2Q6&_nc_ht=scontent-sjc3-1.xx&oh=6c210efad0362e7d7d9369194edc8732&oe=5F81639D ? 20:57:28 <supermop_Home> I am quite bored 20:57:38 <supermop_Home> i even have a fair amount of work to do 20:57:46 <supermop_Home> but i do not want to do it 21:08:09 <andythenorth> I won with 2 catapults and 1 peon 21:08:24 <andythenorth> it's not so hard, you can build a barracks immediately 21:08:44 <andythenorth> the hardest is a lot of useless conjurors at start 21:10:58 <supermop_Home> castles 2: siege and conquest? 21:11:12 <andythenorth> warcraft :P 21:12:45 <supermop_Home> https://www.allvideo.org/pictures/castles/castles2_screenshot2.jpg 21:12:56 <andythenorth> pretty similar 21:14:18 <supermop_Home> very little of the game seemed to be the battles 21:14:48 <supermop_Home> also i would always try to build too elaborate of a castle that would take years to finish 21:15:17 <supermop_Home> so by the time it got attacked it just had like 4' high unfinished walls 21:15:52 <supermop_Home> https://image.dosgamesarchive.com/screenshots/castles2-3.png 21:16:11 <supermop_Home> most of it was this and having to pay off the pope 21:23:24 <andythenorth> oh I think there was a BBC Basic version 21:23:27 <TrueBrain> meh ... getting IPv6 on ECS is .. more difficult than I would like :( 21:23:36 <andythenorth> I remember building castles too big, so the walls were too low 21:25:04 *** nielsm has quit IRC 21:25:10 <TrueBrain> easiest is to upgrade our instance type .. which is vastly more expensive 21:25:14 <TrueBrain> (about 5 times more expensive) 21:25:30 <TrueBrain> still nothing compared to the price of bandwidth, ofc :D 21:29:45 <andythenorth> :) 21:31:48 <TrueBrain> well, this is a puzzle 21:32:09 <TrueBrain> https://servers.openttd.org/en/server/141128 <- this server is also a puzzle .. it has no map_name .. 21:33:07 <TrueBrain> but regarding IPv6, basically AWS is working on getting IPv6 to work with ECS, but it is not yet there 21:33:10 *** sla_ro|master has quit IRC 21:33:23 <TrueBrain> I can use what is called an awsvpc, by the looks of it anyway, but .. because of the instance type, I have a very limited amount I can use 21:33:38 <TrueBrain> and it is such a small number, I can not really run the service in an easy to maintain form 21:33:49 <TrueBrain> I wonder if I can think of other hacks/tricks ... 21:34:11 <TrueBrain> fake ipv6 interface in the docker with NAT64 out :P 21:34:55 <TrueBrain> it is funny .. OpenTTD supports IPv6 since 2007 ... AWS does not support IPv6 for all common services yet .. and very little documentation / questions about it (showing not many people care) .. it is weird 21:34:57 <TrueBrain> owh well, bed time 21:35:07 <andythenorth> sleep 21:35:10 <andythenorth> hmm 21:35:14 <andythenorth> nice suggestion 21:35:25 <andythenorth> my wife seems to get up at 5.30am 21:57:15 *** Wolf01 has quit IRC 22:12:50 *** andythenorth has quit IRC 22:14:07 *** andythenorth has joined #openttd 22:22:09 *** andythenorth has quit IRC 23:27:49 *** Progman has quit IRC