I've always wondered what was fueling the rise of brands like Everlane, Dollar Shave Club, Quip, Casper, and the like. These brands are all packaged the same way: some consumer good that has traditionally been produced by large manufacturers (P&G etc.) and sold at large retailers (Walmart, Target, etc.). They all do targeted digital advertisement very aggressively, and speak of "cutting out middlemen" in their production and distribution. And they all seem hypertargeted at millenials as cool, in-the-know brands. But I had never encountered any sort of explanation for this phenomena.
For the first time, I've heard these brands described as "micro-brands", and the economics behind them are fascinating.
Micro-targeting is much more invisible than traditional advertising, and allows the customer to feel like they are special. The true range of advertisement is hidden.
Large brands used to crowd competitors out, and the lack of authentic consumer review networks made large brands the de facto choice in the past. Micro-brands are adding consumer decisions where none previously existed, in that consumers didn't have the latitude to even make these decisions.
Large brands used one-size-fits-all advertising. Now, lower fixed costs mean that micro-brands can carve out incredibly specific niches, and target exactly these customers. One incredibly important fixed cost is manufacturing. Just-in-time manufacturing can reduce waste and risk to an absolute minimum. Another is logistics -- services like Shopify, Stripe, Square... save all these companies from reinventing the wheel.
AKA one of the most common blog titles in the React ecosystem seemingly every year.
It seems like most of the tools and patterns people point to as evidence of Redux's death merely replace one aspect of Redux, and arguably the most conceptually simple part: the problem of having a shared data store.
Robin Wieruch points out in the section Thinking In Events, Not Setters that this is missing the entire picture. Redux is not simply a reactive getter/setter. It's a way of encapsulating changes to application state as events. It's a way of handling state in an event-driven way, in a domain (web applications) that are fundamentally event-driven.
”I don't know anything, but I do know that everything is interesting if you go into it deeply enough.”
This quote really encapsulates my thinking whenever I'm asked in interviews why I want to join a company. To me, industry and product don't really matter that much. As long as there are smart people, any space will have interesting engineering problems once you go deep enough.
Great article from @swyx. I especially appreciated the linked section. So often I see individuals from my local dev community disparage open source maintainers and their contributions, and basically treating them like dirt. And on Github, developers making demands for sweeping changes without offering to lift a finger to help, and blasting the maintainer publicly when they do not immediately capitulate. It's pretty disgusting.
Yeah, large companies who profit immensely from open source can (and should) do more to sustain these projects, but individuals can go a long way as well by not treating these maintainers like worms.
Tree-sitter is an AST parser / generator from Github that’s crazy fast, and can be used for tasks traditionally done “crudely” with regex, like syntax highlighting and code folding.
One interesting side effect for theming is that this should cause syntax highlighting to look remarkably similar across different languages, since theoretically you just need to theme the various AST nodes once.