DialFrost: hello world
Hwan_Jo: hi everyone
Bertinator: dried grass
ammari: yo guys i liked this website
ammari: i'm using it to improve my python skills
MSmits: jacek, I've been working on my meta mcts with 36 seed book and I am testing some games to see how good your bot is
MSmits: this game: https://www.codingame.com/replay/600200948
MSmits: your bot plays perfectly till frame 47, then my bot makes a mistake in the endgame book
MSmits: meaning the book is not in my live bot so it cant use it, but i can check it locally
MSmits: when i say perfectly it means every move your bot plays is aimed at maximum net seed gain
MSmits: i'll check the rest of the game, but your bot is ahead then so it doesnt have to play perfectly from then on
MSmits: yeah that's funny, it makes a mistake itself only 2 frames later, but it doesn't matter. I guess thats what happens when you train for winning instead of seeds gained
MSmits: oware bots have gotten ridiculously good
MSmits: so I can't even counterbook you with the meta unless I include parts of my 36 seed endgame book in my bot.
MSmits: I'm going to try to train a nn with that book so i don't have to... that's the plan anyways
Daporan: MSmits, how do you know the early moves are perfect?
MSmits: I run a meta mcts which, instead of playing games till the end, it plays games till <=36 seeds and backpropagates the result. That makes them very accurate and fast
MSmits: it's a very simple game with on average only a branching of 5 and many bad moves, so it's easy to converge all the way on the endgame book
MSmits: i have a 60 GB endgame book with all possible states with <=36 seeds
ALI_KHAN_AFGHAN: Hi, everyone how are you?
MSmits: hi ALI_KHAN_AFGHAN
eulerscheZahl: you didn't answer the "how are you" part
MSmits: it can be extracted from my sermon
eulerscheZahl: my standard reaction to someone else writing a bunch of dots, less funny when you already see what's about to happen before it even really started :(
MSmits: well you did it often enough now :)
MSmits: so i recognize
eulerscheZahl: next time i'll trick you into thinking i did
ALI_KHAN_AFGHAN: You are from where @MSmits
MSmits: says on my profile. The Netherlands
eulerscheZahl: from a city named "Private"
eulerscheZahl: that's where counterbalance is from as well, isn't he?
ALI_KHAN_AFGHAN: here how to tag someone? i means by which symbol?
MSmits: yes he is also from private
MSmits: type start of name
MSmits: then tab
eulerscheZahl: just write the name and it will be red for that one person
ALI_KHAN_AFGHAN: MSmits not works
MSmits: it works
MSmits: you did it
MSmits: message is red for me ALI_KHAN_AFGHAN
Daporan: MSmits, maybe you can train a NN and then "fill the gaps" with the book to create a perfect bot. Think of the NN as a lossy compression algorithm.
ALI_KHAN_AFGHAN: really thanks for help me to tag someone.
MSmits: yeah Daporan that was exactly my plan. Basically the endgame book (the game between 36 and 9 seeds) i dont have in my live bot because it obviously doesnt fit. so i was going to train that part
ALI_KHAN_AFGHAN: i 'm new here to learn python and also improve my english so please help!!
MSmits: the early game can just have an opening book, doesnt have to be big and if the opponent deviates from it too much then he's playing bad anyway and i can just use the nn to play it ou
ALI_KHAN_AFGHAN: MSmits here the coding is so difficult
MSmits: we have simple puzzles too, but of course everything is relative, so simple might not be simple for you. Or maybe it is, depends on your experience
ALI_KHAN_AFGHAN: its very different from pycharm
MSmits: you mean the IDE they use. Then don't use it
MSmits: paste the code into your pycharm and work there, then paste it back to test it
MSmits: thats how i work most of the time
MSmits: except for very short puzzles
ALI_KHAN_AFGHAN: yeah but the puzzles code not working in the IDE
MSmits: ahh i mean you cant do test cases, true, for those you need to paste the code in the CG IDE, you cant test in pycharm
MSmits: unless you set something up to use the same input, but that might be too much work for a simple puzzle
eulerscheZahl: i usually copy-paste the CG input into a text file and set that as stdin for my IDE
eulerscheZahl: oh, you beat me on it
MSmits: yeah, i've maybe once or twice done that, but usually i dont
MSmits: i have to think about how to do that, so it takes me more time
eulerscheZahl: i do it for bigger things (bot, optim) but also for puzzle contests like codeforces, codejam
eulerscheZahl: for all other cases i just that junk-project that i reuse when i don't need it anymore
MSmits: I used it for your number shifting puzzle, but you provided helpful code
ALI_KHAN_AFGHAN: The logic of CG IDE is very different from PyCharm
MSmits: no doubt, i usually use visual studio for C# and C++. Also very different
eulerscheZahl: not when you set up your project properly
ALI_KHAN_AFGHAN: CG IDE is like professional
MSmits: oh you're saying CG is better
MSmits: i guess for python it's different
eulerscheZahl: that's the first time is see someone calling it like that
MSmits: maybe for python it's good?
eulerscheZahl: it's still mostly a text editor with a language server that often loses connection
MSmits: I admit i had no problems using it for python in simple puzzles
MSmits: I guess if you dont need the intellisense much, you dont miss it
ALI_KHAN_AFGHAN: the CG IDE is out of my mind range..:joy::joy:
eulerscheZahl: and the lack of debugging, breakpoints, ... is an absolute dealbreaker to me
eulerscheZahl: on top i use git versioning for my bots
MSmits: yeah I guess I almost never use advanced debugging features in IDEs
MSmits: I dont think i ever used a breakpoint :P
eulerscheZahl: you never fail to surprise me
MSmits: I am very creative with console debug messages :)
ALI_KHAN_AFGHAN: MSmits are you python developer?
MSmits: not really no, i use python for work sometimes
MSmits: but i teach so they are simple things and toy projects
eulerscheZahl: sometimes those debug messages can be helpful. when your BFS stops working 20 iterations in and you don't want to do all those debugger steps
MSmits: how would you use a breakpoint for that?
MSmits: i would just have a counter and use binary search to find the correct iteration
eulerscheZahl: i mean cerr
eulerscheZahl: there are conditional breakpoints, sure. but i rarely use them, makes the code running much slower
ALI_KHAN_AFGHAN: Actually i learned python basic from youtube (CodewithHarry) but here ?????
eulerscheZahl: if (condition) System.Diagnostics.Debugger.Break() :angel:
MSmits: ah ok
MSmits: i guess i would just use an actual "break" and debug messages
MSmits: to break out of whatver loop
eulerscheZahl: when you know the basics of python, just make sure that you also know input() and print(), then you are ready to go here on codingame
MSmits: ALI_KHAN_AFGHAN the input structure takes some getting used to maybe (the while loop for different turns in some puzzles), but once you get that, using python here is very basic
MSmits: this time you were faster
eulerscheZahl: user level at 9 already, so you seemingly understood how to use the website already
MSmits: ah yeah level 9 means quite a few puzzles done
ALI_KHAN_AFGHAN: MSmits in every Clash of Code i have 0% score............:sob::sob:
MSmits: ahh who cares about clash, I am not that great at them either, usually i dont win
MSmits: time limits suck
MSmits: any time you dont find the solution in time, it's just wasted time
ALI_KHAN_AFGHAN: Give some ideas
MSmits: do puzzles until you get tired of them, then do optims and multis
ALI_KHAN_AFGHAN: MSmits your good name please?
MSmits: thats the correct way to use CG
MSmits: my good name?
ALI_KHAN_AFGHAN: Ok Thanks for your ideas
MSmits: are you using a translator?
MSmits: it's fine, i am just wondering
ALI_KHAN_AFGHAN: yeah i'm asking about your name?
MSmits: msmits is my real name
MSmits: the rest of the m being private :P
MSmits: but if you are really dedicated i can be found i suppose. Not too worried
ALI_KHAN_AFGHAN: smits is ok but m for what?
MSmits: private :)
Astrobytes: M for Mad
MSmits: sure that works
ALI_KHAN_AFGHAN: no i cant use translator at all
MSmits: hah no
MSmits: that sounds German
ALI_KHAN_AFGHAN: its means you are mad....:joy: ok sorry
MSmits: heh thats ok, I have actually shared my real name here before, but it's a bad habit
MSmits: don't want an angry Polish person at my door because i counterbooked his bot
ALI_KHAN_AFGHAN: Sir don't mind ok i'm new here
ALI_KHAN_AFGHAN: no no every person are good but they react a bad behave by his tention
MSmits: I didn't do it yet jacek, hold off on the rage :)
ALI_KHAN_AFGHAN: i 'm too weak in english......but please manage
MSmits: we try
ALI_KHAN_AFGHAN: thats good
ALI_KHAN_AFGHAN: Is there any Afghani in Netherland
MSmits: yeah I am sure we have some refugees
MSmits: not sure how many
ALI_KHAN_AFGHAN: Ok ...... How they react ?
MSmits: did you flee from Afghanistan or have you grown up in Pakistan?
MSmits: i dont know any personally
ALI_KHAN_AFGHAN: Yeah i'm basically from Afghanistan but now studying in Pakistan
MSmits: but you won't go back will you?
MSmits: you really shouldn't, if you have a choice
ALI_KHAN_AFGHAN: i ts means you don't phase any refugee
ALI_KHAN_AFGHAN: sorry face....
MSmits: no i don't know any refugees personally, but there might be a camp somewhere nearby.
MSmits: or maybe they live in ordinary houses. I havent looked into it much
ALI_KHAN_AFGHAN: i will back to my country after complete master Degree
MSmits: aren't you afraid about how things are now?
MSmits: i guess it might be different depending on your background, but for us westerners it seems like a bad place to be
ALI_KHAN_AFGHAN: everything's is ok for us because we grown up in that type of situation
MSmits: I see
MSmits: so you just want to go back and help build up your country under whatever circumstances you run into?
MSmits: I respect that.
ALI_KHAN_AFGHAN: Yeah i want to do something better for my country and build up and also train my peoples
MSmits: that's great
ALI_KHAN_AFGHAN: A lot of my country peoples are uneducated that's why there are many problems are going on.
MSmits: yes, education is everything
ALI_KHAN_AFGHAN: by the why i love cricket
MSmits: haha yes I know cricket is big over there
ALI_KHAN_AFGHAN: and we have a series with your country team...:joy: in this month
MSmits: oh really. I suspect we suck, but i have no idea
MSmits: this is a soccer country mostly
MSmits: but we do well in some other sports
MSmits: skating, hockey i think
ALI_KHAN_AFGHAN: its means you are not interested in cricket...:joy:
MSmits: but the guys that will be playing your team are obviously very interested
ALI_KHAN_AFGHAN: i am too confused what should i do in my final project????
MSmits: I would always go for something with AI, but that might be too hard.
MSmits: maybe a simple tic tac toe game?
jacek: master project?
ALI_KHAN_AFGHAN: yaa i have a subject Artificial Intelligence in 6th, 7th, 8th semester
struct: ttt seems way too simple for final project
MSmits: yeah for a master project it is
MSmits: if it's just a 1 semester python coding class it's fine
ALI_KHAN_AFGHAN: no Bachelor projects
jacek: still too simple
MSmits: hard to say really
MSmits: would have to see the course material to see how deep it goes
MSmits: if it is completely introductory to coding it should be hard enough
ALI_KHAN_AFGHAN: ok i'm to eat something......if you want i can parcel you
struct: just do some ML stuff
MSmits: ML is fun
jacek: i think he means message or DM/PM
MSmits: oh ok
MSmits: yeah sure
MSmits: a wild astrobytes appears!
Astrobytes: I've been here for ages
MSmits: yeah lurking, i tabbed you earler when trying to ping ali
Astrobytes: I said M for Mad earlier
jacek: why would you ping Astrobytes needlessly
MSmits: oh right
MSmits: maybe you've just become part of the furniture and i dont register :P
Astrobytes: it's not annoying anymore jacek
Astrobytes: possible :D
jacek: Automaton2000 is it true?
Automaton2000: we are more "abstract based" :d
awesomedude123: hey i need some help. The clash I am doing right now is asking to do a "XORing" over a list
eulerscheZahl: "a wild astrobytes appears!" Illedan sent him
awesomedude123: but i am confused what that even means
awesomedude123: does someone mind explaining
MSmits: xoring means using the bit operation "xor" or ^
eulerscheZahl: XOR over list of integers?
awesomedude123: yeah a list of ints
Astrobytes: I was already here eulerscheZahl, just didn't have the tab open
awesomedude123: do I have to do some operation on the integer?
awesomedude123: like using ^
eulerscheZahl: in most languages: a XOR b is written as a ^ b
eulerscheZahl: basically it takes the binary form of the numbers and checks digit by digit
MSmits: green truth table is the most helpful
eulerscheZahl: 0^0 = 0 0^1=1 1^1=0
eulerscheZahl: XOR = exclusive or
MSmits: but yeah just using the operation "^" blindly should work too
MSmits: i guess you dont even have to know what it does
eulerscheZahl: and https://www.binaryhexconverter.com/decimal-to-binary-converter for understanding
awesomedude123: cause the list consists of 1 and 0 but I am unsure what to do. Do I just do like 1^0
MSmits: depends on the problem description
MSmits: xoring one number with another means doing a ^b
eulerscheZahl: what coding language?
struct: I think its already in binary form
MSmits: ohh that makes things difficult
eulerscheZahl: result = 0 for n in list: result ^= n print(result)
MSmits: you need to write a converter from binary to decimal
struct: no MSmits
struct: you just need a for loop
MSmits: or xor them character by character i guess
struct: and a[i] ^ b[i]
MSmits: ah right that works
eulerscheZahl: way too much
eulerscheZahl: such an original theme
eulerscheZahl: might be https://www.codingame.com/contribute/view/1268a2ed4d50a09abd4d5b396abc79e23cc
eulerscheZahl: and CodinBot broke the formatting while deactivating reverse. I wonder if that also affects the version visible to clashers
eulerscheZahl: can't even open it with the lower button
MSmits: so many xor puzzles
eulerscheZahl: sum(nums) % 2 would also do the trick
awesomedude123: thanks guys
awesomedude123: got it
eulerscheZahl: powerful struct with his 300+ clashes
struct: missing a 0
eulerscheZahl: input() print(sum(map(int, input().split()))%2)
eulerscheZahl: did it
jacek: no need to use xor, just train nn for it
eulerscheZahl: but all the different input sizes :scream:
jacek: use RNN [solved]
struct: so this is what I need to stop NNs, different board sizes
MSmits: it definitely helps in making it harder to stop NN's.
MSmits: but it wont stop it definitively, it just stops nn creators that are not that good at it
MSmits: re curse was able to use his toto zero with many different starting boards. Not different sizes, but different setups
MSmits: well there were dead hexes so kind of different sizes
MSmits: you'd basically either make completely different networks based on how many different sizes there are or you'd mask unusable hexes/cells
MSmits: probably the masking is more codesize-efficient
struct: probably yes
jacek: sc2021 has fixed size, just mask unused hexes
jacek: CNN suffers less from changing board size, as the go bots were still good for 21x21 and 17x17 sizes
jacek: also there are some tricks to make it board size invariant i.e. havannah https://en.wikipedia.org/wiki/Havannah#Computer_Havannah
MSmits: yeah that was my point though, it's an extra step to make it harder for nn creators
MSmits: it also makes them less efficient I think, maybe requiring a larger network
MSmits: oh and CNN itself is already beyond many of our NN creators. The ones that use Marchetes framework for example
struct: too many types of NNs
MSmits: well thats good
MSmits: I like variety
MSmits: it's cool how many types work on oware
MSmits: could also be a sign that the game is too simple
MSmits: i clicked it accidentally
MSmits: i dont do escape
jacek: i think oware is dominated by one-hots MLP
eulerscheZahl: so you just click links in the chat? how about this? https://www.codingame.com/servlet/fileservlet?id=955564061908
BlaiseEbuth: Mods ! Ban eulerscheZahl
eulerscheZahl: ban BlaiseEbuth and get a free pass from Thibaud
BlaiseEbuth: Works too.
BlaiseEbuth: Pass for what ?
struct: double or nothing?
eulerscheZahl: pass for banning a well known user
BlaiseEbuth: An achievement so?
eulerscheZahl: still waiting for them to remove my contest creator achievement
eulerscheZahl: or contest participant :smirk:
BlaiseEbuth: And the aneo ones
eulerscheZahl: they are still there?
jacek: why would they remove them
eulerscheZahl: you can't create a community contest anymore, so that one is clear
BlaiseEbuth: Of course they are. On CG the only thing that can be deleted is my account.
eulerscheZahl: "happy birthday, play 12 contests" that takes 6 years if we have 2 contests a year, which sounds questionable to me
Astrobytes: Meh. Who cares? :D
BlaiseEbuth: Don't question, you'll be banned.
eulerscheZahl: i don't have backups of all my bots
BlaiseEbuth: Time to get them...
eulerscheZahl: do you have a script for me?
eulerscheZahl: no, for downloading my codes
eulerscheZahl: oh wait
BlaiseEbuth: Yeah, item 6
eulerscheZahl: cool, thanks
eulerscheZahl: i'm always impressed what you can do with bash if you know how
BlaiseEbuth: Yeah... If you know how :sweat_smile:
eulerscheZahl: me creating a folder so i can copy the target path into the script '/home/eulerschezahl/Documents/Programming/challenges/CodinGame/backup' already exists, aborting.
eulerscheZahl: it's doing something
BlaiseEbuth: Yes, the script is not really flexible ^^ I had to try several times before I got it to work properly.
eulerscheZahl: skipped the python2 backup but that's fine with me i guess
eulerscheZahl: i know i could just comment that 1 line back in again
eulerscheZahl: and it lacks parallelism, my replay downloader uses 50 threads by default until CG temporarily blocks me
eulerscheZahl: oh, it even has a sleep not to stress more
BlaiseEbuth: Yeah there's a bunch of amelioration to do. But on the other hand, you only have to run it one time... So...
eulerscheZahl: i just let it run
eulerscheZahl: codegolf finished already, on easy now. would take me longer to code it all by myself
jacek: do you trust blaise that much? what if it sends the code to him
Astrobytes: not his script
eulerscheZahl: i have the bash code here, readable
eulerscheZahl: and i bet it's authored by stilgart himself
eulerscheZahl: in case you are here (i don't see the list of all users anymore): thank you very much
BlaiseEbuth: :( You're so mean jacek.
eulerscheZahl: hmpf, also skipped my swift3
eulerscheZahl: that brilliant marslander1 solution
eulerscheZahl: would be a true loss to humanity
eulerscheZahl: it also creates folders if you haven't even tried the puzzle?
BlaiseEbuth: Ah yes, all the folders are created.
Astrobytes: definitely written by Stilgart
eulerscheZahl: that's expensive, do you think all these folders grow on trees?
eulerscheZahl: ban pun, couldn't resist
BlaiseEbuth: I didn't let it finish since I already have my backups.
eulerscheZahl: i'm 20 puzzles into the easy community ones now
eulerscheZahl: with a 10s sleep after each one
eulerscheZahl: screw this, i'll stress the server
eulerscheZahl: and get my python2+swift3
jacek: what if you get banned
eulerscheZahl: as long as the script finishes before
eulerscheZahl: already overtook the sleeper script
eulerscheZahl: i've downloaded tens of thousands of OoC replays during the recalc as soon as they were played, nothing ever happened of it. even asked if it's ok on the private game creation discord channel
jacek: private game creation discord channel :thinking:
eulerscheZahl: on CG discord, each community contest got its own private channel just for creators
eulerscheZahl: at least after they moved away from slack
eulerscheZahl: i still have a folder with 46472 replay files
eulerscheZahl: 46.472 items, totalling 4,9 GB
eulerscheZahl: all the effort just to share some charts with you guys
eulerscheZahl: i'm sure Stilgart did. he solved it and Haskell is his default language
eulerscheZahl: oh yes, with haskell 5 months ago
eulerscheZahl: you can hope that stilgart or JBM are online and willing to reply
eulerscheZahl: my haskell doesn't go beyond a "hello world" and i'm allergic to ascii art
eulerscheZahl: the backup script just saved by last number shifting submission. most useless backup i can think of
eulerscheZahl: oh, it finished :tada:
Mrs.GloriaZindlebocker: a bash script that pulls everything? that sounds useful
eulerscheZahl: just the last submit of each language
Mrs.GloriaZindlebocker: How long did it take to run?
eulerscheZahl: 25min. but longer for you as you have many languages on everything
eulerscheZahl: and i outcommented all sleep statements
bmacho: i want the script that downloads something too
bmacho: pls Q.Q
eulerscheZahl: https://chadok.info/codingame/ point 7
bmacho: now they save somewhere which languages I tried the onboarding
Mrs.GloriaZindlebocker: something fishy on point 2
eulerscheZahl: because you are missing?
Mrs.GloriaZindlebocker: heh heh, yeah just kidding
**BlaiseEbuth slaps Mrs.GloriaZindlebocker around a bit with a large fishbot
bmacho: how they know if a player opened the IDE for a puzzle :0
noisy_datum: anyone skilled in web development?
eulerscheZahl: depends, get to the point
jacek: the suspense is killing me
eulerscheZahl: maybe there is no follow-up question after all
Mrs.GloriaZindlebocker: Wont banned him for off topic
Assasint: What up
Ooflord: what is the best website to learn python 3?
Ooflord: nothing much
Ooflord: bc im trying to learn but i cant find a good free course
Assasint: I know one site
Ooflord: what is is? :0
Ooflord: i learned a bit of python 3 with codecademy but it wont let me learn more
Assasint: It great
Ooflord: i tried learning python 2 with codecademy but its really outdated
Ooflord: ohhhh k ill give that a try
HungryBurger: I've been satisfied with the Python examples on this site: https://www.w3schools.com/python/
Ooflord: okay tysm guys ill give mosh and w3schools a try
Assasint: I know a other site it call udimi
Assasint: It fun learning
bmacho: PYTHON IS SO MUCH FUN
jacek: really oO
Assasint: Really so
Assasint: Why are making that head
Assasint: Set a point
eulerscheZahl: clash of code just is unpopular among some of us
eulerscheZahl: if you enjoy it, go ahead. if you really want to dive deeper into things and not just solve simple problems, go to harder puzzles or multiplayer games
Assasint: I already did
TheDice: I always ran out of time in clash of code :joy:
eulerscheZahl: reaching bronze in mad pod racing doesn't count
Assasint: I reach gold in Mad Pod Racing
Astrobytes: TheDice: there are no time limitations on the regular (non-clash) puzzles
Ooflord: im trying to learn by practicing python with "The Descent"
Assasint: I t is really symple to win the descent
TheDice: imma check that out
Mrs.GloriaZindlebocker: I wonder if you could make one program that solves all easy puzzles
Assasint: I have win it in one shot
eulerscheZahl: you kind of did that Mrs.GloriaZindlebocker you wrote a program that generated solving programs
eulerscheZahl: if you really want to submit 1 code everywhere? probably not, or at least not deterministically as you have to detect which puzzle based on a single digit as input sometimes
Assasint: I know that
eulerscheZahl: wasn't talking to you
Assasint: To ho
Mrs.GloriaZindlebocker: Yeah, I guess that wouldn't work. Too many common inputs
Mrs.GloriaZindlebocker: Well, you could read the text files in the directory I guess
eulerscheZahl: in theory it could work. but would need thousands of submits to get that lucky random run
eulerscheZahl: uh, interesting idea
eulerscheZahl: does that work for interactive ones?
TheDice: Nice I solved The Descent
Assasint: You know I have already solve the descent
Assasint: 4th Dimension
Assasint: I have solve The Descent
ninjadip: i'm sorry, but idk, what's that puzzle about, briefly
TheDice: It gives you some numbers as input and you need the output the highest number
eulerscheZahl: the index of the highest number
TheDice: oh, yeah, forgot that
eulerscheZahl: C# got a MaxBy recently. but not available on CG yet
ninjadip: oh that unary is a nightmare
AdnaneCoder: how are you
AdnaneCoder: h r u
e_fishel: i'm good
e_fishel: thanks for asking
e_fishel: and you?
S4IF: yoo guys I just did 100% on python test any congrats ? :) <3
bmacho: I wonder that I have a certification too, and I give them my name too, is that visible from my profile?
bmacho: if you click the certification
5DN1L: No, we can't see your name
MSmits: no idea what back ticks are
MSmits: oh ok
MSmits: and what's string interpolation again?
MSmits: is that when you put a variable inside the quotes of a string?
Astrobytes: that's when you interpolate a string :smirk:
MSmits: ah ok thanks
MSmits: Astrobytes explained it best
Flaise: Hey guys
Blokops: "NE" for north east
Blokops: "SE", "SW" and so on and on
Flaise: Thor move direction Thor want move. Thor no need directions from scrawny programerers.
MSmits: Hulk smash