Chat:World/2020-07-11

From CG community
Jump to navigation Jump to search

eulerscheZahl: Happy Caturday

Edwing123: Caturday ?

Edwing123: What is that ?

JohnCM: lol Saturday with cats?

Edwing123: My cat has fleas

Edwing123: Well it's not my cayt

Edwing123: cat*

eulerscheZahl: Caturday is an invention of jacek

Edwing123: It's my grandmother's cat

jacek: happy Caturday

Haiit99: hello everyone

jrke: jacek happy caturday

Edwing123: Hello

Edwing123: Who made the Power Of Thor ep 1 ?

Edwing123: I'm stuck lol

Edwing123: In the last two tests

jrke: im just making my shorter in power of thor ep 1:smiley:

jrke: my *code* shorter

Edwing123: How many ifs did you use ?

Edwing123: I'm doing it with Lua

Edwing123: The Straight up and Up are working fine

jrke: im python code size 135

jrke: ok

Edwing123: my is 66

Edwing123: wait

Edwing123: size what ? file or lines ?

jrke: 135 code size

Edwing123: where do you see that ?

jrke: means?

Edwing123: Yeah

jrke: so you have 66 code size?

Edwing123: I mean, are you talking about the lines of code ? or the file size ?

Edwing123: I have 66 lines of code

jrke: oh

jrke: im talking about code size

Edwing123: where do you see that ?

Edwing123: In this platform

jrke: you can see your code size at bottom right of ide

Default avatar.png ManeatingBreakfastOfWisdom_e692: hay can some body help me

Edwing123: Why ?

Default avatar.png ManeatingBreakfastOfWisdom_e692: Horse-racing Duals i can not understand what should i solve in it

WINWINWIN: Sure, we can help

WINWINWIN: ManeatingBreakfastOfWisdom_e692, what they want you to do is find the smallest difference in the array and print it.

Default avatar.png ManeatingBreakfastOfWisdom_e692: i thing i have to create an array

Edwing123: smallest different or element ?

WINWINWIN: Smallest difference

WINWINWIN: You want to find the closest strengths

Default avatar.png ManeatingBreakfastOfWisdom_e692: strengths defined as Pi right

Default avatar.png ManeatingBreakfastOfWisdom_e692: i got it it;s working well

Edwing123: Can't we saved changes ?

Edwing123: :)

Edwing123: Three hours trying this one lol

Edwing123: Well maybe tomorrow I'll have a fresh mind

Edwing123: don't know :'(

MSmits: you save whenever you click play my code

Default avatar.png yellow12: :grimacing:

Marchete: how's going MSmits? othello now?

MSmits: hey Marchete yeah

MSmits: finished 1st version yesterday

eulerscheZahl: Marchete, the lost son is back

MSmits: :hugging:

eulerscheZahl: :ruler:

Marchete: I'm usually stalking

Marchete: :eyes:

MSmits: creepy

eulerscheZahl: i saw you played GitC recently

Marchete: me? nope

Marchete: last submit was may

eulerscheZahl: in May, somewhat recent

Marchete: ah

Marchete: well, and some other C# bots I resubmitted

eulerscheZahl: and PED uncrashed his bot

Marchete: last I did was some othello, not a lot more

Marchete: he was crashed?

Marchete: was he*

eulerscheZahl: no more Python2 support

Marchete: well, I'm not into these peasant languages

Marchete: you know

Marchete: but the C# broke some of my bots

eulerscheZahl: i like python for smaller stuff

eulerscheZahl: the language updated killed some of mine too

eulerscheZahl: those were I use System.Drawing.Bitmap for visual debugging

eulerscheZahl: Bandas where I allocate a lot of nodes, out of memory now

eulerscheZahl: Mean Max where I did you runtime optim trick

eulerscheZahl: but I resubmitted all of them

Marchete: I only resubmit when I see a sudden drop in rankings

Marchete: yes, I'm that lazy

MSmits: ohhh so thats why you did c++ on Bandas. You were forced to :grin:

eulerscheZahl: took be a while to notice my broken Bandas too

eulerscheZahl: I still use C# on Bandas :D

MSmits: really

MSmits: mmh ok

eulerscheZahl: C++ only for UTTT, STC, Bulls&Cows

eulerscheZahl: STC because I wanted it, the other two because I needed that extra performance

MSmits: oh right, you just did a bit board on bandas

MSmits: i thought it was c++ too

eulerscheZahl: C# has bit operations too

MSmits: i know my first uttt bot was C# and had a bitboard

eulerscheZahl: took me way too long to realize. Bought a C# book back in 2011. Didn't even mention bit operations

Marchete: is the new C# faster?

eulerscheZahl: yes

MSmits: i think it has access to some intrinsics and such as well?

eulerscheZahl: and i'm like dbdr now: crashing in IDE

MSmits: oh noes

eulerscheZahl: i got some hate during the pacman contest

eulerscheZahl: too bad they fixed the

  1. if DEBUG
rofl:

MSmits: ahh yes

Marchete: what's that #if DEBUG?

eulerscheZahl: i use it offline to only play 1 turn

eulerscheZahl: CG compiled with DEBUG flag in the IDE

eulerscheZahl: so i crashed every IDE match

Marchete: ahh

Pambao: :smiley:

Astrobytes: Oh welcome to Othello MSmits

Default avatar.png neverloose: hello

MSmits: thanks Astrobytes

WINWINWIN: Wow, dbdr has a decisive lead.

WINWINWIN: Neural Network?

Astrobytes: It's alphabeta, but uses Multi ProbCut, which uses stats obtained through multiple linear regression to obtain optimal alpha and beta values, causing optimal pruning and whatnot, hence the name

Astrobytes: (that's maybe a little simplistic but you get the idea)

WINWINWIN: So he gets a very high depth?

Astrobytes: WINWINWIN: https://www.chessprogramming.org/ProbCut

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=EF6DF5C4B8C06BEC4A57C79408F193EC?doi=10.1.1.19.1136&rep=rep1&type=pdf

Astrobytes: You use shallow searches to obtain the stats, and use the probabilities to affect the search window size at deeper depths

MSmits: "Furthermore with ProbCut match results become more unpredictable and inconsistent: Apparently there are types of opponents against which ProbCut works very well and results in significantly improved results, but there are also other opponents (the tactically stronger ones?) where ProbCut has exactly the opposite effect. "

MSmits: that's going to be interesting.

Astrobytes: Yeah, that's chess

Astrobytes: It's more effective in Othello

MSmits: right, but it might still cause some Rock paper scissors

MSmits: pruning is usually hit and miss

Astrobytes: Oh yeah absolutely, I mean 'probability' implies some inconsistency

MSmits: right

Astrobytes: It's been pretty solid so far though, will be interesting when robo and you improve more, and jacek too

MSmits: this basically turns ab pruning into something more akin to mcts

MSmits: stop searching bad branches because of earlier results

Astrobytes: Yeah, in a different way, but essentially yeah

MSmits: I'm gonna go with my UCTS

MSmits: I'm more interested in seeing what n-tuples can do

Astrobytes: i am keen to see the results

MSmits: yeah, going on vacation soon though, dont expect quick results

Astrobytes: I'm here all year ;)

MSmits: do you have tree reuse Astrobytes?

Astrobytes: I have alphabeta

MSmits: ohh ok

Astrobytes: with ID and whatnot

MSmits: I was going to write a tree reuse version, but i just figured out it will hit the end of my node pool halfway through the game

MSmits: which is ok I guess

Astrobytes: Just watch out for the pass moves

MSmits: I use 6.5 million nodes on turn 1 :P

Astrobytes: But you probably saw that

Astrobytes: lol, nice

MSmits: yeah thats the only tricky part

MSmits: my pool is 20 million

Astrobytes: Same as my Oware pool

MSmits: makes sense

MSmits: i think i could go up to 23-24 million but why bother

MSmits: it will reset once and thats that

Astrobytes: Yeah I don't think it'll be an issue

MSmits: I could also do the uttt gamble

MSmits: which is, just reuse the early nodes hoping you dont overwrite anything thats in use :P

Astrobytes: lol, I'd be careful with that

MSmits: well it's easy to see when it fails

Astrobytes: That is very true

MSmits: you get nodes pointing to themselves with infinite selection

MSmits: node loops

Astrobytes: Yes I had something similar going on in my early Oware days

Astrobytes: brb, coffee

MSmits: if you know it can happen its easy to fix. If it starts happening 2 months later because you increased performance, you're in for some trouble

dbdr: MSmits, isn't the self loop just a possibility?

dbdr: you could have invalid links without that, no?

MSmits: you can, but you will still occasionally get some very long loops and time out

MSmits: with enough games and enough turns per game you start seeing more timeouts in your submits and tests

dbdr: probalistic debugging :)

MSmits: hmm also, you get invalid moves

MSmits: because i keep the board on the node, it iwll just assume the board is different

MSmits: that's assuming one of those bad nodes is the one selected to do a move with

MSmits: but it will happen occasionally

MSmits: and the mcts solver will start acting up saying you've won when you havent

MSmits: so yeah, a huge mess :P

MSmits: dbdr do you use TT ?

dbdr: sure

MSmits: I am wondering how to use them effectively

MSmits: you dont store every boardstate do you?

MSmits: just up do depth x ?

MSmits: the number of transpositions stored increases exponentially with depth, but the effectiveness of a deep transposition is worse than one at low depth

MSmits: is this just a parameter you fit?

dbdr: no, I store everything

dbdr: a board state is just 128 bits

MSmits: sure

dbdr: also, the TT also helps later turns

MSmits: but that still means you probably xor two 64 bit ints and put them in some kind of map

dbdr: similar to tree reuse

MSmits: maps get pretty slow and you have rehashes

dbdr: yeah. that's not expensive is it? :)

MSmits: i am more worried about the map when it gets big

dbdr: I never rehash

MSmits: hmm ok

MSmits: do you keep seperate maps for each turn

MSmits: i mean

MSmits: turn-depth

MSmits: that would keep the maps small

MSmits: you'd have 64 maps total

dbdr: why would you want small maps?

MSmits: doesnt it affect insertions and looking up?

MSmits: the speed?

dbdr: no, hashtable is constant time by principle

jacek: dbd has rather ab not mcts?

dbdr: ok, it does if you count memory caching

MSmits: we're talking abou t TT

jacek: TT size isnt issue here

MSmits: small maps wont solve memory caching i think

MSmits: because you're accessing all of them

Astrobytes: my TT is fast, it just doesn't work properly right now (to put it lightly) :P

dbdr: fast, correct, simple, pick any 2 ;)

jacek: your TT works, it just doesnt have anything sensible to store

Astrobytes: :D

Astrobytes: alpha beta values screwing me up a bit, I'll get it working soon

MSmits: I have tried transpositions in mcts, for example checkers

MSmits: but when i implement it, I halve my rollout count =/

MSmits: in yavalath it works better because you get so many moves

dbdr: probably speed is more important in MCTS because you rely on statistics over randomness

dbdr: minimax is deterministic

MSmits: right

MSmits: but that doesnt explain why the speed is halved

dbdr: time spent hashing?

MSmits: maybe so

MSmits: I should dive more into this

MSmits: to prevent rehashing

MSmits: do you set a capacity at the start so it hashes efficiently?

MSmits: I thought the rehashing happens because the map structure assumes you're doing a small map and it gets too big

dbdr: yes, it is fixed

MSmits: and you just guesstimate it right?

dbdr: at startup

dbdr: yeah

MSmits: ok

MSmits: well that helps, thanks, I should do that too

dbdr: I should tune it :)

MSmits: I always use unordered map/set but I let it do it's thing

MSmits: probably bad

Astrobytes: I just use arrays

MSmits: for a transposition?

Astrobytes: yeah

MSmits: how does that work?

jacek: badly

Astrobytes: ^

MSmits: dont you need unordered access?

MSmits: the boardstates are all over the place

jacek: my TT is simple unordered_map, i clear it at the beginning of each turn. my hash is simple, i dont do zobrist and whatnot and i dont care about capacity

Astrobytes: i do Zobrist, set my array size at the start, haven't run into issues with it. My problems lie elsewhere

MSmits: http://chat.codingame.com/pastebin/267bd499-d333-469a-84eb-2db217882d20

MSmits: isnt that how you make a good hash key?

jacek: i also but currentPlayer

jacek: put

Astrobytes: ^

jacek: though i wonder if the same board can happen with different player

MSmits: hmm yes, but thats because it is Othello

MSmits: pass turns

MSmits: in yavalath, every board state can have only 1 player

jacek: ah well, then its not needed

MSmits: oware is different also

jacek: but yeah, my hash is simple as that

MSmits: thats why i hash "turns left" with the board state in oware

MSmits: xorshift scrambles up one of the boards, really should be enough

MSmits: if you just use p1 ^ p2 it's really bad

jacek: mine is more like A * p1 ^ B * p2 ^ C * currentPlayer

MSmits: hmm ok

MSmits: dunno what that does

jacek: just to prevent collisions. A B C are some random prime numbers

MSmits: ahh ok

dbdr: p1 ^ p2 is the same as p1 | p2, hopefully :D

MSmits: yeah, thats why it's bad :)

MSmits: states.reserve(1000000); states.max_load_factor(10);

MSmits: hope that helps

MSmits: wont rehash unless it goes over 10 million, that cant happen anyway

Default avatar.png yellow12: :sunglasses:

Default avatar.png avidox: p

Washier: MSmits, see you're on the Othello board and very strong from the start. DIdn't expect anything less of course :)

MSmits: thanks :)

MSmits: I just made tree reuse work a minute ago

MSmits: not sure if it will help much

eulerscheZahl: actually i'm disappointed by your current performance :P

MSmits: lol

Washier: kinldy share your methods?

Washier: short description for noobs like me

MSmits: sure I did that yesterday, it's the same kind of bot I do for most board games these days

eulerscheZahl: MCTS then

MSmits: is mostly like mcts, but instead of random rollout, i eval each child and backpropagate the result

Washier: mcts\minimax

Washier: ?

MSmits: neither I guess

MSmits: it has traits of both

eulerscheZahl: MCTS with limited depth

Astrobytes: UCB guided tree search

struct: ept but eval all nodes on expand

MSmits: yeah what Astrobytes said

Washier: UCB?(sorry)

MSmits: its the function you use in mcts

MSmits: to determine what node to select

Astrobytes: Upper confidence bound (applied to trees = UCT)

MSmits: so instead of doing it bfs style like in minimax, you go deeper on better nodes

Washier: ty

MSmits: or at least nodes your bot thinks are better

MSmits: based on statistics

Washier: so move ordering in minimax setting?

MSmits: mmh not exactly, with move ordering you still have 1 depth setting

Washier: ok.

MSmits: in my tree, some nodes may be 20 deep and some only 5

MSmits: leafs i mean

Washier: ok. jeepers.

MSmits: its similar to how you cut off with ab pruning i suppose, but ab pruning never goes this deep and does a better job of reliably cutting bad branches

MSmits: if the eval is working correctly, you can also solve quite well with mcts

MSmits: mine goes 15 plies deep sometimes, sometimes a little less

Washier: think i understand. learning more, so good

MSmits: it's better to start with vanilla mcts i think if you want to learn it, even though my method is probably less code

Astrobytes: :+1:

Astrobytes: To get to know and understand how it works

MSmits: but do it for a game where it works well, like uttt

MSmits: gives you some sense of accomplishment

MSmits: btw Astrobytes, on a fast cpu I have to reset tree ones

MSmits: once

struct: uttt might be a bit hard to get legend though with C#

MSmits: on slow cpu i dont

Astrobytes: Yeah?

struct: just make your eval heavier :)

Washier: hell, most things are hard with my skills and C#.

MSmits: C# works very well in most Arena's

MSmits: the nr on this site does almost everything with C#

MSmits: rn 1

MSmits: i cant type for :poop: today

Astrobytes: Didn't you get legend in UTTT with C# MSmits?

MSmits: yes, back when it had 37 people in legend i got to 20 something rank with it

MSmits: probably translates to 50 or so now

MSmits: maybe worse

struct: but was it vanilla mcts?

MSmits: but i was pretty obsessively optimizing it

MSmits: yes it was, totally vanilla

Astrobytes: I remember :)

Washier: I've been given some some awesome advise last few days. skills to implement it still lacking tho. one idea has stuck - go back to C. i miss pointers

MSmits: C++

MSmits: you want to classes

MSmits: those

Astrobytes: C++ is handy, you can write C and use any handy C++ features when you feel like it

Washier: ok cool.

MSmits: when I use C++ I think its almost like coding C

eulerscheZahl: C# got faster on CodinGame thanks to release mode and .net Core

MSmits: I have probably just 1 class, sometimes 2 in my bot

MSmits: eulerscheZahl but also, most of the time, performance is not the biggest bottleneck

MSmits: except on these boardgames I guess

eulerscheZahl: agreed

Washier: is it worth it for 2 classes? i'm comfortable with C

eulerscheZahl: that might be why i'm not doing well in these board games

struct: you can use structs

struct: same thing

MSmits: if you've been using C#, you want to keep some of the features of it dont you?

Washier: doubt it

MSmits: eulerscheZahl I am pretty sure you would get some ranks in every one of these boardgames if you converted

Washier: not really. my C# uses List<int> max

eulerscheZahl: i'm always sad when i strip LINQ from my bots for performance

Washier: exactly

Astrobytes: I usually just put everything in structs, don't really need the access modifiers

MSmits: in C# a struct is a completely different thing

Washier: its not the same yes

MSmits: so i tend not to use structs in C++

Astrobytes: (was talking about C++)

eulerscheZahl: let's do an experiment MSmits. Bandas or Langton. choose a game and I will convert

MSmits: i know

MSmits: but this is why i dont use struct in c++

MSmits: because i get confused moving between C++ and C#

Astrobytes: the only difference is structs are public by default and classes are private by default

MSmits: eulerscheZahl definitely bandas

Washier: i meant C# has structs and unsafe and all that but its not C.

eulerscheZahl: reasonable, more spots to climb over there

MSmits: i mean mostly because its a much cleaner experiment, many players using the same kind of bots. Langtons is a mystery. Pretty sure performance is not a bottleneck there

eulerscheZahl: my bot has almost 300 lines :scream:

MSmits: the top guy isnt even C++ in langtons is he?

eulerscheZahl: Java

MSmits: right, so that would be a bad test

eulerscheZahl: MonoDevelop doesn't support C++ anymore, what IDE should I use :thinking:

MSmits: I have a :poop: ton of rollouts in langtons ant and i get nowhere near him

MSmits: no idea I am on windows

Astrobytes: VS code?

eulerscheZahl: i have that installed at least

Hjax: i really dont understand why just mobility is my strongest heuristic

Hjax: its what i have uploaded right now, and its roughly the same rating as smits mobility + frontiers + corners

Washier: it rules my eval Hjax, for what its worth

Washier: hey, you improved a lot Hjax. wd

Astrobytes: MSmits 'a9' is not a valid Othello action

Hjax: i havent changed anything for like a week

Hjax: i submitted a few weaker versions with more complex evals

Hjax: but then reverted back to this one

MSmits: a9 ??

MSmits: lol

MSmits: I rank above you with a9 ??

Astrobytes: I lost the replay, but if it's any help you passed a bunch of times first and it was near the end

MSmits: ohh

struct: you made multiple a9

MSmits: weird

Hjax: https://www.codingame.com/replay/476671464

Hjax: heres an a9 replay

Washier: ok. yes, its really close around 10. i had the same experience, best bot resubmit raking very diffrent

MSmits: how many times are you guys gonna say a9

Astrobytes: a9 times

Hjax: at least once more, a9

MSmits: :P

MSmits: thanks for noticing. Probably the expert rule thing

Washier: Robo should join kaggle once have more langs. He rocks with NN's

MSmits: not sure if he's good at them in general, but he sure has the alpha zero kind down

MSmits: mmh I think I know why it does a9

MSmits: it somehow thinks there are no legal moves and then the bitIndex = 64. that leads to a9

Washier: he understands the convolutional bits, and how to train. good chance he builds the best eval functions

MSmits: Agade and re curse are also quite good

MSmits: check out Oware, all 3 of them are at the top with different kinds of NNs

MSmits: re curse has a nr 1 NN at CSB

MSmits: and in BR2k

MSmits: he also made his own framework for training and such

Washier: jeepers. yes, tackling oware as soos as othello obsession wears off :)

MSmits: it's a fun little multi, sim is a little weird

Washier: if i can shift bits i would be happy

MSmits: much shifting

MSmits: but it depends on how you do your sim, i also use a lot of lookups

MSmits: like "if you choose pit 5 and have 10 seeds, these are the pits that receive seeds"

MSmits: cheaper than looping around with a lot of conditions

Washier: i'm sold

Washier: is it just me or are 2 player board games created by members a new thing. when i started there weren't any. love it to bits

MSmits: its not super new, but maybe a year or so

MSmits: and it's not necessarily board games

MSmits: you can make anything

MSmits: but board games have little art and are still very interesting

MSmits: for a board game with good art check out Onitama, which is also very interesting

Washier: yes i see. just a big fan of the 2 player perfect info kind i suppose. Onitama after otera, so many hours of fun ahead.

MSmits: yeah

Washier: suppose, most of the bot games are 2p perfect info.

MSmits: not exactly, our last few contests weren't

MSmits: and they turned into arena games

eulerscheZahl: contests are rarely board-game like

Washier: yes, oceans was super interesting

eulerscheZahl: and if they are (wondev woman), they add fog of war

eulerscheZahl: but thanks to the community there's a wide range of games to choose from

Washier: enjoyed wondev woman. made gold in C# with <300 lines.

MSmits: euler and struct being the biggest contributors I think

eulerscheZahl: i really struggled with legend there

Washier: is chess fitting?

Astrobytes: struct might do chess

Washier: said it before. awesome commnity.

eulerscheZahl: i borrowed struct from my own project atm, he's busy

eulerscheZahl: for, not from

MSmits: ohh

Astrobytes: And after that he still has to do Amazons, Lines of Action

MSmits: you confiscated struct?

eulerscheZahl: for now, yes

MSmits: mmh ok

Washier: saw that yesterdasy. struct is, like we would say here "'n yster"

MSmits: dunno what that is

Washier: (an iron)

Washier: solid

MSmits: oh right, he's solid allright

MSmits: not sure what he does for a living, but whatever he does, they're not paying him enough

Washier: agreed

Astrobytes: Still studying iirc?

Astrobytes: He is awesome whatever he does

Washier: iirc? if i may ask

Hjax: if i remember correctly

eulerscheZahl: if i remember ...

eulerscheZahl: (╯°□°)╯︵ ┻━┻

Astrobytes: dammit

Washier: ty

Astrobytes: He got us both euler

Washier: getting old

Astrobytes: :older_man:

Washier: hehe

Hjax: im apparently a youngun around here

Astrobytes: Meh. Old enough :P

Hjax: :P

Washier: not sure how people are. im 41

Hjax: im 23

Astrobytes: 37 here

Washier: impressive

MSmits: I dont know my age, only my birthdate

MSmits: let me get a calculator

eulerscheZahl: i'm between Hjax and Astrobytes

PatrickMcGinnisII: the darn function suggestion box keeps getting in my way in the new IDE, suggestions?

MSmits: 39 it seems

eulerscheZahl: :D

Hjax: copy and paste from a proper ide @PatrickMcGinnisII

Washier: well who knows. when i started studying, java 1.1 was the sheet. world is uspposed to go forward. good to see

Astrobytes: that's so you MSmits, not knowing your age :D

Hjax: @MSmits i cant picture you as not an old man because of your profile picture

MSmits: well my age is not a constant, but my birthdate is

Astrobytes: Can't argue with that!

Washier: haha he must be absent minded prof.

MSmits: thats fine Hjax

MSmits: mostly yeah Washier

Washier: absent minded is a compliment

PatrickMcGinnisII: yall young, I'm 49 ... my internet was FIDOnet

Washier: noice

MSmits: Fido ? thats like a dogs name?

MSmits: did dogs rule the internet before cats?

Washier: haha

PatrickMcGinnisII: You will never know the struggle of 300baud ... count your blessings

Astrobytes: Old-ass BBS veteran

Washier: yes BBS

Astrobytes: I still remember BBS's

MSmits: it's BS with an extra B

Washier: ah

Washier: when i was 18, browsing the internet was an occasion

PatrickMcGinnisII: We shared 8-bite games illegally and war-dialed everyone...the real anon

MSmits: my first experience with internet at home was everquest addiction

Astrobytes: That's how I remember it, my friend's big bro was into all that

Washier: haha

Astrobytes: He even installed an electronic keypad lock on his door

Washier: and now we have twitter.

MSmits: was it a steel door?

Astrobytes: Always pranking people and messing with the phonelines

Washier: not sure all of it is progress :)

Astrobytes: Absolutely Washier

Hjax: its funny how profile pictures bias my opinion of people, i was expecting smits to say he was in his 50s

PatrickMcGinnisII: OG advice, take care of your teeth, stay away from Mountain Dew

Washier: haha

Washier: teeth yes, very true.

Washier: listen to him

PatrickMcGinnisII: i had dental surgery yesterday, can a dude get a painkiller? no.

Astrobytes: Poitín is great, what ya on about

Astrobytes: The real mountain dew

Astrobytes: Rots ya liver not yer teeth :P

PatrickMcGinnisII: What is todays version of Silk Road?

Washier: well that escellated quickly

Astrobytes: There are quite a few, mostly quite specialised and invite only

PatrickMcGinnisII: hangovers vary Astrobytes ..poitin

Astrobytes: Not that I use those services, but I'm aware

Washier: of course

Washier: same here

Astrobytes: PatrickMcGinnisII True

PatrickMcGinnisII: i can't stare at a screen with a buzz

Washier: hehe

Washier: i grow my own, lets call it salad. legal here. find it's all you really need if you're into that. growing things also a very relaxing hobby.

Astrobytes: Nice. Did that many years ago, got into growing...fungus, and extracting from bark after that. Growing the fungus was very enjoyable.

Astrobytes: Did some straight up cooking ones too, wanted to do shiitakes and stuff but stopped

Astrobytes: Fun times!

PatrickMcGinnisII: Just finished Fun With Set Theory during all the bullshitting, don't fall behind...;)

Washier: yes, mushroom growing is interesting. very different, almost no light. think the enjoyment of seeing something growing out of nothing is universal.

Astrobytes: Totally agree. Anything mycology-related I dig. Sadly can't grow any veg or whatever where I am currently, used to grow a ton.

Washier: also find it a great stress reliever because its so different form software job

Washier: to cold?

Washier: *too

Astrobytes: Nah, chemical factories nearby

Astrobytes: I don't trust the soil nor the air.

Astrobytes: Fine for growing plants though.

MSmits: thankfully you can still type while holding your breath

Astrobytes: lol, I never thought I'd ever have to move back to this place

Washier: haha

Default avatar.png LovelyGhostVanDerSwag_9711: where to introduce standard input?

PatrickMcGinnisII: CS people need low maintenance housework and access to Wingsuits

Astrobytes: Speaking of "too cold", I discovered today that bok/pak choi grows very well here in Scotland

Hjax: i just looked up your climate, cold and went

Hjax: wet*

Astrobytes: Yes, it's pretty crap in that respect. You get used to it though.

PatrickMcGinnisII: :bacon:

Astrobytes: I prefer hot, but hey, can't have it all.

Hjax: i live in New England, which has very nice weather

PatrickMcGinnisII: Astrobytes I'll trade houses for a few months

Astrobytes: lol, you'd regret that Patrick

Hjax: i dont think he would

Hjax: looks like he lives in Florida?

PatrickMcGinnisII: gotta feed my cats and my dog

Hjax: basically the apocalypse there right now

Astrobytes: pmsl, perhaps not :D

Astrobytes: Quite.

PatrickMcGinnisII: nah, its calm here...i'm near legoland

Hjax: i just mean with the coronavirus

Hjax: being pretty out of control in FL

Astrobytes: I was gonna say, does LegoLand have antiviral properties :P

PatrickMcGinnisII: My gf and I have roots in the UK.

Astrobytes: Whereabouts?

PatrickMcGinnisII: covid... oh it's a pain

Hjax: ive never been to europe, i hope to go visit someday

Hjax: when the world is less of a mess

Hjax: no one wants americans to visit right now :D

PatrickMcGinnisII: She's more scot and I'm more Irish...so its a mashup

MSmits: i didn't want them to visit before that :P

Astrobytes: Yeah, there's so many great countries to visit. I hope you get the chance Hjax

Astrobytes: lol MSmits

MSmits: unless they were you of course Hjax

PatrickMcGinnisII: i've been there b4

Hjax: aww thanks :P

Astrobytes: Good combo PatrickMcGinnisII

Washier: where i live you cant complain. its minimum 3C this winter, 18C afternoon. summer its 20-34

MSmits: almost the same here

Astrobytes: Nice comfortable climate

Astrobytes: I liked the climate in London, summers were nice and hot

Washier: most people here have never seen snow

MSmits: it's a little bit colder here sometimes in the winter

MSmits: sometimes snowy

MSmits: but rarely

Hjax: ah it snows a lot here

Astrobytes: Snow would interfere with your tulip-powered windmills

Washier: played in snow once - was dissapointed

PatrickMcGinnisII: Imma tell u something wierd.... if your ancestors are from a colder climate and you move to tropics...its more likely that you will develop mitochondrial issues, like diabetes and stuff. It's a theory of mine, since I'm falling apart living in FL

Washier: haha

MSmits: think I fixed my a9, what a pain. I was converting chars to int wrong with - 1 instead of - "1" and I was also assuming I would receive my own pass turns as well

Hjax: most winters we get about 40 inches total

PatrickMcGinnisII: I felt great in UK

Washier: Patrick, interesting

Hjax: my ancestors are german and italian

Astrobytes: Since I've moved back to Scotland from a warmer climate I'm falling apart so...

MSmits: people in the western world just eat crap and half of them get diabetes

Astrobytes: Mostly true

MSmits: my father and mother both have it

PatrickMcGinnisII: I'll take ketchup over that damn brown sauce

Washier: agreed. and not enough excercise

Astrobytes: Not being able to exercise is killing me right now, putting on weight and everything

MSmits: I'm hoping to dodge the diabetes by eating like a true coder

Washier: less manual work to do though, so partly our fault

MSmits: sucks Astrobytes :(

Washier: what does a true coder eat? fish?

PatrickMcGinnisII: who is nameless?

MSmits: powder shakes

Astrobytes: Oh I forgot about your liquid food MSmits

Hjax: i think a true coder eats nothing

MSmits: yeah

Washier: haha

MSmits: i drink only :P

MSmits: well almost

Hjax: because they are too engrossed in their code and then they forget to eat

Washier: haha

Hjax: at least i do that

MSmits: sometimes that happens yeah

Astrobytes: Yep.

Washier: true. my wife is constantly annoyed with me for not being hungry,

PatrickMcGinnisII: I lived on MountaIn Dew for 10 years, don't do it

MSmits: i think thats called having a good marriage

Washier: actually i am at that point, but sheet

Astrobytes: Same with coffee for me, with added guarana often

Washier: so hungry, but must read this..

MSmits: guana?

Washier: be careful with the guarana

Washier: ca hike bloodpressure. my ail

MSmits: isnt that like bat poop?

MSmits: whats guarana?

Astrobytes: I gave it up years ago

Washier: haha

PatrickMcGinnisII: coffee is different, that keeps me from going postal

Washier: and supposedly not that bad if not abused

PatrickMcGinnisII: damn stitches in my mouth, I'm so hungry...damn jello

Astrobytes: I still drink coffee, vastly reduced intake though

MSmits: going postal is when you decide to stop replying to e-mails and instead post letters to reply to them

Washier: i mean, apparently. new study shows haha :)

Astrobytes: lol MSmits

Astrobytes: Everything in moderation I say. Apart from chillies. Can't have too many of those.

Washier: MSmits submitting

MSmits: i just fixed my a9

MSmits: wont be any miracle submit

PatrickMcGinnisII: Picante is a natural pain killer, helps to releaase natural endorphines

PatrickMcGinnisII: same with chillies

Washier: chillies are good. also believe in curry, lots of spices

MSmits: this is like religion to you guys

Washier: we eat lots of curry

Astrobytes: I live almost exclusively on curry or other hot and spicy foods

Astrobytes: My spice cupboard is enormous

Washier: haha same here.

Washier: we have mace ffs

MSmits: isnt that what you use to chase away rapists?

Astrobytes: It's the outer part of a nutmeg

Astrobytes: (not the shell)

MSmits: mmh ok

Astrobytes: Epic flavour and aroma

Washier: yes. not sure about the rapists stuff? haha.

MSmits: https://en.wikipedia.org/wiki/Mace_(spray)

Astrobytes: Mace spray is just 'pepper spray' right? Capsaicin aerosolised?

MSmits: https://en.wikipedia.org/wiki/Mace_(bludgeon)

MSmits: also works on rapists

Washier: oic

PatrickMcGinnisII: see mace on NBC news every night

PatrickMcGinnisII: ;)

MSmits: yeah, all those people running around with foodplates hoping to catch free spices

Astrobytes: hahaha

Washier: wow

MSmits: NBC news != msnbc right?

MSmits: I mostly see msnbc when I see the protest stuff

Washier: not offensive because i'll admit im very privileged here in SA. i have battery backup :)

PatrickMcGinnisII: FB paying a $5 B fine? holy shit

MSmits: for what Washier?

MSmits: the backup?

Washier: regular power cuts

MSmits: ohh

MSmits: wow

Washier: substations blowing up, cable theft

MSmits: I dont even have candles I think

PatrickMcGinnisII: true msnbc is more sensationalist

MSmits: I'm one foot into the dark ages

Astrobytes: No candles? That's just asking for it. I have candles and no lighter since I stopped smoking.

MSmits: oh but i am moving to a new house, it has solar panels, so thats good

Washier: noice.

MSmits: you can make a fire if you run 4 concurrent meta mcts and hold the candle at the back of your PC

PatrickMcGinnisII: I'm expecting at least 1 bad hurricane

MSmits: ah, we mostly have good hurricanes here

Astrobytes: :smirk:

MSmits: thats when they dont throw down the tree onto your house

PatrickMcGinnisII: were yall talking about oware abapa b4 i chimed in?

MSmits: 2 years ago there was a hurricane so bad half the trees where broken in the street next to ours

MSmits: Othello I think PatrickMcGinnisII, but maybe oware as well

Washier: best of luck. also privileged in Africa to have no earthquakes, tornadoes etc. nothing like that. maybe drought.

MSmits: there's a lot of crime though

MSmits: afaik

MSmits: in SE

Washier: yes

MSmits: SA

MSmits: I mean

PatrickMcGinnisII: I've been thru every bad storm, i stood in the eye of Hurricane Andrew surrounded by devestation in S. Fla at 3am, never seen anything like it since.

Washier: a LOT of poor people unfortunately

Washier: that sounds intense Patrick

MSmits: not just that, I also heard one time it has the city with the most rape victims in the world

MSmits: not sure which city in SA this was

Astrobytes: Yeah, SA, and Africa in general has it's own particular set of problems :/

PatrickMcGinnisII: Can i go to SA and build a nuclear reactor in my backyard tho?

Astrobytes: You can do that in US Patrick

MSmits: it's not illegal

MSmits: just the refined uranium and plutonium is

MSmits: but if you have a fusion reactor it's all fine

Astrobytes: beat me to it lol

Washier: yes. news is news but i would guess its Johannesburg(where i Live), 25% of population in the size of luxemburg

Astrobytes: Yeah, fusion ftw

MSmits: Washier yeah i think so, its pretty old news though, might be better now

PatrickMcGinnisII: Thorium

Washier: whe have a lot of shit in the ground here. including uranium

MSmits: :radioactive: :poop:

PatrickMcGinnisII: No, they won't let me have a Hydrogen tank muchless a reactor

Astrobytes: Is it still mined there Washier?

Astrobytes: Uranium, I mean

MSmits: we knew you didn't mean :poop:

Astrobytes: ffs :D

PatrickMcGinnisII: MSmits a physics dude hating nuclear?

MSmits: I don't hate it

Washier: uranium, not sure. if there is any left, some British co would be mining it yes. But gold and platinum and some other stuff, we have lots.

Astrobytes: Yeah, quite a history of plundering the continent for precious commmodities

MSmits: mine out the stuff, then fill the holes with CPU and mine crypto

PatrickMcGinnisII: We have piles and piles of heavy metals in the waste from Phosphate mining

Washier: Chinese trying to convince our gov to build nuclear - meanwhile, like i said, grid falling apart already.

Astrobytes: Could totally see that going really well.

MSmits: why are the Chinese interested in building nuclear in SA?

Astrobytes: They're interested building nuclear everywhere.

MSmits: it's a fetish?

Astrobytes: You're on form today MSmits

PatrickMcGinnisII: India is leading the way in energy reform because the US is over-regulated

Washier: money MSmits. gov is corrupt, they even admit it. but i'll stop there

MSmits: I'm a bit tired I guess, my mind works differently :P

Astrobytes: 99% of Africa's problems are due to corruption. Hell, make that the world.

Washier: very true

MSmits: there's different degrees of corruption though

PatrickMcGinnisII: Die Antwoord is from SA, yes? Can't be that bad

Default avatar.png JBM: and different causes

MSmits: when they find corruption in my government it's usually very tame

Washier: here, they dismiss it as 'not being western'. stealing is stealing

MSmits: well the voters become desensitized to it and accept it

Astrobytes: Voting eh

MSmits: we have a multi-party system. If two parties both have corruption, there's a bunch of other ones

PatrickMcGinnisII: US is corrupt AF... choose between the orange faced man or an old fart.

Washier: not necessarily. if you control the voters, you stay in power

Astrobytes: ^

MSmits: the voters choose to be controlled

Astrobytes: Not everywhere.

MSmits: true

Washier: not if they are uneducated

Washier: then they dont know

MSmits: yeah lack of education is problematic

terminator_t800: Hi

Astrobytes: Not for them. For them it's got everyone right where they need them.

MSmits: if only the well-educated could vote, Trump would have no base

Astrobytes: Why do you think people are kept uneducated and in poverty?

PatrickMcGinnisII: I may say some wierd stuff, but there are some dumb MFs here

Washier: yup Astro.

Astrobytes: Anyway, I can feel a rant coming on lol, I'll stop ;)

Washier: to cotrol them

PatrickMcGinnisII: the DOE is pushing privatization of schooling... its all about $, not people

Washier: yes. its not conspiracy. just politics. which is not logical or helpful i feel

MSmits: in the US the problem is mostly that the right is using cultural differences to get votes while screwing their voters out of everything else

MSmits: many people are blinded by these differences

PatrickMcGinnisII: teachers teach kids how to learn, if somone has the time and energy to self-study they usually will, but society is setup to keep people busy in a system of modern slavery

Astrobytes: +1 Patrick.

Default avatar.png Acerbic: Power of Thor is too hard for me :( can't get below 70 Q_Q am I missing some super-hack?

Default avatar.png Schwase: as a second year physics major im glad to know what i have to look forward to

MSmits: you mean you'll be like me?

Washier: yes, +1 Patrick. what we need is more good teachers. tough job

MSmits: yeah, who would want to do that though

MSmits: seems crazy

Default avatar.png Schwase: idk i havent really been paying much attention to global

Default avatar.png Schwase: just passed donut case validator in plague but still failed the submission validator. niceeeeee.

MSmits: dont remember the donut puzzl

PatrickMcGinnisII: My gf is an English teacher, they are pushing her back into a classroom soon...so she risks her life or she loses her retirement $

Default avatar.png Schwase: its the plague, jr puzzle

Washier: best of luck Patrick

Default avatar.png JBM: great puzzle btw

MSmits: the US is nuts with how your closely survival is tied to your job

Default avatar.png Schwase: yeah it really is

Astrobytes: Yep, it's a terrible way to treat people

PatrickMcGinnisII: i really slacked on Oware

Default avatar.png Schwase: nice self plug jbm

Default avatar.png JBM: O:-)

Astrobytes: :D

MSmits: lol

Astrobytes: How's things JBM?

Default avatar.png JBM: mostly ok

Default avatar.png JBM: took a few days of vacation

Washier: nice to meet you JBM

Default avatar.png JBM: to deal with the inlaws

Default avatar.png JBM: heya Washier

Astrobytes: oh, fun times then

Default avatar.png JBM: well

Default avatar.png JBM: they do provide us in rum

Default avatar.png JBM: i suppose i can tolerate them

Washier: haha

Astrobytes: Aha. That's the ticket.

Default avatar.png JBM: rum is life

PatrickMcGinnisII: jbm, when u make a puzzle can u see the submitted code in all languages?

Default avatar.png JBM: no

Washier: rum is life, haha, i like pirate metal

Default avatar.png Schwase: patrick do you mean like a code translator?

PatrickMcGinnisII: i already did Plague, i gave it 5 ::stars::

Default avatar.png JBM: you rock

PatrickMcGinnisII: Schwase, no..when u finish a puzzle u can see the solutions of your peers

PatrickMcGinnisII: i thought maybe if you made one, you could see all the submits...i guess not

Default avatar.png Schwase: oh so you mean does he still have to solve it first?

Default avatar.png JBM: in all languages you want to see the solutions for, yes

Default avatar.png Schwase: so puzzles dont need to have a solution to be approved?

Default avatar.png JBM: they do

Astrobytes: They most certainly do

Astrobytes: Or, should, indeed.

Default avatar.png Schwase: yeah so you can just submit your own solution code to see others' solutions

Default avatar.png JBM: in the same language yes

Default avatar.png Schwase: oh

Default avatar.png JBM: same as everyone else

Default avatar.png Schwase: i only code in java so i never checked

Astrobytes: Shame on you :P

Default avatar.png Schwase: and i havent really felt a need to since im just grinding the easy puzzles rn

Default avatar.png Schwase: i need to learn c+ for a datastructures course this fall though

Default avatar.png JBM: yeah that feature is a bit unbalanced

Default avatar.png Schwase: and i do know SOME python

PatrickMcGinnisII: I translated a few solutions into other languages, but its not fun for me

Default avatar.png JBM: it's usually not too useful to see a solution to a puzzle you already solved

Default avatar.png JBM: it could be useful/interesting to see how other languages do it

Default avatar.png JBM: and was actually how it was at first

Default avatar.png JBM: but CG has language badges

Astrobytes: Unless it's a tricky problem that you did a hacky solution for and want to see a better way

Default avatar.png Schwase: idk, a puzzle that you dont have a really elegant solution for would be worth checking

Default avatar.png JBM: so people used the feature so get them

Default avatar.png Schwase: ^

PatrickMcGinnisII: cg encourages you to expand your knowledge

Default avatar.png JBM: and CG restricted to languages you already solved

Default avatar.png JBM: it was suggested long ago to open solutions' visibility to languages you already have the badge for

Default avatar.png JBM: but they don't seem to care

Astrobytes: That would be a better way I think, yes

Washier: ten foot pole. not touching

MostComplicatedUsername: no one has a cotr bot

Astrobytes: I swear you said that the other day MCU

MostComplicatedUsername: 9 people

PatrickMcGinnisII: There are alot of different styles even amongst same lang, but it would help to see a kotlin solution to an easy puzzle that you have already solved in C++

MostComplicatedUsername: Did I?

Astrobytes: Pretty sure of it.

MostComplicatedUsername: Well that doesn't make it any less true :D

Astrobytes: :P

Astrobytes: I think I submitted something there, but not a real bot

PatrickMcGinnisII: MCU, want me to submit so you won't be last?

EEEEEEEEEEEEE: lol sure :D

EEEEEEEEEEEEE: I don't have a bot for it either, I just submitted to add another multi to my list

Astrobytes: It's a (very) Rainy Day Multi for me

ZadeTheExplorer: i am wonder that people prefer js and python more than java or other oop in ClashCode

PatrickMcGinnisII: oh crap, 4 players

MSmits: dunno about js, but in python you can write a solution with very little code

MSmits: less than java

EEEEEEEEEEEEE: Well yeah no {}

struct: I cant understand the formula that CG uses to make the number of battles for Community multies

Default avatar.png Schwase: ;

Washier: when its golf, langs like java\C# suck

Default avatar.png Schwase: yeah;

Default avatar.png Schwase: they do;

Washier: Console.Write... and yuo lose

PatrickMcGinnisII: sorry MCU, I'm not last

struct: checkers 90 games 161 player othello wood 2 83 games 35 players othello wood 1 81 games 15 players

struct: per submit

Washier: othello woooo

Washier: <cheerleader outfit>

Astrobytes: Scary, scary image :P

Astrobytes: Yeah it's a bit annoying struct

Washier: hairy legs

MSmits: struct could be a function of calculation time?

dbdr: this 83 and 81 is actually 80

dbdr: plus matches scheduled by others

struct: yavalath also 90

dbdr: I guess there are the addtiional 10 ranking matches

dbdr: when league is above a certain size

struct: I guess

struct: well if othello wood 1 ever hits a certain number Ill open a new league

struct: if the number is too big

dbdr: the 10 ranking matches don't count in the %, they are special

dbdr: wood 0? ;)

struct: One day we might have bronze

PatrickMcGinnisII: struct that would entail me getting out of wood2

dbdr: would make sense for large commus

Astrobytes: Proper leagues would be great. I think it might encourage more people. Perceived sense of achievement and all that

Default avatar.png Schwase: 100% on plague

Default avatar.png Schwase: pretty proud of it too

Astrobytes: gj

PatrickMcGinnisII: gj Schwase

Default avatar.png Schwase: except that i reinitialized the network everytime i tried a new starting node

PatrickMcGinnisII: i gtg, mouth hurts. "be good, or be good at it!"

Default avatar.png Schwase: that was pretty scuffed

Default avatar.png JBM: gg Schwase

Default avatar.png Schwase: ez

Astrobytes: Later Patrick, take it easy

Default avatar.png Schwase: lol

Default avatar.png Schwase: welp i submitted the same code again and got 80 so i barely even fit into the donut case LOL

EEEEEEEEEEEEE: E

Astrobytes: I

Default avatar.png JBM: E

Washier: k

BorisZ: test

Astrobytes: TEST FAILED

Aravindhsiva: Hola amigos

eulerscheZahl: compilation failed :(

eulerscheZahl: /usr/bin/ld: /tmp/ccvj6ZLV.o: in function `main': bot.cpp:(.text.startup+0x784): undefined reference to `Board::childFrom'

Astrobytes: multiple files?

Default avatar.png JBM: or simply an unimplemented method

Astrobytes: Or static member

Astrobytes: I would dearly love to rephrase that, but I cannot.

eulerscheZahl: static member

Astrobytes: Too much C#'ing has made you weak :P

eulerscheZahl: screw it, i'll move it out of the class

eulerscheZahl: hm, something is wrong with my bot :(

jacek: degrade from class to struct

eulerscheZahl: https://www.codingame.com/share-replay/476690716 i see a 20% win chance while applying my last move

eulerscheZahl: and my sim count in C++ vs C# arena is pretty similar

eulerscheZahl: i'm using the pragmas

Astrobytes: Fix it.

eulerscheZahl: i'll outsource it

Astrobytes: TeamViewer! :P

eulerscheZahl: great idea MK

Astrobytes: :grin:

eulerscheZahl: once a fellow codingamer even wanted me to connect to his PC - and I did

eulerscheZahl: tbh i wouldn't trust myself enough to do it

Astrobytes: Indeed

eulerscheZahl: some C# console game, i found the bug

Astrobytes: You could have 'found' many other things too most likely

eulerscheZahl: syskey

Astrobytes: :smiling_imp:

Astrobytes: aw ffs, brb, cat vomit

eulerscheZahl: oh, i know that

jacek: too much Caturday

eulerscheZahl: you have about 10s when the noise starts

eulerscheZahl: at least to save your carpet

MSmits: :nauseated_face:

Astrobytes: Yeah, it's like the cat's 'beatboxing'

Astrobytes: Wasn't too bad this time, she was chewing plastic again.

MSmits: oww, you have one of them intelligent cats

MSmits: i grew up in a house with 4 cats

MSmits: all indoor cats

Astrobytes: Yeah my two are mostly indoor cats

eulerscheZahl: mine can go outside any time

eulerscheZahl: but decides to stay inside a lot. maybe because of the neighbor cat?

Astrobytes: So can mine, they're too scared though without me

eulerscheZahl: mine likes to go outside with me too :D

eulerscheZahl: and then marks the neighbors frontyards as her territory while i stand next to it

Astrobytes: They tend to prefer your company over most things, funny little creatures

dbdr: "my" cat is outside 99% of the time :)

Astrobytes: lol, yeah

Astrobytes: Ah you have a wanderer :)

dbdr: well, she has me, rather

Astrobytes: Bet she shows up at other people's doors/windows pretending she's hungry

Astrobytes: Just to see what she can get :)

eulerscheZahl: that's what the neighbor's can does too

eulerscheZahl: 5am and he finds a way into my room, cat fight starting

Default avatar.png Schwase: pro tip: before you spend 30 minutes investigating your code, dont forget (a+bi)^2 = a^2 + abi + b^2 isnt actually math

Astrobytes: lol, now I know why you sleep earlier and get up earlier euler :)

jacek: eyup

Astrobytes: wwops

Astrobytes: Or woops

Astrobytes: Wrong button

Astrobytes: ffs

MSmits: hey jacek

MSmits: i was thinking about what you said about TT and the player being part of the hash

MSmits: I don't think it's necessary

MSmits: because even if there happen to be two states with the same board configuration but different players, you will at most have 1 hash colllision there. 2 items in the same buckets

MSmits: thats what the comparer is for

MSmits: just make the comparison check. it's rare so it wont cost you

MSmits: http://chat.codingame.com/pastebin/ee3f777a-cc2b-4c45-aa26-b21268e80f64

Astrobytes: Please, my eyes. Just: return (s1.p1 == s2.p1 && s1.p2 == s2.p2 && s1.player == s2.player)

P

Default avatar.png JBM: reads like haskell

MSmits: hmm yeah thats better

Astrobytes: No shit :P

Astrobytes: I'll leave it at that.

MSmits: fixed

Default avatar.png JBM: For Now.

MSmits: :)

MSmits: I am trying to make TT work

MSmits: but a little worried about something

Astrobytes: I am in no position to criticise. I accidentally submitted.

MSmits: on the one hand i dont want it to slow my bot down too much

MSmits: but if does have to slow me down a bit, because I cant reset my tree

MSmits: i need those nodes alive

Astrobytes: I just need to fix my mouse aiming

Default avatar.png why_not_me: hey guys is there somewhere the code for an Starter Kit for cpp?

MSmits: use a USB scope

Astrobytes: lol

Default avatar.png JBM: int main() { return 0; }

Default avatar.png JBM: that'll be $20

Astrobytes: #include <iostream>

Default avatar.png JBM: whoa

Astrobytes: +$5

Default avatar.png JBM: don't you push the budget like that

Default avatar.png why_not_me: in wood1 league you can chose here from some starters: https://github.com/csj/code-a-la-mode/tree/master/src/test/starterkit

MSmits: ahhh yes, some ex-contests have this

Default avatar.png why_not_me: unfortunately there isn't one for cpp

Default avatar.png JBM: it didn't deserve it

Default avatar.png JBM: why_not_make_one?

MSmits: are you good with cpp why_not_me?

MSmits: or completely new to it?

Default avatar.png why_not_me: I'm completely new to bots and coding challenges

MSmits: Ok definitely dont do cpp then

Default avatar.png why_not_me: So it would help me big time

MSmits: it's not beginner-friendly at all

Default avatar.png JBM: yeah do VB.net

MSmits: do python or C# or something

Default avatar.png why_not_me: I have to... It's part of my university course

Default avatar.png why_not_me: It's amazing how much time you guys invest in mocking me instead of helping

MSmits: do you have to do bots specifically?

Default avatar.png JBM: is a starter really the way to go then?

MSmits: or can it be puzzles

Astrobytes: I would suggest waiting until you know the language a little bit

Default avatar.png JBM: we're not specifically mocking you

Default avatar.png why_not_me: I have to do the code-a-la-mode

MSmits: it's just JBM, he's annoyed cuz he got fired from the suicide hotline

Default avatar.png JBM: more like the absurdity of the situation

Astrobytes: Really? In C++?

Default avatar.png JBM: and c++

Default avatar.png why_not_me: yes

Default avatar.png JBM: you have to do calm, but you can't code yet?

Default avatar.png JBM: that's some course

Default avatar.png why_not_me: who said i can't code?

Default avatar.png JBM: kinda you

MSmits: what can you code why_not_me?

Astrobytes: You do know some C++ at least right?

MSmits: what are your skills/

MSmits: ;

Default avatar.png why_not_me: Okay, guys... thanks for nothing. bye

Default avatar.png JBM: lolnowait

Astrobytes: emmm

Default avatar.png JBM: mmm

MSmits: :snowflake:

Default avatar.png JBM: maybe we dodged a bullet

Default avatar.png JBM: maybe we'll regret this for the rest of our lives without knowing who to blame (but me)

Default avatar.png JBM: all we have to od now is wait for him to write the facebook-displacer

MSmits: people should have thicker skin than this when asking for help

Astrobytes: I blame myself really, and I'm slightly proud of that

Default avatar.png Schwase: i have a single easy puzzle left

MSmits: awesomeness!

Default avatar.png JBM: let's replay the scene

Default avatar.png Schwase: unfortunately its pathfinder

Default avatar.png JBM: "is there a c++ starter?"

Default avatar.png JBM: "here's one"

Default avatar.png Schwase: and i havent done pathfinding in like 3 years

MSmits: those are the best ones Schwase, great to learn from

Default avatar.png JBM: "other langs have it"

Default avatar.png JBM: "yeah but i'm new to ai and need one"

Astrobytes: :grin:

Default avatar.png JBM: "use a beginners' lang"

MSmits: he could have just coded a bot in whatever language he is familiar with and then convert it to c++

Default avatar.png JBM: "but i'm no beginner"

Default avatar.png JBM: [things kind of go wrong then]

MSmits: it's partly the teachers fault though

Astrobytes: I'm just having trouble with the 'fact' that he is supposed to create a C++ bot for CalM

MSmits: who does this to students

Default avatar.png JBM: i suppose our wrong is to have assumed he was a beginner coder, when he was only new to AI/bots

Default avatar.png JBM: yeah that's another one

Default avatar.png Schwase: he was entitled

MSmits: maybe it was acat :P

Default avatar.png JBM: not necessarily

Astrobytes: That's why I asked him whether he knew C++

Default avatar.png JBM: he merely asked for availability

MSmits: c++ is horrible for calm

Default avatar.png JBM: there wasn't

Default avatar.png JBM: but that's not his fault

Default avatar.png JBM: c++ is horrible for a lot more than calm MSmits

MSmits: true, but calm is mostly a heuristic multi, its even worse to use c++ for that

Default avatar.png JBM: true dat

MSmits: because there isnt even a plus-side to it

Astrobytes: The way you do it yeah MSmits :P

MSmits: no i actually did a search

MSmits: beamsearch

Astrobytes: I know!

MSmits: ah ok, you and your memory bah

MSmits: how can I tell the same story over and over if you wont let me

MSmits: :cry:

Astrobytes: Alright alright

Astrobytes: One a week

MSmits: so story short: Accept the damn plate when it's offered!!!!

MSmits: this has to come out whenever calm is mentioned, sorry

Astrobytes: where is that tumbleweed emoji

MSmits: we need one of those

MSmits: with animation

MSmits: it's rolling over the screen

MSmits: maybe a little windy sound

Astrobytes: I agree. Despite my aversion to emojis I find I use them frequently on here.

Astrobytes: Whshhhhhhh

Astrobytes: I would leave CG if that became a thing

MSmits: windy slunds?

MSmits: sounds?

Astrobytes: Any chat-based sounds

Astrobytes: Imagine a giggling sound everyone posted the (in)appropriate emoji

MSmits: spammers would have a field day

Astrobytes: it would be very 1990s

Astrobytes: As long as they don't introduce 1990s ICQ sounds

MSmits: i dont remember those

MSmits: i do remember they made sounds

MSmits: msn too

Astrobytes: I don't remember them either, but they were annoying. Hated msn, ICQ was bad enough, only used it for SC players and a few other people

MSmits: Star craft?

Astrobytes: Yeah

Astrobytes: Original and Brood War

MSmits: ah ok cool

Default avatar.png JBM: aaaah bw

Astrobytes: GBR-1 crew

Astrobytes: Fun times

Astrobytes: We all met up at a theme park once, was a good laugh

MSmits: sounds cool

MSmits: my TT for Othello sucks :(

Astrobytes: Mine too man, mine too

MSmits: i think it just sucks cuz it's supposed to

MSmits: since I use UCT

MSmits: and such

MSmits: with yavalath you have 40-60 children per node

MSmits: and you do one check and store one TT per expansion

Astrobytes: Mine is just not working, it's working better than it was but I'm gonna come back to it tomorrow, since I've had some beer now

MSmits: Othello has far fewer children so I think I just have to check too often

MSmits: I get about 20% less rollouts

Astrobytes: I've never used a TT with any UCT-guided search

Default avatar.png Schwase: how many lines would it take you to make a pathfinder? just trying to ballpark if what i have in mind is way over the top or not.

MSmits: It only worked for me in yavalath

MSmits: 10-20 lines

Astrobytes: Are you doing Lost Child Schwase?

Default avatar.png Schwase: yeah

Default avatar.png Schwase: unfortunately

Astrobytes: Just a BFS

Default avatar.png Schwase: 10-20 :O

MSmits: well thats just the algorithm, getting the nearest neighbors can cost some lines

MSmits: always go for BFS

Astrobytes: It's really easy, honestly, straight-up BFS

MSmits: I have a bunch of BFS implementations in C# you can find on the playground in my profile

Astrobytes: I've not done the puzzle but I may or may nto have given the author my BFS code at some point

MSmits: I 'm going to teach BFS to my students next schoolyear

MSmits: only thing I am slightly hesitant at is that they dont know oop

Astrobytes: What do you need OOP for?

MSmits: the node

MSmits: neighbors etc.

MSmits: you usually use a class

Astrobytes: hm

Astrobytes: I see

MSmits: there's probably a way to make it simpler

Astrobytes: But it's a data structure

MSmits: maybe premake the class

MSmits: they only have to add it to a queue

Astrobytes: It's just POD

MSmits: pod?

Astrobytes: plain old data

Astrobytes: nothing fancy going on

MSmits: we'll see

Astrobytes: You don't even need a node class

struct: why?

struct: just have an array[n][n]

MSmits: doing it without the node class might be more difficult

Default avatar.png Schwase: i hadnt heard of BFS or OOP or even A* before i had to look into solving this. im a physics major not a CS major. recently CS has been pretty appealing but i definitely need instruction in a class setting because im usually too lazy to read / get to understand code tutorials

Marchete: in modern standards array are just bad practice

Marchete: [n]?

MSmits: Schwase I am also a physics major and I learned half of my coding in the last 2 years on this site

Marchete: if it goes bigger?

struct: whats the bfs for?

MSmits: working with classes is not hard but you need to get past a small barrier, once you're past it, you'll love it

Astrobytes: Just for teaching purposes struct

Astrobytes: MSmits, you'll be teaching them the algorithm manually too I presume?

Default avatar.png Schwase: ive taken a CS course before and we did things such as "crazy bugs" but i have since stopped using external references with the exception of a few recursive puzzles that i couldnt do without them

MSmits: Astrobytes yeah i'll probably do some puzzles or something, something with pen and paper

Astrobytes: Just a small graph is enough, a couple of points, or a small grid

MSmits: yeah

struct: show them connect

struct: 4

MSmits: it's more natural to do a small maze

Default avatar.png Schwase: order of succession is a really good puzzle to show bfs

Default avatar.png Schwase: wouldnt you say?

MSmits: hmm dont know that one i think, or maybe i do

Default avatar.png Schwase: the royal family tree

Astrobytes: I learned this with nodes on a graph

MSmits: i did all easy puzzles that were made before july last year

Default avatar.png Schwase: http://chat.codingame.com/pastebin/39c842c6-7f85-4336-85f3-e7b847225221

MSmits: but they made new ones

MSmits: sounds good

Astrobytes: Grid would be an easy graph to do maybe, but maybe like visiting cities via roads. You can teach multiple graph search algos like t hat

MSmits: i'll think about it after i get back from vacation. My idea is to introduce them to a lot of different types of AI

MSmits: will also do machine learning

MSmits: maybe just the tensor flow website by google

MSmits: i want a hands on example of each but have to think carefully since they are not very skilled coders, most of them

Astrobytes: For pathfinding, bunch of cities, linked by roads with distances (you can add other costs if necessary), demonstrate BFS, DFS, Dijsktra, A* approaches and do them manually on paper

MSmits: yeah that makes sense

Astrobytes: The differences become very clear when you do that

MSmits: yeah dijkstra is nice to do on paper

Astrobytes: Some good visualisations on redblobgames too, could be useful

MSmits: that site is awesome

MSmits: https://www.codingame.com/share-replay/476703481

Astrobytes: It is yeah

MSmits: i thought my solver was broken... but this is Ninja's fault right?

struct: I would be more worried if it went from WIN to DRAW

MSmits: yeah, I also just discovered a bug in my TT

Astrobytes: Yep, that was a blunder

MSmits: i was only recording the child index, not the maximum number of children

MSmits: for yavalath i dont need to because the board tells you how many children

MSmits: but for othello the child count veries

MSmits: varies

MSmits: maybe if i fix this it will magically become good :P

Astrobytes: Good luck :D

Astrobytes: See you all tomorrow guys, take care

Default avatar.png Schwase: seeya

MSmits: gn Astrobytes

struct: gn

MSmits: I think it's crap. I'll just submit and hope the result is clear either way

MSmits: I can cross it off my list at least

plrp: Hi MSmits!

MSmits: hi plrp !

Default avatar.png Schwase: so what im hearing is that the use of ArrayList might not be the go to way to solve this puzzle...

MSmits: ah one of my students i think

struct: https://www.codingame.com/replay/476704178 MSmits

MSmits: or at least at my school

plrp: Yes, it's maarten

MSmits: ohh cool

MSmits: some free time finally then?

plrp: Yes, finally!

MSmits: thats weird struct

MSmits: anything you want to try on CG plrp?

plrp: I just felt like doing a simple coding puzzle, just to relax a little

MSmits: ahh ok, so many to choose from

MSmits: I dont puzzle that often

MSmits: the pikachu puzzles are not bad

MSmits: series of 4 puzzles that were part of a speed contest

plrp: Oh, I'll try those then

MSmits: it's just the 3rd one that has a bit of a twist that is not that easy to get from the description, but the first 2 are kind of relaxing

plrp: I'll see how far I get, I'll start at part one

MSmits: if you want a benchmark. I did the first one in 20 mins, the second one in 30 mins, the third in 45 mins and the last one took an hour or so.

MSmits: but that was highly stressed because of the 4 hr time limit. Take your time :)

MSmits: might be it was a bit longer than i said, my total was like 3,5 hrs, i had half an hour left I think

plrp: Ok, I'll take my time, I don't think I'll get around to the third one

MSmits: nah dont worry about it, they are separate puzzles now

plrp: Yeah I saw

MSmits: btw, they are pathfinding puzzles and i am assuming this is easy for you

MSmits: because i know you are a very good coder

MSmits: you've done BFS and such before right?

plrp: What does BFS stand for?

MSmits: breadth first search

MSmits: simplest algorithm for finding a route in a maze

MSmits: or a path in a graph

MSmits: from A to B

plrp: Oh, I don't think I have, but I've used similar algorithms

MSmits: i think in this case its easier than this even

MSmits: I think you're told to hug the left wall or something

Default avatar.png Schwase: yes

Default avatar.png Schwase: for the first one

Default avatar.png iSPANKzombiez: anyone willing to give help?

MSmits: and keep track of which tiles you visited until you found your starting point

Default avatar.png Schwase: its L/R

Default avatar.png Schwase: what are you working on zombiez?

Default avatar.png iSPANKzombiez: Shadows of the knight

Default avatar.png iSPANKzombiez: batman level

MSmits: thats binary search

MSmits: jump to the middle point between current position and the edge of the map

MSmits: if you're at x = 2 and it says East and the edge is at x - 8, do (2 + 8 )/2

MSmits: if i remember the puzzle correctly

Default avatar.png Schwase: create four variables to express the upper, lower, right most, and left most points that are possibly the location of the bomb

struct: basicly you want to elimanate the max number of points

struct: with each move

Default avatar.png Schwase: ^

Default avatar.png OrangePeel: how can i print my own debugging messages into the code

Default avatar.png OrangePeel: i.e. in the python code, i would like to add some print() statements of my own without conflicting with the expected output

tomatoes: file=sys.stderr

plrp: print("Debug messages...", file=sys.stderr, flush=True)

Default avatar.png OrangePeel: ah! cheers

LoGos: remember to import sys

thanhhv317: hi

thanhhv317: i come from vietnam

thanhhv317: i want to a job