Time Nick Message 00:01 Jordach ayy lmao 00:01 Jordach it's the 25th 00:04 kaadmy 24th for me ;) 00:13 lemon same here 00:32 lemon OldCoder, this is what I made so far https://neboard.me/media/images/145099634124.png 00:33 OldCoder Reviewing 00:33 lemon I think I also should add formatting options. For instance, there could be a function to arrange data in the table or a graph. 00:33 OldCoder Advice: One step at a time 00:34 OldCoder It is satisfying 00:34 OldCoder to see things work 00:34 OldCoder Helps you to continue 00:34 OldCoder Parameterize what the other guy did 00:34 OldCoder So the text can be moved about 00:34 OldCoder Then worry about formatting 00:34 OldCoder Good first steps 00:34 OldCoder Merry xmas to u 2 00:34 lemon :D 00:36 lemon So you think there should be a way to move each widget around the screen freely? 00:36 lemon I thought I would just make one bar where everything will be added. 00:36 lemon So developers wouldn't need to worry about placing text. 00:38 OldCoder Reviewing 00:38 OldCoder Explain 00:38 OldCoder lemon 00:38 OldCoder Do you mean move programmatically? 00:39 lemon Well, there are no other way to move it except programmatically. 00:40 OldCoder Explain widget 00:40 OldCoder Do you mean question is 00:40 OldCoder Multiple widgets or single fixed location one? 00:40 OldCoder People will want choice 00:40 OldCoder Of where text goes 00:40 OldCoder And may want multiple blocks 00:40 OldCoder Each for a different purpose 00:40 OldCoder But you can start 00:41 Emperor_Genshin Merry Chrismas OldCoder 00:41 OldCoder With just one block at a caller-specified location 00:41 OldCoder Emperor_Genshin, hello t y and u 2 00:43 lemon https://github.com/slemonide/hud_monitor/blob/master/init.lua 00:45 OldCoder R 00:45 OldCoder Rename unless connected to HUD ? 00:45 OldCoder Add comments please 00:45 OldCoder Comments are what completes code 00:46 OldCoder And yes this is useful 00:46 OldCoder Add comments, test, release, profit 00:46 OldCoder 1-2-3-4 00:47 lemon OldCoder, it is related to HUD because information is displayed on HUD 00:47 OldCoder So this is an extension of sorts to the HUD mod? 00:48 OldCoder Not independent? 00:48 lemon HUD is hardcoded into minetest. 00:48 OldCoder Ah 00:48 OldCoder All right 00:48 OldCoder Add comments, test, release, profit 00:48 OldCoder 1-2-3-4 00:48 OldCoder 5 = fame 00:49 lemon :3 00:55 Blekpug I get hurt when I access my bones. I do not understand. 00:56 kaadmy hmm, that would sound weird had you said it in real life ;) 00:58 kaadmy does it say anything in chat when you take bones? 01:28 lemon OldCoder, https://github.com/slemonide/hud_monitor 01:28 OldCoder R 01:29 OldCoder HUD monotor api: spell that monitor 01:29 OldCoder Reviewing further 01:29 OldCoder Change widged to widget 01:30 OldCoder Needs more comments. But if it works it is ready for release. 01:30 OldCoder Next step, make a thinner screenshot (less than 900 pixels wide) 01:30 OldCoder and announce your creation in the forums 01:30 OldCoder Then wait for the movie offers to come in 01:30 OldCoder 01:31 OldCoder lemon, ^ 01:31 lemon What kind of comments? 01:32 OldCoder This is general and for the future. To explain: 01:32 OldCoder At the highest level, you have package comments or documentation 01:32 OldCoder That explain what a package does 01:32 OldCoder Then you have module comments 01:32 OldCoder At the top of a file 01:32 OldCoder Which explain the purpose and structure (sometimes) of a file 01:33 OldCoder Then you have procedure comments. These go before each function or subroutine 01:33 OldCoder To explain what the function or subroutine does 01:33 OldCoder Then you have block comments 01:33 OldCoder These go before blocks or sections of code 01:33 OldCoder Then sometimes you have inline comments about individual lines 01:34 OldCoder Lazy coders skip ALL of this 01:34 OldCoder Sensible coders do at least some of this 01:34 OldCoder In my view, masters do all of it. Aim for the middle if you like. 01:34 OldCoder Done. 01:34 OldCoder 01:35 Hirato I'm bad at commenting >_> 01:35 OldCoder Practice makes perfect 01:35 OldCoder You just did after all 01:35 Hirato the only comments I make are when I feel that I've written something that may not be intuitively obvious to the next person reading it 01:35 OldCoder /* I'm bad at commenting */ 01:35 OldCoder Right 01:35 OldCoder And coders say 01:35 Blekpug kaadmy: I didn't notice anything in chat when I tried to take the bones. I destroyed the world. have not died since then. 01:36 OldCoder But I use good variable names! 01:36 OldCoder Honestly, good variable names are not enough 01:36 OldCoder But I am simply offering my view 01:36 OldCoder It is not a church pew 01:36 Hirato if I'm writing complex bitshift operators, the ratio of lines of code to lines of comments is about 1:3 01:36 OldCoder Between me and you 01:36 OldCoder Hi 01:36 OldCoder Yes good 01:36 OldCoder The fact is 01:36 OldCoder The code and the comments should be viewed as one 01:36 OldCoder If you comment as you go 01:36 Hirato but when I'm writing super obvious routines and structures, which is most of the time, it's about 100 : 1 01:37 OldCoder There are fewer bugs 01:37 OldCoder Right 01:37 OldCoder and your code 01:37 OldCoder is dead, in a sense 01:37 OldCoder Note the layers 01:37 OldCoder of comments that I referred to 01:37 OldCoder Only code that is truly structured is alive 01:37 OldCoder And only code that is truly commented 01:37 OldCoder is structured 01:37 OldCoder 01:37 OldCoder Comments are not castor oil 01:38 OldCoder Some sort of unpleasant medicine 01:38 OldCoder That coders are forced to take 01:38 OldCoder For code to truly live 01:38 OldCoder Comments are part of the process 01:38 OldCoder And they eliminate bugs 01:38 OldCoder 01:38 Hirato as far as I'm concerned, if my code ins't intent and purpose isn't intuitively readable and obvious, then I failed at my job 01:38 OldCoder Hm 01:39 OldCoder But... 01:39 Hirato the only things I really comment are weird quirks that might trip up the next person looking at it 01:39 OldCoder Hirato, pleased to meet you. This might be so on a line by line basis 01:39 OldCoder But how the heck 01:39 OldCoder Do you expect anybody to guess at the module level? 01:39 OldCoder Or even in many cases at the procedure level 01:39 OldCoder Answer that? 01:39 OldCoder ~bacon:@$($) goop(); 01:40 OldCoder ^ typical line of C++ code 01:40 Hirato I am kind of lacking context :P 01:40 OldCoder Worthless rubbish 01:40 OldCoder Context is right above 01:40 OldCoder What you said 01:40 OldCoder may hold true 01:40 OldCoder at the line by line level 01:40 OldCoder But without comments at all the other levels 01:40 OldCoder Once you are gone 01:40 OldCoder Your code is legacy that must be reverse engineered 01:40 * OldCoder has spent much of a 40 year career doing this 01:40 OldCoder 01:40 Hirato what it does should be obvius by its name, parameters and return type 01:41 OldCoder For Pythonic tiny fragments yes 01:41 OldCoder How many real world legacy procedures are like that? 01:41 OldCoder Typical example: 01:41 OldCoder 01:41 OldCoder init() 01:41 OldCoder Oh boy 01:41 OldCoder It initializes 01:41 OldCoder Initializes WHAT ? 01:41 OldCoder And where are the APIs 01:41 OldCoder for entry points into the system 01:41 Hirato which gets a lot harder with any dynamically typed language 01:41 OldCoder to be guessed at? 01:41 OldCoder Same principles have always been there 01:42 * OldCoder started with C and FORTRAN 01:42 OldCoder Legacy code is dead code 01:42 OldCoder Variable names, feh 01:42 OldCoder Makes no difference 01:42 OldCoder Without comments 01:42 OldCoder A codebase is a cemetery 01:42 OldCoder 01:43 * OldCoder has heard the "good variable names" thing for years and laughs 01:43 OldCoder No offense intended 01:43 nanovad OldCoder: Good variable names! :) 01:43 OldCoder Yes 01:43 OldCoder int initialized = FALSE; 01:43 nanovad Honestly, if the code is written well enough, you shouldn't have to explain it. 01:43 OldCoder Ooh yes 01:43 OldCoder All set now! 01:43 nanovad I mean, does the author annotate everything he writes? 01:43 OldCoder Wrong. See above. It applies to line by line... 01:43 OldCoder Ideally, the language should require this. 01:43 OldCoder Without this... 01:43 OldCoder Where do you get 01:44 OldCoder the other levels? Tell me, how many... 01:44 OldCoder legacy systems have you worked on? State the number. 01:44 nanovad Legacy? Honestly, I'm too young to work on anything professionally. 01:44 Hirato https://github.com/Hirato/lamiae/tree/master/src/rpggame this code is about 3% comments, and 19% blank lines, this is the kind of stuff I write 01:44 OldCoder Ah. I mean no patronize nanovad but you will learn. Hirato Hi let me review. 01:45 nanovad I'm sure I will. I don't assume everything I say is right, after all, it's all opinion. :P 01:45 OldCoder Can I get a top-level link Hirato ? 01:45 OldCoder This is showing me diffs 01:46 Hirato I linked you there becuase most of the rest is standard engine stuff I inherited 01:46 OldCoder I see your repos 01:46 Hirato and why are you seeing diffs 01:46 OldCoder You linked to a commit 01:46 OldCoder Do you have a full source module? 01:46 Hirato no, I linked you to a specific subfolder 01:46 OldCoder It went to a diff 01:46 OldCoder Sorry 01:46 Hirato if it went to a diff, you clicked something 01:46 OldCoder - conoutf(CON_ERROR, "failed to load sample: media/sound/%s%s", dir, name); 01:46 OldCoder + conoutf(CON_ERROR, "failed to load sample: media/sounds/%s%s", dir, name); 01:47 OldCoder Not much to say about that 01:47 OldCoder Can you provide a favorite full source module? 01:47 Hirato :| 01:47 OldCoder Pick one you like 01:47 OldCoder No need for :| 01:47 OldCoder Share a particular source file 01:47 Hirato the :| is because I linked you to a folder of about 20 files 01:47 Hirato not to a specific commit 01:47 OldCoder Share a particular source file 01:48 OldCoder While you are thinking 01:48 OldCoder Here is one of mine 01:48 OldCoder http://oldcoder.org/general/beworld/browse-beworld.html 01:48 OldCoder It's about 100 pages of code not counting data 01:48 OldCoder In a language I'd never really done before 01:48 OldCoder It is bug-free as far as I know 01:48 OldCoder Match that 01:48 OldCoder 01:48 OldCoder The comments make the difference 01:49 OldCoder Again... the comments are not castor oil. They are for *you* as well as for others. 01:49 OldCoder They are part of the process. 01:49 OldCoder Tell you what, Google for recursive math parser 01:49 OldCoder Those three words 01:50 OldCoder Do you see perlcoder.net in the top 5 hits or so? 01:50 OldCoder I suppose you can guess who perlcoder.net is 01:50 OldCoder Browse that code 01:50 OldCoder And you'll understand why it's in the top 5 hits above Wikipedia 01:50 OldCoder Tired and no intent to be condescending 01:51 OldCoder Simply telling you the way it is 01:51 OldCoder Uncommented code is incomplete code and, in the end, it is dead code 01:51 OldCoder R.I.P. 01:51 OldCoder Especially C++ BTW. 01:52 OldCoder http://www.perlcoder.net/general/parsemath/parsemath-listing.html 01:53 OldCoder ^ Top 5 hits. Commented. Not a coincidence. 01:53 OldCoder 01:56 Hirato I don't really understand it 01:57 OldCoder One of the two programs? If not, this underscores the point. 01:57 OldCoder Code is art. A personal expression. 01:58 Hirato i'm just going to assume it's because I don't know shit about perl 01:58 OldCoder In a context where understanding and reproducibility matter. 01:58 OldCoder No... 01:58 OldCoder You can do all languages Hirato 01:58 OldCoder But I'll hold off on that tangent 01:58 OldCoder You may not understand the code 01:58 OldCoder But the comments spell out the purpose 01:59 OldCoder Without one, the expression that you don't follow, you still have the other 01:59 OldCoder The purpose and the meaning 01:59 OldCoder You could, therefore, make decisions 01:59 OldCoder Related to this code despite "don't really understand it" 01:59 OldCoder This is the way it's supposed to be 01:59 OldCoder Code is not supposed to be a Van Gogh painting 01:59 OldCoder 02:00 OldCoder The Tcl program I linked above that 02:00 OldCoder You'd have zero chance of understanding parts without the comments 02:00 OldCoder Despite the purity of the concept 02:00 OldCoder And the high quality of the code 02:00 OldCoder The comments are the bridge, the way in 02:00 OldCoder The mapping of the concepts 02:00 OldCoder They are not disposable 02:00 OldCoder 02:01 OldCoder That code writes itself, Hirato. Zero chance of following without comments. 02:01 * OldCoder hums the song "A Song That Sings Itself". 02:01 OldCoder 02:02 Hirato still, it's a lot harder to read unfamiliar languages than familiar ones 02:02 OldCoder This is a CLI calculator program that takes a single arithmetic ex- 02:02 OldCoder pression as an argument, evaluates it, and prints the result to stand- 02:02 OldCoder ard output. 02:02 OldCoder Yes, this is true 02:02 Hirato I can tell that much 02:02 OldCoder But you could do Perl in a day 02:02 Hirato I can also see it has some concept of precedence, a few named operators, and uses less 02:02 OldCoder Right. The particular program was not really the point. 02:02 OldCoder The point was that the comments are your way in. 02:02 OldCoder They can't teach you Perl directly 02:03 Hirato and I understand how to call it, but only because there was an example in a comment 02:03 OldCoder Yes. The most rudimentary knowledge of the language and with the comments you'd be good to go. 02:03 OldCoder Look, let's admit it 02:03 OldCoder Unless coders are engaged in a startup 02:03 OldCoder Something personal 02:03 OldCoder They often don't give a sh*t about what happens after they leave 02:04 OldCoder And they consider comments to be a ridiculous burden 02:04 OldCoder Not based on any principles or logic 02:04 OldCoder But because they can get away with leaving sh*t behind 02:04 OldCoder Nobody is really going to hunt them down for it 02:04 OldCoder So you get stuff like this 02:04 OldCoder At one firm 02:04 OldCoder The CEO had a vague recollection 02:05 OldCoder That somebody had added some Saleforce functionality to the main system 02:05 OldCoder Surely somebody could extend that 02:05 OldCoder And he could claim that the system was Salesforce * compatible 02:05 OldCoder 02:05 OldCoder There were rumors 02:05 OldCoder that the Salesforce functionality had actually existed 02:05 OldCoder Names floated about 02:06 OldCoder Nobody actually knew for sure where it was 02:06 OldCoder Or what language had been used 02:06 OldCoder Or even what the functionality had been 02:06 OldCoder In the end it turned out 02:06 OldCoder That one coder whose job was safe 02:06 OldCoder Because only she knew the codebase 02:07 OldCoder Had, years before, done some sort of online widget in JS on some hosted site 02:07 OldCoder Never written anything down 02:07 OldCoder Forgotten the name of the site 02:07 OldCoder And had saved not a scrap of the code 02:07 OldCoder This is actually... 02:07 OldCoder typical 02:07 OldCoder The usual way 02:07 OldCoder 02:07 Hirato I fail to see how "commenting" would avert any of this 02:07 OldCoder Did not finish 02:08 OldCoder The point is that it hardly makes sense to complain about comments. The arguments against them are largely bullsh*t put forth by lazy coders... 02:08 OldCoder who left to their own devices 02:08 OldCoder document nothing, save nothing, and move on 02:08 OldCoder Leaving legacy ruins in their wake 02:08 OldCoder 02:09 OldCoder Comments are the bridge into the code for those who come after 02:09 OldCoder And the means to prevent bugs 02:09 OldCoder For those who create 02:09 OldCoder And as I've suggested just above 02:09 OldCoder They're only one part of the picture 02:09 OldCoder 02:09 OldCoder At any rate 02:09 OldCoder You have two sample modules of mine 02:09 OldCoder The Tcl one makes one of the points better 02:09 OldCoder The code is perfect, in its way 02:09 OldCoder So what? Without comments 02:10 Hirato what you've told me speaks of poor discipline and policies 02:10 OldCoder You'd have no way in. You'd be lost. 02:10 OldCoder Indeed. And comments are part of this. 02:10 OldCoder Poor or not, Hirato, it is usual 02:10 OldCoder 02:10 OldCoder Small and large firms. Typical, not abnormal. 02:11 Hirato and you got a whole project of mine 02:11 OldCoder I should refrain from telling more stories. I've got a good one though... 02:11 OldCoder I still have not seen Hirato 02:11 OldCoder a specific module 02:11 Hirato you have, you jsut someone opened up the last commit 02:11 OldCoder That you'd like to suggest I look at 02:11 Hirato **somehow 02:11 OldCoder Will you pick one module 02:11 OldCoder for review? 02:11 OldCoder Not a folder, but one module to start? 02:11 Hirato that folder is all interconnected 02:12 OldCoder Hirato, I am physically tired and have talked about this when I ought not to. Will you share a favorite module that illustrates your style? 02:12 OldCoder Or approach; whatever you wish to call it. 02:19 Hirato I can't really think of a favourite file 02:20 OldCoder Any typical file that is representative? 02:20 OldCoder And entirely your own code? 02:20 Hirato https://github.com/Hirato/lamiae/blob/master/src/rpggame/rpggame.h may as well go with the main header file I guess 02:21 OldCoder R 02:21 Hirato that rpggame folder is 100% my code :p 02:21 Hirato hence I linked to it 02:21 OldCoder O.K. thanks. You realize there's essentially zero comments in this module. You feel that's fine. Not much to discuss. 02:21 kaadmy OldCoder: seems kinda like a one-sided conversation :) 02:21 Hirato yeah, I know 02:22 OldCoder kaadmy, in what sense? I've made points and waited for responses. 02:22 OldCoder Hirato, the people who get to judge that code 02:22 OldCoder are not you 02:22 Hirato there's 400 lines or so lines shared between all those files 02:22 OldCoder You understand that as well, right? 02:22 OldCoder What matters, where it counts, is what happens when others try to come in later 02:22 kaadmy chat logs from ~20 min ago ;-) 02:23 OldCoder kaadmy, again, your point? I made comments, ironically enough, and waited for responses. 02:23 OldCoder The phrase "one-sided" would seem to be deprecation without concrete meaning. 02:24 Hirato I do think it's the file with the most comments... 02:26 OldCoder Hirato, that is a relative statement. Not relevant to what I said a minute ago, gently. 02:26 OldCoder You'll note I've tried to speak gently 02:26 OldCoder kaadmy, FYI ^ 02:26 OldCoder Hirato, the people who get to judge that code 02:26 OldCoder are not you 02:27 OldCoder You understand that as well, right? 02:27 OldCoder What matters, where it counts, is what happens when others try to come in later 02:27 OldCoder ^ The points 02:27 OldCoder 02:27 OldCoder This is a creation. A work of art though as I said Van Gogh is not the point. 02:28 OldCoder What matters 02:28 OldCoder is that part of it is still inside a head 02:28 OldCoder Your head 02:28 OldCoder It needs to come out 02:28 OldCoder 02:28 OldCoder Create code for the ages, though that is difficult with C++ 02:28 Hirato you'll notice I basically treat it like C with some bells and whistles 02:28 * OldCoder has noticed that C++ code tends to break with the turning of the seasons 02:29 OldCoder Right, that does help 02:29 * OldCoder usual reaction to C++ is 02:29 OldCoder O_O 02:29 * OldCoder loves all languages dearly 02:29 OldCoder Except this one 02:29 Hirato you should see what the compilers do, geez 02:29 OldCoder And maybe WhiteSpace <- google that 02:29 OldCoder Oh yes 02:29 Hirato 80+ character monstrosity, optimised to 1 instruction 02:30 OldCoder Oh lord yes 02:30 OldCoder and the standard changes 02:30 OldCoder and it is all lost 02:30 * OldCoder has just finished trying to recompile his entire distro 02:30 Hirato you'll also notice I almost completely avoided a lot of C++ features, like templates 02:31 OldCoder Yes to this as well 02:31 OldCoder Heh 02:31 OldCoder Close to straight C 02:31 OldCoder Which is good 02:31 OldCoder Have not said anything negative about the code at all 02:31 OldCoder Please note 02:31 OldCoder Only that those who will judge it are those who come after 02:32 OldCoder And need to work on it 02:32 OldCoder It is pretty simple 02:32 OldCoder Add a few comments and it will be clear as glass 02:32 Hirato and we in the cube world don't care for the standard template library as well, we wrote our own before C++ really shipped them and just kept using them 02:32 OldCoder In fact 02:32 OldCoder This code is interesting 02:32 Hirato I'm glad you're intrigued 02:32 OldCoder Couldn't you write your own system to generate it? 02:32 OldCoder Everything in this file 02:33 OldCoder Could have come from a standard mechanism 02:33 OldCoder A base library and some config files 02:33 OldCoder Right? 02:33 Hirato I guess 02:33 OldCoder Sorry, just thinking 02:34 OldCoder Anyway the code is fine for what it is. I have said what I should. 02:34 OldCoder if you wish the code to live on 02:34 OldCoder If this is a labor of love 02:34 OldCoder Add what is needed; the comments. 02:34 OldCoder 02:34 Hirato I did start this when i knew almost nothing :P 02:36 OldCoder Then you are coming along. You know nothing I've said has been intended to be discouraging. 02:36 OldCoder To the contrary 02:36 OldCoder You mentioned not knowing Perl 02:36 OldCoder Get into the habit of thinking comments and you'll find that different languages start to feel like 02:36 OldCoder Different expressions of the same thing 02:37 Hirato I know, it's understanding the expressions 02:37 OldCoder This is a positive point, not a straightjacket 02:37 OldCoder Yes 02:37 OldCoder You can focus on one language if you wish, but no real need to do so 02:37 OldCoder Except for the language or framework that pays the rent 02:37 OldCoder These days, everybody is supposed to have a specialty 02:37 Hirato at the moment that's VB.NET *shudder* 02:37 OldCoder ogod :P 02:38 * OldCoder does Windows only under duress 02:38 Hirato you define an array of size 8, guess what the bounds are in VB 02:38 * OldCoder does not know 02:38 OldCoder ? 02:38 Hirato I'll give you 2 guesses :3 02:39 OldCoder But but 02:39 OldCoder This requires logic 02:39 OldCoder and O_O 02:39 OldCoder MS logic? 02:39 OldCoder Hm 02:39 Hirato 4,4It's 0-8 inclusive 02:39 OldCoder Define bounds for me 02:39 OldCoder If that is OK to ask 02:40 Hirato lower bound, the index for the first element, upper bound, index of the final element 02:40 OldCoder Right 02:40 * OldCoder counts on fingers and toes 02:40 OldCoder So it isn't 0..7 or 1..8 ? 02:41 Hirato indeed 02:41 Hirato it's 0 to 8, inclusive 02:41 OldCoder Um 02:41 OldCoder What do they map to? 02:41 Hirato so 9 elements for a size 8 array 02:41 OldCoder What... 02:41 OldCoder You know the question 02:41 OldCoder What is the extra element? 02:42 Hirato if you define an array as Dim myArray as Integer(8), the bounds are 0 to 8, inclusive 02:42 OldCoder Right 02:42 OldCoder But if you use all the indices 02:42 OldCoder indexes 02:42 OldCoder What do you get? 02:42 OldCoder Are they all usable? 02:42 Hirato yup, all usable 02:42 OldCoder Um 02:42 OldCoder Oooo.... kay 02:42 Hirato I think they get set to 'Nothing' which gets converted to 0 for numbers 02:43 OldCoder You really ought to see if there is UNIX-Linux work 02:43 Hirato (that's their word for Null) 02:43 OldCoder But I suppose MS will pay the bills 02:43 Hirato in Australia? bloody likely, haha 02:43 OldCoder You are down-under? Cornernote is there 02:43 OldCoder He does PHP webdev 02:43 OldCoder Why are you doing MS if it is not popular and high paid? 02:44 Hirato if I learned anything at uni, I'd pick VB over PHP every day 02:44 OldCoder Go on 02:44 OldCoder So you find positives in the language? 02:45 Hirato It's more than PHP was really bad 02:45 Hirato then people link me to bugs like this https://bugs.php.net/bug.php?id=61095 02:46 OldCoder R 02:47 Hirato it was a long time ago, I don't really remember it 02:47 OldCoder Every language is worthwhile except C++ 02:47 OldCoder PHP has its place 02:47 OldCoder That place is not 02:47 OldCoder really in the construction of large mission criticial systems 02:47 OldCoder :-) 02:47 Hirato it was a crappy web dev unit 02:47 OldCoder Go on 02:48 OldCoder The cours 02:48 OldCoder The course * 02:48 OldCoder was PHP and not well done? 02:48 Hirato nah, they covered both ASP.NET (with VB) and PHP 02:48 OldCoder Oi 02:48 OldCoder That is quite a combination 02:48 OldCoder "Two great tastes that taste great together" ? 02:48 Hirato you chad to use both for the first assignment, the second one you could pick your favourite 02:49 OldCoder Which did you do 02:49 Hirato for the second? Asp.NET with C# 02:49 OldCoder Sealing your destiny :P 02:49 OldCoder O.K. so you can make .NET sing 02:49 OldCoder It does have a future 02:49 OldCoder It is not really best for your own projects 02:49 OldCoder C++ is a horror 02:50 OldCoder But this leaves dozens of languages 02:50 OldCoder to choose from 02:50 Hirato yeah 02:50 Hirato I was thinking of playing with D, but dmd is pretty bad 02:50 OldCoder Probably omit Malbolge :-) 02:50 Hirato which is a shame, because the language has some really nice features 02:50 OldCoder https://en.wikipedia.org/wiki/Malbolge 02:51 OldCoder There's Perl, Node, Go, Python 02:51 OldCoder A number of other contenders 02:51 OldCoder Most seem to lean Python these days 02:51 OldCoder But Python3 was a pretty bad wrong turn 02:51 Hirato i'd pick python too :P 02:51 OldCoder There you go then 02:52 Hirato I have no interest in web development though 02:52 OldCoder This is refreshing 02:52 OldCoder Gamedev? 02:52 OldCoder Hirato, ^ 02:52 OldCoder That means C/C++ for most things 02:52 Hirato what I know of the industry, I'd prefer to keep that a hobby 02:53 OldCoder Well yes 02:53 OldCoder There is professional 02:53 OldCoder There are your startups 02:53 OldCoder or ventures or FOSS projects 02:53 OldCoder If gamedev is a hobby that is fine 02:53 Hirato the project I linked you too is zlib licensed 02:53 OldCoder Don't you get weary 02:53 OldCoder Good 02:53 OldCoder Pretty generous license 02:54 OldCoder Don't you get weary of MS changes just trying to maintain lockin? 02:54 OldCoder Of course this means job security 02:54 Hirato they don't bother us too much with .NET 02:54 OldCoder All right 02:55 OldCoder Hirato, nice chatting. Called away for an hour or so. Feel free to ping. 02:55 OldCoder o/ 02:55 Hirato so far this year, there was one security update that broke our product's web service component if the .NET we built against had the patch but the local machine didn't 02:56 Hirato as for next year, we just moved everything to .NET 4.6 from 4.0 02:56 Hirato only problem so far, absolutely retarded CompareTo functions people wrote decades back 02:57 Hirato to elaborate, since .NET 4.5, MS throws a 'BadArgumentException' if the sorting algorithm says both a > b and b > a is true 02:57 kaadmy malboge.. isn't that the one that took some years for someone to write something with it? and the first program was generated via computer? 02:58 Hirato and whoever wrote the damn thing thought it was a good idea to just return -1 for every comparison 02:58 kaadmy and the creator has never written anything with it? 03:05 LazyJ Why does Minetest use the png format for textures as opposed to jpg, even on the non-transparent textures? 03:09 Emperor_Genshin LazyJ, Isn't png format lightweight compared to jpg formatting? 03:10 LazyJ jpg produces a smaller file in most cases. png keeps the alpha-channel, where as the jpg does not, so in those cases the pngs are larger. 03:11 LazyJ Minetest will accept jpg format and so far my test have shown that non-transparent textures (like stone) can be made slightly smaller if jpg is used instead of png. 03:12 LazyJ For overlays, the png is required because of the alpha-channel transparency... I'm guessing. 03:13 JohnnyComeL8ly LazyJ, I just looked it up... you don't have to have an alpha channel. 03:13 LazyJ Even after using a program like pngquant or jpegoptim, the jpg's are still smaller. 03:13 JohnnyComeL8ly In png, that is. 03:13 LazyJ Even without the alpha-channel, the jpgs are still smaller. 03:15 LazyJ Last summer a lot of default images were "crushed" and VanessaE went through her mods and texture packs to optimize the size of the texture files. 03:15 LazyJ With the push to have smaller files, I wondered why jpg wasn't used. 03:16 Hirato optipng is the thing to use 03:16 LazyJ Is there something about jpgs that the MT engine doesn't like? 03:16 Hirato do keep in mind that minetest's textures are pretty low res, so JPEG compression would stand out like a sore thumb 03:16 Emperor_Genshin ^this 03:16 Hirato and it still uses the same amount of VRMA in the end 03:17 LazyJ optipng works but is much slower, particularly on larger images (65mb+). pngquant is faster but reduces the colors to a 256-color pallet. 03:17 kaadmy VRAM* 03:17 LazyJ Or palette? 03:17 Hirato optipng is slower because it does tests, also it can do reduction to palettes and stuff too if the texture has only 255 colours 03:17 kaadmy doesn't minetest use indexed color for images already? 03:18 VanessaE LazyJ: jpg isn't used much because it doesn't work so great on low-resolution images or pixel art 03:18 Emperor_Genshin ^this 03:18 VanessaE with stuff like HDX< it works quite well most of the time 03:18 LazyJ When I used jpgs, I set the compression to "100%"... best quality, less compression, and the jpgs were still smaller than the png textures. 03:18 VanessaE plus a fair number of minetest's images need transparency, which needs png 03:19 VanessaE even "100%" is lossy 03:19 kaadmy basically all tools and items 03:19 Hirato am I imagining things, or does JPG2K support alpha? 03:19 VanessaE kaadmy: right. 03:19 VanessaE Hirato: it might, but nothing supports jpeg2k :P 03:19 DI3HARD139 Is there a way to have mods stored on the server and client sided so the server doesnt have to send all the files to the client? 03:19 Hirato alas 03:19 VanessaE DI3HARD139: once the media has been sent, it's cached. the code is never sent. 03:20 kaadmy aren't mod assets checked for existing ones? 03:20 VanessaE tep 03:20 VanessaE yep* 03:20 Hirato them md5's mang 03:20 DI3HARD139 Is there a way to permanently store the media so it doesn't have to be resent? 03:20 kaadmy present*? 03:20 VanessaE DI3HARD139: sure - don't clear your cache :P 03:21 Hirato and don't change it, I think it matches by md5 sum 03:21 VanessaE minetest keeps a persistent cache that, as far as I know, never gets emptied. 03:21 VanessaE Hirato: sha1 I think. 03:21 Hirato even better 03:21 DI3HARD139 I usually don't. Just trying to figure out ways to speed up media fetch times. 03:21 kaadmy unless you clear it ;-) 03:21 VanessaE DI3HARD139: make sure both ends are using cURL and remote media. 03:21 Hirato there's an option somewhere to only load the media as you need it, maybe try that? 03:22 kaadmy afaik just downloading the mod locally will work? 03:22 VanessaE and always make sure to copy your cache dir over when you update minetest, if you're using run-in-place builds. 03:22 LazyJ But is the cache changed when logging into a different server? 03:22 VanessaE kaadmy: download it and using it once. 03:22 VanessaE LazyJ: no. the files are cached and named by their hash 03:22 LazyJ Particularly if one server uses a newer or older version of the same mod? 03:22 VanessaE so you could have a dozen default_cobble.png if they were all different. 03:23 kaadmy yep 03:23 Hirato if the file's the same, it won't resend it 03:23 VanessaE if the file differs, it'll have a different SHA1 hash and thus, it'll be saved as a unique file. 03:23 DI3HARD139 I connect to the server at the local level on a 1Gbps uplink and it still takes forever XD 03:23 kaadmy the server might have bad bandwith 03:24 VanessaE a lot of the time spent on media now is acquiring average colors for the minimap. 03:24 VanessaE and that process is not cached. 03:24 kaadmy ahh 03:24 DI3HARD139 that explains alot lol 03:24 DI3HARD139 a lot* 03:24 kaadmy is it only done if the minimap's enabled? 03:24 VanessaE so when you have a shitton of media files, minetest spends a while tearing through them for data to be used to render the minimap 03:24 VanessaE it's done every startup. 03:24 VanessaE kahrl and I were chatting about this the other day. 03:25 kaadmy could it work to get the pixel nearest the image center for the minimap color? 03:26 DI3HARD139 I'm partially blaming the HDD for the issues. It's been slowing down quite a bit. Good ole sh***y toshiba 2.5" HDDs 03:26 VanessaE DI3HARD139: yes, that matters too. an SSD will greatly speed up initial media loading 03:26 VanessaE (like 3x faster compared to modern spinning rust, I guess) 03:27 DI3HARD139 likely more than that aslong as the data bus can handle it 03:27 DI3HARD139 but sadly its sata rev. 2 so there wont be much of a benefit other than seek times 03:28 VanessaE well 03:28 VanessaE my drive and board are SATA2 03:28 VanessaE and even then SSD is a great enhancement over spinning rust 03:29 VanessaE that's where I got the 3x figure from; an SSD-on-PCIe card would be close to 10x faster 03:29 DI3HARD139 thats what I thought about doing. I have a ton of PCIe lanes going to waste 03:30 * DI3HARD139 wonders how large the mods folder is now 03:31 kaadmy DI3HARD139: if you're using linux, go to the mods folder and type 'du -sh .' 03:31 VanessaE my whole mods tree, including stuff I don't use anywhere, attic, and old versions of stuff, is 547 MB 03:32 kaadmy if you have the technic subgame, it's ~140 mb 03:32 VanessaE though my servers all maybe total 50MB of unique media between them 03:32 VanessaE my whole games tree is 687 megs 03:32 VanessaE but that's including things like git history too 03:32 VanessaE to rather bloated compared to what a client gets. 03:33 DI3HARD139 I'm using 100.1MB w/ 13,842 items (all updated to latest stable) 03:33 VanessaE so* 03:33 DI3HARD139 The directory is shared by all but 1 server 03:50 DI3HARD139 enabled the mapfix mod..... good bye sunlight XD 04:09 kaeza asdf 04:09 kaeza merry birthday 04:10 kaeza or whatever it was 04:10 kaeza :P 04:10 everamzah how about that weather tho? 04:11 Emperor_Genshin merry birthday lol 04:13 DI3HARD139 merry birthday? 04:14 DI3HARD139 whos birthday is tomorrow? 04:16 kaeza fsm's? idk, & idrc. ttgd 04:16 Emperor_Genshin ¯\_(ツ)_/¯ 04:18 Emperor_Genshin Whoever has a birthday at 12/25 Merry Birthday I guess lol 04:18 kaeza now, in all seriousness, merry christmas/winter solstice/whatever, all 04:18 Emperor_Genshin Merry Chrismas kaeza 04:22 LazyJ Here's a Christmas wish for Minetest - alphabetized texture pack list in the main menu's "Texturepacks" tab. 04:22 DI3HARD139 I want a central mod list built into the game 04:23 LazyJ ... and the return of the old, simpler, "Settings" tab. Keep the current one, rename it "Advanced Settings" and bring back the old one as "Settings". 04:23 DI3HARD139 ^ 04:24 everamzah a search bar would be nice, while we're wishing. i spent so much time looking for a setting to turn off particles and just gave up 04:28 sofar file a github issue for those 04:29 sofar they're reasonable requests, so might as well make them official requests 04:29 * everamzah backs away slowly 04:29 sofar if you can't bother to open a ticket, why would anyone bother to fix it? 04:30 everamzah ok okaaay i'm going gahhh 04:30 LazyJ I think the settings tab addition has been posted... either on GitHub or the MT forums... can't remember which atm. 04:33 everamzah the addition for making the current (new) one an "advanced" settings menu, and restoring the original settings menu for the main menu tab 04:33 everamzah yes 04:42 kaeza lel Atomic sux 04:43 kaeza bad 04:44 kaeza suggest a reasonable IRC client for Android 04:47 DI3HARD139 AndroIRC 04:49 VanessaE AndChat 04:51 rom1504 glowing bear 04:52 DI3HARD139 rollback is nice and all until someone rejoins 2 months later and u have to check 9999999999999s ago because they didnt protect a portion.... 04:59 Emperor_Genshin lel, happens 05:01 kaeza AndroIRX sucks as bad, if not more (without even complaining about nonfred SW) 05:01 DI3HARD139 why? I havn't had any probs with it 05:04 kaeza crashes often, interface is horrendous (pkay, my opinion, but still...) 05:04 kaeza or maybe my device sucks? idk 05:05 kaeza it's christmas complaining hour 05:06 kaeza aka, stopping #minetest being so silent 05:07 kaeza :P 05:08 DI3HARD139 I agree. Its way to silent 05:08 DI3HARD139 Is there a reason why the sun in Minetest would turn white and there isnt any sunlight? 05:11 exio4 kaeza: yaaic 05:12 exio4 kaeza: \o 05:12 exio4 oh wait, Atomic is a "mantained" yaaic :/ 05:13 DI3HARD139 could always use kiwi via chrome (not sure if works in firefox on android) 05:16 kaadmy atomic does suck, im using irccloud now 05:16 kaadmy handles caching, which is a big prob for me. 05:17 VanessaE kaeza: don't care for AndChat? 05:19 exio4 my go-to irc client on android is a ssh (ideally mosh) client to my server =) 05:19 VanessaE heh 05:19 exio4 happy xmas if you happen to celebrate it 05:19 DI3HARD139 u aswell exio3 05:19 DI3HARD139 exio4* 05:19 exio4 it's mostly an excuse to drink some alcohol, with family and have some fun :) 05:22 lemon everamzah, just use minetest.conf 05:25 DI3HARD139 I wonder if anyone built a raspberry pi into a keyboard..... 05:26 kaadmy =faster TRS-80 05:26 kaadmy waay faster :P 05:26 DI3HARD139 indeed 05:32 Emperor_Genshin For those who likes cats lel, http://jokideo.com/wp-content/uploads/meme/2014/12/Christmas-cat-meme.jpg 05:35 everamzah lemon: indeed. on principle, however, in old settings menu "enable particles" was a one-click jobbie. i'm ok with editing a config file, but thought maybe this was a bit of a regression 05:35 everamzah also glowing bear 05:36 Emperor_Genshin kaeza, this is what I had in mind to share. I still need to work on a timer for it's sequences https://forum.minetest.net/viewtopic.php?f=9&t=13775 05:37 DI3HARD139 I hope this goes well. I've been looking for something like that forever 05:37 DI3HARD139 ! 05:38 DI3HARD139 Would it be possible to increase the activation level though? 05:38 Emperor_Genshin It's quite possible in a way 05:38 DI3HARD139 Ok. *adds to bookmarks since theres no follow button* 05:42 lemon I think what minetest lacks is proper units of measurements. 05:43 lemon There should be an universal unit system for minetest. 05:44 DI3HARD139 Is there a way to reduce the player position check of the server? Im having issues with the vehicle mods on my servers suddenly halting movement. anti-cheat is disabled 05:46 everamzah /set dedicated_server_step perhaps? 05:46 Emperor_Genshin ^that could help a bit 05:47 DI3HARD139 I have it set to 0.1 atm 05:47 DI3HARD139 any suggestions of what to increase it to? 05:47 Emperor_Genshin perhaps 0.3 05:48 Emperor_Genshin ¯\_(ツ)_/¯ 05:48 DI3HARD139 I just set it to 1 05:48 Emperor_Genshin 1 or more makes movement terrible 05:48 DI3HARD139 oh... ok 05:48 DI3HARD139 hmmm 05:48 Emperor_Genshin trust me, I've tried it 05:55 DI3HARD139 0.3 didnt make a difference. Set it to 0 and IRC doesn't work anymore XD 05:56 Emperor_Genshin lol, oh well 05:56 Emperor_Genshin hmm 05:56 Emperor_Genshin try 0.5 or 0.10 05:59 Emperor_Genshin kaeza, what do you think of this? https://forum.minetest.net/viewtopic.php?f=9&t=13775 06:12 kaeza Emperor_Genshin: too lazy/drunk to review code, but again, +1 for the general idea 06:13 kaeza :D 06:13 Emperor_Genshin thanks :3 06:13 kaeza sowwy 06:13 Emperor_Genshin it's ok 06:18 DI3HARD139 How can I adjust the length of the day/night? 06:18 DI3HARD139 Server is stuck at night reguardless of the time and its driving me nuts 06:19 lemon Suppose I have some table and I want to create a field as in the following example: pies[player][id] = 900. if pies[player] is not created, it won't work. 06:20 lemon Should I use "if not pies[player] then pies[player] = {} end" construction? 06:20 Emperor_Genshin DI3HARD139, time_speed 06:21 lemon or is there a better way to handle this problem? 06:21 DI3HARD139 I adjusted that. Its 11:05 am igt and its still dark 06:22 DI3HARD139 it was a setting in a mod... as usual 07:22 Thomas-S hi 07:30 Thomas-S bye 07:36 lemon https://forum.minetest.net/viewtopic.php?f=9&t=13795&p=202584 07:40 nm0i conky 08:04 Krock Merry Christmas everyone! 08:15 Blekpug Mod Desert Uses is now unavailable. https://forum.minetest.net/viewtopic.php?id=3761 08:17 lemon Blekpug, screenshots? 08:18 Krock no screenshorts, it's just down 08:19 Krock Blekpug, I don't have that mod on my HDD right now but there might be someone else who can upload it again :) 09:52 Blekpug Is renaming a player as easy as changing the file name? 09:54 Thomas-S hi 10:18 Krock Blekpug, no, you also must change the auth.txt file 10:18 Krock after that's done you also have to change all metadata in map.sqlite 10:18 Krock In short: It takes too much work to rename someone 10:46 Blekpug Thanks for the info. I'll make sure to pick a name in advance now. 10:47 Ingar been using the same nickname for the past 20 years, it kinda simplifies things :D 11:19 Blekpug I am attempting to use the HDX texture pack. I have tried putting it in /usr/local/share/minetest/textures/HDX and then also under a 'pack' directory. minetest does not find it. I am using minetest from git master branch. VanessaE 12:00 Blekpug I flew around in a MapGen 7 world. It didn't look bad. Underground water, No lava. 12:00 VanessaE Blekpug: about HDX, put the whole folder in /textures/ 12:01 VanessaE (usually ~/.minetest/textures for global installs) 12:01 VanessaE then enable it in the menu in the Texture Packs tab 12:01 Blekpug I had only the directory with the PNG files, perhaps that was the problem. 12:01 VanessaE nope 12:01 Blekpug I'll try again. 12:01 VanessaE that's not the prob 12:02 VanessaE just make sure you have the whole pack 12:02 VanessaE you should have e.g., ~/.minetest/textures/HDX-256/ 12:04 VanessaE (or at least that's how I arrange mine) 12:08 Blekpug It is found if I use ~/.minetest textures but not /usr(/local)?/share/minetest/textures. 12:09 VanessaE I'm not sure if the engine will look there or not. 12:11 Thomas-S bye 12:13 CWz well mobs_redo is broken 12:14 rubenwardy wow... 12:14 Blekpug I like it so far with 32px. 12:15 rubenwardy MSG: your report or feedback can jump kill allow (no mods online) 12:15 rubenwardy Silly people. The help I gave was "To report someone or something, type /report your report or feedback" 12:16 rubenwardy I also have 51 messages in my server inbox 12:16 rubenwardy reports 12:20 Blekpug Poll: when you build subteranean homes or bases, do you do it at coordinates of your desire and excavate what and where you want? or do you embrace the chaos and use existing caverns? 12:39 kkk_ hey 12:39 kkk_ wzup 12:59 Jordach merry christmas 12:59 Jordach ayy lmao 12:59 Krock Merry christmas :) 12:59 Jordach is dank 13:00 Jordach bought a steam controller 13:00 Krock now you can control the money 13:00 Krock steam money 13:11 MinetestBot 02[git] 04sapier AT gmx dot net -> 03minetest/minetest: Add missing documentation of automatic_face_movement_max_rotation_per_sec entity parameter 13cdbb9ef http://git.io/vE2VY (152015-12-25T14:11:39+01:00) 15:42 MinetestBot 02[git] 04sofar -> 03minetest/minetest_game: Remove spores from mushrooms. 1332bdb9a http://git.io/vEafN (152015-12-25T15:37:40Z) 15:42 MinetestBot 02[git] 04sofar -> 03minetest/minetest_game: Verify node type is facedir. 1382299b9 http://git.io/vEafA (152015-12-25T15:37:17Z) 15:42 MinetestBot 02[git] 04kilbith -> 03minetest/minetest_game: Add a search field to the creative inventory 13b1e2ece http://git.io/vEafx (152015-12-25T15:36:55Z) 15:45 sapier does anyone know about a portal mod? 16:24 JohnnyComeL8ly MERRY Christmas! 16:42 Blekpug What are the rules for growing trees? They need a certain amount of light at least. Is the light incident on their block or only on the top face? Must they be free around the base? 16:42 Blekpug Where is a mod to adjust how much light is needed to grow them? https://github.com/minetest/minetest_game/pull/725 16:43 Out`Of`Control biom_lib 16:44 Out`Of`Control biome_lib* 16:54 paramat you need a meselamp or anything of light level 14 (torches are 13) directly beside the sapling 16:55 paramat horizontally level with, and not diagonally-beside 16:56 paramat btw all mapgen other than mgv6 have lava caves starting at y = -256 16:57 paramat to change the required light add a mod that redefines the 'can grow' function 16:57 Blekpug paramat: Would surrounding it with torches suffice? 16:57 paramat nope 16:58 kaadmy light's the same all around the torch 16:58 paramat the light doesn't add up 16:58 Blekpug Good to learn. 16:58 Blekpug Useful information. 16:58 kaadmy and the sapling node has to be [x] light, so torches anywhere around it should work 17:00 Blekpug The saplink sticks if planted in stone. Can it grow there? I have a pine sapling surrounded by super glow glass. (know I know it is same as 1 super glow glass. It has been there for a fairly long while. 17:00 Fedmahn_Kassad Does anyine help with a bug 17:01 paramat no needs dirt or grass 17:01 Fedmahn_Kassad Access violation (Exception 0xC0000005) at 0x69308310 17:01 Blekpug super glow glass is supposed to be brighter than a torch, so should be at least 14. 17:09 Blekpug I have biome_lib installed. Perhaps that prevents the tree from growing. 17:10 Blekpug default of light_max for biome_lib is engine value of 14 17:11 everamzah Fedmahn_Kassad: did u already try a restart? 17:11 everamzah sounds strange, but i have a machine that if it resumes from hibernate, will segfault trying to load minetest, and i have to reboot 17:12 kaadmy everamzah: i have a similar problem; anything using opengl segfaults after my machinecrashes sometimes 17:13 Fedmahn_Kassad of cours 17:13 Fedmahn_Kassad i have it a few times 17:13 kaadmy Blekpug: treeswon't grow on stone afaik 17:16 Blekpug super glow glass: light_source = 15 17:17 Blekpug Planted on transported earth, now. 17:17 Blekpug will observe 17:24 Blekpug Tree on earth grew. Those on stone did not. 17:24 kaadmy that's what i thought. 17:24 Blekpug I have biome_lib. I don't know what it changes. 17:27 Fedmahn_Kassad Where i can get an old version of client 17:28 kaadmy which version? 17:29 Fedmahn_Kassad 0.4.10 17:31 kaadmy https://github.com/minetest/minetest/tree/0.4.10 17:31 kaadmy just the source version though 17:32 Fedmahn_Kassad thank u 18:07 Blekpug My computer can not handle (something in) plant_life 18:10 Blekpug (it is jerky & slow) 18:18 kaadmy probably the amount of registered nodes is laggy 18:18 Thomas-S hi 18:47 Calinou http://ukupat.github.io/tabs-or-spaces/ 18:48 kaadmy lol, ruby 19:14 rom1504 2 spaces ftw 19:14 rom1504 "Analysed 357 repositories" though 19:15 rom1504 the total number of repo analysed must be like 0.1% of github 19:15 rom1504 ah "The Top Starred repositories in Github" 19:15 Calinou 3 spaces 19:15 Calinou to indent like a pro 19:15 Calinou Can you stand the OCD? 19:15 Calinou should be pretty representative of high-quality projects 19:16 Calinou since they're followed a lot 19:16 rom1504 yeah https://github.com/Rabrennie/anything.js/ has lot of stars, it's so very much representative 19:17 Calinou minus the joke things, yeah 19:17 rom1504 but yeah it's probably representativ 19:17 rom1504 e 19:17 rom1504 what about indenting with 1 space and 1 tab though ? 20:32 LinuxGuy2020 VanessaE: I was talking to you before about how you setup and administer your servers. I am just about to ditch NAS4Free and install debian on my server. But I was wondering if you have any experience with using Webmin to do all the configuring instead of manually editing files? 21:26 Thomas-S bye 21:26 Hijiri bye 22:53 LandMine Merry Christmas!!!!!!!!!! 22:54 LandMine #join /random 22:55 LandMine Fk 22:56 alket merry christmas to you too 23:29 Fixer whooo waaaants soooooooome!? 23:29 Fixer Europe looks snowless