"what if objects were actually designed for a bad user experience, instead of a good one? she recalled in a 2018 TED talk. That was my ‘eureka’ moment."
Or, she stumbled upon some article or the very Wikipedia page about it:
Another take on the matter is: interruptions are inevitable, so reducing the "recovery penalty" is key, and can be learned.
That's something that you learn to do when you have a kid: suddenly, your periods of 4 hours of focus free time (for coding, exploring tech, whatever) during the weekend just _disappear_. You only get max 30 minutes of free time in a day; this is extremely frustrating initially; there is no boss to complain to, no meetings to blame, no solution but to deal with it. Progressively, you learn to switch tasks much more efficiently, by making regular check points, so that you can get interrupted any time and get back to deep work _quickly_.
Talking about monetization strategy, there is a world where we would not have to remember "Zillow" or "Spotify", and instead ask for real state or music related actions, and have OpenAI "decide" for us what is "the best" options... As in "the option that paid the most to get promoted".
There has been a move in the past 8 years away from Java on the back end, notably to Go, by several large engineering organizations, which made the move, "motivated" by the example of companies like Google or by projects like Kubernetes, and seduced by the promises of a language simple to learn, build, and deploy.
Sincere apologies, I mixed ibuprofen and paracetamol.
Ibuprofen is forbidden for pregnant women in the last 4 months in France at least - and by "forbidden", I mean "strongly advised against in a case of self medication".
Every way I look at it, Go brings tremendous regression when it comes to "modularity & composability" in the general sense of the terms.
Package management, package definition, interface definition, exporting, protecting or hiding components, feel like they were an afterthought, and as if specified by people who had absolutely no prior experience in other languages or actively ignored it.
There is no nesting of packages in Go. There is no selective visibility protection among packages except on the very first level. Exporting is such an afterthought that it is declared by the change of the first letter to uppercase. Local development of cross-modules was only introduced recently (workspaces) and is extremely primitive (no transitive replacement -- so workspaces depending upon other workspaces is not a thing, workspace-vendoring in the next release but will essentially conflict with mod-vendoring). This probably works with skilled and disciplined teams with strict linters and other tooling, and operating in a large mono-repository or on ultra small codebase. For others, it ends up in a large plate of spaghetti code with no help to untangle, and every single newcomer shedding blood, sweat and tears to wrap their head around a codebase which inexorably became monolithic by the invitation of the very language.
All learnings obtained from decades of building very large-scale applications in C++, of managing and publishing packages in Java or C#, was essentially put aside and ignored.
The sad but good news is that it's all being progressively rediscovered, but relearning from decades of nuget and maven for example, will take time, effort, exemplary humility and open mindedness.
We won't own games anymore, we won't be able to sell/acquire used games, we won't be able to play disconnected.
I'm curious whether Nintendo will be following the same path.