ec changed the topic of #elliottcable to: a π•―π–Šπ–“ 𝖔𝖋 π•―π–Šπ–™π–Šπ–—π–’π–Žπ–“π–Šπ–‰ π•―π–†π–’π–˜π–Šπ–‘π–˜ slash sΝ”ΜžuΝ•Ν™pΝ™Ν“e̜̺rΜΌΜ¦i̼̜oΜ–Μ¬rΜ™Μ™ c̝͉α»₯Μ§Ν˜αΈ·Μ‘Ν™Ε£Ν“Μ€ || #ELLIOTTCABLE is not about ELLIOTTCABLE
devyn has quit [Ping timeout: 260 seconds]
devyn has joined #elliottcable
Sgeo_ has joined #elliottcable
Sgeo has quit [Ping timeout: 268 seconds]
mylesborins has quit [Quit: farewell for now]
mylesborins has joined #elliottcable
<Cheery> Imagine there would be a midas hand just right in front of your nose, every day, but you wouldn't realise that.
<pikajude> you know, it really bothers me to get talked down to because other people misunderstood what i was asking them
<pikajude> i already feel incompetent enough in this job
<jfhbrook> I hear you there
<jfhbrook> I've been trying to avoid pulling in one of my coworkers because she's mean and condescending when I ask about stuff
<jfhbrook> like she's not *bad* but I don't like having to ask her things cause she makes me feel like I'm an idiot
<pikajude> yeah
<pikajude> someone asked me why i'm passing a storage key over thrift instead of the struct the storage key refers to
<pikajude> and i said it's because the struct can be arbitrarily large and serializing it will be really expensive
<pikajude> and he said
<pikajude> "what do you think serialize() does? just because you can't see it doesn't mean it's not expensive."
<pikajude> and i have no idea what that even means
<jfhbrook> at a certain point I'm a jerk back
<jfhbrook> ie, either your coworker can clarify or you're just going to merge as-is
<jfhbrook> up until about a year ago I had zero patience for this kind of thing
<pikajude> yeah
<ljharb> is the implication that `serialize` already uses the key instead of the struct?
<jfhbrook> I, uh, things happened
<pikajude> ljharb: nope
<pikajude> serialize(), the PHP function
<jfhbrook> there's the idea of reading the source code to figure out what serialize does
<pikajude> it turns any object into a string
<pikajude> but, you know, it turns the object into a string, so
<jfhbrook> yeah I mean tbh shipping pickles is a bad idea in general
<pikajude> if you have a tree that's 4 levels deep it's gonna be a of fucking bytes
<pikajude> a lot* of
<pikajude> and i said "here, i'm passing the classname instead because that's the only way to look up this object at runtime"
<pikajude> he asked why not send the object itself and that was my response
<ljharb> pikajude: oh, lol
<pikajude> so i'm really confused about *his* response
<ljharb> so obv they're being a jerk
<pikajude> like, i know what serialize does and i just said it was the wrong approach
<pikajude> really makes u think
<ljharb> but i'd probably respond with "i think what it does under the hood is convert the entire object to a string which is more expensive than converting a key to a string - what do YOU think serialize() does?"
<pikajude> yeah, but i don't wanna antagonize people with more experience than me in my second month
<ljharb> (but i have finely honed "be a jerk back" skills, for better or worse, you may or may not want to take my advice)
<pikajude> but that's a personal problem
<ljharb> lol yeah. an important one
<jfhbrook> I mean the obvious thing is to just say you're confused and need more feedback, and then play video games while you wait for a response
<pikajude> i already do that
<pikajude> well
<pikajude> actually i can make some decent progress on this right now
<pikajude> this is a stack of FIVE diffs
<pikajude> 2/5 are accepted
<pikajude> need to fix the other 3
<jfhbrook> yeah
<jfhbrook> I gotta spec out how I'm going to operationalize these spark jobs
<jfhbrook> but it's like, no staging environment, ops guys aren't ready yet, coworker doing handoff is a jerk so I don't want to show up with questions
<jfhbrook> but I don't want to fuck it up either
<jfhbrook> I think I'm just gonna get my plan together w/ links etc while I wait on those dudes, and then get my PM to schedule a meeting
<jfhbrook> I think?
<pikajude> i'm really impressed with how hack works considering it's basically a type system bolted onto a piece of shit language
<pikajude> but it's REALLY annoying sometimes
<pikajude> like when the typechecker (silently) crashes
<jfhbrook> flow is facebro too right?
<gkatsev> yes
<pikajude> flow is yes
<pikajude> i think we/they have found their/our niche
<ec> flow <3
<ec> well
<ec> flow </3
<jfhbrook> flow looked kinda busted
<ec> )=
<jfhbrook> cool idea, but janky
<ec> flow is the fucking right-as-fuck idea
<ec> but they're waaaaaaaaay too β€œif you don't do it the Facebook way, we don't care”
<jfhbrook> > Why not edit the lib files in place and rebuild Flow? You could pull request your modifications eventually.
<jfhbrook> lmao
<ec> they *designed* it specifically to support the various extent JavaScript approaches to API-design (unlike TypeScript)
<ec> ... and then failed to provide the system support to *use* that design
<jfhbrook> I only have to be here another 90 minutes! :O
<pikajude> i like when i google search things i'm trying to solve and all the google results are other places where i asked about how to solve it
<ljharb> ec: accurate summary
<ec> ljharb: thx lel
<ec> I guess I'll try TypeScript at some point
<ec> but fuck, CoffeeScript bit me
<ec> ~DO NOT LIKE~ anything I can't run raw in a Future JSβ„’
<ljharb> meh, i don't like TS
<jfhbrook> TS seemed cool except for the whole "now you have to write type stubs for all the libraries you're using" thing
<ljharb> it tries to shoehorn too many C# idioms into JS
<jfhbrook> I like the concept of interfaces
<ljharb> it's a nice concept, but it's very not JS-y, and i think JS needs to add it proper before it's used.
<gkatsev> jfhbrook: thankfully, definitelytyped has most of them already
<ljharb> many of the DT defs are wrong tho, i'm told
<ljharb> or not up to date
<gkatsev> yeah, some are definitely old
<gkatsev> videojs is an example
<gkatsev> the DT types are technically for 5.16
<gkatsev> latest-5 is 5.20
<gkatsev> and latest is 6.1
<gkatsev> granted, the majority of the API didn't change in videojs
<gkatsev> but it's possible it's more drastic for other libs
* ec raises his hands
<ec> anybody remember my typing, dependencies, and version stuff?
<ec> yeah. that. again. here.
<pikajude> ok, i have a positive thing to say about work
<pikajude> i don't know if hg absorb is standard or not
<pikajude> but holy shit
<pikajude> what a useful thing
<jfhbrook> I've never used hg
<jfhbrook> not worth switching off git for me, like
<jfhbrook> I'm not the sort of person that would, say, spend a week to learn dvorak
<jfhbrook> or, say, zsh
<pikajude> well, for this workflow
<pikajude> i have a stack of 5 diffs i need to land
<pikajude> i can make changes to all of them at once
<pikajude> and then hg absorb will apply the right changes to the right commits and restack
<pikajude> its cool
<ljharb> the only good thing i've heard about hg is the CLI names are more intuitive than git's; but you can install a tool that gives you hg commands on top of git
<jfhbrook> oh that's kinda neat
<pikajude> it is kinda neat
<pikajude> ljharb, i'd say they're roughly as easy to use
<pikajude> as each other
<pikajude> hg has some stuff that's harder with git and vice versa
<ljharb> sure, i've never had an issue with git
<pikajude> but they said we use it here because git can't handle the fb codebase
<pikajude> so idk
<pikajude> someone made that decision, wasn't me
<jfhbrook> I mean
<jfhbrook> I wouldn't be surprised if you had a ton of custom shit in your hg