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>
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