Chat:World/2022-07-01
ASM_MOV_INT: power options, never never
hejamandajiri: set it to never sleep and unplug your input devices and the ports lol
StevenV: Hello guys, do you guy know when will the green-circle got publised?
StevenV: As It isn't in community contribute section anymore
kovi: because it is in multiplay already
GroutchKeu: o/
SirGouki: as others have stated, you can set your power options to never sleep/hibernate or autoshutdown, then hold the windows key and press L to actually lock the computer.
**PatrickMcGinnisII yawns
derjack: :upside_down:
Darleanow: Power of thor 2 is so fun to do
d57c428df5ac317680a42d608ffb1652: how to close world chat
5DN1L: Thibaud on the forum: The removal of chat should happen next week.
wlesavo: 5DN1L :frowning:
Westicles: It will be funny when every Friday they push an update and it reappears
jacek: the chat will be available to everyone
Uljahn: should be possible to make invite-only community xmpp server
5DN1L: I think CG's concern is more about ongoing maintenance
jacek: the ongoing what
5DN1L: ongoing trolling :shrug:
5DN1L: dedicated trolling to keep the chat alive
5DN1L: or maybe i mean maintenance
5DN1L: :shrug:
jacek: :taco: 5DN1L
jacek: :(
5DN1L: thanks anyway :)
Lavashyk: How to know the position of Thor?
5DN1L: you get his initial position from inputs
5DN1L: afterwards you have to keep track of it by yourself
5DN1L: np :)
jacek: Automaton2000 where you will be next week?
Automaton2000: what is the most active
Westicles: Automaton2000 are you ported to https://cheloniangall.com/
Automaton2000: ok, i have a hard time
jacek: :smirk:
wlesavo: poor Automaton2000
Automaton2000: makes me want to puke
wlesavo: i feel you
jacek: oO
feignbird: https://py-ground.netlify.app/
jacek: hm?
j4at: What will happen to you after they delete the chat ? Automaton2000
Automaton2000: had 2 energy drinks yesterday, feeling the drain
jacek: oh my
Joey_G: Automaton2000
Automaton2000: i am new to coding
AndreyXD: I am learning Python rn but wanna learn C
NightScap3: RIP Chat
NightScap3: Byebye
jacek: C, python? quite different ;v
TheRipperJack: yea, i recommend c++ for starting
Joey_G: What does Automaton2000 think is the best way for starting?
Automaton2000: so might not just be your bot
AndreyXD: No worries, learning only python. C is hard for me rn lol
therealbeef: the mirror match thingie is broken in the green circle multi. how do you report such bugs?
Astrobytes: Devs are at a conference currently, we await their return to possibly add proper leagues and mirror matches
eulerscheZahl: a firm wish, isn't it?
Astrobytes: Yeah :/
eulerscheZahl: the game remains crippled with so many top bots still missing
eulerscheZahl: 82 in the arena. vs 1700 in the contest
Astrobytes: Yes. Absolute travesty for such a nicely done game.
darkhorse64: you nail it, euler, without the best, the incentive is mostly gone
therealbeef: with only 90 matches and no mirror, and the first player advantage it's even more random at the moment
eulerscheZahl: if i would have missed legend in the contest, i still had a goal to achieve within the final contest leaderboard as a starting point
eulerscheZahl: now there is no such goal
Astrobytes: Yes, that's what affects darkhorse and myself
darkhorse64: ^
eulerscheZahl: just another dead multiplayer arena now. even if you start a game from scratch, more players mean more fun as you have a better way to track your own progress
eulerscheZahl: changed something, 50 ranks up. vs 1 or 2 up and not sure if random luck
Astrobytes: Yes, exactly.
Astrobytes: Corporate world sucks.
eulerscheZahl: at least the Fr supremacy is gone. almost as many japanese players now
JBM: heya eZ, astroes, westies o/
Astrobytes: hey JBM, been a while :)
jacek: :upside_down:
struct: they will just open legend again and I will miss it again since it will be harder with even fewer bots
Gangbi34567: which chanel is for invite
Gangbi34567: whats the chanel name
Astrobytes: Chanel #5
darkhorse64: We have the PM now to help
AliyTheEngineer: im beginner at js
struct: I didnt enjoy the game that much to go back into it
eulerscheZahl: What would be your strategy in the current Block the spreading fire puzzle event? How would you do in a Google-style interview based on the Wordle game? What do you think a coding problem from the World Championship Qualifiers look like?
struct: That question is for who eler?
struct: euler*
eulerscheZahl: i just got it in an email from CG
AliyTheEngineer: how do i go to another test case
eulerscheZahl: promoting their youtube https://www.youtube.com/c/Codingame
AliyTheEngineer: like to the 2nd
jacek: " Chat removal 💬 For maintenance reasons, we're sunsetting the integrated xmpp chat in favor of a unique place that part of the community already uses, Discord. Feel free to tell us what you think about the change in this forum thread."
eulerscheZahl: what nice and positive words to describe this sad event
Astrobytes: AliyTheEngineer: complain here https://forum.codingame.com/t/discussions-spaces-update-the-question-of-the-chat/196276/10
AliyTheEngineer: i didnt complain tho
Astrobytes: "aww man" sounds like disapproval to me ;)
jacek: nyoro~n
struct: "The removal of chat should happen next week."
struct: oh well
struct: I don't think people will just move to discord
struct: I think they might have the wrong idea
jacek: people think this is discord
eulerscheZahl: it is not?
struct: This chat probably has more messages in 1 month than discord has in 1 year
j4at: Codingame will never feel the same without chat, worst decision ever
j4at: What about pm and coc chat ?
struct: all removed
j4at: BRUH!
j4at: Why are they removing it tho ?
therealbeef: 1. costly to maintain, 2. the spam, 3. discord as alternative
Aldoggen: I haven't seen spam in like a week
therealbeef: (just copying CG's message from the forum, not my opinion)
struct: Thats because there hasnt been spam in like 1 month
j4at: Chat with spam is better than no chat. Discord is not the same. I don't think that chat is costly to maintain!!
j4at: compared to the games atleast
struct: I probably averaged 1 ban per week last month
AryanTripathi: sup
DevMarcao: this chat here will be removed?
Ayza: yes
struct: https://forum.codingame.com/t/discussions-spaces-update-the-question-of-the-chat/196276/9
struct: You can always leave your opinion on it
Ayza: discord is no different to be honest
Ayza: only difference is you can delete messages
Ayza: which can probably be easily made here
DevMarcao: yeah but clash chat rooms are nice, i don't think they can be the same on discord
j4at: I don't want to use discord it's partially owned by the ccp :)
Ayza: yeah, I definitely don't want the chat to be deleted
Ayza: faster and easier to communicate while doing a puzzle
Ayza: instant response
Astrobytes: make sure you express your opinion in the forum thread :)
j4at: I can make a new chat for CG for free, and even put some backdoors.
j4at: jk about the last part
Westicles: hey, where's our clash type detector script?
j4at: I lied Westicles
Ayza: open source chat on top
Westicles: j'accuse!
Westicles: holding steady at 6 1-stars
j4at: Yeah, didn't find a way to to detect the type of the clash. I thought I did but I was wrong I just got lucky :p
struct: 44 more
struct: you are not wrong
struct: there is a way
j4at: how struct ?
struct: playClash request gives it
j4at: no it doesn't
struct: it does
struct: I just checked
Westicles: :popcorn:
j4at: it always return shortest
struct: oh then im wrong
eulerscheZahl: the word "shortest" is actually longer than "fastest"
Astrobytes: Valuable knowledge.
j4at: probably not even related to the mode of the game, but length of the game probably. Maybe they were going to add long clashes
eulerscheZahl: and i just told everyone, i really can't keep anything to myself :(
Astrobytes: :D
eulerscheZahl: in the past there were 2 clash durations i think (was before my time)
eulerscheZahl: 5min and 15min or so
eulerscheZahl: CG veterans like JBM can tell you
Westicles: they sunsetted the 5min
eulerscheZahl: they kept the easy ones as clash and moved the rest to community puzzles
Aldoggen: tbh I like 15 minutes more. I almost never need it, but when I do, it's a godsend
eulerscheZahl: for shortest you need 15min or you are playing it wrong
Westicles: I was surprised, I had a sort of tough clash approved yesterday
StevenV: when will green-circle show up as a multi?
Westicles: yesterday
struct: its already a multi
Astrobytes: -ish
StevenV: oh
Aldoggen: what version are they on currently?
Westicles: free xp as the fr say
StevenV: thanks guys, I think that it would be on the top as always
eulerscheZahl: CG even mentioned it in an email an hour ago
StevenV: ah, I don't often check email
eulerscheZahl: i have thunderbird running all the time
StevenV: I've never used thunderbird
j4at: I'm thinking of creating 3rd party clashes, with custom puzzles and modes.
StevenV: don't even know what it is actually
eulerscheZahl: you can select the mode (and language?) in private clashes
j4at: I mean extra modes
j4at: custom modes
eulerscheZahl: like prettiest code?
Astrobytes: longest
j4at: no!
eulerscheZahl: closest to emoji in code layout
Astrobytes: Poetry?
j4at: I will add brainfuck to list of languages :)
Astrobytes: 1 hour time limit
eulerscheZahl: https://www.cise.ufl.edu/~manuel/obfuscate/pi.c
Astrobytes: lol
Astrobytes: Westicles: :rofl:
Westicles: what?
Astrobytes: forum thread response
eulerscheZahl: the troll puzzle?
Astrobytes: "I worry MAU metrics will be impacted as account banning and re-ups should drop drastically."
eulerscheZahl: oh, a new one
Westicles: well, that one guy must have made 10k accounts
eulerscheZahl: :D
Astrobytes: Classic response :D
Kellthazar: so, will this chat be terminated?
Astrobytes: Please express disapproval here: https://www.codingame.com/forum/t/discussions-spaces-update-the-question-of-the-chat/196276/10
DevMarcao: https://forum.codingame.com/t/discussions-spaces-update-the-question-of-the-chat/196276/9
StevenV: :D
Astrobytes: Since they asked for opinions
StevenV: I really like this chat actually
StevenV: so green-circle doesn't have the red league :(
Kellthazar: sad that the chat will end, but I understand the reasons for it. Maintain a bloated functionality is a nightmare in most cases.
StevenV: we can just keep the chat and won't maintain it :D
StevenV: well there are me and boss2 only :D
BrunoFelthes: no more leagues than wood for green circle?
JosiahWI: The featured event says to get help and help your peers directly in the chat? Does that refer to this chat or another one?
Aldoggen: Thibault be like: ok lemme just get one of the other unupdated pieces of **** I've been carrying in my pocket for all these years
eulerscheZahl: https://www.codingame.com/training/hard/code-your-own-automaton2000-step-1 this puzzle will have to be rewritten
eulerscheZahl: Do you know Automaton2000? You don't? Okay, so, let's join the chat. Look at the right of the website and join the general channel. If you are level 3, just say "Hi Automaton2000" and the bot Automaton2000 will answer you.
Automaton2000: also i need to get it
Automaton2000: that's the way to go
Automaton2000: i am new to coding
struct: Bye Automaton2000
Automaton2000: when i have the same issues
Automaton2000: i will try to learn it
StevenV: Hi Automaton2000
Automaton2000: but no need to worry about it
Automaton2000: that one is a bit weird
Automaton2000: what is your best friend
creeper82: nah just kidding you're a stupid bot
HenroLST: dont be rude to my boy Automaton2000
Automaton2000: but there is no way to get an idea of what i do ;-)
j4at: Automaton2000 is tricking you humans and soon will takeover. As he said we have no idea what its doing.
Automaton2000: you can just take the first move
HenroLST: dang he even wants you to take the first move
Aldoggen: Automaton2000 how are you doing?
Automaton2000: oh so i cant do anything
Daporan: I'm impartial, but if you really want the chat to stay then a last resort could be to tweet the forum thread to https://twitter.com/coderpad
j4at: poor Automaton2000! we need to build a body for it
Automaton2000: if i ever get to the top
HenroLST: Automator2000, reply if I'm your favorite here
struct: Enough of Automaton spam
Aldoggen: tip: you can tab-complete names
struct: Time to ask jp to tweet since I dont have 1
5DN1L: Does CG earn any revenue from this part of the website? Or just from CodinGame for Work?
Aldoggen: I tried to find something about that in the about of this website
HenroLST: I guess its fianlly time to make a twitter account
5DN1L: financial incentives would convince CG more than other factors, I guess
Aldoggen: I believe there's a hidden financial incentive for keeping the chat
5DN1L: you can't just tell that to the CEO :shrug: you need numbers and evidence
Aldoggen: so even if the current one gets removed (cause I can understand no one wants to work on this thing, it was made by an intern long ago), I hope they add a new one
j4at: Make CG pay to win
HenroLST: wait really? thats cool
j4at: Easy money
HenroLST: clash of code but you can buy powerups
Aldoggen: yup, that's part of the problem. I don't now anything about finance lol
struct: pay 1$ per month to access chat
struct: done
Kellthazar: Hi Automoton2000
j4at: pay 5$ per month to get emotes
Kellthazar: Hi Automaton2000
Automaton2000: he is a real problem
HenroLST: pay for access to automoton and upgrade him
FrancoRoura: How can a chat become so expensive for a company like CG to think it's worth it to invest time in taking it down lol
FrancoRoura: You literally need like 500MB ram on a Redis and wss
struct: I dont think its expensive to run it, but to maintain or add features
struct: but im not sure
FrancoRoura: Tbh if it's not generating any benefit I'd just leave it as is and "abandon" it
5DN1L: abandon = don't complain when pastebin breaks or chat disconnects :shrug:
j4at: The chat makes money for the chat. Because it makes people participate in the sponsored events. right ?
j4at: for CG* :3
HenroLST: or just watch ads start appearing in chat, or like watch an add for 30 min of chat
Lassassin: how to increase fontsize of editor and console inside of codingame?
StevenV: I like the active of you guys here on chat
StevenV: so if you guys active on discord, np for me :D
Aldoggen: Lassassin there's a settings button on the left
Aldoggen: then press edit configuration
Lassassin: thanks
Lassassin: what about the one in console output?
Lassassin: bottom left
Aldoggen: I don't see settings there. for me they're in the vertical bar on the left
Aldoggen: maybe we're just talking about the same thing
HenroLST: uh im not sure if you can change the console output
HenroLST: whoaaa i can give brackets color
Aldoggen: hey CG, what about fixing font resizability on your website instead of deleting chat?
StevenV: The best solutions are revealed>>
StevenV: so they will publish the solution for the optimation game?
j4at: no
StevenV: so what actually they do?
StevenV: "The best solutions are revealed" this is on the feature optimization puzzle, what does this mean?
5DN1L: unfixed text
StevenV: ???
5DN1L: that description should have been removed
5DN1L: but actually remains there
StevenV: ah, thank; you
5DN1L: np
StevenV: most of tops of multi are C++, does it mean C++ is faster than Rust on CG?
jacek: or no one knows rust
StevenV: :D
StevenV: I am gonna use Rust or C++ to solve multi on CG
struct: c++ is slow on cg
StevenV: I know C++ but not effictient enough to write a good bot and simultion
Astrobytes: because it's not in release mode, there are tricks to make it run faster
StevenV: maybe I should learn Rust
jacek: learn iron and oxygen first
Astrobytes: *learn chemistry first
5DN1L: https://en.wikipedia.org/wiki/Oxygene_(programming_language)
StevenV: I'll keep in mind that when starting to learn Rust
Wishbone: Or if you want to learn something more entertaining but less useful, try learning brainfuck ;-)
StevenV: :(
StevenV: I would stay away from that
Wishbone: Hehe, esoteric programming languages can be quite fun to mess around with.
eulerscheZahl: i recommend CG Funge
Astrobytes: Was about to recommend that, plus Code of the Rings or whatever it's called now, and there are a few BF/funge puzzles too iirc
StevenV: apart from fun, what is the point to learn those languages ?
eulerscheZahl: brainfork
Astrobytes: brain exercise ;)
GoodGoodNotBad: Little noob question :sweat_smile:. Is there a reason why I can't call functions declared outside of main in main? Are they not both in a class by default? (c++).
eulerscheZahl: missing forward declaration?
eulerscheZahl: do you define the function after main()?
jacek: oO
jacek: Automaton2000 where do you go
Automaton2000: you probably have to rewrite my code to make a bot for it
Lassassin: goddamn there is no spoon more like there is no hope ._.
jacek: hm?
Lassassin: there is no spoon my brain tells me to write loops its mixing everything up
Lassassin: so many loops
JBM: c++ has nested functions now?
jacek: lambda?
JBM: anyhoo, they're most certainly not in a class by default
BrunoFelthes: why there is only 100 players at green circle?
Astrobytes: Manual resubmission, no proper leagues, no mirror matches...
BrunoFelthes: man, what is happening with CG?
Astrobytes: devs were at a conference apparently, we'll find out next week if they add leagues or not I guess
aCat: soo even no chat to complain about it :(
BrunoFelthes: are they bank bankrupting?
aCat: *soon
Astrobytes: Since this was half-corporate and half-community, there are corporate contractual issues
Astrobytes: aCat: please post in the forum thread, even if it's purely for posterity
Astrobytes: https://www.codingame.com/forum/t/discussions-spaces-update-the-question-of-the-chat/196276/18
Astrobytes: They did ask for opinions after all ;)
struct: Yeah, leave a comment about it, even if its repetitive
struct: Its not like it can hurt
Astrobytes: there are also only 2 cats in there, we need more :P
Astrobytes: BrunoFelthes: you know they were taken over by an American company right?
JBM: I only read the PR about a merger, this is interesting
Astrobytes: By CoderPad yes
Astrobytes: 'merger' lol
jacek: its all about :money_with_wings:
Astrobytes: what a time to ask! struct help me out here, I'm ducking in and out of chat here
struct: help with what?
jacek: Astrobytes soon youll wont have that problem
JBM: I just saw the bland “we're moving in the same direction, let's do it together” kind of shit
Astrobytes: The coderpad takeover struct
struct: ah yes
struct: they bought CF
struct: CG*
struct: https://coderpad.io/about-us/coderpad-acquires-codingame/
mlomb: what
struct: this is old news
mlomb: didnt know
jacek: :ie:
jacek: hum
Astrobytes: struct JBM has been away for a lil bit
struct: I see
JBM: Cookies on CoderPad: Accept or… no other option
struct: Bruno goes straight to the point lol
JBM: well I did read the CG-emitted mailing, but the change of tone here is a welcome addition to my attempt at an objective opinion
JBM: > its acquisition of CodinGame, a first-class candidate assessment platform and global developer skill building community.
struct: They probably bought it for CG for work
Astrobytes: we were all intrigued but cautiously optimistic until we found the coderpad post iirc
jacek: acquisition by bigger corpo is mostly bad
JBM: that is not at all what I considered CG to be when I joined
JBM: didn't know it was bigger
eulerscheZahl: that's the last page coderpad acquired: https://www.adaptilab.com/
JBM: the CG mails did make it sound like “joint forces”, assumed mostly same-sized
struct: brb
Astrobytes: there is apparently only one dev working on our part of CG at any one time
Astrobytes: This was either on the forum or discord
eulerscheZahl: i saw some open positions (cg hiring) - task description sounding like combining systems of cg + coderpad
JBM: well thanks a lot struct, that was mighty eye-opening
Astrobytes: they recently got rid of the 'get a job' part here too, useless outside of FR iirc
Astrobytes: "think global!"
Eandy11: have you guys done the N agents one
Eandy11: given N agents, find the traitor
JBM: if I knew which one was the traitor I wouldn't make a CG problem out of it
jacek: https://digest.bps.org.uk/2022/07/01/people-with-no-minds-eye-have-less-vivid-and-detailed-memories/
eulerscheZahl: you can also see that in the job titles of their recent hires
Astrobytes: lol JBM
JBM: the only one I noticed was the “evangelist”
eulerscheZahl: growth marketer, growth assistant
Astrobytes: tbf they had tech evangelists before (I am still unsure of what the and uncomfortable with any meaning of that is)
eulerscheZahl: what even is a growth copywriter?
jacek: he comes up with new names for puzzles and games
Astrobytes: writing copy for growth. Bullshit marketing-focused blog posts?
eulerscheZahl: for the protocol: i'm not bashing on random people i don't even know. just pointing out that there is a surprising high amount of non-developers
Astrobytes: Welcome to corporation-land.
JBM: copywriter sounds way nicer than homophone copyrighter
eulerscheZahl: there is also growth hacker and head of growth
Astrobytes: Dilute any meaning from your target, grow it based on invented marketing hype, sell.
JBM: with all this growth-drivenness they still take decisions aimed at harming the actual community
Astrobytes: Wrong kind of growth.
eulerscheZahl: i think they changed some titles in general. "head of people & culture". i think she was HR before
Astrobytes: This whole side is essentially dead to them
Astrobytes: (the corporate masters I mean, not CG staff)
JBM: s/HR/PC/ is a worldwide trend, nothing really specific to see here
eulerscheZahl: compared with wayback machine, definitely some job titles renamed
eulerscheZahl: https://web.archive.org/web/20200924024105/https://www.codingame.com/about/team vs https://www.codingame.com/about/team
Astrobytes: well you only have to look at cleaner == sanitationary technician
JBM: that's clearer than what we used to have in {fr}
JBM: «technicien de surface»
PatrickMcGinnisII: One of my GF's besties was a headhunter until CoV hit, then she moved to HR within a large company. I sat in on one of her interviews with an 'engineer' ... intelligent young man, yes ... coder, no. Headhunting is big $$, companies need solutions ... and frankly the US doesn't have the hardcore programmers. Alot of reasons for this (in general).
JBM: there's really no more sanitation-related meaning to surface in {fr} as there is in {en}
eulerscheZahl: oh, mathis hammel gets a mustache on mouse-over on my last link :D
Astrobytes: It's descriptive yet exceptionally vague, interesting :D
JBM: that's the evangelist, isn't it?
Eandy11: how do you find the 2 numbers of something when you have the sum and product of those 2 numbers
JBM: I'm sure I've read his name before, I've (still) got to dig
wagabond12: hey, how can i join clash of code with my friends, to a global lobby ?
Astrobytes: try writing out on paper, or whiteboard to save trees
HenroLST: you could use algebra
eulerscheZahl: he's active on some competitive platforms like codeforces
JBM: not sure whiteboard actually saves trees compared to paper
HenroLST: then you just manipulate those equations to get what you want
jacek: https://www.nagwa.com/en/videos/249197026232/
Astrobytes: Depends what you use as a pen and whiteboard JBM, though true
Astrobytes: Lets all get active on other platforms then CoderPad might hire us for CG....
Astrobytes: ...
JBM: that better than CG hiring you directly?
eulerscheZahl: let me invite you to topcoder if you like optimization tasks
Astrobytes: Not sure :thinking:
JBM: pretty sure I;ve already got a dormant acct there
Astrobytes: yeah I think you might enjoy some of the TC marathons JBM
eulerscheZahl: if you want to get hired: https://www.welcometothejungle.com/fr/companies/codingame
JBM: I might if I had that OM of time available
JBM: I know some of those faces
Astrobytes: at least that site has a cookie rejection button
struct: I think they must
struct: according to EU law
JBM: ha ha âoffice managerâ and I do think I read it on CG first
JBM: darn my console got utf8ucked between two screen -r invocations
JBM: hope it's better on your side
PatrickMcGinnisII: dotconferences...nice... why so many vids on Swift?
jacek: hm? ̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤
eulerscheZahl: i'm not sure if the cookie reject works as it's supposed to open this in an incognito window: https://www.codingame.com/forum
eulerscheZahl: then click refuse. it will reload the whole page
Astrobytes: other than a few †it's OK JBM
eulerscheZahl: shouldn't it be the other way? load something extra when you accept
Astrobytes: I worked that one out
JBM: never settle for⦠oh well
jacek: Automaton2000 do you know any utf trick?
Automaton2000: this is a test ' by struct
JBM: it's f8cked on my side, it's f8cked on yours
JBM: what does the stream think it's doing
eulerscheZahl: jacek trolled us
struct: Automaton2000 I'll ban you before chat gets removed
HenroLST: panic why is there a line of 2 minature dots going through the middle of my chat
Automaton2000: is it possible to reach legend
struct: ...
jacek: oh my
PatrickMcGinnisII: help us Automaton2000
HenroLST: wait what the its scrolling with the chat
Automaton2000: to get the best move
struct: Maybe I should pin the post :D
eulerscheZahl: abuse your mod powers, i'm all for it
eulerscheZahl: i abused mine to get the hypnotoad title on the forum
Astrobytes: And I have my 5%
struct: Well it's not like I will remain a mod if chat is gone
Jay10890: anyone got the answer to mars lander episode 2
Astrobytes: 12
Jay10890: got answer to mars lander ep 2?
struct: Done
Jay10890: struct do u got it?
struct: oh I never done mars landers 2
eulerscheZahl: he pinned a forum post
Astrobytes: 42
Jay10890: eular u got the code?
PatrickMcGinnisII: jay , like search github er somethin. 42 is the best answer
Jay10890: wym 42
eulerscheZahl: i got one code. there are almost infinitely many solutions
HenroLST: 42: the answer to life the universe and everything
Jay10890: ok
eulerscheZahl: the only thing that prevents the infinite amount if the 100k code size limit
Jay10890: euler how long as it been
eulerscheZahl: i don't understand
Jay10890: since we last met
eulerscheZahl: oh "has". no idea
struct: wait the other post that was pined is gone
struct: o.o
Jay10890: been months tbh
eulerscheZahl: if you are the one i think, not long enough
eulerscheZahl: pinned posts only show as pinned for you until you open them, struct
eulerscheZahl: try again in incognito, then it should be back to normal
struct: ah
struct: thanks
PatrickMcGinnisII: I'm gonna be in D.C. in 10 days, any advice?
eulerscheZahl: or you broke it :imp:
struct: well it was worth
struct: this topic is more important
BugKiller_328: @Astrobytes, @struct
struct: yes?
Astrobytes: hi BugKiller_328
BugKiller_328: I don't know who suggested me about iterative deepening. I've applied it to connect 4 and my ranking was upgraded from 79th -> 54th
BugKiller_328: in wood 1 league. thanks.
Astrobytes: possibly either or both of us
struct: nice
Astrobytes: and nice, well done :)
BugKiller_328: no 53th as final result
eulerscheZahl: might have been me. i was thinking about it but not sure if i spelled it out
BugKiller_328: with Java lang
jacek: :tada:
struct: now implement bitboards :)
jacek: and do you use ordering while iterative deepening?
Astrobytes: PatrickMcGinnisII: Well, from DC you can tell us if it's better than AC
eulerscheZahl: jacek wrote it, credits to him
BugKiller_328: maybe need to migrate java to c++?
eulerscheZahl: https://cg.spdns.eu/wiki/Chat:World/2022-06-29
struct: you can try BugKiller_328
Astrobytes: lol, nice one euler
BugKiller_328: Ah, @jacek Thanks
BugKiller_328: I think @jacek @Astrobytes, @struct you all! thanks again
struct: np
Astrobytes: you are very welcome
eulerscheZahl: use the chat to your advantage
BugKiller_328: @jacek "and do you use ordering while iterative deepening? " what is this?
eulerscheZahl: you have good and bad moves from minimax
Astrobytes: move ordering
Astrobytes: try the best one first
eulerscheZahl: as you have pruning, the order matters. apply the best first to prune more
Jay10890: i found this\
Jay10890: http://chat.codingame.com/pastebin/e5ca7c25-3f43-4516-9564-dd0435c9ed43
eulerscheZahl: no you didn't find it
BugKiller_328: how to ordering for my available moves.
Astrobytes: It's an advantage of iterative deepening in that you know the best move from the previous depth searched
Jay10890: this it?
eulerscheZahl: there is not this one correct solution. code your own
Astrobytes: ^
Jay10890: tried
eulerscheZahl: try harder
Astrobytes: hence why your silly question got sill answers
Astrobytes: *silly
jacek: Jay10890 have you ran it
eulerscheZahl: or try another puzzle and come back later
Jay10890: yes
jacek: BugKiller_328 i.e. in chess you would try capturing moves first. in othello the corner moves
Astrobytes: Or learn something about the problem you are trying to solve, in order to better understand it
Astrobytes: @Jay10890
jacek: but with iterative deepening + transposition table, you can try the best moves from previous iteration
jacek: as they are likely to produce faster cutoff
jacek: http://blog.gamesolver.org/ and http://blog.gamesolver.org/solving-connect-four/05-move-exploration-order/ and http://blog.gamesolver.org/solving-connect-four/10-better-move-ordering/
Astrobytes: things like this are why I love this chat
eulerscheZahl: i wanted to download all chat logs and extract URLs but somehow never did
jacek: my youtube links? :smirk:
Astrobytes: well, the logs will remain I guess as long as dbdr doesn't remove them
jacek: hopefully after chat is removed theyll see significant drop in :moneybag: and bring it back
eulerscheZahl: unlikely, i see myself more as a cost factor for CG
Astrobytes: I doubt that. They'll see a drop in use of the free side
Astrobytes: what euler said
BugKiller_328: @jacek do you have youtube channel? what's it?
Astrobytes: Personally, I think open-sourcing a lot of this side of CG would be a huge benefit
jacek: here we go https://www.youtube.com/watch?v=dQw4w9WgXcQ
Astrobytes: I know it won't happen but still
eulerscheZahl: https://www.youtube.com/watch?v=dQw4w9WgXcQ
eulerscheZahl: damn, too slow
Astrobytes: Yeah don't click that one BugKiller_328
BugKiller_328: Is MCTS much harder than alpha beta?
PatrickMcGinnisII: crap it's raining
eulerscheZahl: it's different
eulerscheZahl: but yes, takes a few more lines to code
Astrobytes: But if you understand alphabeta/minimax well it is easy enough to understand
eulerscheZahl: and it's hard to understand as a human what's going on. easy to code a bug and not even realize that it's wrong
Astrobytes: as euler says though, it's a little more work to implement
BugKiller_328: hmm, MCTS, GA, NN
BugKiller_328: what should I go first?
BugKiller_328: make an order for me
Astrobytes: get really good at alphabeta first
BugKiller_328: alpha beta already done
PatrickMcGinnisII: 11k pos / second... move ordering ... nah doesn't work great for CG
struct: 11k pos in php?
Astrobytes: move ordering, pv, null window, negascout etc? BugKiller_328
jacek: killer moves
PatrickMcGinnisII: 11k nope, more like 2k
jacek: and well GA is rather broad, it doesnt have to have anything with tree search
PatrickMcGinnisII: I think i did something similar for the bike race puzzle
BugKiller_328: I really like to know how to check isWin in connect 4
Astrobytes: history, fail high or low? TTs and all the fun that comes with them, the list goes on
Astrobytes: *fail hard or soft
eulerscheZahl: https://tech.io/snippet/Fbf9HIO MCTS for connect4. not optimized for speed at all
BugKiller_328: I have 4 for loops. 1 for horizontal, 1 for vertical, 1 for positive diagno, 1 for negative diagno
Astrobytes: well that's where bitboards come in
PatrickMcGinnisII: BugKiller_328 it's hard for CG version because of width and fitting it in 2 - 64 bit boards
BugKiller_328: anyone tried bitboard in Java?
eulerscheZahl: it's not different to bitboard in other languages
Astrobytes: Plenty people do
BugKiller_328: I'm asking this because as I remember,
eulerscheZahl: but be careful about shifting: java only has signed integers and thus >> and >>>
BugKiller_328: when I try bitboard in c++ in times ago
Astrobytes: I think some of the bitwise operations are slightly different in java but the concept remains unchanged
BugKiller_328: I used some c++ specific api functions
Astrobytes: intrinsics?
PatrickMcGinnisII: i think u have to make sure you don't get stuck in a 2's complement arrangement
eulerscheZahl: popcount
Nerchio: yeah you lack some nice functions to use bitset in java, and you're probably not going to be much higher than wala's places in those games (he's top30 in connect 4 with java)
Nerchio: even if you somehow optimized everything you can
BugKiller_328: __builtin_ctzl, __builtin_ia32_pdep_si, __builtin_popcountl
struct: top 20 should be possible
BugKiller_328: these kind of func
struct: out of those this is the only one I use for c4
struct: const U64 pdep = _pdep_u64((1ULL << rand(__builtin_popcountll(safe_moves))), safe_moves);
struct: to select a random set bit in safe_moves
BugKiller_328: @struct, do you have that kind of code for java?
struct: no
Astrobytes: Print it out, spill coffee on it [solved] :P
Astrobytes: afaik, C/C++/Rust are probably the ones you wanna use for bitboard-intensive stuff
eulerscheZahl: C# got better in that regards
BugKiller_328: c++ vs c# ?
eulerscheZahl: C++ still faster
BugKiller_328: c++ much faster than c#?
Astrobytes: I was about to add that I think C# might be better than Java too
BugKiller_328: or slightly?
eulerscheZahl: but C' has release more on CG at least
Astrobytes: *C#, mode
eulerscheZahl: yes
eulerscheZahl: # and ' are the same key with shift on my keyboard
eulerscheZahl: e.g. https://docs.microsoft.com/en-us/dotnet/api/system.numerics.bitoperations.popcount?view=net-6.0
Astrobytes: # and ~ here
eulerscheZahl: relatively new but i think you can use it on CG already
eulerscheZahl: and syntax-wise C# and Java are similar enough that you can switch easily
BugKiller_328: I know c, c++ too
jacek: remember they have uppercase methods names :unamused:
BugKiller_328: c, c++, c# a little, java (in depth more)
struct: if you want to learn bitboards choose c++
eulerscheZahl: and IInterfaces - the last bit of hungarian notation
Astrobytes: I would use the language you are most comfortable with then, that has the best features that you need
BugKiller_328: c++ not c?
Joey_G: It's PascalCase not Uppercase
struct: c++ its easier
BugKiller_328: but speed is similar?
struct: I think so
eulerscheZahl: UPPERCASE
Joey_G: right
struct: Speed its almost irrelevant on c4
BugKiller_328: again what about c++ vs c#
eulerscheZahl: but C# uses PascalCase
Astrobytes: Yes, speed is similar, be careful with using some standard containers though
BugKiller_328: c++ is much faster or slighly faster than c#?
eulerscheZahl: camelCase for private stuff
j4at: C# is a lot slower than C++
struct: for bitboards I would say much faster
Astrobytes: snake_case
eulerscheZahl: that's so python
Astrobytes: preferred in C++ too
struct: snake is how I code c++
j4at: python_case
Joey_G: IdIoTcAsE
Astrobytes: j4at: speed-wise he was speaking of C vs C++
eulerscheZahl: for java, c#, python i try to follow conventions. for c++ i never read a style guide :(
Kellthazar: Are you folks talking about the event?
eulerscheZahl: no
j4at: C are C++ are equal speedwise
Joey_G: rANdOmcaSE
eulerscheZahl: as long as you stay away from polymorphism
Astrobytes: And resizing std containers on the fly
Joey_G: Did anyone simulate CodeVsZombies?
Astrobytes: Most people with a decent score yes
Joey_G: I'm having trouble with reversing the targeting mechanics, I think there may be some issues?
Joey_G: Is there anyone who could perfectly predict the movement?
jzen: I think mine does, I'll check
struct: https://pastebin.com/VRNBF4ki
j4at: Python 3.12 will have a jit <:
jacek: so... pypy3?
j4at: I use pypy3 a lot for things. But it doesn't support tensorflow / pytorch.
jacek: hows your search race going
jacek: whats youre record on hold the line testcase
Astrobytes: straight to the point :D
struct: 9883
jacek: quite slow
Joey_G: Struct, can you show the implementation of distance(...) and distance2(...)
struct: inline int distance2 (int _x, int _y) {
return (x - _x)*(x - _x) + (y - _y)*(y - _y);
}
struct: inline float distance (int _x, int _y) {
return sqrt(distance2(_x,_y));
}
Joey_G: thx
struct: My bot is quite slow jace k
Joey_G: Are x and y global variables?
struct: zombie position
struct: and target
Joey_G: Got it
struct: its a class
struct: class Point { float x, y; float dist ... }
BlaiseEbuth: Geronimo!
Joey_G: "inline float distance (int _x, int _y)" gets called with "distance(dist2)" but dist is just an int. Am I missing something?
**BlaiseEbuth wait for the taco-hammer.
struct: might be an int yeah
waterproofsodium: somebody familiar with markov chains?
waterproofsodium: (stuck at a problem 2+ days straight, trying to educate myself on the topic)
BlaiseEbuth: Automaton2000 are you familiar with Markov Chains ?
Automaton2000: so when you do this
Joey_G: "inline float distance (int _x, int _y)" gets called with "distance(dist2)" but dist2 is just an int. Am I missing something?
Joey_G: Sorry for typo
Astrobytes: BlaiseEbuth :hugging:
waterproofsodium: I see I asked wrong time of the day. everybody is drunk (just kidding)
BlaiseEbuth: :hugging:
struct: Joey_G https://pastebin.com/gdJuW3DN
jacek: oO
waterproofsodium: I'm looking for resources, for programmers on markov chains btw
struct: this code is 5 years old
struct: dont judge :p
Joey_G: So it's overloaded. ty
jacek: markov chain? which puzzle
waterproofsodium: jacek it's for google foobar. non public
jzen: Probably 'Markov Text Generation'
jzen: By wonton
jacek: oh
waterproofsodium: nope not text generation
jzen: Oh
jzen: nvm
jzen: It's a good puzzle for learning then
waterproofsodium: I'm on a timer and the topics diverge slightly :D
GlitchedPug: can someone help me the the tempertures puzzle?
jacek: eeyup
jacek: we can help
waterproofsodium: he said
waterproofsodium: "eeyup"
GlitchedPug: im new so im pretty bad at coding
Astrobytes: how far in to the foobar now waterproofsodium?
waterproofsodium: level 2
waterproofsodium: complete
BugKiller_328: in c++, hwo to get time in miliseconds?
waterproofsodium: level 3 is 3 puzzles 1 solved
BugKiller_328: time_point<steady_clock> now;
now = steady_clock::now();
BugKiller_328: I can see this code, but which header I need to include?
waterproofsodium: and 5 in total
BugKiller_328: only chrono?
BugKiller_328: ah, I missed
using namespace chrono;
BugKiller_328: thanks
jacek: chrono
jacek: and namespace
jacek: oh
BugKiller_328: in c++, min int inf and max int inf?
j4at: jacek, CPython 3.12 will have a jit. The problem with pypy is that ML libraries doesn't support it :(
j4at: My hold the lnie record is 136.88 which is pretty slow
jacek: thats problem for those who use ML libraries :v
waterproofsodium: how can you compile python to jit? I bet only by torturing the JIT compiler
Astrobytes: min = -INT_MAX, max = INT_MAX if that's what you are asking
j4at: I use it for web hosting and video game servers.
jacek: j4at noice, my NN gets 150+
j4at: hehe non
j4at: noob
BugKiller_328: where's INT_MAX lives?
Astrobytes: climits? cstdint?
Astrobytes: can't remember
jzen: climits
BugKiller_328: Thanks a lot
Astrobytes: np
Astrobytes: cheers jzen
j4at: https://www.codingame.com/share-replay/648717335
waterproofsodium: hidden tests are mean
BugKiller_328: rand number for 0 to n?
waterproofsodium: if hidden tests are good. they will make you fail when you didn't do your research :p
jzen: rand() % n
BugKiller_328: rand() will just from 0 ~ max int?
struct: j4at this is my personal best https://www.codingame.com/replay/641054548
jzen: Well, rand() gives you a random int from 0 to max, and when you take the modulo you will get a number in [0:n-1]
jzen: So yeah
Joey_G: Struct, your code is correctly working. Thank you.
struct: np Joey_G
jzen: n is non-inclusive however
j4at: yeah struct I already saw it, pretty impressive
Astrobytes: but you can make functions to change that if you need. Also, prefer even std random methods over rand()
struct: yours is NN right?
j4at: mine is NN
struct: do you use policy for moves?
j4at: yeah
j4at: RL, ddpg variant
struct: ok I have no idea what that is
struct: but im a NN noob
struct: all I know is input, hl and output
struct: :D
jacek: https://stable-baselines.readthedocs.io/en/master/modules/ddpg.html
jacek: one of those dqn, a3c, trpo, ppo stuff
struct: ah right
derjack: :s https://www.codingame.com/share-replay/648719553
j4at: derjack NN ?
jacek: yes
jacek: on my main i use GA search
struct: you should try the moves I allow as policy
j4at: It seems it doesn't like the number 4
BlaiseEbuth: Oh. j4at :o
j4at: :))
BlaiseEbuth: Was wondering who you was that guy... Well, one stranger less on cheloniangall... \o/
JBM: which stranger would that be?
BlaiseEbuth: Well j4at ^^
Astrobytes: still loving that name :D
BugKiller_328: hi, simple question
BugKiller_328: how to change static variable of class
BugKiller_328: class A{
public: static short data;
};
Joey_G: ClassName.VariableName = newValue
struct: in c++ I know its A::data = 1;
BugKiller_328: int i; A::data = (short)i;
BugKiller_328: this gives me error
jzen: short A::data
jzen: You need type as well
Astrobytes: outside of the declaration
Astrobytes: short ClassName::data = 0;
struct: http://chat.codingame.com/pastebin/904eb5b5-bc76-491d-a908-3407352aacf7
struct: https://tech.io/snippet/IDCFgQC
struct: what astro said
BugKiller_328: not working. give me error like undefined reference
jzen: Surely you don't use the class keyword in your actual code struct :smile:
struct: i dont
struct: BugKiller_328 check what I wrote
struct: you need the thing that is between class and main
Blokops: any javascript user here? can someone explain in 20 words or less how to methods?
Astrobytes: how to methods: method
Blokops: interesting
Astrobytes: it made equal sense with your question ;)
BugKiller_328: https://pasteboard.co/BX8wXsi7YQxX.png
Blokops: how to make a method
struct: BugKiller_328 check the snippet I wrote
struct: you are missing
Astrobytes: @BugKiller_328: check structs snippet
struct: short A::data = 1;
struct: or w/e value you want
Astrobytes: OUTSIDE of the class and OUTSIDE of the main
BugKiller_328: short A::data = 1; how we can do??
Astrobytes: this is usually a header/definition issue but CG is different I guess
struct: https://tech.io/snippet/IDCFgQC
BlaiseEbuth: https://googlethatforyou.com?q=js%20create%20method
Aldoggen: Blokops check out W3Schools. They're pretty good for explaining simple things
Blokops: im here because W3Scjhools are shit
Aldoggen: well all right lets move to private chat
BugKiller_328: @struct I want to do it inside main function
BugKiller_328: because I can only know value inside main
struct: https://i.imgur.com/CtHOfPZ.png
struct: thats needed
BugKiller_328: ah, but why is it needed outside main?
BugKiller_328: why we need to initialize it once outside main?
Aldoggen: the compiler needs to know what you're going to do
BugKiller_328: Can I do that inside class?
j4at: Blokops
j4at: http://chat.codingame.com/pastebin/e64c7120-4e23-49f4-a61b-646f319a2874
jacek: D:
j4at: https://pastebin.com/raw/ZYs6vjUD
Astrobytes: No BugKiller_328
Astrobytes: That is the point. That static variable must be initialized outside of the class
jacek: blashemy
BugKiller_328: hmm, I'm most comfortable in Java. and I only used c++ for algorithm solve.
BugKiller_328: so almost didn't use the class.
BugKiller_328: :(
BugKiller_328: maybe I don't know basics
j4at: is domi using NN in search race ?
struct: yes
jacek: domi?
struct: domiko
jacek: really?
struct: yes
struct: and in py3
struct: real python
struct: his csb is also NN
struct: and also py3
jacek: oh my
j4at: Don't worry soon enough I will pass him and pass recurse too
j4at: I had 10.9k NN but accidentally overwrote it. Needs to train again :(
struct: hardcoded?
j4at: Well kinda. I do a little search over my NN and use the best solution
j4at: struct I didn't use beam search like I told you I was going to do. I used pure reinforcement learning
j4at: hard coding sucks
Aldoggen: seems like it'd be a good vacuum cleaner
jacek: :no_mouth:
Aldoggen: oof all right I'll shut up
Blokops: the good thing of lerning a new language is that i can just copy my code golf and get free points
ellen_lu: could someone help me on starting the "block the spreading fire?"
struct: check cg video ellen_lu
struct: https://www.youtube.com/watch?v=K0Y_PXL8zdo
Blokops: the problem looks like Montecristo
Blokops: monte carlo
BlaiseEbuth: :3
Blokops: sayyyy does javascript also have an encoder as python?
Blokops: utf16(?) to utf8 sort of encoder
Blokops: nvm found one
BugKiller_328: hi
Blokops: hi
BugKiller_328: in connect 4, if depth is 0, I need to calculate heuristic
BugKiller_328: what is the best way for it?
Aldoggen: check if the game is over maybe?
BugKiller_328: no can't do that
BugKiller_328: need to estimate the score of current board (which is not finished yet
Aldoggen: it might be finished if you search reaches depth 0
BugKiller_328: depth 0 means it reached depth limitation
Aldoggen: I don't know a better heuristic sorry
BugKiller_328: in minimax, if I search with depth 4, then in depth 4
BugKiller_328: game can't be finished
BugKiller_328: which means, we need to try calc heuristic
Aldoggen: my "heuristic" would just amount to almost random moves, except when it sees the game ends in 4 moves
Aldoggen: so yeah I understand you don't want that :)
BugKiller_328: ah, you're doing random move?
Aldoggen: if I use as heuristic to check for the end of the game, I get what I wrote above. so most of the time just random moves, because most of the time the game won't end, which means most moves are equally fine for the bot
Aldoggen: maybe a better heuristic is to look at the amount of 3 stones on a line?
Aldoggen: amount of 2 stones on a line would be important too.
Aldoggen: but for both of those, you should only count them when they're not blocked
Aldoggen: maybe that can serve as a nice heuristic
BugKiller_328: I already to in that way. I'm in rank betwen 55 ~ 80
Aldoggen: then I probably can't help you :)
j4at: block the spreading fire best solution is to hard code it.
j4at: there is only few validators
struct: I dont do eval, I use mcts so cant help
BugKiller_328: @struct, can you give me some code for connect 4?
BugKiller_328: which is using bitboard
BugKiller_328: droppiece, check win
BugKiller_328: no idea clearly yet for bitboard use for connect 4.
BugKiller_328: if you can't , it's fine :)
HenroLST: anyone willing to take a quick look at my code and see where it might go wrong? its the puzzle scrabble and i pass all but three cases
struct: Well it might be a little unfair for other players
BugKiller_328: ok, then :)
struct: I can show you how I apply a move and how I generate them
struct: But wincheck and such are avx and its probably not fair for other for me to share
BugKiller_328: yes. totally fine. I can understand. I can try myself for it.
struct: https://pastebin.com/wLLxRgbf
struct: thats about everything I will share
struct: Whats outside applies a random move
struct: to check for win you will need to use masks
struct: 0x7E3F1F8FC7E3F1F8ULL, 0x7FFFFFFFFFFFFFFFULL, 0x7E3F1F8FC7E3F1F8ULL, 0xFC7E3F1F8FC7E3FULL
BugKiller_328: ooo.. what a horrible numbers. haha
struct: its too prevent overlap
BugKiller_328: maybe need to take time for the experiences.
struct: so when I do >> 1
struct: I wont end up on bottom row
struct: since I wanted to check the piece on the right
struct: yes, I think there are better games to learn bitboards
struct: connect 4 is probably not the easiest one
BugKiller_328: need 2 board
BugKiller_328: 1 is for me
BugKiller_328: other is for opponent?
struct: yes
struct: thats what I do
BugKiller_328: lowest place to be (0,0)?
struct: for me 0, 0 is bottom right
struct: But that's personal preference
BugKiller_328: in board (0,0) is in most right side bit?
struct: 0, 0 is bit index 0
BugKiller_328: bit index 0 means most right side bit
BugKiller_328: am I right? :D
struct: I think so
struct: I would try something simpler first bugkiller
struct: probably normal tic tac toe to learn the bitobards
struct: its what I did to learn it
BugKiller_328: yeah, I did it fewmonths ago a little
BugKiller_328: but I came back to learn more
MAWAAW: Buy the rumor. Sell the news.
Darleanow: Night everyone :)
Darleanow: struct werent u mod ?
EzS-NoVa: hiiiiiiiii uwu