The cost of abstractions. <3
Awesome to see @parceljs team really weighing in on the cost of features/integrations/etc.pic.twitter.com/u0wJmPnIFC
Tilde Co-Founder, OSS enthusiast and world traveler.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
The cost of abstractions. <3
Awesome to see @parceljs team really weighing in on the cost of features/integrations/etc.pic.twitter.com/u0wJmPnIFC
The only thing that the author fails to recognize, is that our code base is incredibly slim. The only bloat is from 10000+ integration tests. Why do you think we separate out our resolver, fs, source-map gen etc.
I don't agree with your analysis. The current "everything is an event" architecture causes even internal code to be implicitly coupled to execution order. It also makes it very hard to build composable plugins that reliably work in the presence of other plugins.
Consious Tradeoff
However we do support before/after, etc now. So its getting _less unpredictable_
I guess I'm just saying all abstractions are not created equal. One of the big insights of React is that passing functions as props and calling them is better than firing an event into the ether and hoping someone is listening.
Among other benefits: - When you call a function wrong, you get errors right away that pause your debugger - Wrapping functions is easy to understand, and even higher order functions are easier to step through than evented patterns.
Truth! So what's the tradeoff them Katz?
I think @wycats is saying that the “tradeoff” isn’t readily apparent.
i.e. Using the “everything is an event” approach costs you some determinism, but gains you _________?
Without that blank filled in, the event-based approach isn’t a trade off, it’s strictly a drawback.
Strictly a drawback? I would say gains are: - Extreme Loose Coupling (especially within, synchronization etc) - Easy to pivot, add new features, remove features. - Super flexible as event can be anything - Highly Distributed Theres also tight coupling as well.
It's not so easy to add new features because the exact details of the timing of the events and when the consumers run become undocumented "implicit" APIs. Loose coupling is quite often in conflict with API evolution if there's a lot of implicit API surface.
It's the implicit piece which is hard. But changes we _just_ made now make all of the api surface explicit. Now you can only hook into "taps" (aka events) that exist, etc. The best part is finding out through "ts-check" event string that aren't even used anymore.
pic.twitter.com/nHBOOlPJrV
And we can finally enable things like this:pic.twitter.com/JZyWmF6eWb
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.