00:03 <@heinrich5991> 5 am here, not better ^^ 01:22 < laxa> Oh fuck, I forgot to ask my question :D 01:22 < laxa> How to unallow compilation when having Singleton class 01:23 < laxa> I don't wanna let people do for example : MySingleton var = MySingleton::getInstance(); 01:23 < laxa> or just to be sure I always get the same adress 01:23 < laxa> Is that even possible ? 03:11 < fstd> laxa: do not define any public constructors so nobody can instantiate it 08:54 <+o_be_one> oh ddnet pw changed :( 08:54 <+o_be_one> but what is "veto", it happends when i vote no Oo ? 11:11 <@deen> o_be_one: when someone has a high time in a map and is not afk you can't change the map 11:12 <+o_be_one> oh good to know 11:35 <@deen> and about the mod pw, you'll have to ask the new admins 11:39 <+o_be_one> ok :) 11:40 <+o_be_one> well i have to sleep im really tired, see you 17:04 < RafaelFF> Any DDNet admin online? 17:10 <@EastByte> RafaelFF: yes 17:11 < RafaelFF> Hi there. I'm replying DoNe, but msgs stay in outbox, and I'm not sure if they are arriving his inbox... 17:11 < RafaelFF> I'm maintainer of DDNet Brazil's VPS, which went down due to DDoS attacks. 17:12 < RafaelFF> I have a VPS and I would like to be set up again. 17:12 < RafaelFF> Is it possible? 17:19 <@EastByte> RafaelFF: yes, should be possible 17:19 <@EastByte> but I guess no one made a backup of that server so we have to re set up it completely 17:22 <@deen> RafaelFF: i can do that quickly, sounds great! 17:22 <@deen> or you want to do it, EastByte? 17:22 <@deen> EastByte: the other servers are the backups of each other :P 17:23 <@EastByte> nah, you can do it :p 17:23 <@EastByte> ah good to know 17:23 <@deen> RUS is misbehaving, not sure why 17:25 <@deen> RafaelFF: btw, did you check out the new DDNet Chile server? How's the ping to it from Brazil? 17:30 < RafaelFF> @deen: I get ping around 190ms of DDNet Chile 17:30 <@deen> oh, ok. so there's still a good reason to have DDNet Brazil 17:31 < RafaelFF> yep... It is close to what I have on USA servers. 17:31 <@deen> give me the access data and I'll set up the server 17:32 < RafaelFF> Thanks, deen. May I send it by email? 17:32 <@deen> sure, deen@ddnet.tw 17:33 <@deen> where's the server located, in what city? 17:34 < RafaelFF> São Paulo-SP, Brazil. 17:40 <@deen> Great, had to update http://ddnet.tw/locations.png ;) 17:52 <+o_be_one> oh btw deen / EastByte i'm not sure mais possibly CAN DDNet will be dropped soon (i didnt got a mail about that, but heard that some people got it). Can we prepare a move to a new host for CAN soon (that i'll give to you for sure) ? 17:52 <@deen> certainly 17:53 <+o_be_one> tell me when you'll be ready, i'll set the new host up 17:53 <@deen> i'm ready 17:53 <@deen> ready to setup new CAN, Brazil and GER2 at the same time :P 17:53 <+o_be_one> ok i'll inform you when i'll get it (in like 15 min) 17:54 <+o_be_one> and you'll tell me when i'll be able to disable the previous one 17:54 <@deen> will do 18:02 < RafaelFF> dee: email sent. 18:02 < RafaelFF> deen* 18:03 <@deen> Thanks! 18:03 <@deen> and thanks for hosting the server again =) 18:04 <@deen> oh, what servers do you want me to run on it? 18:04 <@deen> DDNet and Blocker, anything else? 18:04 < RafaelFF> yep, go ahead 18:05 < RafaelFF> I don't like Blocker, but it seems a lot of people around here like it. 18:07 <@deen> you can check what's running on Chile, could run the same on Brazil 18:07 <@deen> but since it's your server, it's your choice 18:09 < RafaelFF> What are the options (besides what the user can change by vote, e.g from a novice server to DDMax) ? 18:09 <@deen> What do you mean? I just mean that in some locations we also run zcatch, ictf servers etc 18:12 < RafaelFF> I see. What mods you could set? Could you set vanilla too? 18:12 <@deen> yes 18:13 <@deen> ddnet, blocker, vanilla, openfng, ictf+, bomb, zcatch 18:15 < RafaelFF> Is it possible to set all these mods on this server, considering the RAM available? 18:15 <@deen> yes 18:15 <@deen> 512 MB should be fine 18:15 < RafaelFF> ok, please set them all 18:16 < RafaelFF> (going to change pc, low battery, brb) 18:16 <@deen> sure =) 19:30 < laxa> fstd: my constructor is already private on the example 19:30 < laxa> that doesn't change anything 19:31 < laxa> I'll post my question on SO later tonight :) 19:33 <@deen> laxa: that sounds like a typical singleton 19:36 < laxa> I'll post code later deen to show you 19:36 < laxa> but yeah that's a typical singleton 19:36 < laxa> question was that : [01:23:15] I don't wanna let people do for example : MySingleton var = MySingleton::getInstance(); 19:37 <@deen> just look for any c++ singleton implementation 19:37 <@deen> they should do exactly what you want 19:37 < laxa> No they don't 19:37 < laxa> maybe I am compiling it wrong then 19:37 < laxa> I'll show you later then 19:37 <@deen> the idea of a singleton is that everyone MUST call getInstance() to get the instance, and they all get one and the same instance 19:38 <@deen> and you end up with the same thing as a global variable, which is why I never understood singletons^^ 19:44 <@deen> RafaelFF: DDNet Brazil should be running 20:24 <@deen> DDNet CAN should be running on new server 21:10 < laxa> deen: All those things have a meaning when you give your code to someone else I guess, or when you make a library 21:19 < laxa> ok well 21:19 < laxa> I fucked up myself 21:19 < laxa> got it right now 21:19 < laxa> guess I made some mistake at some point ^^ 21:23 <@heinrich5991> laxa: you probably need to remove the copy constructor if you don't want people to be able to copy your singleton 21:23 <@deen> heinrich5991: i was too slow this morning, can't think at 6 am^^ 21:23 < laxa> yes, that's where was my mistake I guess 21:23 < laxa> anyway 21:23 < laxa> don't have IRC at work anymore :( 21:24 < laxa> heinrich5991: I'll update the PR now and test it 21:24 <@heinrich5991> deen: I am the 55th :) 21:25 <@heinrich5991> but I also couldn't think straight, at first I wanted to solve the "shortest way between A and B" instead of the traveling saleman problem 21:25 <@heinrich5991> I have no clue how that guy does it in 5min btw. that's really fast 21:25 <@deen> heinrich5991: haha, same 21:26 <@deen> heinrich5991: ehm, afterwards i realized you can just draw it on a piece of paper and solve it in your head in 2 min =/ 21:26 <@heinrich5991> haha 21:26 <@deen> at least i used the permutateNext function that I added to the standard lib a few months before! 21:26 <@deen> that was cool 21:26 <@heinrich5991> in nim? ^^ 21:26 <@deen> yes 21:27 <@heinrich5991> why not python? :P it's perfect for the job 21:27 <@deen> and in the previous one i found a bug in the stdlib's unescape 21:27 <@heinrich5991> :D 21:27 <@deen> nim feels more natural for me 21:27 <@deen> and the most fun to write 21:28 <@deen> haskell is also fun, but not as natural 21:28 <@heinrich5991> for me, python is the language where I can write stuff down fast 21:28 <@deen> yeah, python was that language for me until i wrote hundreds of scripts in nim 21:29 <@heinrich5991> e.g.: https://github.com/heinrich5991/adventofcode-2015/blob/master/09/1.py ^^ 21:29 <@deen> for comparison: https://github.com/def-/nim-advent-of-code-2015/blob/master/day09.nim 21:30 <@heinrich5991> you have imperative style, I used functional style :) 21:30 <@deen> yeah, with nim i found out that i love imperative style 21:31 <@deen> functional style is unpredictable! 21:31 <@deen> i have the phd thesis of my former advisor here to proofread, it's about some haskell compiler optimization 21:32 <@heinrich5991> lazy evaluation is unpredictable 21:32 <@heinrich5991> or hard to predict 21:32 <@deen> yep, but also functional programming in general 21:33 <@deen> it's more abstract, you can never guess how efficient it is 21:33 <@deen> which has advantages and disadvantages 21:33 <@deen> compiler can optimize it much better 21:33 <@heinrich5991> I think functional programming without lazy evaluation is better to predict than imperative programming 21:34 < laxa> Updated PR, CI in progress 21:34 < laxa> https://github.com/ddnet/ddnet/pull/383#discussion_r47076677 21:34 <@deen> for example when you concatenate a few maps, GHC will probably not allocate the immediate lists 21:34 <@heinrich5991> in imperative programming you often have totally opaque loop conditions, where you have to figure out how long a loop takes 21:34 <@heinrich5991> oh, you talk about real-world performance not big O? 21:34 <@deen> yep 21:36 <@heinrich5991> does nim have exceptions? what happens if parseInt t[4] is not an integer? 21:36 <@deen> yes 21:36 <@deen> it throws an exception 21:36 <@deen> hi Tobii 21:37 <@deen> http://nim-lang.org/docs/strutils.html#parseInt,string 21:37 <@deen> Also note the cool noSideEffect, it's a pure function! 21:37 < Tobii> hi 21:37 < ddnet-commits> [ddnet] heinrich5991 closed pull request #383: Fix some VS2015 compiler warnings (master...vs2015-warning) http://git.io/vRE7S 21:38 <@heinrich5991> another thing I really like about python is its int type 21:38 <@heinrich5991> more languages should have that :) 21:38 <@deen> heinrich5991: oh yes, same as in haskell 21:38 <@deen> it's a huuuge convenience, but so bad for performance 21:38 < laxa> ruby has it too 21:39 <@deen> dunno what happened to adding it to nim, i guess my library wasn't all that great yet 21:39 <@heinrich5991> well, is it? 21:39 <@deen> heinrich5991: From what I remember about Haskell, performance with Integer instead of Int was terrible 21:40 <@heinrich5991> oh yea, that naming ._. 21:40 <@deen> and I've implemented bigints for nim, but it's so much work to make them fast 21:41 <@deen> and you have to box bigints, that's the biggest difference, another level of indirection and garbage collection 21:41 <@heinrich5991> not entirely sure, but I think OCaml had fast bigints? 21:41 <@heinrich5991> namely, by not not boxing them if they're -2**62 using the lowest bit to indicate whether it's an allocation or a plain integer 21:42 <@deen> i heard many good things about ocaml but never had the chance to use it =/ 21:42 <@deen> but yeah, that would work 21:42 <@deen> not such a bad idea, hmm 21:45 <@deen> c++ does something similar for strings btw 21:45 <@deen> or at least some implementations do 21:57 < laxa> I feel like you are kind of different 21:57 < laxa> I don't have all this knowledge about paradigms 21:58 < laxa> C/C++/C#/PHP are not all the same paradigms right ? 22:00 <@deen> C is mostly imperative, C++ used to be imperative + OO, but now added more functional, C# probably has imp + OO + some functional as well 22:18 <@deen> hi masoudd 22:18 < masoudd> deen: Hi 22:19 <@deen> i like your whois entry, especially the "I AM !NOT! SPAMMING OR HACKING YOU !!!" 22:19 < masoudd> Hmm that's not in my control 22:19 < masoudd> I guess the isp wrote that 22:20 <@heinrich5991> lol 22:20 < masoudd> Yup 22:20 < masoudd> shahrad 22:20 < masoudd> is the name of the ISP 22:21 <@deen> whois ger.ddnet.tw is also fun 22:21 < masoudd> 網域名稱不合規定 22:21 < masoudd> wtf? 22:22 <@deen> Chinese error message^^ 22:22 < masoudd> hehe 22:22 <@deen> tw is Taiwan after all 22:22 <@EastByte> oh, it's not teeworlds? 22:22 < masoudd> It can be! 22:22 <@deen> EastByte: If you write a nice letter to the People's Republic of China, I bet they would prefer tw to be teeworlds 22:23 < masoudd> but .tw is for taiwan apparently 22:23 <@EastByte> :D 22:27 <+o_be_two> switched client 22:27 <+o_be_two> (irc) 22:29 <@deen> Has anyone tried the Scaleway servers yet? https://www.scaleway.com/ 22:29 <@deen> Seems to be the cheapest way to get 2 GB of RAM 22:30 <+o_be_two> yes deen i was a closed beta user 22:30 <+o_be_two> it's good, but slow and there us not mutch linux app on arm 22:30 <+o_be_two> but online is stable, with weak antiddos 22:30 <@deen> compiling everything myself is fine 22:30 <@deen> but the cpu is probably pretty slow 22:31 <+o_be_two> ovh trys arm too on runabove.com 22:31 <@deen> how was the disk? it's disk-over-network, right? 22:31 <+o_be_two> but i think there is not more slot available for new users, but i have access to this beta too, you want a vps on it to try ? 22:31 <+o_be_two> i havent tested the disk but feel free to find review on google, there is many many reviews .. 22:31 <+o_be_two> the cpu is really slow yes 22:31 <@deen> i was just thinking about whether to move ddnet.tw somewhere else 22:32 <+o_be_two> i can host it 22:32 <+o_be_two> no problem for me 22:32 <@deen> RAM upgrades are kind of expensive on harmony-hosting 22:32 <+o_be_two> oh, go for a OVH VPS 22:32 <+o_be_two> it's not expansive 22:32 <@deen> low disk 22:32 <@deen> too low 22:32 <+o_be_two> 10gb, yes :/ 22:32 <@deen> OVH only has SSD VPS 22:32 <+o_be_two> but not heavy price to expand it 22:32 <@deen> and I want the server not just for ddnet, but also for my private projects and photos even 22:32 <+o_be_two> if i remember well its like 4€/month for 100gb 22:33 <@deen> well, that's expensive for me already^^ 22:33 <+o_be_two> oh deen wait some weeks, there will be vps-hdd 22:33 <+o_be_two> with 1tb if i remember well 22:33 <+o_be_two> deen: tell me your needs .. 22:33 < Learath2> i had a hetzner vps for a while it was nice to have but they are not tolerant about ddos at all 22:35 <@deen> o_be_two: 2 GB RAM, 100 GB disk, http ddos protection (ovh is enough), no random downtimes all the time, guarantee that it keeps running because it's a lot of work to setup 22:35 <@deen> oh, and located in germany and france 22:35 <+o_be_two> ok it's not mutch 22:35 <@deen> or* 22:36 <+o_be_two> deen: maybe i can ask to upgrade your disk for free at HH, you have it at hh actually no ? You just need space disk ? 22:37 <@deen> nope, disk space is fine, RAM is the problem and HH having random downtimes all the time 22:38 <+o_be_two> i can ask to move your vps on a better uptimed node, i know 5 of them well and ive no problem on 4 of them 22:38 < laxa> I agree, HH is terrible 22:38 <+o_be_two> and about RAM, mmh i can ask 22:38 < laxa> I have a VPS at HH now 22:38 <+o_be_two> (ive 5 VPS on 5 nodes ^^) 22:38 < laxa> I had multiple network lags cause others were ddosed 22:39 < laxa> I am never having a VPS again 22:39 <+o_be_two> laxa: yes lisa and apu are not really good nodes 22:39 < laxa> I am on burn afaik 22:39 <+o_be_two> i havent vps on burn too 22:39 < laxa> !ping gpe.cloudcraft.fr 22:39 < Nimda> Pong! 22:39 < laxa> oh fuck :( 22:39 < laxa> :D 22:39 <@deen> Good job, Nimda 22:39 <+o_be_two> i'm on 5 others, just lisa could get ddos, but other 4 are ok 22:40 < fstd> laxa: what's the point of a singleton if nobody is allowed to use it? 22:40 <+o_be_two> and about lisa, its cause i get ddos lol ... 22:40 <@deen> fstd: nulliton! 22:40 <+o_be_two> but im moving my TW VPS so it will be fine after 22:41 < laxa> fstd: well, I am new to C++, but apparently, corect use of singleton is like that S::getInstance().|(->)method(); 22:41 <+o_be_two> deen: do your ddnet.tw on a container so you'll be able to move it easyly, so you'll can take vps-hdd on runabove in waiting for migration to ovh 22:41 < fstd> correct use of a singleton is to obtain the instance via S::getInstance(), yes 22:42 < laxa> apparently, not overloading operator= and instiantiation from other instances would make the singleton broken 22:42 < fstd> but that's what you want to forbid, apparently 22:42 < laxa> well 22:42 < laxa> Now that you say it yes 22:42 < laxa> but I had to do it for a subject 22:42 < laxa> so not that way :D 22:43 <@deen> o_be_two: i'm not a fan of containers, i just wanted a server that keeps running for a few years 22:44 <+o_be_two> yes i'm in this mood too, but when you have to move, containers takes 5 mins to move, manual move takes 1h ... -_- 22:44 < fstd> layer over layer over layer over layer 22:44 < fstd> with every layer it gets harder to troubleshoot :) 22:44 <@deen> fstd: exactly 22:45 <+o_be_two> hum ... 4 years i work with containers, i had less issues than not using them :/ 22:45 <+o_be_two> containers or vm could do the job 22:45 <+o_be_two> if you have a problem with host or provider (most common problem) you can move in 2 or 3 commands maybe, easy .. 22:46 <+o_be_two> but it's maybe cause i'm a virtualization/container enthusiast, thats why i work on this .. 22:51 <@deen> never used a container so far, I'm put off when I hear all the buzzwords, like cloud, platform-as-a-service, devops, ... 22:58 <+o_be_two> well its just some useful tools for devs and sysadmin, its a really good thing 22:58 <+o_be_two> many people thinks, like i think too, thats its faster to use an hosted dns instead of making an own powerdns/bind9 setup 22:59 <+o_be_two> and cause we do a lot of stuff (i host 6 differents game + some websites + some mysql) we have not the time to do, and do again all our stuff in a world where all evolve really fastly 23:00 <+o_be_two> this year your server could cost 50$/month, next year it will cost 25$ cause the 50$ new server is 2X the power you had for the same price 23:00 <+o_be_two> you have to move ... But you havent the time to setup all, havent the time to do scripts to automatize all, etc. 23:01 <+o_be_two> i'm really happy to be able to change my hosting every years in like ... 5 minutes ? and with OVH i can keep my IPs ! 23:11 < masoudd> What is this OVH you all talk about? 23:11 <@heinrich5991> masoudd: https://en.wikipedia.org/wiki/OVH 23:11 <@heinrich5991> a hoster 23:21 <+o_be_two> the 3rd server provider in the world 23:21 <+o_be_two> (2nd in Europe, 1st in France) 23:22 <@deen> disclaimer: o_be_two works for OVH :P 23:23 <@deen> o_be_two: i think containers might actually be a really good idea for ddnet 23:23 <@deen> o_be_two: so you can easily setup a new server anywhere in the world 23:23 <+o_be_two> yes 23:24 <+o_be_two> for information the VPS i gave for DDNet, not the CAN one but the FR one, it's a container not a VM 23:24 <+o_be_two> a LXC container 23:25 <@EastByte> o_be_two: speaking of, can you disable the cpu limit on our container? (or atleast lessen it) 23:25 <@EastByte> limiting cpu via croups/lxc has some strange sideeffects 23:26 <+o_be_two> mh .. i think it doesnt work to limit the CPU. You got some trouble ? 23:26 <@EastByte> when doing cpu intense stuff, only one core is being used 23:26 <+o_be_two> is it a Debian 7 ? 23:26 <@EastByte> it's debian 8 23:26 <@deen> EastByte: 1 core is not enough? 23:27 <@deen> i thought about downgrading GER to 1 core^^ 23:27 <+o_be_two> ive changer all my vps to Debian 7 since you let me know about systemd problems, but i didnt notice anything lol 23:27 <@EastByte> deen: well there are 8 cores advertised, but we can only use one 23:27 <@deen> EastByte: should just advertise one, i guess 23:27 <+o_be_two> EastByte: you have a limit of 1 cpu only 23:27 <@EastByte> not possible with cgroups/lxc currently 23:27 <+o_be_two> interesting that the limit works 23:28 <@deen> i had a russian vps once that had a funnier limit. you were only allowed to use 1 core. if you use more, they just killed all your processes 23:28 <+o_be_two> but you see 8 cores right ? and you see like a load balancing over 8 cores ? 23:28 <@EastByte> for example compilers will always try to run 8 workers, whereas we only have one core 23:28 <+o_be_two> yes we cant advertise just one core with lxc ... with OpenVZ no problem 23:29 <+o_be_two> lol deen :o 23:29 <@deen> EastByte: can't you set that inside the container? to disable the 7 other cores 23:29 <+o_be_two> lol edit /proc/cpuinfo, remove 7 cores x) ! 23:29 <@EastByte> cgroups are pretty limited 23:30 <+o_be_two> well to answer i'll wont remove the limit cause this server hosts Ark ... i need CPU for this 23:30 <@deen> o_be_two: but it was fun, in htop you could see how all the 40-or-so cores were being used 23:30 <@EastByte> okay 23:31 <+o_be_two> but if its really problematic, i not really have a solution for you atm EastByte 23:31 <+o_be_two> to keep the game firewall 23:31 <@deen> EastByte: just set -j 1, problem solved! 23:31 <+o_be_two> (i compile my DDNet too, so i'll certainly get this trouble too) 23:33 <@deen> hi RafaelFF 23:35 < masoudd> Hehe, there is a .ovh tld 23:36 < masoudd> Disappointed ovh.ovh doesn't bring up anything 23:42 < RafaelFF> Hi Deen. Did you block ssh port in the firewall? 23:42 <@deen> RafaelFF: oops, no, i change ssh port to 6546 23:42 <@deen> forgot to tell you^^ 23:43 <@deen> so ssh -p 6546 bra.ddnet.tw should work 23:43 < RafaelFF> Omg. Lol 23:43 < RafaelFF> Ok, let me try that. 23:45 <@deen> or add that to your ~/.ssh/config: 23:45 <@deen> Host *.ddnet.tw 23:45 <@deen> Port 6546 23:46 < RafaelFF> It worked just fine. 23:49 < RafaelFF> Tw instances are also working fine. Some users are playing already 23:49 < RafaelFF> Thanks a lot 23:50 <@deen> great