From CG community
Jump to navigation Jump to search

JLukeSkywalker: make it fun, host private clashes where everyone is lagging

JLukeSkywalker: see who can struggle the best

jjhiggz: I want to get into a functional programming languages, does anybody have a reccomendation on which one

jjhiggz: I'd like to do one with strong typing

Andriamanitra: depends on what your goal is

Andriamanitra: if you want to learn functional concepts haskell is probably a good choice

Andriamanitra: if you actually want to get shit done stay the fuck away from haskell and go with scala or a lisp (like clojure)

jjhiggz: What about if I want an inbetween of being useful, and just forcing me to be comfortable with an FP paradigm

JLukeSkywalker: if you didnt require the hard typing, i would say just use python functionally

jjhiggz: ok, I was thinking scala

jjhiggz: I mean I feel like I get alot of FP concepts, I do Javascript all the time. But when I tlook at scala or haskell code its so foreign looking

Andriamanitra: at least with haskell a big part of it is that the syntax is weird even for simple things

jjhiggz: interesting, My gut is leaning me towards Scala

jjhiggz: I'm ok with strongly typed languages but I could stand some practice at that as well., so maybe a double whammy?

JLukeSkywalker: you can treat any language as a typed language

JLukeSkywalker: you shouldnt really be changing variable types anyway even if you can

Andriamanitra: it's easy to overlook things when the language doesn't have your back

JLukeSkywalker: also wait, hang on, isnt a functional language required to have typed variables?

JLukeSkywalker: every variable is a constant

Andriamanitra: i believe you could have a functional language without a type system in theory, not sure if such a language exists though :thinking:

JLukeSkywalker: the typing is irrelevant, they are all constants

jjhiggz: interesting

jjhiggz: I didn't realize that was a factor

Andriamanitra: immutability and typing are separate concepts

jjhiggz: couldn't you be like "this function has to take in a string"

jjhiggz: and that would have nothing to do with whether or not its fp or oop or imperative

JLukeSkywalker: they are separate concepts, but with immutability i think you dont really need typing

Andriamanitra: i'm not sure i follow your logic there

jjhiggz: interesting, it seems like SCALA allows you to write mutable things, although I know that kind of breaks FP paradigm

jjhiggz: I'm not sure that I follow either

JLukeSkywalker: if i make an int in an untyped language, and that value will never change, why do i need the language to tell me that its an int

jjhiggz: well if you want to use that function somewhere else in your code, wouldn't you want it to not work on say, a string

Andriamanitra: if the language is untyped it's not an int in the first place, int is a concept that only exists in typed languages

jjhiggz: or a float

JLukeSkywalker: if you are writing function libraries in an untyped language you should be checking inputs and raising errors anyway

Andriamanitra: the language may use the type to pick the right version of a function for example

jjhiggz: how do you check the inputs if there is no typing system?

jjhiggz: What would you be checking for exactly

JLukeSkywalker: the language still assigns them a type

JLukeSkywalker: just at run-time

Andriamanitra: i guess you mean dynamically typed rather than untyped

jjhiggz: ^

jjhiggz: ^

jjhiggz: but wait, even then, if you're checking the type of the thing going in anyways and raising errors if it isn't correct, then at that point aren't you just creating more work for yourself than just using a statically typed language?

JLukeSkywalker: depending on the application, doing that to use that language is sometimes still worth it

JLukeSkywalker: also even untyped languages like javascript still have ways of getting a type

Andriamanitra: if you're just replicating all the type checks a statically typed language would be doing anyway yes, but that's not how you usually handle errors in say javascript

Andriamanitra: javascript isn't untyped, it's dynamically and weakly typed

jjhiggz: I know in JS there is "typeof", but I've been starting to do more typescript rather than just check it myself

jjhiggz: also just to mantain some level of humility, thank y'all both so much for this discussion. Seem's like you both are legendary coders, at least according to codinGame

JLukeSkywalker: I was just saying that looking for a functional programming language is fine, but looking for one that is hard typed really doesnt do much to help, as it is or should be very easy to not make type errors while coding

jjhiggz: That definitely does make sense though, alot

JLukeSkywalker: i guess what is your purpose for wanting a typed language

jjhiggz: Well in general I was told that living in a typed mindset for a while will make you a much better programmer when you come out the other end

jjhiggz: I personally have been programming for a little over a year now, and feel really comfortable with Javascript and am ready to step out of the comfort zone, and explore alot

JLukeSkywalker: when programming in non-hard-typed languages, did you change variables types as you went?

Andriamanitra: i definitely agree with that, it's good to get a feel for a strongly and statically typed language even if that's not what you end up using most of the time

jjhiggz: I try not to

jjhiggz: But for example I think that JS might be enforcing some bad habits

jjhiggz: particularly in algos where I am defining edge conditions

jjhiggz: I get the sense that I am checking for not null too often, and alot of times I can benefit from restructuring algos

jjhiggz: And also I tried out flutter for a little while, which is based in dart and is very oop, and I was struggling alot with types, and OOP concepts in general. I'm definitely not ditching OOP, I just figure theres a much more solid chance of me getting a job soon where I'll be doing OOP at work, and I figured to learn straight FP I'd probably have to make it more of a me thing and less of a work thing

JLukeSkywalker: programming functionally will put you in the correct mindset pretty much whichever language you do it in, the type of language will just determine how much the compiler/interpreter enforces it

JLukeSkywalker: i use python functionally for multithreading purposes, and being able to use some non-functional bits of script in safe areas is sometimes beneficial

jjhiggz: Do use applicatives alot in python, map, reduce, filter, and stuff like that?

jjhiggz: I kind of hate the syntax in Python haha

JLukeSkywalker: i do on here

jjhiggz: not in the real world as much?

JLukeSkywalker: control systems programmer, so whole different ballpark

JLukeSkywalker: programming communication and hardware

jjhiggz: I've got a bachelors in Chemical Engineering, I did a little bit of that stuff in my program

jjhiggz: But I think college does a pretty garbage job in general of teaching people how to program. I'm way better now after a 15 week bootcamp than I ever was when I actually was taking process controls classes

Andriamanitra: python syntax is certainly not the best for lambdas :D i've been spoiled by ruby/julia/crystal all of which have excellent syntactical support

jjhiggz: I like Pythons lambdas more than ruby's do end blocks though haha

JLukeSkywalker: yeah, bootcamps are decent. I learned like 5-6 languages before college, and they only offered courses for languages I already knew

JLukeSkywalker: except haskell

JLukeSkywalker: that course was nuts

jjhiggz: Is haskell mainly an academic language

jjhiggz: I've heard that somewhere

JLukeSkywalker: I havnt used it for anything

Andriamanitra: i'd say so

jjhiggz: makes sense

Andriamanitra: i'm sure there are some real world applications made with haskell but they're few and far between

jjhiggz: I actually have to go to bed now, I've got to wake up in 4 hours and hike a mountain in sub zero temperatures and try my best not to die

JLukeSkywalker: looks like FB and GitHub use it, thats all i could find with a quick search

JLukeSkywalker: lol, GL

jjhiggz: Thanks y'all so much for the conversation

Andriamanitra: the way i see it it's kind of a breeding ground for new features that eventually make their way into other languages (things like type inference, pattern matching)

jjhiggz: I gotta hang out on here more often

jjhiggz: interesting

jjhiggz: Well peace! Have a great night, or day I'm not sure where y'all are at

JLukeSkywalker: 1am here, US

JLukeSkywalker: i gotta sleep too

JLukeSkywalker: been working on mean max code

jacek: happy Caturday

GeekGitz: in Chuck Norris, C in binary is 1000011 when really C in binary is 01000011

Default avatar.png Severnaya: hmm, i'm trying to do the quest map, and i've completed like 5 Loops puzzles, but it's only registering 2/3 completed =\

geriatric1927: @GeekGitz Remove the leading zeros

GeekGitz: @geriatric1927 Thanks. :relaxed:

MSmits: anyone else have problems getting into multis?

jacek: it works for meh

MSmits: jacek did you try and enter a new multi?

MSmits: or just a page that was already in the IDE

MSmits: because I can't open new IDE's

MSmits: it hangs for a while and then goes to

MSmits: tried two different machines

MSmits: will try a different browser, maybe that helps

MSmits: nope it doesn't, and a cg bench run wont work either

MSmits: it's network status 504 btw

jacek: what new multi

jacek: for example this works for me

struct: works for me

MSmits: i mean a new instance of the IDE

MSmits: even changed my password. Can't get into any IDEs :(

struct: did you try on incognito?

struct: MSmits

MSmits: how would i do that?

MSmits: oh it's an option in chrome right

struct: do you use chrome?

struct: ctrl shift N

MSmits: trying now

MSmits: doesnt seem to work. It also didn't work through cg benchmark, so I guess that makes sense

MSmits: it's really something to do with my account I think. However strange that is

struct: Could it be ISP related though?

MSmits: hmm I guess it could, but why would I not have an issue with the rest of the page?

struct: Oh right :thinking:

MSmits: maybe my ISP thinks that part of the site is dangerous?

MSmits: it doesnt say so but...

struct: I guess you can make a new account to test it

MSmits: oh right

MSmits: smart thinkin

Default avatar.png issogood: something's going on... it doesn't recognize my achievements for the quest map it seems. maybe needs time or whatever

struct: Maybe issogood, people reported it on discord

MSmits: well i just created a new account and got into IDE's just fine

Default avatar.png issogood: oh ok, ta

MSmits: at least I can test my stuff now I guess

MSmits: just have to get to bronze with my new account :P

jacek: shadowban?

MSmits: whats that

jacek: or just normal ban

MSmits: I was thinking .I did use CG bench last night, ran 600 games. Was done when I woke up. Maybe it's a consequence of that?

struct: I have experience on deleting account if you need help

MSmits: no id ont want to delete :P

jacek: shadowban is a ban when you dont notice it. like you could be banned from chat but still write things but no one would see them

struct: 600 games is not that much is it?

MSmits: ah

jacek: but only you would see them

MSmits: no, but if they are testing an anti-cg bench thingy

MSmits: and i was a victim of that... i dunno it's possible

struct: anti-cg-bench :(

struct: I dont use it but I would not agree with it

MSmits: well it could just be a "repeated play" thingy

MSmits: when it blocks you when you tried to play a game too many times

MSmits: not necessarily targeted to cg bench

struct: But blocking access to IDE?

struct: seems harsh

MSmits: might not be intentional

MSmits: it could just be there's a timer that is bugged

MSmits: like, i can't click for 5000 ms and it's actually 5000 years

jacek: no more books for you then

MSmits: the book thing doesn't require cg bench

MSmits: i just need a single lost game each time to counter book someone

MSmits: when i do use cg bench i just use it until a loss appears

MSmits: but i may as well do a submit

MSmits: but i wasnt doing that anyway, i was fitting parameters

MSmits: for uttt

jacek: you cant fit parameters without cg bench?

MSmits: i cant if i want real opponents

MSmits: and I do

derjack: hmm

derjack: lol no transparency on firefox

[CG]Thibaud: I don't think we've released something targeted at CG Bench

MSmits: no i didnt think so either, but is there some block to entering IDE when trying play too many times?

MSmits: otherwise I dont understand why my account would not get into the IDE

[CG]Thibaud: if anything we will lower the nb of matchs we can do in short amount of times

[CG]Thibaud: no

[CG]Thibaud: we updated monaco though

MSmits: hmm

[CG]Thibaud: but it seems you're the only one impacted so far

MSmits: yeah

MSmits: and i made a new account

MSmits: and it works fine

[CG]Thibaud: I was able to reproduce on your account though

derjack: oO

MSmits: ohh, thanks

[CG]Thibaud: so devs will be able to check

MSmits: thats great

MSmits: in the meanwhile i am promoting my new account to uttt bronze so i can test my bot in the IDE.

MSmits: funny how you only need 1 heuristic rule to get into bronze, i thought it was harder

derjack: using alts to mess up with leaderboard - ban

MSmits: lol

MSmits: i wont submit, also pony calling the kettle black :P

struct: They just did it in reverse order

MSmits: did what?

struct: First was ban

struct: Then you made account

MSmits: oh

MSmits: maybe my bot became selfaware and is now using the IDE as a home

MSmits: i did make some improvements

hakansahin: hello for some reason, python string multiplication doesn't work

hakansahin: print(5*".") only prints one "."

derjack: it should work normally

jrke: may be

jrke: print("."*5)

Rocky[KGF]: hii

Rocky[KGF]: i have a probem i make a contrbution that was not submitiong what i do now all validataor or test are correct

Rocky[KGF]: ohh finally it is done

Default avatar.png fewds: damn osn

Default avatar.png fewds: son

karliso: yeah, I can't join IDE as well. :D

struct: uttt top 3 banned :D

karliso: MSmits did you bench against me? :D

MSmits: top 7 or so, yeah you too

MSmits: doubt that has anything to do with it though :)

karliso: I know. I also did uttt bench.

MasterCoderxD: hi y'all

MSmits: my new solver is so good, i sometimes know 20 plies before the end that karliso won :P

MSmits: this saves server resources, so that's good

struct: not good enough

MSmits: maybe he does a move on ply 4 that beats me. Need moar solve!

struct: When you know its a loss

struct: which move do you make?

MSmits: currently, the most visited one

MSmits: in the hopes the opponent has trouble solving it too and might still make a mistake

Default avatar.png M0han: hmm

MSmits: :thinking:

Default avatar.png M0han: feels good to have a 3w streak

MSmits: could be 4

Default avatar.png M0han: going for 5

MSmits: or 6

Default avatar.png M0han: leend

Default avatar.png M0han: legend

Default avatar.png M0han: streak broke

MSmits: :cry:

Default avatar.png M0han: what do you do

MSmits: do?

Default avatar.png M0han: yup

MSmits: that's a pretty general question

Default avatar.png M0han: oh wow u teach

MSmits: ahh my job, yeah

Default avatar.png M0han: how may years have you been doin this bud

Default avatar.png M0han: lvl 35:rolling_eyes:

MSmits: physics for 15 years, computer science for almost 2 years

Default avatar.png M0han: i mean clash

MSmits: i dont do clashes

MSmits: there's many other things you can do on CG

Default avatar.png M0han: hmm

Default avatar.png M0han: ok dint know

MSmits: currently improving a bot for this game:


MSmits: but there are many other games

Default avatar.png M0han: cool

Default avatar.png M0han: i hate ml

Default avatar.png M0han: too much maths aye

ZarthaxX: it's not solely about ml :P

ZarthaxX: you can certainly avoid that in the games of CG

Default avatar.png M0han: mhmm

MSmits: ml is pretty rare

Default avatar.png M0han: let me try one

MSmits: usually it's things like: minimax, mcts, beamsearch, simulated annealing, genetic algorithms etc.

MSmits: you only find ML on a few relatively simple physics games and board games

MSmits: and then only a few players did this

jrke: The one of the problem with ML on CG is code size which is 100k

MSmits: also CG does not provide ML libraries, nor can you train on the site itself. So you need to do everything locally and then write a program to actually use the NN inside your bot and also fit the weights within 100k characters

ZarthaxX: why do you mention the training part on the site as a problem?

ZarthaxX: i would find it pretty rare to be the opposite

MSmits: i mention it because some people assume you can

ZarthaxX: maybe ppl think there is some kind of persistence through games and your AI learns while it plays more and more online

MSmits: yeah

ZarthaxX: but not the training thing

MSmits: right, either way it's not possible

jrke: when i was new on CG i thought by ML recurse CSB bot gets improved after every online match but nope i was wrong

ZarthaxX: imagine :P

Default avatar.png M0han: then he most played bot will be the better one

Default avatar.png M0han: whats the point

MSmits: it's worse than that

MSmits: if it worked that way, you could introduce weaknesses in his bot

MSmits: by spam submitting

MSmits: and having it overtrain vs you

MSmits: I would definitely not want the choices of other players change my bot :)

ZarthaxX: you cant really know if it would get weaker

ZarthaxX: maybe it becomes just so general for every scenario that it crushes it without "learning" anything

ZarthaxX: becomes just so general -> adapts to any scenario

ZarthaxX: who knows what could happen honestly :P

reCurse: It's alright, most people have plenty of misconceptions about ML

MadKnight: oh

MadKnight: ok

reCurse: lol if CG ever releases anti-batch I'm out of here

reCurse: That would be the last effing straw

Mr_Twister: Is there a possible delay on quests, achievements and certifications ? I solved the weekly puzzle 12+ hours ago and nothing unlocks.

MadKnight: it bugged

MadKnight: they're working on it

Mr_Twister: cool, thanks

MadKnight: maybe not right now but they sure gotta do it on moday

MadKnight: monday

MadKnight: don't worry about it, they know that it bugged

Mr_Twister: oh no hurry, just wanted to be sure it was known

MadKnight: yea

Mr_Twister: I'm gonna give CodinGame Sync a try, just found that in the FAQ

MadKnight: there's also a thing called "codingame local"

MadKnight: and it's not chrome-only

Mr_Twister: ok, not that Chrome is an issue here

jacek: is cg slow on leaderboards today as well?

Default avatar.png mustafaozx: hello there

C_breeze: lots using it i ithink

Saphine: hello

ERF4N: I got 100% but achievement is 0, why ?

C_breeze: happens! validator cases often stricter

ERF4N: ow right, thanks.

Faisal_Shahzad: hello

YurkovAS: DomiKo congrats with hypersonic!

YurkovAS: i'm afraid to resubmit. do this 2-3 times...

DomiKo: YurkovAS thanks

DomiKo: there was a bug!

YurkovAS: you have a bug in bot (sim)?

DomiKo: in sim :(

DomiKo: items never appear

DomiKo: I haven't seen that in a week

Default avatar.png samatdav: is CoC down?

Default avatar.png acatalepsy: hi

YCS-Venom: i don't know but it's so slow

Neckers: some network error on session service: returns 504

mr.idiot: what?

mr.idiot: i haven't used the chat much

Default avatar.png kan181: tests are extremely slow for me as well

aaravm4: now the results for submission aren't even getting loaded

MSmits: it's always slow around this time. They are doing calculation

MSmits: i dont think it takes more than 15-30 min

therealbeef: We need a chatbot to say that every night

AlterRainbow: coc is being so slow...

MSmits: automaton2000 do your job

Automaton2000: to see how it is for a puzzle

MSmits: no Automaton2000, talk about coc

therealbeef: it's slow Automaton2000

Automaton2000: hey guys what are the odds

Automaton2000: i can be the difference between the two

MSmits: anyway i am getting some sleep ttyl

therealbeef: The odds are 1 Automaton2000

Automaton2000: also check if i have to work on this

struct: site broken?

tubby2: Everything seems slow yeah

Default avatar.png Johndoe: why is nothing happening

Default avatar.png Johndoe: it is saying loading play in progress forever

Default avatar.png trashcan06: servers down

Default avatar.png trashcan06: Everything is so slow

JLukeSkywalker: everything slows down at this time, its when they calculate everything for ranking/etc

struct: not this time

struct: its something else

Default avatar.png ianc1339: the slow time is way too long compared to before :/

Default avatar.png trashcan06: yep

RockNTroll: i love shortest mode when using Java