Seriously? One sixth of the U.S. population is food-insecure. You don't think that basic income would fix that?
8,629 karma · joined November 29, 2015
Seriously? One sixth of the U.S. population is food-insecure. You don't think that basic income would fix that?
This is a side effect of capital accumulation. There's no one to buy the products (as low/middle class gets squeezed) so no reason to invest. Instead, oligarchs hold money in assets and compete over control, ultimately with violence.
They are supposed to help you build better foundations; the abstractions to better understand your complexity you need to build (or at least pick) yourself.
Good foundations then help you relate the abstractions. For example, the categoric dual of a product is a sum. We can apply it to relation (relational algebra), and we get that sum is data inheritance.
So that gives you understanding of how functions (foreign keys), product (relation) and sum (inheritance) fit together. This sometimes helps to build abstractions in a consistent way.
The point is not to be snug about it. Functional programming (and monads) are actually simpler. You just need to resist the urge to "make it more understandable".
Abstract math doesn't have good analogies to the real world. By trying to make an analogy with the concrete ("monads are mappable") you lose simplicity.
I see it with OOP, XML, design patterns, and other things, now with LLMs. (LLMs - you really want to build complex systems in badly specified natural language, compiled or interpreted with an inscrutable algorithm and possibly indeterministic?)
Is it the excitement from a new analogy? Or are engineers naturally empiricists, while the rationalism/empiricism distinction doesn't work in computer science?
I think we would be better off if we just learned functional programming and few abstract concepts (categories, monads). Simpler than OOP.
For example, how Mallory can gain power over Alice and Bob who don't directly communicate.
First, Mallory tells Alice: "I am stronger than you. If you don't do what I say I'll kill you." So Alice decides to submit.
Then, Mallory takes Alice to Bob and says to him: "Together with Alice we are stronger than you, and kill you if you don't do what I want." So Bob submits.
This only works if Bob doesn't talk to Alice, otherwise they would together see the empty threat.
With more people, it becomes a bit trickier but hopefully you see how blocking communication helps to gain power over people. Often the blocking of communication is done through propaganda, e.g. Mallory might entice Alice and Bob to hate each other, so they wouldn't get together and figure he's the manipulator. Or Mallory might just kill someone randomly to motivate people not to talk to each other.
Anyway, this shows the importance of free speech (which is really a misnomer; it should be called a right to listen). If you can freely talk (and listen) to other people, you reduce your chances to being subjugated by someone.
(This is also why in a war, people are incentivized to dehumanize the other party and not to listen what they say, because together they could figure out that the real enemy are the war profiteers on both sides, colluding. And besides, killing is the most reliable way of silencing someone. That's why people should also universally reject killing - based on someone else's word - unless they are directly threatened themselves.)
a) I am already convinced that P=NP
b) You have to convince many other people as well (that you're a magic oracle), because for the effect to work, lot of people would have to work on the problem (or at least spend tokens)
Nevertheless, a plausible magic oracle (such as Lean-verified proof, even if non-constructive and incomprehensible for humans) would convince many to take a 2nd look.
That might be because emergence of capabilities to reason about programs requires abstractions (such as fuzzy and modal logic) that are rarely present in software sources. That doesn't mean the reasoning model itself has to be large; neither does it have to emerge from the ML training on large language corpus, we might construct it by different means.
To go very small (thousands of rules) so that the reasoner can be understood by humans and proven sound - might be computationally quite difficult.
You can imagine a reasoning model as a huge set of rules that generate the next statement from previous statements (written in context). In that sense, a reasoning model can be compared to a logical theory - you have certain deduction rules which can generate new judgments.
Often, logical theories are structured that the rules are remade into axioms, and the deduction rule is only modus ponens (which corresponds to function application and is a building block of program execution).
In the case of an LLM, the set of rules (or axioms) they have in the theory is quite large, but most likely semantically unsound (with respect to their their own representation of truth) - that's why LLM's make mistakes.
It would be desirable to break the logical theory represented by LLM into a smaller set of axioms, which would:
a) remove rules easily deductible from the smaller core of axioms (for example, LLM doesn't need to remember "Socrates is mortal", as it can derive it from "Socrates is a man" and "all men are mortal")
b) remove rules that have low value (facts that aren't used often or have weak validity) which cause ruleset to become unsound
I suspect that's what SLM distillation is doing, to some extent.
The question is, how far this process can go? I personally believe there is a useful logic for commonsense reasoning that has less than thousand rules (still several orders more than your typical mathematical logic, but orders less than SLMs). These axioms do not contain much facts about the world, but that could be added.
So I believe there is a sweet spot (deductive core, encyclopedic shell) which we have not yet found (it's a little bit more formal language than natural language) but is very efficient for general reasoning.
In any case, I think it's better to read PP as somebody would find a practical, albeit incomprehensible, algorithm for solving NP complete problems.
Although I probably disagree with PP, because even a candidate algorithm that mysteriously works without proof would have practical value, so this case is not predicated on proving.
I think a better example of genuinely practical but rather uninteresting (YMMV) mathematical proofs are proofs of convergence of numerical methods, FEM for example. (I have been through it in school, it was a torture.)
The public social graph would be about who is a human, that can certify facts. Their opinion wouldn't really matter until you chose it to matter for you. Them being a human witness would only add credence to the accounts of the facts they witnessed, nothing more. You can still choose to disbelief the event if you have a good reason to (for example, even if you might believe a guy from Russia is a real person based on his social graph, if he certifies an event in Michigan, you might be skeptical of that account and decide to lower your own trust in that person). So there is a difference between the shared social graph - which is about a collective belief of who is a person, and your own trust, which you can modify as you wish. Unlike with Google and other big tech providers, there is not a singular "algorithm for trust" that can be manipulated.
You seem to be saying it will fail because people are tribal. I believe it will not fail, because the benefits of knowing the local social graph of each person will outweigh the tendency for opinion to split based on tribe. And the reason I think so is that trust evolved and exists in society; we do not only trust ourselves, and that's only possible if something like a social graph can work. The only issue is the scale, which can be solved by using a computer instead of computing it in our little heads.
The problem with the current systems is that reputation buying is not transparent. In my system, it would be a public record, who endorsed who. So you could go back and track the fake reputation.
Also real people have some TTL with their accounts. Unlike links, "I am real person" is not nearly as fungible.
By default you could choose not to trust. If you don't trust random strangers it's OK. So I don't see how it would damage someone's reputation worse than today.
It would potentially only add trust. Arguably, today we have bots because we have no other option than to trust without justification. With the public social graph, the trust above the baseline would be justifiable.
- "I, owner of account A, certify that owner of account B is human."
- "I, owner of account C, have a reason to trust/distrust the certification of account A about account B."
The collection of these statements would be the public social graph.
The social graph would then be used to establish provenance of facts, which are statements of the form:
- "I, owner of account B, certify account A being witness to event X."
Now whether to believe this or not depends on whether A certified B to be a human, and how much you transitively believe that statement.
So there is a kind of reversal - your statement about your uncle being human helps him to certify what you say, and vice versa.
If enough people were willing to publicly certify that their fellow contacts are human, anybody could then assign trust to each social graph node based on the trust they have in the path to them. It would completely decentralize the algorithms and remove the fake accounts as less trustworthy.
I think people tried this with PGP but it never really caught on.
Leadership: Given task to produce something someone wants (B), get an expert (A->B) who knows how get it from something you have (A). If such expert doesn't exist, build a team of experts A->C and C->B, for a suitable intermediate product C.
Coding: Given task to calculate something user wants (B), find a function (A->B) that calculates it from user input (A). If that function doesn't exist, build it from functions A->C and C->B, for a suitable intermediate result C.
I think perfect rationality doesn't exist, because it is rational to reject something that you don't understand. So rationality of a given physical system will always be bounded.
But I think you can't. It seems to me, instead, one is better at googling/prompting the better they are in a particular domain, but it only applies in that domain. Like knowing a jargon is not a skill, knowing the domain is.
Why? One, the companies like Google or Anthropic or OpenAI are working hard for it not to be a skill. That's the whole point. Second, these system are opaque, so there is no understanding to happen, only superstition, which might be wrong or change tomorrow.
There is also a variation of Amdahl's law - if you automate more things, the predictability of remaining work will decrease, because it will now take more time.
Also, formal languages still trump natural language. Despite LLMs; I think it's a stepping stone to something better but "vibe coding" will turn out to be unsustainable.