kuschku
Joined 13 years ago
Joined 13 years ago
Sony tried that with the PS3's Cell processor, just a wise parallel vector processor instead of dedicated hardware.
If you knew how to use it, you could get great results, which is how Naughty Dog's games became so spectacular. But if you just tried to port an existing game, things went downhill quickly, which is why GabeN talked on stage how much he hated the PS3.
Oh and this complexity led to lots of games just switching to one of the existing engines that supported it natively, and started the modern dominance of Unreal Engine. But it's also why engines introduced more parallel architectures, which a few years later became very useful when quad-core processors in PCs became mainstream.
When you repeatedly follow directions, you'll learn how to take that path.
But when you repeatedly read a map, or walk an area on foot, you'll also learn the roads and areas you're not taking nearby, and learning the spatial relationships between these places.
A lot of learning happens through the mistakes we make, because they teach us a lot more about our environment. Whether that's a physical landscape or a codebase.
When you search for a bug, you'll look at maybe one or two files that are related to that bug, but also 10-20 files that aren't. You won't consciously remember the content of those 20 files, but your mind is building a map of their spatial and logical relations, which helps you the next time.
It's not GPS, but turn-by-turn navigation. Remove that and people's spatial understanding of their environment improves significantly, and this improvement persists even long after the experiment, and they'll even be able to use turn-by-turn navigation better.
Which aligns with Anthropic's reports that people are able to use Claude better if they understand their own codebase better, and that increased Claude usage leads to reduced understanding of the codebase.
When society replaced walking as the primary mode of transportation with driving, people started going to the gym to keep their body in shape.
We should probably be training spatial perception (replaced by GPS), understanding of algorithms and data structures (replaced by coding agents), too.
But those are the situations where we then use 3-phase 400V
Sure, it's not perfect, but it's still really convenient.
e.g., my home is always vacuum-proofed. It automatically runs through all rooms except for the bedroom at night, finishing just before my alarm clock rings, then vacuuming the bedroom an hour after the last person's alarm clock has rung.
This way I never actually notice it, but the home is always perfectly clean as if by magic.
Similarly, if you use separate dishwasher detergent, antisurfactant and salt, and properly dial in your water hardness, it'll be able to clean everything no matter how dirty the dishes are. Including dried-on tomato sauce. Just put the dishes in, and they'll be clean the next day.
Of course it takes a bit of effort to set this up, but then it just works for a long time.
Similarly, I'm a big fan of handwriting software with care & focus on quality, which takes a bit longer at first, but then allows you to trust the software to continue running for years to come.
Linux has a lot of corporate contributors, but it's been a long standing problem that many of these only add new features that their new pet project needs. Long-term maintenace and improvements is often done by volunteers, and many important subsystems rely entirely on volunteer work.
This was also famously an issue with e.g. AMD's GPU driver, which was appreciated as it allowed a mainstream GPU to be fully supported with an in-kernel driver, but the disadvantage that now volunteers had to maintain hundredthousands of LOC of code, most of which was autogenerated hardware interfaces with little documentation, which made refactoring and cleanup work almost impossible.
> Google also fully maintains the ART VM running on Android - despite Oracle, the owner and developer of Java - famously wanting a piece of it.
Had you followed the release notes, you'd have noticed that that hasn't been the case since Android 8 Oreo, when the entire Java standard library on Android was switched from Apache Harmony to OpenJDK. That's why Android was finally able to move beyond Java 7 and introduce modern functionality, fix the broken NIO implementation, and add JSR-310 Date and Time fuctions, just to mention a few of the improvements since then.
These have been developed by the Java community, including corporations and individual contributors.
Which is why they planned to replace the entire kernel and services with zircon and fuchsia, and a new Android runtime ontop.
Guess what, turns out Google actually does need the community contributions of the Linux and Java projects.
Imagine if all the editing tools in microsoft word were specific to the language you used, and if you mixed German and English, each had different tooling.
Now if you mix Rust, HTML, JS, and CSS, they'll all have separate tooling, seperate "go to definition", and separate refactoring. Worst of all, none of them can see the definitions of the other ones.
So what you'd actually want to do is parse each language into your AST, with proper annotations as to what is what, and have all the "go to definition", the UI rendering, highlighting, refactoring, etc all done generically by the IDE ontop.
Which is much much closer to how Jetbrains IntelliJ does it, and why their tooling can handle "find usages" on an HTML element to find matching querySelector in .js files and matching selectors in .css
And if you subscribe to the AI stuff, you'd also want your AI to operate on this AST so it can learn skills that generalize across all languages.
Google is trying to take from the community potluck without giving anything back.
Your english is really good, except for that little mistake.
Hobbyist videographer. Volunteering as video/broadcast engineer at CCC events.
https://github.com/justJanne