Chat:World/2021-01-10
 ash_rick: https://www.codingame.com/clashofcode/clash/15382962af7ab78df83108b0df8d29d639906f9
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: f
 Atomic_Nuclear_WARHEAD: https://www.codingame.com/clashofcode/clash/15383611db6cd3ab4eae4a184b77fca8efef3aa
 ritw777:  hey all I'm new here!
Just solved the initial if-else problem. really fun IDE
 jacek: good for you
 Atomic_Nuclear_WARHEAD: hey all I'm new here!
Just solved the initial if-else problem. really fun IDE
 jacek: :thinking:
 Westicles: Some sort of Jungian synchronicity going on here
 struct: hello
 proogrmr: :rolling_eyes:
 proogrmr: hey
 Megha.Akash: https://www.codingame.com/contribute/view/56529ab24fb977bbb361cec3ce8701034586
What does rate mean in this puzzle?
 normalkid: lol i dont think i am gonna no
 normalkid: but i can still do this
 Westicles: I think he meant ratio
 Atomic_Nuclear_WARHEAD: f
 proogrmr: u sus
 proogrmr: red sus
 Atomic_Nuclear_WARHEAD: hi
 Atomic_Nuclear_WARHEAD: https://www.codingame.com/clashofcode/clash/15384016c23ac06e3afb600d7a951c6d07a09b4
 Atomic_Nuclear_WARHEAD: http://chat.codingame.com/pastebin/3637826c-e79f-448f-b182-2743ae2b8db7
 Atomic_Nuclear_WARHEAD: https://www.codingame.com/clashofcode/clash/15384016c23ac06e3afb600d7a951c6d07a09b4
 struct: stop spamming
 eulerscheZahl: stop it
 Atomic_Nuclear_WARHEAD: f
 eulerscheZahl: oh, hi struct
 struct: hi euler
 eulerscheZahl: also stop that F spam
 Socksfor2: F IN THE CHAT FOR U
 jacek: press F
 Socksfor2: f
 Socksfor2: f
 proogrmr: hey
 Socksfor2: spam f
 proogrmr: stop
 Socksfor2: s
 Socksfor2: f
 Socksfor2: f
 Socksfor2: f
 Socksfor2: f
 eulerscheZahl: my kick doesn't work
 eulerscheZahl: struct does yours?
 struct: no
 jacek: oO
 Socksfor2: f
 eulerscheZahl: ping reCurse
 jacek: UTTT is best game on CG
 jacek: done
 Socksfor2: watch youtube and ill stop
 struct: He changed nam euler
 struct: over his profile
 proogrmr: yeah he changed
 eulerscheZahl: ah, i just realized that too
 eulerscheZahl: tried in external client and couldn't find the user
 struct: Kick doesnt return an error of why it didnt work
 struct: but ban did
 struct: "Atomic_Nuclear_WARHEAD was not found on the chat."
 proogrmr: it is socks for2
 proogrmr: now the username
 informathemusic: I think he has an alt
 struct: thanks proogrmr, he was kicked
 informathemusic: ..oh nvm
 proogrmr: :)
 proogrmr: yay
 informathemusic: :)
 Angecide: just reached top 4 gold in uttt, it feels like legend is just around the corner, but improving the algo gets exponentially harder
 jacek: :+1:
 struct: Angecide try teccles heuristic
 struct: Force player to the same board that you just played
 Angecide: ohh, I did notice that strategy when watching some of karliso's replay
 jacek: my bot plays that on his own if you give him more time. seems this is optimal strategy
 Angecide: kinda crazy realizing that top 1 legend has more points in legend than I have in gold
 Angecide: makes you think what kind of algorithm he is using
 jacek: ranking is relative
 jacek: not comparable between leagues
 Angecide: ah so it is not like elo?
 jacek: only within league
 jacek: being gold, you probably have more points than most people in legend
 eulerscheZahl: and it's not ELO but trueskill
 eulerscheZahl: ELO only supports 2 player matches, CodinGame allows up to 8 players per match. So ELO is not a valid option
 ChampionCoder: Hey in the clash result page, there is always something saying "No criteria"
What is supposed to go in there?
 ChampionCoder: I mean, it always says "No criteria"
 ChampionCoder: So what should go in there if there is an criteria?
 ChampionCoder: And what is the criteria?
 dev-tommy: Hello
 dev-tommy: how i can check code of my solved puzzles ?
 struct: go to the difficulty tab
 struct: and then scroll down
 struct: https://www.codingame.com/training/easy
 struct: if you scroll down it should show the completed ones
 ChampionCoder: Go to the puzzle page, click on "Solve it" and then see the puzzle code
 ChampionCoder: struct I think he's asking the code not the puzzles solved
 struct: ah sorry
 ChampionCoder: And can you answer my question?
 ChampionCoder: If it's visible
 struct: You can click on results -> history
 struct: Is that the form to give feedback on the clash?
 ChampionCoder: Oh never mind sorry it just says the length of code if the type is shortest
 ChampionCoder: Else it says nothing
 philipplenk:  
 dev-tommy: ok thx i found !
 dev-tommy: i ask becouse i finished "Temperatures" Puzzle, but now i must finish it again
 dev-tommy: i lost results
 dev-tommy: oh ok it was the same puzzle but "Code Golfing":wink:
 ChampionCoder: Yeah that is a little confusing
 ChampionCoder: Same puzzles are in both code golf and normal
 dev-tommy: ok now i understand ;)
 dev-tommy: and its funny becouse my code in code golfing is accepted but in normal puzzle its 90% score ;)
 ikadimi: hey everyone i need to create a school planing for students and after some search found the use of Monte Carlo optimization algorithm to score the best possible plannings is there any other way to achieve this or is this the right path?
 jacek: could genetic algorithm work here as well? :thinking:
 MeSeet: I was wondering the same jacek
 eulerscheZahl: or simulated annealing...
lost of possibilities
 eulerscheZahl: lots*
 ikadimi: ok which is best when you have limitations like the number of classrooms and professors and rest periods
 eulerscheZahl: i know that my old university used a genetic algorithm for this. there might be better ways but someone got that working at least
 eulerscheZahl: they reported an increasing runtime to find a satisfying solution, when you are close to maximum capacity (no spare rooms)
 ikadimi: great thank you ima start by doing the Monte Carlo puzzle by aCat and learn how to apply it in this scenario
 Astrobytes: isn't that an MCTS puzzle?
 ikadimi: yes
 eulerscheZahl: independent from your final approach, collect all the inputs first.
class room capacities (large lecture won't fit in small room), overlapping lectures, profs wanting a day off, ...
 eulerscheZahl: MCTS is not MC
 Astrobytes: ^
 ikadimi: :)
 ikadimi: yes thats why i asked kinda just starting this task
 ikadimi: ok then not that
 Astrobytes: MC: Generate random solutions and score them. Keeping the best one each time.
 ikadimi: any puzzles similar to this problem ?
 eulerscheZahl: you can try it in the multiplayer section. i can't think of a puzzle
 eulerscheZahl: or maybe something like https://www.codingame.com/multiplayer/optimization/samegame
 Astrobytes: Or just try it out on your task. It really is as simple as it sounds.
 eulerscheZahl: you won't get top scores with MC but not complete garbage either
 eulerscheZahl: time tables aren't that trivial i think. many constraints to consider
 eulerscheZahl: just placing random lectures in random spots (pure MC style) will cause a lot of collisions
 ikadimi: this one is just for the sports planing so i guess much easier that the hole uni
 Astrobytes: No, I meant MC is simple to implement. Not sure it'll fare well for the task tbh.
 eulerscheZahl: ah, that makes it much easier :)
 ikadimi: the only conditions really is rest days
 ikadimi: and space / professor availblity
 Astrobytes: Maybe MC will fare better then :)
 ikadimi: ok then MC with babysteps it is thanks everyone
 eulerscheZahl: and if you've set up the boilerplate code, switching from MC to GA isn't a big step anymore
 Astrobytes: ^
You can ask here if you get stuck again, someone's usually around to help out.
 eulerscheZahl: my holiday is over, back to work tomorrow :(
 Astrobytes: Still working from home?
 ikadimi: its a guaranty ill be back :) 
 eulerscheZahl: yes
 eulerscheZahl: will stay that way for a few more months I think
 Astrobytes: You guys have a full lockdown or limited?
 eulerscheZahl: important stores (groceries) are open, rest is closed
 eulerscheZahl: you may go 15km away from your home and meet 1 person from another household
 darkhorse64: We have a curfew and remote working is recommended
 Astrobytes: Ah ok. And yeah, minimum of a few more months. Probably years over here :P
 eulerscheZahl: i'm still an optimist :P
 Astrobytes: Pessimism is underrated. I am seldom disappointed ;)
 eulerscheZahl: maybe one day we'll realize that the virus is mutating and vaccines aren't that effective after all so we just accept defeat?
 eulerscheZahl: like we call in sick for a week with a regular flu
 eulerscheZahl: future will show
 Astrobytes: It may end up like that, we just have to wait and see, try and control it as best as we can.
 eulerscheZahl: with a not even that small group of people seeing the mask as a limitation of their human rights, that's just a firm wish
 **BlaiseEbuth is gonna win his Plage.Inc game. :imp:
 Astrobytes: Indeed. 
 Astrobytes: lol, every day is like Plague inc.
 eulerscheZahl: plaque? see your dentist
 Astrobytes: See your optician!
 BlaiseEbuth: Discord on the web chat !
 eulerscheZahl: reacting to the typo of blaise
 Astrobytes: Oh wait, BlaiseEbuth is playing a beach simulator :P
 jacek: another missed opportunity?
 BlaiseEbuth: There's hagiss and kouign-amann on my beach Astrobytes, come on !
 Astrobytes: :D
 Angecide: top 1 gold, this might be it
 jacek: :tada:
 Angecide: damn i might be slightly too weak to be promoted
 Angecide: but just good enough to be first in gold
 jacek: spam submit then
 Angecide: I am not entirely sure if that would help 
 eulerscheZahl: i still don't understand the popularity of UTTT compared to other games
 eulerscheZahl: i'm curious, how did you get to UTTT?
 eulerscheZahl: k4ng0u just wrote a detailed "post mortem" for Bender4, thanks for the effort :)
 MSmits: uttt is popular because tic tac toe is well known and it has a nice wood league
 MSmits: then the higher leagues are also relatively easy to sim
 MSmits: also it having a high number of players gives a better sense of progression
 eulerscheZahl: still you have to find the way from big wide web to that single game on CG out of 50
 MSmits: I am not sure how CG suggests games
 MSmits: maybe that has something to do with it
 eulerscheZahl: even previous contests like codebusters or hypersonic have less players in the arena than UTTT
 eulerscheZahl: or at least that's how it was when i checked last
 MSmits: also, the talk on worldchat pushes people to try it as well
 booleancub3: do you know a good competitive programming site for pract icing
 eulerscheZahl: codeforces.com
 Angecide: I wanted to try my minimax algo on normal ttt and then when I saw uttt I got hooked onto it as well
 eulerscheZahl: so the really simple wood league helped here, interesting
 eulerscheZahl: i try to learn for possible future contributions
 BlaiseEbuth: A 3d FPS with tea pots !
 eulerscheZahl: can the teapots shoot smaller teapots?
 BlaiseEbuth: Sure. Kitchen's law
 jacek: actually i was looking for some leaderboard of UTTT, thats how i found codingame
 jacek: Angecide how many sims per second you can do?
 Angecide: a ton, i tried testing it on codingames by just doing sims only for 110ms and counting it and it said ~100k sims
 Angecide: but I can only do about ~28k iterations of mcts on turn 2
 Angecide: so that probably has to be optimized a bit more
 MSmits: yeah 100k is realistic
 MSmits: depending on how heavy your rollout is with heuristics and such
 MSmits: I mean 100k iterations of mcts btw, not sims
 darkhorse64: That's enough for legend. A more difficult one: what is the winning rate of move 4 4  ? This is to assess if your mcts is correct
 MSmits: well it gives a good indication
 MSmits: there's more things that can be wrong with your mcts
 darkhorse64: A lot !
 MSmits: yeah :(
 Angecide: yea, I feel like there might be a bug in my code or I am just not doing enough iterations, but it is incredibly hard to debug 
 MSmits: though this weekend i worked on a negamax with ab and TT and I must say I made a lot of booboo's as well
 MSmits: Angecide yes it is
 darkhorse64: It's also easy to have something that works ok as p1 and completely bogus as p2
 reCurse: It's hard to lose as p1
 reCurse: You have to work for it
 Angecide: would you say that in theory  with perfect information that p1 can force a win?
 jacek: MSmits do you have history of your meta mcts? i wonder how the graph of the moves oscillate
 reCurse: You need to solve a game to prove it
 Angecide: yea I just meant your gut feeling
 reCurse: So in the absence of it, it is overwhelmingly in the direction of p1 always wins
 MSmits: jacek i dont have a history, move move 0 was near 50% for a long time, then moved up to 55% and then back down to 47% at a minimum. Going back up again
 reCurse: I suspect it's the board count that makes it all messed up
 reCurse: But didn't investigate
 jacek: no prove, but based on many games, how mcts favor the 1p, it seems it is likely uttt is win for 1p
 jacek: especially with board counting
 reCurse: Stupid rule imo
 jacek: they added it to avoid draws?
 reCurse: lol...
 reCurse: That causes *more* draws
 MSmits: jacek i am very near certain uttt is solved as win for p1
 MSmits: whenever i see a p2 win
 MSmits: i can trace it back to a mistake of p1 earlier
 MSmits: thats how i counterbooked players that used books as p2 (bad idea)
 MSmits: if you book, only do it as p1
 jacek: i wonder when the cheese will be out
 reCurse: Are you still booking in the arena
 MSmits: hmm, i think it only counters yours as p2 currently, no other hardcoding. 
 MSmits: unless you took down that book
 MSmits: or maybe you didnt have one and its just really deterministic
 jacek: interesting https://wikidiff.com/chess/cheese
 reCurse: Wonder if I should be flattered or upset
 MSmits: dont worry about it.... ill be redoing my entire bot when i have the time
 MSmits: i have locally hardcoded karlisos bot as p2
 jacek: being deterministic is good if its going the only good moves available
 MSmits: can get 100% winrate vs it, but i didnt even submit
 MSmits: it's boring
 MSmits: he doesnt even have a book
 reCurse: So with me it's fine but with him it's boring? Meh
 MSmits: its just limited variation of play
 MSmits: nah i did this a year ago recurse
 MSmits: for your bot i mean
 jacek: in 2020? so old
 MSmits: also, i can take it off and have like a 53% overall winrate vs you
 reCurse: Nah don't change anything
 MSmits: with it, it is 100% against 35% or something as p1, and p2, without it, it is 70% vs 35%
 jacek: and you finally tried negamax. what for
 MSmits: so it just changes the 70% to 100% as p1
 MSmits: the book i man
 MSmits: mean
 MSmits: jacek for study project
 MSmits: yavalath
 reCurse: Should be 70% in my favor now
 MSmits: oh you submitted a new bot reCurse?
 reCurse: No
 MSmits: whats different then?
 reCurse: Well new bot yes, submit no
 MSmits: ohh ok
 MSmits: cool
 MSmits: does it beat karliso?>
 MSmits: cuz that one is ridiculously strong
 reCurse: I think I finally found one yes
 MSmits: oh did you do machine learning?
 reCurse: Yes
 MSmits: ahh ok
 jacek: :O
 MSmits: I'm sure it can still be counterbooked when it is p2, but as i said, not going to
 Angecide: how can you tell when someone books vs no books? is it if they move deterministically?
 reCurse: No books
 reCurse: But maybe deterministic
 MSmits: yeah
 reCurse: Then again I'm even more dependent on the CPU I get than before
 reCurse: It's frustrating but I asked for it
 MSmits: thats the problem, good bots dont have that much variation in play
 reCurse: Looks like 70% vs him so far
 MSmits: interesting
 eulerscheZahl: your fights at those games reminds me of goats banging their heads against each other
 reCurse: Well tbh
 reCurse: I really didn't care about uttt at all
 reCurse: Just needed an easy target for my new ML/RL pipeline
 reCurse: And maybe give me some peace in the process
 MSmits: so you did care!
 reCurse: ?
 MSmits: on some level :P
 reCurse: No
 MSmits: why would it give you peace
 MSmits: you had inner turmoil from uttt
 reCurse: That it wasn't all for nothing
 MSmits: ohh ok
 jacek: you like UTTT dont you, reCurse https://i.kym-cdn.com/entries/icons/facebook/000/009/086/SMILE.jpg
 reCurse: No I just lacked an easier target
 MSmits: isnt oware just as easy?
 MSmits: or othello?
 reCurse: Oware is community
 MSmits: ahh
 reCurse: I'd rather not touch those if I can help i t
 jacek: but you touched oware
 Astrobytes: Oware touched him first.
 reCurse: Yeah and it made me discover the joys of limited submits
 MSmits: ah
 jacek: and stupid robo is 1st :(
 MSmits: if your bot is much stronger than others, it doesn't matter that much
 Astrobytes: Can't see that situation ever improving tbh
 reCurse: Of course it matters
 reCurse: My CSB bot when I resubmitted it
 reCurse: Has >80% winrate against everyone
 reCurse: Barely made it 1st at 90% submit
 reCurse: So imagine on a community
 reCurse: It's dumb
 MSmits: it's a large league though
 MSmits: i will argue that the imbalancedness of uttt + better submit is still worse than a more balanced game with limited submit
 MSmits: uttt is pretty bad like that
 MSmits: even with swap
 MSmits: all those draws...
 reCurse: That's a defendable position
 reCurse: Outweighted by my sheer hatred for it though
 MSmits: haha ok
 reCurse: I don't understand why it's a random iteration that's crushing it
 reCurse: It's 25 generations ago
 reCurse: But it's doing it
 reCurse: ML is hard...
 MSmits: as i said, karlisos p2 play is deterministic enough that you can counter book it with less than 100 moves or so.
 MSmits: that would mean some iteration of your NN might do this as well
 reCurse: I believe it generalized well enough though
 reCurse: It's consistent against top3
 reCurse: At least
 MSmits: sure, but karliso is wayyy above me and tomatoes
 reCurse: But very fragile, an iteration later and it's average
 MSmits: in strength
 jrke: which multi?
 MSmits: i lose 100% as p2 vs him
 eulerscheZahl: uttt
 jacek: you have NN for uttt?
 reCurse: Yeah
 jacek: :+1:
 MSmits: reCurse do you have a random feature?
 reCurse: ?
 MSmits: like, add a random float to the score of each move
 MSmits: and then pick one
 reCurse: I'd rather not
 MSmits: it might help with the difference between those iterations
 MSmits: otherwise this really good bot could collapse if karliso adds or removes one heuristic from his bot
 reCurse: Oh I have a lot of things for training
 reCurse: But for evaluating why would I do that
 reCurse: Well I'm assuming that if it maintains a good winrate vs the top 10
 reCurse: Then it's generalized
 reCurse: I don't care about overfitting with books it's dumb
 MSmits: its not just books, its also deterministic bots playing nearly perfectly
 reCurse: You can probably counterbook my new one
 reCurse: It's an escalation war I have zero interest in
 MSmits: which means one small change and a 100% winrate becomes 50% or less
 MSmits: reCurse counterbooking only works as p1 really
 MSmits: so at best it would be 50%
 Angecide: btw, I was wondering with all these books, how do you import it into your codes? is it just a large piece of hardcoded tree containing the actions?
 MSmits: as your bot will beat my p2 bot 100% and i would beat yours
 reCurse: I will take the random CPU attribution as random float
 MSmits: that helps to some extent
 reCurse: Because performance difference is extreme
 reCurse: Not even consistent in a series I think
 reCurse: Which is stupid
 reCurse: Angecide: It's just serialization embedded as a constant
 reCurse: As for my complaints about GPU, I estimate my training would be 5x faster with rtx3080
 reCurse: It's crazy
 MSmits: you train on gpu?
 reCurse: Yeah
 reCurse: I went all out
 MSmits: did you use any tools now?
 MSmits: you didnt create i mena
 MSmits: i  know at first you made everything yourself
 reCurse: Yeah I'm leveraging libs now
 reCurse: I've gotten more confident in my understanding
 reCurse: Besides gpu programming is a can of worms of its own
 jacek: "What I cannot create, I do not understand"
 MSmits: yeah
 reCurse: Is that the wisest thing you've said jacek
 MSmits: i am amazed that people get anything done on a gpu besides the graphics processes it was intended for
 jacek: i know more random quotes
 MSmits: my short foray into compute shaders was painful
 jacek: but simply i dont understand NN i didnt create from scratch myself
 reCurse: cuda is very good
 reCurse: But it's a very different mindset
 eulerscheZahl: i looked into cuda long ago but gave up quickly :(
 reCurse: For me it's enough to have a good intuition of how things work by doing it from scratch
 reCurse: Then you can better leverage libraries
 eulerscheZahl: in the end it's always the question what i'd like to do first in my spare time. sadly my motivation to start such a complex thing dropped a bit since i'm writing code in my job as well
 eulerscheZahl: i miss my student days
 reCurse: Sure, makes sense
 reCurse: I see those as completely different
 eulerscheZahl: but both are mentally challenging and I want some time to rest as well
 reCurse: Job often doesn't align with curiosity and learning interests
 reCurse: Though I'm working on a ML project at work now, and that's thanks to practicing it with CG as motivation
 reCurse: Wouldn't have gotten into it or thought it would be for me otherwise
 reCurse: Do servers still have hiccups?
 Salted: Thanks to CG I also got into ML. My coders strike back bot is the product of genetic evolution with a neural network. I've even been lucky enough to make some side cash doing ML now. 
 reCurse: You used a GA to optimize a neural network?
 Salted: Yeah, to tweak the weights of the network. They compete in a league against the "best" bot and the winner becomes the best bot to beat. I used the brutal testing stuff. 
 reCurse: Interesting. Why not gradient descent?
 reCurse: I never got the point of neuroevolution
 Salted: I wasn't sure how to use gradient descent when I didn't have a scoring function. Just a single point indicating that that it won/lost a match. 
 reCurse: That's a scoring function
 MSmits: temporal difference learning is supposed to help with this problem Salted
 MSmits: i havent done this myself, but i know its an answer to this
 reCurse: Kind of orthogonal to optimization though
 MSmits: no idea, i will trust you on that
 reCurse: You can do TD with gradient descent
 reCurse: Don't, I'm no trained scholar
 MSmits: ok :)
 reCurse: Just the product of google searches
 MSmits: same
 Salted: I'm no trained scholar either. 
 MSmits: though, i will say that on dots and boxes i am almost a trained scholar :P
 MSmits: never read so many papers 
 reCurse: There are "so many papers" on D&B?
 MSmits: nothing else though, not even mcts, i half read a few is all
 reCurse: I've been reading papers nonstop since I joined CG
 MSmits: reCurse maybe a dozen or so, i meant it proportionally
 MSmits: so i know most of the body of knowledge on this
 reCurse: Ah ok
 MSmits: mikla still beat me though, when i have time i will get back to it
 Salted: See I thought gradient descent would only work if you had control of the data. Since it invoves another player then changing the network affects how the data of the input too and not just the output which is why I couldn't use it. 
 reCurse: Oh sure it's very noisy
 reCurse: Doesn't mean you can't optimize it
 Salted: oh, sorry, that was terrible. The input data gets changed when changing the network. So gradient descent doesn't work
 reCurse: RL is the far west of ML
 Salted: Oh, but I can watch another player and create a network that mimics their play style
 Salted: That's easy
 reCurse: Sure that's the typical supervised learning
 jrke: how do you store weights of training?
 Salted: I did try the traditional supervised learning with the game data in the beginning but it never made bots that worked well
 reCurse: Same way you store constants
 reCurse: Except with more work
 Salted: I store them in a compressed pickled array
 reCurse: And no 100k chars is not an issue
 Salted: It is an issue for 100k. So I can store maybe 17,000 floats
 Salted: Well, it's not a normal issue
 reCurse: You'll just have to take my word for it
 jrke: how in 17000 floats only can you give me some reference link for it
 Salted: I've tried running more and the script won't run.
 reCurse: Not giving away all the secrets either
 jacek: it can be more than 17000 floats. you dont need that resolution
 jacek: i.e. for bt i have 49152 weights with about 'int16' resolution
 reCurse: bt?
 jacek: each weight using 1 character
 jacek: breakthrough
 reCurse: Oh
 Salted: Oups
An error occurred (#314): "Submitted code is too big"
 Salted: That's what happens when I go over 100k
 reCurse: Yeah
 reCurse: 100k characters
 jacek: you need to be more creative in those 100k
 reCurse: It's like those 4kb demo competitions
 reCurse: You have to squeeze
 Salted: This is what my network looks like for example, but another 80k of this
 Salted: eNqEmnk018Hb9+2y71ERiRCVLet3rg8qIsq
 jacek: and this is mine 憄晁攱攰斨敏旁斉斡斝斒旭抻桥斖旟斥敒斣旇敫既斎旴惤揓敷旭斗旰架敱攻旊斬旬搞斨旦旬敳斖旃旳敼旔旈攴愍...
 SwagColoredKitteh: oh hi
 Salted: Oh man
 Salted: lol
 SwagColoredKitteh: hope you're all having a great day
 struct: hi
 SwagColoredKitteh: hi struct
 SwagColoredKitteh: hi PIRT
 jacek: all glory to unicode
 SwagColoredKitteh: and this is the story of how i became a greeter bot
 eulerscheZahl: because you can't hug people anymore
 SwagColoredKitteh: :'(
 SwagColoredKitteh: been messing around with crystal rush, pretty fun game
 reCurse: I wonder when a hug will be considered a natural thing again
 reCurse: Now I'm depressed
 SwagColoredKitteh: join the club
 SwagColoredKitteh: at least i could channel it into writing code; i call it depression-driven development
 MSmits: :hugging:
 SwagColoredKitteh: i think hugs will quickly become a natural thing again between people who know one-another
 SwagColoredKitteh: but it may be very slow for strangers
 reCurse: Not even sure about the former
 SwagColoredKitteh: hey MSmits :hugging:
 reCurse: The virus stigma will last for a long time I think
 reCurse: At least for reasonable people
 MSmits: hey :) and bye getting some food
 SwagColoredKitteh: enjoy MSmits!
 eulerscheZahl: hey bye to you too
 Salted: Hugs are nice. I can't wait for basic eye contact to come back. It feels like people are really being cold these days. 
 SwagColoredKitteh: reCurse well, yeah, it still only will resume after we've all been vaccinated
 SwagColoredKitteh: i'd assume at least
 reCurse: That's optimistic
 SwagColoredKitteh: optimism is all i have right now
 SwagColoredKitteh: there's also optimism in the assumption that everyone will get vaccinated
 SwagColoredKitteh: .. a lot of optimism
 reCurse: Or that it will re-enable normal life
 reCurse: My optimism points to 5 years now
 Astrobytes: I have none. We're doomed I tell thee :P
 SwagColoredKitteh: maybe 5 years for everything to be 100% normal again?
 reCurse: Let's say 90% normal
 reCurse: But yeah
 SwagColoredKitteh: but i think there will be a slow transition
 SwagColoredKitteh: i'd already be very happy if i could meet with & hug closer friends
 reCurse: True
 SwagColoredKitteh: the rest i can live with missing for a far longer time
 Astrobytes: My grandfather was put in a residential care home towards end of summer, I haven't given him a hug since March.
 reCurse: :(
 Salted: ok, for this gradient descent concept. Lets say each game is 200 turns long. That means there's been 200 inputs and outputs. But only 1 label to represent them all. That's like labeling 200 pictures cat/dog but only knowing a majority of the guesses were right. But there's no way to know which were good and bad. How might I go about using gradient descent?
 SwagColoredKitteh: :(
 reCurse: With a LOT of games
 SwagColoredKitteh: yeah, a lot of kinds of ML need a ridiculous amount of time and data to converge
 reCurse: My strongest uttt sits at 2M games right now.
 Salted: The issue I have is that it may only ever need to do better at 51% of the games to end up always winning. So it doesn't converge to a very nice bot. 
 reCurse: ?
 Salted: Maybe I'll read more about it and see if I can get gradient descent to work. Have  you implemented a nn bot from gameplay before?
 reCurse: Sure
 reCurse: CSB
 SwagColoredKitteh: ah yes CSB, the one true game
 Salted: I really wish more games were similar in style. 
 Astrobytes: there's Search Race in optim
 reCurse: Poor fit for nn
 eulerscheZahl: mean max
bitrunner 2048
 Astrobytes: Oh yeah, BR
 eulerscheZahl: and fantastic bits, poker chip race if you extend the "similar" term a bit
 SwagColoredKitteh: search race was fun but to get any better i need to refactor so much code
 Astrobytes: lol, didn't Illedan create SR so he could use it for developing an NN? :)
 SwagColoredKitteh: i havent done fantastic bits in so long
 Salted: Oh, I haven't even joined bitrunner before. Nice
 Astrobytes: *a NN
 reCurse: Ok, my bad
 reCurse: It's great to get something started
 reCurse: It's bad fit to compete with
 Astrobytes: Ah, gotcha.
 jacek: an* NN. i always pronounce NN as ehn-ehn
 reCurse: So you say an URL? :thinking:
 reCurse: Nonsense
 jacek: yu er el, so no
 reCurse: :sweat:
 Astrobytes: When in written form I tend to expand abbreviations mentally as I read. Hence a NN. In speech, of course if I used the NN abbreviation I would say 'an NN'.
 jacek: AutomatonNN how should we call you?
 AutomatonNN: why do you get out of wood 3 ?
 BlaiseEbuth: He's right. Get back to wood 3 jacek.
 eulerscheZahl: regarding a/an <acronym> I agree with jacek
 Astrobytes: Both work in written form. In speech they don't.
 Astrobytes: btw, eulerscheZahl (or anyone): the 'recolored' validators in samegame are recolored how?
 eulerscheZahl: colors swapped,shiften/whatever
 eulerscheZahl: didn't bother, just made a color-independent hashing
 eulerscheZahl: first (at 0,0) is always color=0
 eulerscheZahl: next value I find gets a 1 and so on
 Astrobytes: Yup, makes sense. What the hell was the point in the recolored tests?
 Astrobytes: *of the
 eulerscheZahl: someone didn't believe us that we would solve it online anyways
 eulerscheZahl: or expected his own students to do it online and wanted a more stable ranking for those
 Astrobytes: Eh. Well...
 eulerscheZahl: i argued against it. that's also why I didn't approve
 Astrobytes:  I remember now, yes.
 eulerscheZahl: at least i could convince him to have a round-based game. not giving all commands in the first turn
 eulerscheZahl: so you get the next state which helps debugging your sim
 eulerscheZahl: + easier to enter
 Astrobytes: Yeah, I remember that conversation. I wasn't bothered but it made sense.
 SwagColoredKitteh: a bunch of my bots were crashing and i fixed and reuploaded them
 SwagColoredKitteh: woo, chores
 eulerscheZahl: some of mine died too :(
 eulerscheZahl: mono -> .net core
 jacek: use D [solved]
 SwagColoredKitteh: cg switched to rust 2018 and i was using rust 2015 paths in use statements, and using try! instead of the ? operator
 eulerscheZahl: and CG didn't add the System.Drawing.Common
 jacek: does CG have java swing?
 SwagColoredKitteh: wait, C# drawing?
 eulerscheZahl: rust has release mode now
 eulerscheZahl: i draw bitmaps for debugging
 eulerscheZahl: easier to spot bugs than text output
 SwagColoredKitteh: yeah i saw, so i also switched a bunch of my precompiled bots to just having the source code there
 SwagColoredKitteh: much nicer
 SwagColoredKitteh: always hated the precompilation hack
 jacek: how can you show the bitmaps?
 eulerscheZahl: i just draw them offline
 jacek: :x
 eulerscheZahl: and don't call the function online but still have the code
 eulerscheZahl: now I had to remove that code for the uploaded version as it won't compile anymore :/
 SwagColoredKitteh: what i used to do was to print a compact format to stderr for drawing some things
 SwagColoredKitteh: and copypaste that
 SwagColoredKitteh: but it's really not a great solution
 eulerscheZahl: https://www.codingame.com/playgrounds/53705/contest-tools-and-workflow/introduction
my setup
 SwagColoredKitteh: would be cool if CG had some way to just directly draw on the game
 eulerscheZahl: except I use VS Code now and no more MonoDevelop
 SwagColoredKitteh: maybe using some prefix on stderr or sth
 Astrobytes: Yeah, that was one cool thing about RAIC. CG version would have to be a little....simpler.
 eulerscheZahl: RAIC has such a debugging framework
 eulerscheZahl: damn
 Astrobytes: :D
 SwagColoredKitteh: just being able to plot the next move choices would be such a huge timesaver :P
 SwagColoredKitteh: or being able to overlay a grid in crystal rush, as i'm calculating a few for stuff like how far a cell is from the closest radar
 eulerscheZahl: hm, even sounds like an interesting project to bring such a debug interface to CG
 SwagColoredKitteh: just for that would be nice, but it'd be even better for combinations of such grids, because that can lead to quite unintuitive behavior sometimes
 Astrobytes: Considering we now have 3D, I don't think it should be such an awful project :)
 eulerscheZahl: but more limited as it would be too easy to kill pixi
 SwagColoredKitteh: this score here, combined with that score there, etc
 AbacusCdilla: Hi Everyone
 jacek: good evening
 dev-tommy: Hi i try solve Nintendo Sponsored Contest ;)
 jacek: good luck
 dev-tommy: XOR is easy to reverse , but AND cant be easy reversed. I must combinate with another bits
 MSmits: show those bits what for
 dev-tommy: not figured out yet that
 MSmits: it was meant to be encouraging 
 Westicles: I've always wondered what kind of work they do at Nintendo, that they are looking for these kind of skills...
 dev-tommy: i try with 4bits numbers first
 MSmits: why not start with nintendo 8 bit
 dev-tommy: it will be easy to check on paper
 Astrobytes: yes, it's a somewhat niche puzzle
 dev-tommy: yes it is more of a mathematical puzzle than a programming one
 Astrobytes: And quite a specialised mathematical puzzle at that.
 dev-tommy: but i like this kind of puzzle
 Astrobytes: Sure, go for it! :)
 jacek: you like math? :thinking:
 Astrobytes: *maths
 jacek: s/a/e
 dev-tommy: yes
 dev-tommy: the decode answer is symmetrical so i think I'll find the missing bits information there
 Westicles: I also like rearranging furnitures and eating sushis
 LooMATE: Afternoon / Evening all - to a total newb to coding, which language would you suggest I start with - I know its likely a nuanced question but I am happy for personal opinions..!
 JonLapensee: is website lagging or it is me ?
 shefoo: Try javascript it's easy and fun, i came out of java and i loved javascript so much
 Westicles: Python is easy and useful
 Ragi: people use code like this in code clash with python3
exec(bytes('浩潰瑲洠瑡㭨㵲㬰㵩㬱...
 Ragi: how do you encode to this form
 APJames: is this for coders strike back?