Umm, the argument in the article seems self-defeating. UI=f(org) except we end up with the same UI with radically different orgs because we can just f() over the differences with dark design patterns and users can't tell the difference.
I can show you anything in a UI - only good orgs can develop valuable products from those UIs.
UI=F((irreducibleComplexity + poorDesignChoices + poorArchitectureChoices + techDebt + bad coding + states)^n). The author mixes web and native UI development here to encompass a partial range of possible UIs, there's obviously a lot more complexity in UI development if we expand that list to include AR/VR, CLIs, voice-based interfaces, etc.
But also most software UIs we are building today are overly complicated. Because devs forget f() is supposed to narrow the complexity space to match the users needs, by making illegal states unrepresentable.
TBH - I find the opposite is true. Far more complaints have been of the form “this isn’t an illegal state, the dev mistakenly thought so because they’re not a domain expert - why won’t they let me do this?”
And some illegal states are useful. Letting a form exist with a field the user can’t fill out, along with disabled logic and a helper message, is often the best way to onboard users to your tool. Lots of proponents of making illegal states unrepresentable take those fields away so they don’t have to muck with validation logic, which takes away your best way to explain how to use your tool to a user.
The lesson here should not be "make illegal states representable", but rather "the state of the form widget in the UI" and "the state of the value the form represents" are conceptually distinct. We should explicitly consider the state of the form, the state of what the form represents/controls and the mapping between them. We should think about these separately and represent them in our code separately.
I think you often have an opportunity to model the UI closely after the internal state, in data entry UIs mostly, and you should take that opportunity. It means less code complexity, and the users will expect the UI to closely match whatever database entity you're storing anyway.
That's not criticism of syncing possible states with expected ones.
e.g. Not having a disabled={condition} on some input field isn't going to change the fact that the client wasn't built to handle that state. Either the client was written to expect it or it was not.
All you're saying is just expect the states that make sense which is (A) a trivial claim and (B) something you have to do even if you don't make unexpected states impossible.
The right way to handle this is - store both the user input and the validated value (potentially null) and an error state (potentially null.) Then, when the user takes action to submit the form, validate and set the error state if needed. That way you’re not constantly setting the error state on typing, but when some concrete action is taken you can signal what went wrong.
Admittedly, anecdotal, but most of the guys in my career who have been really into UI = f(state) only consider the validated state, and wish the stuff that’s purely user input and never sent to your backend would just go away.
And when you consider that state is both what you want to send to the server, and a bunch of intermediate state that only ever means something to the client, the UI = f(state) idea (while true!) doesn’t seem all that helpful. Technically every app is a function of state, but if your definition of state is that broad what help is the idea?
Yeah man, our government borrows money. We used it to build the largest economy in the world. Now we continue to do that, but we also send part of the money our government borrows to people all around the world.
In exchange for this ultra stable source of revenue backed by the wealth of our current and future taxpayers and our military, they might forgive us for all the horrible things we have done.
as mentioned elsewhere this is from nearly six years ago and uses a very crude model for curiosity - and poses this as some sort of unsolveable problem instead of a decision made by the researchers in order to investigate particular behaviors of the systems they were working with.
It is a fun thought experiment - how do our brains systems manage to reward seeking new information without getting trapped by simplistic pseudo-RNG patterns in nature
paper link here https://www.nature.com/articles/s41557-023-01383-y i thought this sentence from the abstract was interesting 'Given that a cell is unlikely to develop resistance to such molecular mechanical forces...' I wonder if someone could explain what basis there for believing that cells couldn't develop such resistance. Is the difference in energies that high?
I think that the reasoning is that no cells will have even partial resistance to mechanical action, therefore "fitness" wouldn't develop in surviving cells. i.e. there's no fitness function with improve upon. Perhaps the ability of these dye molecules to infiltrate could be affected, but given the fundamental structure of cells, that may not be a likely outcome within a single human organism (since cancer is generally non-communicative)
pathologizing people you disagree with is a pretty dehumanizing tactic and one i think we should pretty much stay away, or from doing armchair psychology on a whole group of incredibly diverse people.
the author's argument such as it is is a series of strawman arguments. this isn't academic it is political, which is fine.
This is a nice idea. But it appears the trend of "Look at this astonishing youth!", then in paragraph 8, "whose parents own a recycling company near Shenzen...and connected him with manufacturers" so this is a joint venture between his parents company and some of their friends to back their son's business idea. Very newsworthy.
What’s more impressive: That a sixteen year old came up with a novel and useful idea, or that a seventy year old did?
What if the teenager was born to a rich family with supporting parents which were themselves geniuses in the field and nurtured his learning since he was five, while the senior lived in poverty in an isolated village and didn’t even know the subject matter existed until a year prior? Suddenly the sixteen year old isn’t that impressive.
This focus on the age of the person who did something is utterly boring. Especially since more often than not it doesn’t lead to anything. Go to any of these “teen does X” stories from years ago and try to figure out what it lead to. If you can even find any information on it, chances are it turns out what they came up wasn’t practical for some reason. Which is fine, just stop with the age worshipping.
Not sure how relevant that is. Anyone who does anything impressive will always be dependent on their support network.
It is unfortunate that the most driven, intelligent person won't accomplish much if they don't have the network. But I don't see why that diminishes this person's accomplishments.
There are plenty of people with resources that do nothing with their lives, all the way to ultra high net worth trust funders, so celebrate that they applied themselves
If you have nothing, then you need to get a job and it doesn't matter what your drive or intelligence commands, nobody is going to back you. These stories of epiphanies dont apply to you