Very extremely. Quite a lovely presentation. I'm definitely having a Patrick Bateman-esque appreciation for that delicate cream background.
HN user
gravity13
Mostly frontend engineer who comes from a background in science. I love good UX.
At this point, AGI seems to be more of a marketing beacon than any sort of non-vague deterministic classification.
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.
"react's complexity isn't worth saving 5 lines of code" which people would agree with.
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 how Backbone looked back in the day. Not that I agree with him, but there's nothing new to this, it's essentially a basic View wrapper around a jQuery dom manipulator.
Yes. `useState` is essentially the "two way binding" of React at the component level. You may also enforce two way binding via an external state manager, and pass it to your React components via props.
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."
Nobody wants to have a discussion about [enter argument of the month here] because it's all BS partisan politics motivated by the right's outright disdain for all things liberal in America.
The problem isn't a lack of understanding or research for new vaccines, the problem is anti-intellectualism running rampant.
It seems like there's a lot of propaganda premised on the idea that "both sides are bad", it's just "two sides of the same coin," and it's always the people who know nothing about politics and just want to appear superior without putting any effort or though that give this insidious ideology it's breath of air.
Is it really partisan to point out that Republicans took anti-vaxxing to be practically their identifying feature?
Yes, there's a difference between a raging narcissist who can't even seem to tell the truth even if there's nothing to gain from lying and listening to a doctor.
But yeah, keep going with the whole "democrats are just as bad as republicans" thing. Seems to be working.
I've seen good use with Slab
Likewise, wouldn’t you be baffled if you needed to click a “Start Editing” button in Word or Google Docs?
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.
Wait, you mean you're an enterprise company and using email for login everyday isn't a viable option for you?
(clearly Notion is too cool for people like us to use...)
Exactly. This is why cocktails you order from the restaurant don't taste nearly as good as they do in store (unless you know what you're doing with them).
I can't wait to get drunk in a bar with people again.
The year is 2047 and California is half desert, half ocean. Youtube has moved their offices to the hippest, most promising upstart of a community, Beluga, once a suburb of Fairbanks, Alaska.
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.
Wait - was the "Russia collusion narrative" that one totally crazy massive investigation that ended up getting 34 people indicted? One of them Trump just pardoned Flynn for a week or so ago?
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.
yes! I've been using licecap for years now and can't sing its praises enough.
Not that I think react+redux was a particularly great choice for reddit (given that it's mostly just static content), that post doesn't justify your conclusion that this is the bottleneck at all...
(But is new reddit slower than old reddit, in the first place?)
There isn't a generic insulin available (at least in the US) - that's why there's a movement of biohackers to homebrew insulin.
I get the sense the end goal here isn't in productivity but more for education and creating environments that foster a programming mindset and/or nourish more emergent creativity from being able to code at a higher level (probably the most consistent theme in all of Bret Victor's forays).
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.
Hm, interesting. I like it. I'm also curious about how selectors come into play here as well (exported getter functions for shielding app from reducer state shape).
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.
There is nothing wrong with storing some information in the DOM.
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.
To be fair, you don't really need to declare your constants elsewhere. This is just a pattern people stuck with, because they're stubborn about constants, I think. Doing a find/replace is so incredibly easy that it's kind of silly to add a bunch more boilerplate to protect against one DRY quip.
There's so many factors that come into play with conversion, though. And this will vary wildly between B2B, B2C, and enterprise.
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.
Does this mean we can crowdsource and buy the private browsing history of our favorite representatives and post them online for everybody to see?
ctrl+left is back in browser :(
Everything is unclear until you become used to it, though. I mean, used to it, as in, you can read it without stepping yourself through the steps manually. And to a novice programmer, pretty much everything they come up against represents this.
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.
I think cognitive load is a perfectly acceptable term here. Taken within the context of Cognitive Load Theory, we assume that any individual can only maintain a few items into their working memory. These items are portions of the code that you need to think about at once in order to achieve a task, and good code partitions off the logic so that in order to understand individual components you only need to reserve a few slots of your working memory.
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.
I find this kind of strange, given that both of them seem to be sinking massive amounts of money into subsidizing rides. Like, they're going to be all about user retention when people are only going to care about which option is cheapest. Google, or somebody, is gonna come in and mop up on the ecosystem they've created. They won't even have this huge ethical problem of laying off thousands of drivers.
This is an interesting question. I'm not a neuroscientist or anything, but I'd wonder how this question relates with brain waves, as well. I guess there's research into how these signals cause integration within the brain http://www.nature.com/nrn/journal/v2/n4/full/nrn0401_229a.ht... - I guess I'll check back here in a couple hours and hope somebody's chimed in.
I agree. Make Toasters Great Again.