35 ms·
I've long been baffled as to why what I'm building doesn't already exist. Sure it's tough to actually design-and-make, but it's basically a holy grail of compu
by _Nat_ 7y ago
I've long been baffled as to why what I'm building doesn't already exist. Sure it's tough to actually design-and-make, but it's basically a holy grail of computing that a ton of people have, I think, generally wanted since long before I was born.
The weird thing is that I often do find people working on similar things. Sometimes they're historical projects I'll find a Wikipedia article on, or sometimes they're posted here on HackerNews.
Every time I see one, I think, "Wow! That's a lot like what I'm doing! How is this not a bigger thing?!". The initial surprise used to last a while as I started to dig, but further explanation tended to reveal that things weren't as they appeared.
For an analogy, say that everyone's still using horse-drawn carriages, not cars, to get around. Then, you want to invent a car. Then, you see what looks a lot like a car in someone's lab or in a museum. Then it's like, woah!, right? I mean, if someone already made a car, why are people still using horse-drawn carriages?
So then I'd look into the car and see that it doesn't actually have an engine inside. Or maybe it's got like a major piece of an engine, but still 80% missing.
Anyway, back to the thread's topic...
If you're building something that already exists, how sure are you that the thing that you think is a preexisting implementation actually does what you want your thing to do?
And maybe it does, and maybe your thing's a replication effort. But, my experience has been that things that look the same are off. That I'd see something that I'd think to be a car, and then mistakenly assume that surely it must contain an engine, only to later find out it doesn't.
- mkagenius 7y ago> Intentional system I want to build the same thing. It seems hard so i haven't started working on it.
- deleted 7y ago[deleted]
- halter73 7y ago> I'm building an "intentional system". The idea's that you just tell the computer what to do, and it does it the best way possible. This includes figuring out what you told it to do, how to do that, how to optimize it, etc., in a provably optimal way. Maybe I'm misunderstanding what you're trying to achieve, but to me, this sounds prohibitively difficult for even the largest most sophisticated organizations at this point in history. It's just way too general. Like general AI kind of general.
- dusted 7y agoDidn't IBM do a programming language like that once? They found out, that most times, people don't actually know what they want, or how to explain it in a way that only have one or two perfectly valid interpretations.
- AstralStorm 7y agoSo you mean Prolog? It's not quite IBM's. And yes, many expert systems are about guessing what the user wants rather than providing an accurate answer - and refinement later. They're called search engines, I heard Google was making a darn good one in 1998.
- _Nat_ 7y agoIt'd be neat if you could recall what IBM's programming language is called. It does seem to be the case that a lot of things can be interpreted multiple different ways, which does require people to precisely state what they want. I think a classic example if a house-cleaning robot told to keep the house as clean as possible, only for that robot to then try to murder the residents after correctly determining that the residents are a primary source of uncleanliness. Within the system's own logic, I have to be super-careful to precisely specify exactly what I want something to do, much as someone working in any other system has to be careful to specify exactly what the code's supposed to do in its various use cases. But with user-facing applications, it'll tend to assume some default assumptions. For example, if you hire someone to clean your house and tell them to keep it as clean as possible, obviously they know not to murder people to accomplish that goal, as that intent has been communicated through other channels. However, this also proves to be beneficial in a lot of cases. For example, if you say, "Go buy eggs from the store", but don't clarify which store, that can be interpreted multiple ways. Still, say that the first store happens to be out of eggs; then, it's good that a valid alternative interpretation exists, as the first attempt at interpretation wasn't viable.
- guiriduro 7y agoSQL? That's an interesting case. It sits at the nexus of a well-defined relational theory, Codd et al., and normalised table data, and you can only ask it things which make sense like selection, projection and various joins. To the question of intentionality, it is declarative and does hide a lot of the work of arriving at the requested result. Perhaps when viewed in the context of a more tightly defined problem set and solution space, and allowing for the advances in algorithms, AI and computing power since the 1970's - DNNs, evolutionary algos, backpropagation, annealing etc. -intentional goal-seeking self-programming should at least be conceivable.