дэн Profile picture
Feb 3 7 tweets 2 min read
i think it was a good question! even if the answer was a bit predictable
of course at fb we had a dozen callers to this. some pretty hard to rip out, and it took months of effort to get them locked down and ported to other approaches. no one got fired but it’s nasty when you can’t do internal refactor because somebody added a usage 5 years ago
at one point one of my teammates who is usually very calm and composed deleted some of the internals to “send a message”, which was reverted the next day because it broke a bunch of things for different teams. we didn’t do this again but this started a conversation
we surveyed all internal callers, combined them into a single document, wrote down the intended motivation, owner team, consequences for deletion, and met with each team to figure out a path forward. some callers were deleted that week, some took a while, some still there
since making that document and requiring that any new usage must be put there (or you’re taking the risk of deletion), we haven’t seen new usages. probably because nobody wants to add to a document of tech debt with their name attached to it. kind of interesting that this worked
in some cases we’ve needed to provide an alternative because there was no API that would answer the same use cases. this is the best scenario because everybody wins — we discover a mission-critical use case that stable APIs don’t cover, and have to add it to rip the bad thing out
from what i recall, automatic console.error() stacks with React DevTools, upcoming “test selectors” API, some of the React.Profiler APIs, all came out of this “ok how do we delete these bad callers” exercise

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with дэн

дэн Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @dan_abramov

Feb 3
we’ve been trying some tweaks to how the information is structured in the react docs beta api reference. would love to hear what you like/dislike about this useState page! beta.reactjs.org/reference/uses…
not gonna lie, i feel pretty lost about the “not api-like” feedback. i’m not sure if this is a slice of power users or representative of what we’ll hear en masse. guess i’ll try to make a dry version to feel it out.
i think the structure of the page is actually very api-like because it’s structured around different overloads and goes outside-in from the api nesting perspective. maybe the headers don’t make it obvious..
Read 7 tweets
Feb 2
sublime text is so good. everyone’s adopting vs code, blablabla, sublime text 4 comes out and quietly fixes a bunch of shit that annoyed me and has better defaults. the only change i do now is .js > open all files as > javascript > jsx. that’s all. a beautiful piece of software.
what’s that? oh it’s just a gorgeous default theme in a minimal, light, friendly editor. nothing to see here screenshot of sublime text
sublime text is a case study in ux design so incredibly well-thought-out that most of us mortals will never — not just approach — *notice* it.

if you scroll down the sidebar to move “open files” out of sight, opening next tabs auto-adjusts sidebar scroll position to avoid jumps
Read 8 tweets
Feb 1
how do you feel about FAQ-like page sections in technical documentation? where the information is laid out as a sequence of question headers and answers instead of a narrative flow
my personal perspective is i dislike faq as a top-level thing but i love it as a leaf thing. like “common questions about %thing%” in the reference documentation page of %thing%. headers make it highly scannable and it models how i’d ask someone instead of reading a manual. ymmv
imo “faq just means gaps elsewhere” is a weak argument. it doesn’t have to be if you close the gaps! then faq serves as a meaningful and rich in information (if it reflects real frequency) index of content elsewhere. it’s a bridge to being a power user. also people don’t read lol
Read 4 tweets
Jan 30
when i was growing up, there was an extremely popular kids book called “harmful tips”. its (joking) premise was that kids always do the opposite of what they’re told, so a book that tells them all the wrong things will surely set the kids on right path. harmful tips by Grigory Oster
this one stayed w me:

if you’re biking at the full speed
midway though apartment hallway
and your dad has left the bathroom
and appeared in front of you,

do not turn into the kitchen,
for that fridge is firm and heavy!
better crash into your father,
he is soft. he will forgive. A dad with a bike running i...
do not agree with anyone
no matter what the cost,
call out the cowardice in those
who have agreed with you,

then you will earn so much respect
from everyone around,
and you will have so many friends
no matter where you go. an illustration of a lonely...
Read 6 tweets
Jan 29
gotta give props to the sun for all the energy. god-level shit
“nearly perfect” Wikipedia screenshot: “The ...
has there been any media about a terrorist plan to destroy the sun? the closest i can think of is “the stolen sun” kids book by Korney Chukovsky but i’m sure this is not a novel idea book cover of “stolen sun”:...
Read 4 tweets
Jan 19
is there a science fiction novel where there are many parallel worlds but people in some of them use this knowledge to covertly A/B test major decisions (eg policy) across worlds
answer: a whole lot
i guess a bunch of these are more “personal choice” whereas i’m thinking more like meta-world scientists being able to run controlled experiments and write papers about the parallel worlds
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

:(