387 karma · joined March 13, 2013
We all thought about a future where AI just woke up one day, when realistically, we got philosophical debates over whether the ability to finally order a pizza constitutes true intelligence.
If you look at the code the example shows, the replication is a bunch of HTML and tailwind CSS classes in backbone. So basically if you decide you want to change the input to have a different radius in one place, you need to implicitly know that there's another piece of code patching and replacing that elsewhere, which has duplicated the code.
I'm not one to pray to the alter of DRY like it's the end-all be-all of programming principles, but you take this pattern and repeat it throughout a production codebase and you have a bunch of repetitions that need to happen.
This is the problem with Backbone - it's edits are imperative - meaning, each one is a source of errors. React makes state updates declarative, so you only need write the rules just once. Somebody coming along to edit the code doesn't need to find the implicit relationships in the imperative code that might break or cause inconsistency, because they don't need to exist anymore.
React is safer. It's not even a contest.
This is the beauty of React, it's reactive style, that essentially means your UI is always bound to your state.
In Backbone, you do not get this for free, as the problem is that two-way binding in Backbone requires manual re-renders (via jQuery) which are direct DOM manipulations. This is expensive, meaning, it is not performant as your DOM grows.
React solves the problem via it's virtual DOM, which keeps an optimized DOM engine in memory, batching expensive updates onto the real DOM.
This means you get the convenience of your UI always representing your state, which means your code can become more declarative (what you want), and less imperative (what you need to do in order to get it). The author calls this "magic," but as somebody who was a Backbone main turned React main, I call this "sanity."
The problem isn't a lack of understanding or research for new vaccines, the problem is anti-intellectualism running rampant.
But yeah, keep going with the whole "democrats are just as bad as republicans" thing. Seems to be working.
Likewise, wouldn't you be baffled if you opened up a wikipedia article and found you were automatically editing it, and now you need to worry about making an accident every time you visit the site because you had no intentions of editing content, instead just consuming it.
But that's just because people are using the product in different modalities.
Are you using Notion as more of a live editor, where the documents are often short lived and transactional in nature? Or are you using it as a sort of permanent knowledge base and history?
The reality of the situation is that each modality commands different designs, and Notion generally tries to solve for all of them with single-minded design principles.
I think there's a strange fallacy in our industry of UX design which dictates that your product should resolve to simple design decisions or become convoluted configurable behemoths driven by the unending deluge of ad hoc decisions from customer asks - like there's no middle ground. Some designer is hopping up and down in a fit going, "but the user doesn't understand MY design principles!"
I feel like "tech" has ultimately failed in this regard.
(clearly Notion is too cool for people like us to use...)
I can't wait to get drunk in a bar with people again.
A small collective of cyberpunk hackers have declared independence on an island remainder of Mt. Diablo. They call themselves "Hackerbridge" and base their upcoming government around ideas of universal basic income and their culture is based on pansexualism.
Youtube blocks any videos recognizing the independence of Hackerbridge.
As Hackerbridge fails to be recognized as a real nation, they cannot trade their wealth of knowledge building outdated UI apps with necessities like food, water, toilet paper, and general plumbing.
As their society perishes, their leader, Alexis Ohanian, finally leaves behind a stranded leftover on the island as he pushes away his hovercraft in the direction of Reno.
It is thought to be heard him say, "Where were you in 2020 when Youtube caved to corrupt government censorship?" but this quote is contradicted by other accounts.
Are you just gonna sit here and pretend like they're even remotely the same thing to a bunch of people calling for the dismissal of our democratic institution of counting votes fairly? As if people were talking about "civil war" and kidnapping of government heads in the opposition party?
You're just like somebody arguing that intolerance of intolerance is itself intolerance. That is a path towards intolerance.
Now I'm not saying we shouldn't question Youtube's decision here, but the way you're doing it is straight up wrong.
(But is new reddit slower than old reddit, in the first place?)
In a sense, it's basically just a framework with a text editor that isn't based in an OS but instead a 2d surface that you interact with, using your hands and interacting in a more social medium than something like, say, git.
You might still need to place actions/selectors in their own directory since they're not necessarily specific to any reducer. I believe this is how sagas are organized, though.
Except you're coupling your application state with the document model. If you ever do anything to change the DOM later on, (like installing React into your codebase) it'll come back to bite you in the ass hard, as now you need to find a means to communicate state that you just threw into the DOM like it were a slightly more acceptable global variable.
I think marketers have invaded the UX space a little too hard. We should be thinking of more inventive metrics. Stuff that isn't generic content marketable acronyms for cheap blog thrills, but more deeply ingrained metrics that correlate with the problem you're solving.
Are you solving for conversions? Then sure, use conversions and call it a day.
Turning five lines into one line with a reduce function sounds like a normal thing to do for experienced programmers, but to a beginner, they'll think you're a genius for pointing it out to them. So it's not surprising when they try to apply their genius and come up with something clever, too.
Of course this is a bit contrived, but I would argue that pretty much everything we've come to understand as "easy to read code" all reduces down to how effectively it organizes itself given the limitations of our working memory. And in that case, it's one of the first things you should be sure to understand on your path to becoming a better programmer.