Gaurav.: the results page of clash of code is so sloww
TyLuu: join with me
Gaurav.: @TyLuu i got matched with u
TyLuu: join another clash
LelouchVC2: Spamming is an opinion
LelouchVC2: You do you TyLuu
AntiSquid: no, please don't post those links in here anymore
ThunderbirdOne: Clash, that's still a thing?
ThunderbirdOne: hi everyone btw :D
code_maniac: Why most of people here don't like clash ?
code_maniac: I think it can serve as a good tool for people who wan't prepare things where they need to have time bounded environment.
code_maniac: Yeah invites are still annoying :p
Daher: Hey guys, when i submit solution in CoC it take 1 minute to display the result is it normal?
tutubalin: no, that's no ok
code_maniac: @tomatoes yeah can be a good tool for interviews as well, as you get a random question with random mode, so it gives a good practice, shortest mode isn't going to help much there, but other two i think are pretty good
code_maniac: Also there are lots of good coder, who has lots of knowledge, so that can also help other when they see how people quickly reach to some solutions. They learn some methods or tricks as well from others
tomatoes: but i dont like interviews
code_maniac: Well that's a completely different thing, that's your individual choice
ThunderbirdOne: interviews are just a necessary evil
tomatoes: because of time bounded environment :neutral_face:
ThunderbirdOne: most of the time, the complexity of the questions you get dont even reflect the work you get to do
code_maniac: @imbadpython well yes, but you don't get this time bounded environment there as far as i know, Definitely the question's has to be solvable in given time span
code_maniac: @tomatoes yeah i do agree on this 👍
code_maniac: @ imbadpython oh didn't knew that, thanks for info mate :)
Astrobytes: ThunderbirdOne! Hey :)
LelouchVC2: You let me log into ur account and do it for u
WINWINWIN: Hi, Im in 12th grade now and Im looking into college choices, I found that most colleges offer "Electrical and Computer Engineering" or Computer Sciencce
WINWINWIN: But the Electrical and Computer Engineering does not have that many CComputer ccourses
WINWINWIN: so if I am interested in computer engineering, which one is a better choice?
Uljahn: being electrical engineer with some cs knowledge looks more valuable to me than just pure cs, but that's because im electrical engineer myself :slight_smile:
Uljahn: that's about having plan B i guess
Uljahn: or skills diversification
Crypticsy: hey hey, kindah out of the blue, but can you guys give some feedback on this? https://www.codingame.com/contribute/view/5140c0ddef4c6cac9083c94a8aa02626bf7d
Uljahn: LCG is too much for an easy puzzle i guess, that's more like two problems in there
Uljahn: maybe you could make the main problem a little bit harder and tag the puzzle as medium?
Crypticsy: I wouldn't have used a LCG if there was a cap for input. But having an explanation at the end and a simple exposure to these things feel like it would be better to be kept at easy
WINWINWIN: Thanks Uljahn
Uljahn: x*(x + y)?
Tim_McSim: Hello! :)
jacek: good afternoon
struct: Ok, boss uploaded
Astrobytes: Oh nice one, it got fixed
darkhorse64: go go go but not too far
WINWINWIN: How advanced is the Othello boss?
darkhorse64: It should rank around #9
darkhorse64: vae victis
WINWINWIN: I come under that bracket :(
WINWINWIN: When I couldnt get the minimax working for Othello, I cocpy pasted it to UTTT and changed the eval and simulation
Astrobytes: Motivation to improve WINWINWIN
darkhorse64: It's designed to make you sweat
WINWINWIN: Seems like it :D, when are leagues opening?
struct: they should be open
darkhorse64: When the boss ends its run
struct: only waiting for boss to finish submit
struct: but it seems stuck
jacek: another bug?
Astrobytes: It's not moved
struct: Ill wait 10 minutes to see if it moves or not
darkhorse64: leaderboard bug likely
WINWINWIN: Cant even see it on the LB
WINWINWIN: Is the boss BigUp?
struct: Boss is BOSS 1
struct: he is currently rank 10
WINWINWIN: Then its an LB bug... Field3 is #10
struct: he is between 10 an 11*
WINWINWIN: :/ I reloaded but still cannot see it, can anyone else see it?
darkhorse64: 10 3/4
jacek: hes moving i think
Astrobytes: Yeah, just real slow
WINWINWIN: Found it, thanks
darkhorse64: I see it on the game leaderboard page but not on the global one. You never see boss on the global leaderbaord
WINWINWIN: Yes, missed thqt
WINWINWIN: It runs on a minimax?
darkhorse64: MCTS. It's a spin off of my Legend UTTT code (with some features removed)
Astrobytes: Solve it yourself or don't do the clash.
darkhorse64: pow(2,2) = 4
WINWINWIN: tanmaycodernovice CoC is not a team sport :D
Uljahn: maybe log?
Astrobytes: That really annoys me. At least wait until the clash is done, then ask for advice. I mean what's the fking point?
WINWINWIN: Ruining it for others as well
Uljahn: there's some trick involved
WINWINWIN: Idk about that, probably just gave the inputs in the wrong order and got 0.5
WINWINWIN: Uljahn when you studied electrical engineering, was communication systems and VLSI combined?
WINWINWIN: Or were they seperate streams?
Uljahn: we have different curriculum here
Uljahn: i studied control systems and power electronics
Uljahn: or electric drives
struct: oh no darkhorse64 :(
darkhorse64: Heard about Frankenstein ?
dbdr: only trictrac and me promoted :D
dbdr: ah no, renard now
struct: looks so buggy
jacek: im promoted
jacek: but leaderboard is so laggy
struct: I think it's CG
darkhorse64: Great! I am #1
Astrobytes: I'm promoted, it's just slow
dbdr: suddenly Astro in the lb
dbdr: while I'm playing many other people
dbdr: ah, now updated
jacek: ah promotion makes server laggy
jacek: like csb
dbdr: yes, too many players on othello ;)
dbdr: so it's 7 players in top league?
struct: I think so
dbdr: seems right
jacek: darkhorse64 you made better boss than your bot?
darkhorse64: That clearly demonstrates that the leaderboard is buggy, to quote our famous friend ceg
Uljahn: use list()
Uljahn: then "".join()
dbdr: the smaller league will actually be good for more precise ranking
dbdr: you feel precisely ranked Astrobytes? ;)
Astrobytes: Looks about right yeah :D
dbdr: you did win one against jacek, gg! :)
Astrobytes: And it wasn't a timeout!
dbdr: python string
Hjax: not just you
darkhorse64: There is a league rerun with 7 players. Server is overloaded
ZeGermans: Is it possible for the expected answer is wrong ?
Hjax: it is extremely unlikely, but possible
ZeGermans: And is there anyway someone can see what you are doing and maybe help or thats not the point of the site :)
DiL: Hi everyone! Site is very slow and sometimes I got 504 network errors. Possibly an issue with clashes?
Astrobytes: ZeGermans thats not the point of the site
Hjax: people are happy to help you if you have questions
jacek: too many people play othello
Hjax: but we wont give you the answer
jacek: nerf othello plx
darkhorse64: Hey guys, I'm back !
Astrobytes: grats darkhorse64 :D
Astrobytes: You have defeated your creation at last
darkhorse64: It's a good feeling to get promoted. Yes, but not by a wide margin. java_coffee_cup made it difficult
darkhorse64: Here, it's even more difficult 1 win of out 16
Astrobytes: I had 1 in 44 earlier :D
darkhorse64: 2 against you now
jacek: another clash question?
ZeGermans: Ok here it is im stuck on this one https://www.codingame.com/training/easy/defibrillators
ZeGermans: So if anyone has solved it im doing the following: convert the input string to array, convert all log and lat to doubles, calculate the formula and save it in the array. Then sort the arrays based on the distance, get the first and print out the name
ZeGermans: 1,2 and 4 testcases pass
ZeGermans: the 3rd is showing me that it is expecting something else
Hjax: the submission test cases or the practice ones?
ZeGermans: The complete file one
Hjax: so you can see what the expected answer is
ZeGermans: Yes i did and it ranks lower on my list
Hjax: add some debug prints to your code, find out why your program thinks thats not the correct answer
ZeGermans: I did a lot of those all the conversions are correct but im gonna do the math on a calculator to see if that checksout
Astrobytes: And if you want to test a particular detail you can create custom test cases too
dbdr: darkhorse64, you are bringing people's rating down when they beat you :D
struct: I still see darkhorse in wood 2
struct: something is wrong with this site
Astrobytes: This is worse than a contest
dbdr: nice to be in two leagues at once
darkhorse64: I know. I do not deserve to be here
darkhorse64: Should I delete my account ?
struct: I guess it's just maintenance
dbdr: ask the expert
struct: This is not normal, there was lag before I submited the boss
Astrobytes: Report it on discord
dbdr: I think the othello wood 1 leadberboard is clear: C++ is a poor language
darkhorse64: We are legion
dbdr: quantity, not quality
darkhorse64: Zerg rush on your pawns
darkhorse64: that's the strat
ZeGermans: Do you have this one solved
ZeGermans: Or anyone who has this one solved https://www.codingame.com/training/easy/defibrillators I'd be glad if you could just rerun your code and tell me if it passes
Hjax: i do not, i can try it
ZeGermans: Ty so much
darkhorse64: 53000 people solved it
MSmits: damn cheaters
Astrobytes: All my testcases pass ZeGermans
ZeGermans: Where can i see the other formula Tucos
MSmits: are you fighting ww2 Astrobytes?
Astrobytes: Click the forum link to the left ZeGermans
Astrobytes: lol MSmits
PatrickMcGinnisII: all mine pass ZeGermans
PatrickMcGinnisII: that's actually a puzzle i did in java, cause i needed Double
ZeGermans: Thank you so much guys, solved it ^_^
PatrickMcGinnisII: I guess Wood1 opened
Astrobytes: Site still slow for everyone?
MSmits: been slow for me for a day or two I think
MSmits: still slow now
MostComplicatedUsername: No it seems to be working at normal speed for me
MSmits: I only have problems when loading IDE
MostComplicatedUsername: Oh nvm test replays are slow
struct: I doubt a 8 player rerun caused this
Astrobytes: Well, I mentioned it on dicsord
Astrobytes: *discord lol
Astrobytes: Excuse me, but demanding we help you with your homework or whatever it is will not get you anywhere.
Astrobytes: Google it.
Astrobytes: Cross-posting the same question to the Discord is generally considered rude. Particularly since it is not even related to CG.
Hjax: that easy puzzle took me way longer than it should have, who gives inputs in long/lat instead of lat/long
Squidgoat: work on your googlefu...https://discord.com/invite/vh7ScS
Zerplin: the thor puzz?
Astrobytes: *A wild Zerplin appears!*
Hjax: the defibrillators puzzle @Zerplin
Astrobytes: long time no see
Zerplin: hello Astrobytes
Hjax: it took me an extra 10 minutes to realize i had lat and long switched, oops
Zerplin: i'm surprised ppl still remember me, lol
struct: Can Java get wood 1 on othello?
Astrobytes: You're forever immortalised because of euler's Bender puzzle
Zerplin: glad to hear that :), it was a ton of fun working on it
Hjax: i didnt get a chance to work on ghost in the cell this weekend, i still plan to try to get legend in one submit
Astrobytes: lol, I forgot about your plan :D
darkhorse64: struct: how high is the boss now ?
struct: java is 29.00
darkhorse64: Unlikely to get pushed
MSmits: should have gone with C#
darkhorse64: Not too late.
Hjax: C# Coffee Cup when
MSmits: i am looking at Othello atm
Astrobytes: C# Cup
MSmits: move generation doesn't seem easy
MSmits: but maybe i'll find a quick way
struct: There should be a few articles on it
Zerplin: actually returned here to practice some c#
Zerplin: yeah seems much more feasible now that i've done some oop in js
darkhorse64: bitboarding Othello moves is well documented
Hjax: the article i saw just generated all permutations for a single row, and kept a few rotations of the board
Hjax: then move generation is just indexing into an array
struct: notifications not working?
struct: ah it works now
struct: just very slow
Zerplin: wish you could have several ratings on stuff like gitc depending your language
Zerplin: depending on'
struct: euler online?
dbdr: why not ping him?
jacek: achtung minen
dbdr: when you are white, you need to handle the first time specially, right?
dbdr: since it's not expert format yet
struct: also for black
dbdr: well, for black at least nothing happened
struct: but if you read it will go out of sync
struct: you must add an if()
struct: Now I know that I must add this before game releases
dbdr: you mean expert mode for all?
struct: I should have had this input has default
struct: But game was already released
dbdr: yeah, simpler than the choice
struct: Next game will be 3D
Hjax: do 4D tic tac toe
struct: why stop at 4D?
Hjax: i was literally typing the same joke as dbdr
Hjax: i was just slower
struct: checkers puzzle of the week
Hjax: 4d tic tac toe is played on the same board as UTTT
hanzhere: how to create custom coding game?
struct: Is this it jacek?
jacek: is this what :?
struct: the submit
jacek: i improved some things apparently
TheSpiffiest: Man I am addicted to this Coders Strike back thing. Gold league you get two cars. Went from just hitting targets to classes and algorithms.
TheSpiffiest: I didn't think Covid lay off would actually be fun.
jacek: and now we know the root of site's sluggishness
Astrobytes: Nah he got gold yesterday jacek
jacek: and probably pushed others to legend
TheSpiffiest: It's been about 30 hours, you give me too much credit good and bad I think
Astrobytes: yesterday yeah, CSB is fine rn
TheSpiffiest: Maybe after 3 days you can blame me for site troubles. ;)
jacek: i blame celestia
TheSpiffiest: It does seem to lose game state every half hour or so it seems and I have to reload
TheSpiffiest: Is there at status screen like AWS for each game?
TheSpiffiest: http://status.codingame.com/ - looks like it
Astrobytes: CSB viewer crashes sometimes, goes black and needs reloading
Astrobytes: Site's currently just slow, staff are monitoring it
Astrobytes: Almost there jacek
jacek: im curious what secret tric will reveal this time
Reksio: Any idea what they are running it on? Lambda, containers, azure functions?
Astrobytes: It's their own custom container-based solution I believe
Astrobytes: In contrast to tech.io (the 'Learn' tab) which uses Docker
Reksio: maybe they use k8s
Reksio: well, anything own explains the slowdown
TheSpiffiest: Looks like /services/TestSession/play accepts post data for a game... that unpacks it, passes it to a compiler, parses output to string, runs that against game specific code from referrer, returns that as a json array of frames with positions, then the local game animates that dataset... you could possibly make a recursive memory bomb depending on how the spawn your code if you were a bad guy.
Or if you didn't know what you're doing.
TheSpiffiest: just looking at network traffic anyway
jacek: well there was some troublesome submit which cause zombie process
Astrobytes: Topic referenced here (in case anyone is interested): https://www.codingame.com/forum/t/killed-on-c-memory-reservations/140640
Reksio: yeah, this kind of problem can kill even cloud functions
Astrobytes: And that's defo not the issue this time around
Reksio: I was referring to Jacke's statement
Astrobytes: So was I ;)
Reksio: so no zombie processes?
Astrobytes: No, that manifested itself as a whole other set of issues
Reksio: I hope everything will be eventually consistent eventually ;)
TheSpiffiest: well it's straight C. Hopefully the filter out malloc calls :)
Astrobytes: They'll sort it out, always do
TheSpiffiest: One memory please
Hjax: that error reminds me of an error battlecode had
Hjax: every api called leaked some memory in the engine, but the engine would blame your bot for the missing memory, too many API calls and your bot would be killed for running out of memory, even if it wasnt even close to running out
Hjax: api call*
Astrobytes: lol, well played
Hjax: it was very annoying
Hjax: bot doing great, maybe winning
Hjax: suddenly, Error: Killed
Hjax: this was during the sprint tournament mind you
struct: Astrobytes hard league?
jacek: easy league
Hjax: it felt like we were playing Russian roulette, if our bot could win the game before it died
dbdr: nice jacek!
dbdr: what's new?
struct: jacek you want me to make tric trac boss?
Astrobytes: lol, trying some stuff out struct, and yeah. Good job jacek man!
struct: ah wait
struct: too late
jacek: that would be too easy boss :v
struct: Just wait for his next submit :D
jacek: now lets await trics revenge
jacek: i think im still scratching surface of tuning eval
dbdr: someone's going to be upset
Astrobytes: oh lol, grats dbdr
Astrobytes: woops, spoke too soon :zipper_mouth:
dbdr: just lost one, but it's still early
Hjax: man you guys are really working hard on othello
Astrobytes: Well, they are. I'm failing hard :D
Hjax: rank 7 is what we call failing now is it?
jacek: 7 out of 8? yes
Hjax: much better than what i would come up with
struct: Still no books
dbdr: that's it, I finally earned your respect jacek? :D
Hjax: poor tric
Hjax: he just wants to chill at rank 1
Astrobytes: I'll have you know I was 6th earlier, I'm 'actively working on it'
Hjax: dbdr how long have you known rust for?
dbdr: 1.5 years
Hjax: do you program it professionally? or just use it for hobby projects?
Astrobytes: I remember when you started using CG to practice it
dbdr: just for hobby/CG
jacek: do people use rust professionally?
dbdr: sure, Mozilla, Microsoft, Dropbox, ...
Hjax: yeah mozilla is huge on rust
dbdr: all use rust to some degree
Astrobytes: It's pretty well established now, and more people are coming round to it
Hjax: my last few attempts to learn C++ have ended with me hating myself, i wonder if I would like rust better
Hjax: im spoiled by java and python holding my hand
dbdr: well, rustc will hold your hand too
dbdr: a typical crash or memory corruption in C++ will be a compilation error in rust
Hjax: yeah that is what makes it appealing
struct: Hjax go for it
Hjax: ive been reading "the book"
Hjax: but i havent tried to write anything yet
dbdr: I started with CG puzzles :)
dbdr: but it's a good idea to follow the book
Astrobytes: Do CG puzzles with it
dbdr: there's also exercism that's pretty nice
jacek: you cant learn "good looking" code with puzzles o.O
Hjax: oh exercism is a course? that looks neat
struct: you learn it by playing CoC
Astrobytes: No, you can do that elsewhere
Astrobytes: Never seen that exercism before
Hjax: me either, it looks like a pretty well made site
jacek: unlike CG :v
Hjax: ill take a look at it, thanks for the suggestion dbdr
struct: is performance on par with c++ on CG?
dbdr: to be fair, CG is much more complex than exercism to make
dbdr: yes, except in IDE
struct: So if you want to create an opening book
struct: it will be way harder right?
dbdr: depends how you want to do it
Astrobytes: Hey, Wood 1 Thales crew all offline... what are they planning... :P
dbdr: but you can work around the IDE speed issue
dbdr: sending a compiled binary
dbdr: hopefully CG will do something about it too
dbdr: issue with C# and rust now...
jacek: dont blame on issues now!
Astrobytes: Didn't they say on discord they had no plans to do anything about it?
tomatoes: exercism had very slow mentor reply when i tried it
dbdr: mentor is optional, you can skip it if you want
struct: They made a poll Astrobytes
Astrobytes: Ah yeah, forgot about that
dbdr: [CG]Thibault voted for both :D
struct: Just so both are available
dbdr: ah yes
dbdr: darkhorse64 you time out: https://www.codingame.com/replay/474007427
jacek: he just saw a lose and didnt bother to continue
dbdr: jacek: I'll try to pull tric down as well :)
TheSpiffiest: In Clash of Code, it would be nice to vote other people up for sharing their code
TheSpiffiest: I am learning a lot by just seeing what others did. Would be nice to award them for it.
dbdr: you can do that in puzzles, btw
TheSpiffiest: I'll check that out
struct: But you need to solve it first
TheSpiffiest: So projectEuler.net like
dbdr: how many matches are there per submit?
dbdr: subjectively, it seems to vary
struct: I think its 100
struct: or 90
struct: not sure
struct: Astrobytes knows I think
dbdr: I'm at 60 with 75%
dbdr: maybe I got more because other ppl were submitting
Astrobytes: I do? 90 iirc
TheSpiffiest: So what's a puzzle? I see bot programming, code golf and optimization. Is there another category?
struct: on practice
Hjax: wait we can upload a binary to codingame?
struct: not on contests
Astrobytes: Only in multis not contest yeah
Hjax: i see
dbdr: you can upload a source code
dbdr: a source code can contain data
dbdr: data can represent a binary, or anything else
dbdr: hm, not getting any new matches
eulerscheZahl: i just logged in, not sure how much on topic: https://github.com/Agade09/CG-Send-Binary
dbdr: on topic
Hjax: why is it considered a cheat for contests? because you can bundle 3rd party libraries?
RoboStac: because they want to be able to detect copyied / shared code
Astrobytes: Which can't be done if it's obfuscated in some way
Hjax: are other means of obfuscating also considered a cheat?
Astrobytes: For the reason robo stated
Hjax: i see
Hjax: didnt know that
Hjax: not that ive ever tried to obfuscate my code on here,
eulerscheZahl: but fine for multiplayers, as they are "a zoo" according to SaiksyApo
dbdr: are we the animals?
Hjax: thats why we can have someone in guru with entirely copy pasted bots?
dbdr: well, I know of a toad...
Astrobytes: lol, always ready with that quote euler :D
dbdr: an owl
dbdr: a cat
dbdr: a fox
Hjax: dont forget about the duck
eulerscheZahl: some users obfuscated to some degree because of the 100k chars (no intentation, shortened var names)
Hjax: there are several cats in the zoo
eulerscheZahl: actually it's Marchete who found that qoute so funny
Astrobytes: More like a farm really
Hjax: cats that come to mind, Astrobytes, teccles, karliso
Astrobytes: and Uljahn
Hjax: lol so many cats
dbdr: isn't recar a small dog?
eulerscheZahl: i did not write the same as Astrobytes :o
Astrobytes: More like a veterinary practice
Astrobytes: lol eulerscheZahl
eulerscheZahl: https://www.codingame.com/profile/5748080bdc5c200a1a70f8f64fe93326401494 no dog has such ears
Hjax: what happened to teccles, i havent seen him in here for the last few constests
eulerscheZahl: no idea, was wondering too
Astrobytes: He reckoned these contests were taking up too much of his time
Astrobytes: Guess he'll return at some point
eulerscheZahl: because they can't play in inoryy mode
Hjax: sad, hes fun to compete against, because hes usually so active in chat while hes smashing everyone
Astrobytes: That was just before OOC I think
Astrobytes: lol inoryy mode, one weekend
eulerscheZahl: exactly :D
Astrobytes: yeah, nice fella as well Hjax
Hjax: ive talked to inoryy a good bit in the starcraft ai discord, he knows his stuff
Astrobytes: Sure does. Also a nice guy
Astrobytes: Loads of nice people on here actually
dbdr: only one computing in CSB. what's going on?
Astrobytes: Cause MK is no longer with us
Hjax: what was the original reason CSB had so many people?
struct: Othello > CSB confirmed
dbdr: I think servers are down too
Hjax: i just know the jokes about it, not the actually backstory
Astrobytes: It's the 'tutorial' multi
Hjax: so its just flooded by terrible bots from newbies?
dbdr: the bottom 95K, yes
Astrobytes: have submits stopped dbdr?
struct: i would even say 99k
Hjax: i was about to say, my bot is rank 1303 and its like, 5 lines of code
Astrobytes: OK, I'll add it to the discord, I reported the issues earlier
Hjax: its definitely terrible
Hjax: the bare minimum to get 4000 cp
Astrobytes: hey eulerscheZahl, zerplin has returned btw :)
karliso: Hjax lynx
Astrobytes: Still technically a cat karliso ;)
Hjax: lynxes are cats!
Hjax: i stand by my statement :P
eulerscheZahl: i occasionally see zerp online on discord
Astrobytes: He came back to CG to practice C#
Hjax: what are the other common types of profile pictures, anime girls are pretty common
jacek: colorful horses
Astrobytes: That's a pony.
Hjax: i like that Thibaud has a starcraft picture
eulerscheZahl: he does?
Hjax: yeah, its Mira Han
**eulerscheZahl never played starcraft
Astrobytes: Thanks Hjax, the name had been bothering me for some time :D
Hjax: theres a few starcraft references around here, A*Craft of course, also Automaton2000
Astrobytes: Ages since I played
Automaton2000: and do the same thing
dbdr: Astrobytes: I resubmitted and it's working
Astrobytes: Cool, thx dbdr
dbdr: mentioned it on discord
Astrobytes: Nice one
dbdr: someone knows from what size the 10 ranking games are played?
dbdr: they aren't on a league of 8 for sure :)
eulerscheZahl: i don't think that was ever mentioned in public
eulerscheZahl: only that it's up to 10 games but an be less on smaller leagues
Astrobytes: Yeah, was real fun earlier when I had 10 games against you, jacek, tric and the fox :P
dbdr: true, I saw 3 before
dbdr: I think that's fairly recent, no?
darkhorse64: looks like the rule is (min(league_size/10), 10)
dbdr: darkhorse64 reversed it :)
darkhorse64: I did worse than that in professional life
eulerscheZahl: min(10, max(league_size, 10))
dbdr: you reverse professionally?
jrke: https://www.codingame.com/contribute/view/507644dbe6bc6fc318eeaa25e26e48954355 ready for approval
dbdr: it's a minimax!
eulerscheZahl: or refusal
eulerscheZahl: oh, it's Go
eulerscheZahl: whih will be auto-rejected in 18h
darkhorse64: No, but sometimes it is good to guess how software works (or does not) to explain the authors how to fix it
Astrobytes: nice dbdt
struct: replays get a bit laggy on atari go
struct: at least on level 3
struct: boss vs boss
Hjax: is there a rule against go or chess in multis?
Hjax: obviously they are pretty overdone
Hjax: but i still find it surprising we dont have either game
Astrobytes: I think they'd be fine on here
struct: I thought about it
Hjax: riddles had go, not away of anyone doing chess
struct: But my main problem
struct: is fixed time per turn
Hjax: it would be nice if we could do increment
eulerscheZahl: The game has crashed. Please contact the author and enclose the following error: http://chat.codingame.com/pastebin/48aeb11e-1a3e-45aa-8cc1-5f907f196e9f
Astrobytes: yeah, indeed
TheSpiffiest: huh... I think the temperature puzzle is wrong. It says if you find 5 and -5 return 5, but when you do it says it expected -5
struct: what did he do
darkhorse64: the puzzle is right; your code is wrong
struct: Replay is 1000000 bytes
eulerscheZahl: redraw the full board each frame?
eulerscheZahl: had to close the tab
Astrobytes: Approval-ready eh
Hjax: the other feature i would like a lot would be the ability to play against bots as a human
eulerscheZahl: or it would have killed the browser
Hjax: a decent number of the games here would be easy for a human to interact with
Astrobytes: You can make your own ui and do it locally
eulerscheZahl: but i see no way to integrate it on CG. sounds like a lot of effort
Hjax: yeah its not useful, its just fun
struct: yeah the max you could do is just a javscript bot
struct: on module
eulerscheZahl: i made the local player for wondev woman
struct: and let you play vs it
eulerscheZahl: with brotaltester
struct: Smash the code has this
struct: where you play vs yourself
struct: click on viewer
struct: before playing a match
struct: click here to start a demo
Hjax: wow, thats a lot of effort for something i bet basically no one uses
Hjax: but yeah, imagine that but against a bot
Hjax: wouldnt it be fun
eulerscheZahl: ah, with arrow keys vs wasd
eulerscheZahl: didn't know, won't use
dbdr: "learn something dumb everyday"
Hjax: increment would be amazing though, i really wish we had it
eulerscheZahl: about a month ago i learned that STC has a debug view
struct: Hjax also instead of increment
struct: I would rather have like "timebank"
struct: Dont know what is called
eulerscheZahl: i understand the timebank
struct: Like you would have fixed time to run the bot
eulerscheZahl: no idea what you mean with increment
struct: increment is adding time after move
eulerscheZahl: ah, similar concept
Hjax: yeah, like a chess clock
Hjax: you start with 1 second in the bank, you gain 50 ms every time you move
Hjax: use your time however you want, just dont hit 0
eulerscheZahl: RAIC has something like that
struct: If they shared the time ammount that player still has available
struct: I would port chess
eulerscheZahl: and a generous total timelimit that turns out to be small per turn becuase there are so many turns
Hjax: thats why the increment is important
eulerscheZahl: they had a rocket league contest with a 5 minute realtime match. and played it with 60FPS
eulerscheZahl: up to 6min per bot for computation time of a single match
Hjax: have the cg devs been asked to add an increment mode and said no?
Astrobytes: Hit them with a feature request struct, gl with that :P
eulerscheZahl: yes Hjax
struct: I asked for it before
struct: I tried measuring time that player uses
struct: but is not reliable
eulerscheZahl: such thing was suggested several times by different users
Hjax: oh you tried to do it in the ref?
Hjax: i see
eulerscheZahl: then again it would screw up with the CG system. the referee always assumes that you use the max time given to you per turn
Hjax: you could do a silly timebank, where bots can request an extra turn without making a move
Hjax: that would work in ref lol
eulerscheZahl: if you accumulate lots of time and the get 500ms/turn at some point, CG assumes you really take that long and kills the game after 30s in total
eulerscheZahl: the extra turn could work, true
eulerscheZahl: adds an extra frame to the replay but no biggie
Hjax: kind of an ugly work around, but it would work
Hjax: its just kind of a shame that you get 1000 ms on the first frame, but if you have a book it goes to waste
dbdr: you would need to ping to switch to the second half of the turn?
Hjax: yeah you would just think for 50 ms and then output "MORE TIME" as your move
Hjax: and then keep thinking next turn
dbdr: make it MOAR TIME
Hjax: ^ i like it
struct: I see a small problem with this though
struct: Game is 30 sec max, despite which player uses it
struct: So a player could have used 20 sec vs 10 sec
Hjax: give each agent a limited number of MOAR TIME requests
Hjax: that they can budget throughout the game
Astrobytes: Seems fiddly to implement
Hjax: to ensure that the game doesnt go over the 30 seconds limit
Hjax: im not sure how many moves you would want to force a draw in chess, 150?
Hjax: its not like we would be doing tablebase adjudications like tcec does
Astrobytes: Can you imagine the server strain
Hjax: im not sure how much exploration has been done with 50 ms per move chess
Astrobytes: oooh tric is coming
Hjax: does stockfish even do something decent in that time?
Astrobytes: Yeah that's why I think it would be interesting Hjax
Astrobytes: (wrt 50ms limit)
Hjax: leela can probably just play on policy in 50 ms
Hjax: and be really strong
Astrobytes: I'm not current with the latest versions of the big chess engines tbh
struct: 50ms is more than enough to beat me
Hjax: leela is a alphazero copycat, based on the papers deepmind released, two outputs from the neural net "value" who is winning, and "policy" what moves look the most promising
Hjax: leela plays pretty strong chess even if you just output the policys favorite move
Hjax: with no search
jacek: chess, here? tcec style or from the beginnig?
jacek: i wonder how that would be the opening fest
Astrobytes: nice Hjax, Stockfish still alphabeta based I take it?
Hjax: i feel like with only 50 ms per move and no tablebases, chess here would be decisive even with no tcec book
Hjax: yeah stockfish is a conventional alphabeta engine, free / open source and ridiculously strong
Astrobytes: Yeah I know it's strength :D
Hjax: the tcec superfinal is happening right now, stockfish is beating up leela
eulerscheZahl: lastweektonight just taught me something new: jail != prison :o
jacek: why would it be ==?
eulerscheZahl: both is about incarcerating people
eulerscheZahl: i always thought these words are synonyms
Astrobytes: Prison is long-term, a jail is generally in the police station
struct: Just make 4 player chess
struct: no more problems
Hjax: i would be surprised if chess here was draw heavy
eulerscheZahl: in German we have the simple word "Untersuchungshaft" for jail :D
Hjax: not enough time / no tablebases
Hjax: someone will blunder
jacek: german is beautiful https://i.kym-cdn.com/photos/images/facebook/000/256/637/c13.jpg
struct: Well with 150 you could do around 200ms
struct: 150 turns*
Astrobytes: Kinda translates to "custody", which works for here too
Hjax: i feel like giving really limited time is kind of fun for chess though, forces people to be clever
Hjax: rather than just searching deep with lots of speed optimizations
Astrobytes: Jail is kind-of a US term I think
Astrobytes: You underestimate the ability of CG'ers to pack books into their bots Hjax :P
Hjax: chess books are also cool
struct: Well I could do arimaa
struct: and rip books
Hjax: chess opening theory is very deep and complex
jacek: and crushed by NN zeros
struct: or chess960
Astrobytes: I like the idea of chess960 (Fischer Random) as I've said previously
Hjax: chess960 would be cool
Astrobytes: less book, more chess
Astrobytes: *moar, sorry
Astrobytes: In fact, that could be the title of the multi
Hjax: multis are written in java right?
Astrobytes: Trust you to lower the tone jacek
Astrobytes: Yeah Hjax
Hjax: thats convenient if i ever decide to write a multi
struct: Just dont follow my multis as a guide
jacek: but i followed when i made mine D:
Astrobytes: Pony magic
eulerscheZahl: make sure the board is randomly generated and not just the same starting for each game
Astrobytes: Other than chess, do you have some ideas Hjax?
eulerscheZahl: don't tell!
eulerscheZahl: not if it could be a possible contest
Astrobytes: That's chess960/Fischer Random eulerscheZahl
eulerscheZahl: sorry, didn't read all the chat :(
eulerscheZahl: back to last week tonight
Astrobytes: And yeah, not asking to disclose, just wondering if he had some ideas
Hjax: i havent really put any thought into the idea that i could write a multi before this moment
Astrobytes: Well, put that Java knowledge to use eh
jacek: submits stopped again?
Astrobytes: No, tric's submit seems to be working
Astrobytes: Maybe slow?
Astrobytes: No, seems OK actually
Hjax: i dont think any multi i would come up with would make a good contest, id probably just be reimplementing an existing game
Hjax: im not incredibly creative
Astrobytes: Never say never
struct: What if player could choose starting positions?
struct: Would it be too random?
Astrobytes: And original games are mostly collaborations too
Astrobytes: For chess960?
struct: So it wouldnt be mirrored
Hjax: i feel like that would eliminate a lot of the positions
Astrobytes: Doesn't seem like there's a point to that
Hjax: some of them are just horrible
Hjax: and would be a free loss if picked
struct: ok, I don't know a lot about chess
struct: I only played a few games, I'm very low rated
Hjax: im a roughly average chess player
Astrobytes: I hardly play these days, was a lot better when I was younger
LelouchVC2: I shall eliminate all chess players with my superior power
struct: Hjax if you end up making it pm me or something
struct: So we dont end up both making it
Hjax: if you want to make it its all yours
struct: Nah, I have something else to do atm
Hjax: i wouldnt even start until after im done with ghost in the cell
Astrobytes: Remember, if you don't get Legend in that single submit you have to delete your account Hjax
Hjax: i dont intend to delete my account :P
Hjax: guess ive got to make sure my bot is perfect
Astrobytes: struct really raised the bar for failure
Hjax: should have called it ghost in the terminal, because you know.... shell
Astrobytes: Doesn't trip off the tongue quite as nicely though
struct: Chess wouldnt take a lot fo time to port right?
struct: Like 1 or 2 days should be done right?
Hjax: not really, but i havent written a multi before
Astrobytes: Ghost in the csh
Hjax: i also find it amusing that ghost in the shell sounds more codingame esque than ghost in the cell
Hjax: since the normal scheme is to insert a coding pun into an existing name
Astrobytes: Yes, very true
Shagufta_Siddique: anyone else who has done code how time flies in c++
struct: If I do make it, I will try both variants
Astrobytes: Host in the Shell would be a nice CTF name
Hjax: you could just write 960, standard chess is one of the 960 starting positions
struct: 1 / 960 :D
Hjax: right, but if you decided you didnt like 960
Shagufta_Siddique: i need to submit it tomorrow as my semester project , anyone who can help
Hjax: you could just force the right starting position
struct: yeah nothing will change
Hjax: might be interesting to do like, 50/50 standard chess and 960
Hjax: like pump up the odds of normal chess
Hjax: but still have 960
Astrobytes: Intriguing idea
struct: or let players choose
struct: if they want both 960 is 100%
Hjax: lol they vote on it? thats clever
struct: Yeah, you can do that
struct: if its 50/50
struct: too bad
Astrobytes: This would not stop book play though
Hjax: it wouldnt, but it would weaken it
Hjax: i dont hate books
struct: Books are also part of the strategy
Astrobytes: No me neither, just would be fun to have anti-book chess
struct: Its a bit different from uttt books
Astrobytes: You can't book 960
Hjax: you could do some automated book generation for 960
Astrobytes: Well, I guess you could to an extent
Hjax: just do a deep search from each starting position and cache the result
Astrobytes: But it wouldn't be a book small enough to use on CG
Hjax: you could probably fit a 3 or 4 ply book
Hjax: for all of the starting positions
Hjax: with good compression
Astrobytes: Yeah, sounds about right
Astrobytes: BUT, it might be totally useless in 960
Astrobytes: As traditional opening theory doesn't apply
Hjax: but if you are generating it with a deep search
Hjax: then it doesnt matter
Astrobytes: So once you're off book, many lines are possible that you might not have anticipated
Astrobytes: If you see where I'm coming from
Hjax: sure, you probably wont win in book
Hjax: but you probably can get some edge consistently
Astrobytes: Would be interesting to see!
Hjax: maybe i should write an othello bot before i try chess 960
Hjax: too many games, not enough time
Hjax: unless i want to be coffee cup 2.0, i really need to use rust or c for othello
Hjax: which is why ive avoided it and similar games until now
Astrobytes: Well, no time like the present eh ;)
Snef: otherwise you do python Hjax ?
Astrobytes: But finish GitC first ofc
Hjax: im comfortable writing both java and python
Hjax: and horribly uncomfortable writing anything else
Hjax: my pr2 bot is python, my utg bot is java
Astrobytes: Write your Othello bot in either and port it after?
Astrobytes: Porting from one language to another is always a useful learning experience
Hjax: so i tried to do that for pacman
Astrobytes: During the contest?
Hjax: because my monte carlo was too slow in java
Snef: i was doing my bots in java 3 years ago and started doing them in c++, it's not that different tbh
Astrobytes: Less pressure outside of contest ;)
Hjax: and i discovered i leaned on a bunch of things in java that i couldnt easily rewrite in c
Hjax: especially given the time constraint
Hjax: i ended up just giving up on pacman on friday, and not doing anything on saturday or sunday
Hjax: im too used to garbage collection lol
Astrobytes: Yeah, you can write C++ in that Java-ish style, then optimise afterwards
Astrobytes: It becomes C with some C++ features
Hjax: i forget what i hit my head on in C++ while trying to port pacman
Snef: Astrobytes do you use c++ fancy stuff ?
Hjax: but i remember being frustrated with it
Astrobytes: What 'fancy stuff' Snef?
Snef: i mean, i do c++ but i feel i use 5% of the lang
Snef: like i only use class / pointer
Hjax: i think it was the arrays in C++ that were annoying me
Astrobytes: I sometimes use std container algorithms, sometimes even std containers (I have a custom vector class though if speed is required). I use auto and stuff, otherwise just mostly C-style
Hjax: you need to know their size at compile time, and i kept getting compile errors when i tried to make a 2d array
Astrobytes: You could use vectors Hjax
Snef: any benefit to use auto over basic type ?
Astrobytes: No, just laziness/saves typing out long iterator types etc
Snef: hmm okey
Snef: and i never used boost stuff
Snef: is it usefull ?
Astrobytes: Me neither
Snef: okey i guess i'm fine then :p
Snef: (should i start Othello and try to beat you today hmmm)
Hjax: ill have to check the exact issue i was having later, i just remember thinking that my java was not written in a very C++ friendly way
jacek: he done it again :scream:
Snef: almost 97% wr wow
Astrobytes: holy shit, 6 points clear almost
Hjax: jokes on you jacek, tric has like 10 versions waiting to submit,
Hjax: he solved the game weeks ago
Snef: Astrobytes what do you have on othello ?
struct: wtf I only saw now
Astrobytes: a/b + ID minimax Snef
struct: tric rating
Snef: tomatoes are you here ?
Snef: oh ok Astro
jacek: hes mcts
Snef: vanilla ?
Astrobytes: tomatoes has MCTS
Hjax: tomatoes said he has no idea how to play, so he just wrote vanilla mcts
Astrobytes: afaik yes
jacek: i think so
Snef: optimized ?
Snef: his rollouts seems low
jacek: teapot claims 80k rollouts on 2nd turn
Snef: i need to learn how to optimize lol
Snef: even with bitboard and look up i only achieved 30k on uttt
Hjax: so when people write a search in a non garbage collected language, what happens to the nodes that fall off the tree when a move is made?
Hjax: do you have to free them yourself
Snef: i have a big array for nodes
Astrobytes: Node preallocation
Hjax: oh you reuse them
Snef: new is to slow
darkhorse64: recycle. We are green
Astrobytes: Put that first 1s to use
Snef: and those 720MB
Hjax: how do you decide if a node is already in your tree or safe to reuse? or how do you find a fresh node to insert into your tree
Snef: index and you increment :p
Snef: if your array size is big enough there is no problem
tomatoes: i patched rollouts with some priority
Snef: otherxise you need to reset it at some point
Hjax: so you preallocate enough nodes for the entire game?
Snef: Hjax if you have low enough rollout you can
Hjax: and if you dont? you want to reuse rollouts from previous moves right? so you dont want to throw away your existing tree
Astrobytes: Don't create nodes for your rollouts
Snef: well if you use less than 10% of your node array each turn i think your safe
Snef: because you won't keep node that you created 10 turn before
Astrobytes: rollout from your created nodes
Hjax: i dont follow
Astrobytes: rollout from created child node, propagate result
Astrobytes: No need to create nodes for the rollout
Astrobytes: It's just moves
struct: dont do it like me
Snef: he was just talking about reusing tree i think astro
Astrobytes: Ah ok
Hjax: yeah tree reuse, how do i know what nodes to keep?
Hjax: assuming i search too fast and run out of memory
Snef: if you are close to your max
Snef: just reset the tree
Hjax: and play a terrible move while you rebuild it?
Snef: not terrible
struct: That is the easier way
struct: But there are better ways
Snef: and you 'd only reset it one time in one game
Hjax: i wrote a bitboard representation for uttt a while ago
Snef: i don't reset for uttt Hjax
Hjax: but i couldnt work out how to structure the search in C++
darkhorse64: first reset your tree index
tomatoes: i had [idx % pool_size] in more earlier version of uttt
Snef: i'd need 80k+ rollout to need reset
Hjax: how many nodes do you allocate?
darkhorse64: before resetting the tree itself
darkhorse64: 20 M
Snef: darkhorse64 cheater :(
struct: 15 M
Astrobytes: I don't do UTTT yet but in Oware I have 10M
darkhorse64: I could do more
Hjax: the tree generation stuff was the part of mcts i got stuck on the last time i tried
Hjax: i understand the theory, and could write a very slow version in java or python
Snef: it's not hard to do a fast mcts, the problem is doing a fast play() and move generator for the game i guess
Hjax: i already have move gen + play written for uttt
Snef: in c++ ?
Hjax: i just couldnt figure out the mcts part
Snef: i can share part of my code if you want
Hjax: nah you dont have to do that
tomatoes: uttt dont need to gen all moves in rollouts
Snef: well i don't care ^^
Hjax: why not tomatoes?
tomatoes: its slow
Snef: you just to know how much you have to take one random, that's what you mean ?
Hjax: im not sure how i would know how many legal moves there are without generating them
tomatoes: yes, or 2 if freemove
Snef: Hjax i keep the number and decrease it after every move
Snef: but there is other solution
Hjax: so you just say, theres 5 legal moves, i shall play the 2nd, make the second 0 bit in the miniboard a 1, deincrement down to 4 legal moves
tomatoes: precompute allowed
Snef: Hjax yes
Snef: but i do that for the global board
Snef: if i play in one miniboard only
Snef: i just bount bit
Snef: empty = ~board & 512
Hjax: popcount is magic
Snef: and i use builtin ctz to get index of the bit, but i know this isn't the fastest way
Hjax: idk maybe my next attempt at mcts will succeed
Hjax: i could definitely write it in python, it would just be slow as dirt
Hjax: java wouldnt be much faster
Astrobytes: Do it and convert. teccles did his in python first, then converted to C++
Hjax: dont compare a mere mortal like me to teccles :P
Astrobytes: Point still stands tho'
Astrobytes: You can do it
Astrobytes: dbdr: sometimes it's all about the small victories :P https://www.codingame.com/replay/474028172
tomatoes: wlesavo said he learned cpp for his uttt bot in 3-4 days
dbdr: gg Astrobytes :)
Astrobytes: Sheer luck
jacek: good, pull him down
Snef: jacek mcts ?
jacek: good old a/b
Snef: dbdr too ?
Snef: tomatoes is the highest mcts ?
jacek: MSmits but he didnt upload it yet
Snef: he hasn't started yet
Astrobytes: He looked at it today.
Snef: he told me he was gonna beat those nn in oware before :p
Astrobytes: He was at one point.
Snef: past doesn't matter..
Astrobytes: He was above one of them before Agad e resubmitted his fixed NN last week
Snef: i'm pretty sure he will beat them soon :p
jacek: oh, trics using book
Astrobytes: opening or endgame?
Snef: 4 ply
jacek: or at least his bot says so
Astrobytes: Just seen it
Astrobytes: Might be a troll :D
jacek: 16 plies against me
jacek: average 8-9 plies
AntiSquid: nvm bit late reply :p
not_bad: my name is not badd
not_bad: do you know matu
not_bad: nah matu ballz in your mouth
not_bad: mines bigger boii
not_bad: ur sugar daddy
ardozl: hi guyss
ardozl: any khontkar fans ?
ardozl: sürtüğe bakkk!!!
burakgecer: heyy dude im biggest fan of khontkar
ardozl: istiyo ben
burakgecer: yes yes
ardozl: OMG -_-
ardozl: fvck şehinşahh