Hacker Newsnew | past | comments | ask | show | jobs | submit | YeGoblynQueenne's commentslogin


>> scalpers are the unjustly persecuted heroes of our economy. they are apostates from Queueing, our national religion.

Right? Scalpers are only the latest in a long line of wrongly persecuted financial minorities like black market sellers, smugglers, drug lords, pirates, slavers, pimps, and Ponzi scheme entrepreneurs. Freedom to the heroes of our markets!


I think you're confusing the concept of arbitrage with human trafficking.


... and traffickers. Thank you!


That's implied with slavery.

Equating someone who sells a pokemon card on ebay with people who sell other people into slavery is a bold choice.


Thank god nobody made it.


Do you mean nobody else made it? Because you did put 'scalpers' and 'slavers' in the same sentence.


You put pokemon and slavery in the same sentence.


No, I said reselling pokemon cards. That's an example of scalping. You lumped them all together.

Scalpers are only the latest in a long line of wrongly persecuted financial minorities like black market sellers, smugglers, drug lords, pirates, slavers, pimps, and Ponzi scheme entrepreneurs.

Why won't you confront what you actually said? Why are you trying to twist words around instead?


>> the high ticket prices incentivise the creation of new venues and the entrant of new artists into the market.

How does scalping, which transfers money from fans, artists, and the music industry to ticket touts who have nothing to do with music, "incentivise the creation" of anything? Except, I suppose, bot farms and clickfarm sweatshops?


The "only" reason? What happened to "making the world a better place"?


That's a little happy fairy tale with extra sparkly fairy dust on top but what all that free markets have given us in practice is misery, despair, war, destruction and environmental catastrophe.

Capitalism is “the astonishing belief that the nastiest motives of the nastiest men somehow or other work for the best results in the best of all possible worlds.”

(Attributed to J. M. Keynes: https://en.wikiquote.org/wiki/John_Maynard_Keynes#Attributed)

P.S. It doesn't help of course that "free" markets are never really free because they are very quickly taken over by the "nastiest men" etc. and the last thing those people care about is freedom, particularly that of the markets they make their money from.

See for instance the subject of ticket touts. There is no free market in online ticket reselling because the entire market's cornered by bot farmers who buy tickets in bulk automatically the moment they are made available and leave none for anyone else. "Free" market, my sweet little hiney.

And btw, in the UK the same thing happens with driving test slots:

https://www.bbc.com/news/articles/cn09v4d2xe7o


the shortage of driving test slots is entirely the fault of inefficient government bureaucracy. people are rationally responding to the scarcity by using bots.

if the supply of tests were allowed to rise naturally to meet the existing demand, this problem wouldn't exist. we are only in this situation because the government artificially limits the supply.

this is a very common pattern where people get upset at high prices but are completely incurious as to where the shortage really comes from.


Sounds like a two birds, one stone kind of thing. Very efficient, I like it.


I got one for "Fingertip Manipulation"

Platinum medal: tying shoelaces while a three-month old kitten plays with them.


>> Valve respects its customers.

That's the same Valve that doesn't let me play the games I paid it for unless they are running on its platform? That's how it "respects" me?


To be fair there are a lot of games on Steam that don't have DRM, which means you can just drag them out of the steamapps folder to a computer that doesn't have Steam and they work fine. The decision to add DRM comes from the developer/publisher, not Valve.


Name a game distribution platform that doesn't do this. It will be a toy example like a zip file purchased off of itch.io or something.


GOG is hardly a toy and is the platform I look to purchase tons of games on instead of Steam (which I really like) and definitely over Epic (which I've never even installed)


Right. I have to be signed in to GOG to play Cyberpunk. That violates the spirit of the original commenter


You can play Cyberpunk downloaded from GOG without launching Galaxy.

Basically just go the the folder and run bin\x64\Cyberpunk2077.exe

The "Launch Cyberpunk" shortcut in the folder starts Galaxy and then runs the game from there.


The same is true for Steam games.


Only drm free steam games. The ones with the steam drm require steam client to be running to launch (steam itself can be in offline mode but it still needs to be running)

Games using things like steam input might also require steam to be running so there is some drm free games that might not run also. Some of those will if you move them outside the steam folder / rename Steam.exe. If you leave them in the steam folder the game will start steam for you if when you launch it.


Do you? I was pretty sure the Cyberpunk launcher has a "don't use account" button.


I think that's the point. The GP post basically said, "Gamers can't be messed with." A child post gave a ton of examples of how gamers are messed with, and this comment helps cement that. It does beg the question as to why Steam isn't as evil as it could be but does choose to be as evil as they are. To me (a very casual gamer) they do seem like the least evil.

Also don't knock those zip files purchased off of itch.io. Sometimes it's good to visit a cottage industry to see what's passing under the radar of the big guys.


Gabe remembers both shareware era, and all the pains to get people to trust Steam in the first place.

Your usual publicly traded (or owned by publicly traded entity) corporation in its accidental intelligence does not


>> Name a game distribution platform that doesn't do this.

Why? If another platform also disrespects me, does that mean Steam doesn't disrespect me?


https://www.gog.com/ Is the largest one


Humble Bundle


The most common activation keys in a bundle are ... Steam keys.


I think that's more a situation where publishers demand some form of DRM so steam is trying to provide a default solution that most publishers are happy with.


DRM is optional on Steam and up to the game developer.


> That's the same Valve that doesn't let me play the games I paid it for unless they are running on its platform?

What exactly does that mean, for you?


It's just something to whine about, more than anything.


Were you not aware of that before you purchased the game? How has this negatively impacted you?


The discussion has become contentious and that's very unfortunate because there's clearly some confusion about Prolog and that's always a great opportunity to learn.

You say:

>> Yes, though, it traverses the code tree by depth first walk.

Here's what I suggest: try to think what, exactly, is the data structure searched by Depth First Search during Prolog's execution.

You'll find that this structure is what we call and SLD-Tree. That's a tree where the root is a Horn goal that begins the proof (i.e. the thing we want to dis-prove, since we're doing a proof by refutation); every other node is a new goal derived during the proof; every branch is a Resolution step between one goal and one definite program clause from a Prolog program; and every leaf of a finite branch is either the empty clause, signalling the success of the proof by refutation, or a non-empty goal that can not be further reduced, which signals the failure of the proof. So that's basically a proof tree and the search is ... a proof.

So Prolog is not just searching a list to find an element, say. It's searching a proof tree to find a proof. It just so happens that searching a proof tree to find a proof corresponds to the execution of a program. But while you can use a search to carry out a proof, not every search is a proof. You have to get your ducks in a row the right way around otherwise, yeah, all you have is a search. This is not magick, it's just ... computer science.

It should go without saying that you can do the same thing with Python, or with javascript, or with any other Turing-complete language, but then you'd basically have to re-invent Prolog, and implement it in that other language; an ad-hoc, informally specified, bug-ridden and slow implementation of half of Prolog, most like.

This is all without examining whether you can fix LLMs' lack of reasoning by funneling their output through a Prolog interpreter. I personally don't think that's a great idea. Let's see, what was that soundbite... "intelligence is shifting the test part of generate-test into the generate part" [1]. That's clearly not what pushing LLM output into a Prolog interpreter achieves. Clearly, if good, old-fashioned symbolic AI has to be combined with statistical language modelling, that has to happen much earlier in the statistical language modelling process. Not when it's already done and dusted and we have a language model; which is only statistical. Like putting the bubbles in the soda before you serve the drink, not after, the logic has to go into the language modelling before the modelling is done, not after. Otherwise there's no way I can see that the logic can control the modelling. Then all you have is generate-and-test, and it's meh as usual. Although note that much recent work on carrying out mathematical proofs with LLMs does exactly that, e.g. like DeepMind's AlphaProof. Generate-and-test works, it's just dumb and inefficient and you can only really make it work if you have the same resources as DeepMind and equivalent.

_____________

[1] Marvin Minsky via Rao Kampampathi and students: https://arxiv.org/html/2504.09762v1


The reason why you can write parsers with Prolog is because you can cast the problem of determining whether a string belongs to a language or not as a proof, and, in Prolog, express it as a set of Definite Clauses, particularly with the syntactic sugar of Definite Clause Grammars that give you an executable grammar that acts as both acceptor and generator and is equivalent to a left-corner parser.

Now, with that in mind, I'd like to understand how you and the OP reconcile the ability to carry out a formal proof with the inability to do reasoning. How is it not reasoning, if you're doing a proof? If a proof is not reasoning, then what is?


Clearly people write parsers in C and C++ and Pascal and OCAML, etc. What does it mean to come in with "the reason you can write parsers with Prolog..."? I'm not claiming that reason is incorrect, I'm handwaving it away as irrelevant and academic. Like saying that Lisp map() is better than Python map() because Lisp map is based on formal Lambda Calculus and Python map is an inferior imitation for blub programmers. When a programmer maps a function over a list and gets a result, it's a distinction without a difference. When a programmer writes a getchar() peek() and goto state machine parser with no formalism, it works, what difference does the formalism behind the implementation practically make?

Yes maybe the Prolog way means concise code is easier for a human to tell whether the code is a correct expression of the intent, but an LLM won't look at it like that. Whatever the formalism brings, it isn't enough that every parser task is done in Prolog in the last 50 years. Therefore it isn't any particular interest or benefit, except academic.

> both acceptor and generator

Also academically interesting but practically useless due to the combinatorial explosion of "all possible valid grammars" after the utterly basic "aaaaabbbbbbbbbbbb" examples.

> "how you and the OP reconcile the ability to carry out a formal proof with the inability to do reasoning. How is it not reasoning, if you're doing a proof? If a proof is not reasoning, then what is?"

If drawing a painting is art, is it art if a computer pulls up a picture of a painting and shows it on screen? No. If a human coded the proof into a computer, the human is reasoning, the computer isn't. If the computer comes up with the proof, the computer is reasoning. Otherwise you're in a situation where dominos falling over is "doing reasoning" because it can be expressed formally as a chain of connected events where the last one only falls if the whole chain is built properly, and that's absurdum.


> If a human coded the proof into a computer, the human is reasoning, the computer isn't. ... If the computer comes up with the proof, the computer is reasoning.

That is exactly what "formal logic programming" is all about. The machine is coming up with the proof for your query based on the facts/rules given by you. Therefore it is a form of reasoning.

Reasoning (cognitive thinking) is expressed as Arguments (verbal/written premises-to-conclusions) a subset of which are called Proofs (step-by-step valid arguments). Using Formalization techniques we have just pushed some of those proof derivations to a machine.

I pointed this out in my other comment here https://news.ycombinator.com/item?id=45911177 with some relevant links/papers/books.

See also Logical Formalizations of Commonsense Reasoning: A Survey (from the Journal of Artificial Intelligence Research) - https://jair.org/index.php/jair/article/view/11076


With Prolog, the proof is carried out by the computer, not a human. A human writes up a theory and a theorem and the computer proves the theorem with respect to the theory. So I ask again, how is carrying out a proof not reasoning?

>> I'm not claiming that reason is incorrect, I'm handwaving it away as irrelevant and academic.

That's not a great way to have a discussion.


The word "reason" came into this thread with the original comment:

    3. LLMs are bad at solving reasoning problems.

    4. Prolog is good at solving reasoning problems.
I agree with you. In Prolog "?- 1=1." is reasoning by definition. Then 4. becomes "LLMs should emit Prolog because Prolog is good at executing Prolog code".

I think that's not a useful place to be, so I was trying to head off going there. But now I'll go with you - I agree it IS reasoning - can you please support your case that "executing Prolog code is reasoning" makes Prolog more useful for LLMs to emit than Python?


This is not my claim:

>> "executing Prolog code is reasoning" makes Prolog more useful for LLMs to emit than Python?

I said what I think about LLMs generating Prolog here:

https://news.ycombinator.com/item?id=45914587

But I was mainly asking why you say that Prolog's execution is "not reasoning". I don't understand what you mean that '"?- 1=1." is reasoning by definition' and how that ties-in with our discussion about Prolog reasoning or not.


"?- 1=1." is Prolog code. Executing Prolog code is reasoning. Therefore that is reasoning. Q.E.D. This is the point you refused to move on from until I agreed. So I agreed. So we could get back to the interesting topic.

A topic you had no interest in, only interest dragging onto a trangent and grinding it down to make ... what point, exactly? If "executing Prolog code" is reasoning, then what? I say it isn't useful to call it reasoning (in the context of this thread) because it's too broad to be a helpful definition, basically everything is reasoning, and almost nothing is not. When I tried to say in advance that this wouldn't be a useful direction and I didn't want to go here, you said it was " not a great way to have a discussion". And now having dragged me off onto this academic tangent, you dismiss it as "I wasn't interested in that other topic anyway". Annoying.


> "?- 1=1." is Prolog code. Executing Prolog code is reasoning. Therefore that is reasoning. Q.E.D.

This is the dumbest thing i have read yet on HN. You are absolutely clueless about this topic and are merely arguing for argument's sake.

> If "executing Prolog code" is reasoning, then what? I say it isn't useful to call it reasoning (in the context of this thread) because it's too broad to be a helpful definition, basically everything is reasoning, and almost nothing is not.

What does this even mean? It has already been pointed out that Prolog does a specific type of formalized reasoning which is well understood. The fact that there are other formalized models to tackle subdomains of "Commonsense Reasoning" does not detract from the above. That is why folks are trying to marry Prolog (predicate logic) to LLMs (mainly statistical approaches) to get the best of both worlds.

User "YeGoblynQueenne" was being polite in his comments but for some reason you willfully don't want to understand and have come up with ridiculous examples and comments which only reflect badly on you.


You call it the dumbest thing you have ever read, and say that I know nothing - but you agree that it is a correct statement ("Prolog does a specific type of formalized reasoning").

> "What does this even mean?"

For someone who is so eager to call comments dumb, you sure have a lot of not-understanding going on.

1. Someone said "Prolog is good at reasoning problems"

2. I said it isn't any better than other languages.

3. Prolog people jumped on me because Ackchually Technickally everything Prolog does is 'reasoning' hah gotcha!

4. I say that is entirely unrelated to the 'reasoning' in "Prolog is good at reasoning problems". I demonstrate this by reductio ad absurdum - if executing "?- 1=1." is "reasoning" then it's absurd for the person to be saying that definition is a compelling reason to use Prolog, therefore they were not saying that, therefore this whole tangent about whether some formalism is or isn't reasoning by some academic definition is irrelevant to the claim and counter claim.

> "are merely arguing for argument's sake."

Presumably you are arguing for some superior purpose?

The easiest way for you to change my mind is to demonstrate literally anything that is better for an LLM to emit in Prolog than Python - given the condition that LLMs don't have to care about conciseness or expressivity or readability in the same way humans do. For one example I say it would no better for an LLM to solve an Einstein Puzzle one way or the other. The fact that you can't or won't do this, and prefer insults, is not changing my mind nor is it educating me in anything.


You edited your comment without any indication tags which is dishonest. However, my previous response at https://news.ycombinator.com/item?id=45939440 is still valid. This is an addendum to that;

> The easiest way for you to change my mind is to demonstrate literally anything that is better for an LLM to emit in Prolog than Python

I have no interest in trying to change your mind since you simply do not have the first idea about what Prolog is doing vis-a-vis any other non-logic programming language. You have to have some basic knowledge before we can have a meaningful discussion.

However, in my previous comment here https://news.ycombinator.com/item?id=45712934 i link to some usecases from others. In particular; the casestudy from user "bytebach" is noteworthy and explains exactly what you are asking for.

> The fact that you can't or won't do this, and prefer insults, is not changing my mind nor is it educating me in anything.

This is your dishonest edit without notification. I refuse to suffer wilful stupidity and hence retorted in a pointed manner; that was the only way left to get the message across. We had given you enough data/pointers in our detailed comments none of which you seem to have even grasped nor looked into. In a forum like this, if we are to learn from each other, both parties must put forth effort to understand the other side and articulate one's own position clearly. You have failed on both counts in this thread.


> but you agree that it is correct.

No, i did not; do not twist nor misrepresent my words. Your example had nothing whatsoever to do with "Reasoning" and hence i called it dumb.

> you sure have a lot of not-understanding going on.

Your and my comments are there for all to see. Your comments are evidence that you are absolutely clueless on Reasoning, Logic Programming Approaches and Prolog.

> 1. Someone said "Prolog is good at reasoning problems"

Which is True. But it is up to you to present the world-view to Prolog in the appropriate Formal manner.

> 2. I said it isn't any better than other languages.

Which is stupid. This single statement establishes the fact that you know nothing about Logic Programming nor the aspect of Predicate Logic it is based on.

> 3. Prolog people jumped on me because Ackchually Technickally everything Prolog does is 'reasoning' hah gotcha!

Which is True and not a "gotcha". You have no definite understanding of what the word "Reasoning" means in the context of Prolog. We have explained concepts and pointed you to papers none of which you are interested in studying nor understanding.

> 4. I say that is entirely unrelated to the 'reasoning' in "Prolog is good at reasoning problems". I demonstrate this by reductio ad absurdum - if executing "?- 1=1." is "reasoning" then it's absurd for the person to be saying that definition is a compelling reason to use Prolog, therefore they were not saying that, therefore this whole tangent about whether some formalism is or isn't reasoning by some academic definition is irrelevant to the claim and counter claim.

What does this even mean? This is just nonsense verbiage.

> Presumably you are arguing for some superior purpose?

Yes. I am testing my understanding of Predicate Logic/Logic Programming/Prolog against others. Also whether others have come up with better ways of application in this era of LLMs i.e. what are the different ways to use Prolog with LLMs today?.

I initially thought you were probably wanting a philosophical discussion of what "Reasoning" means and hence pointed to some relevant articles/papers but i am now convinced you have no clue about this entire subject and are really making up stuff as you go.

You are wasting everybody's time, testing their patience and coming across as totally ignorant on this domain.


I'm sorry you find my contribution to the discussion annoying, but how should I feel if you just "agree" with me as a way to get me to stop arguing?

But I think your annoyance may be caused by misunderstanding my argument. For example:

>> If "executing Prolog code" is reasoning, then what? I say it isn't useful to call it reasoning (in the context of this thread) because it's too broad to be a helpful definition, basically everything is reasoning, and almost nothing is not.

Everything is not reasoning, nor is executing any code reasoning, but "executing Prolog code" is, because executing Prolog code is a special case of executing code. The reason for that is that Prolog's interpreter is an automated theorem prover, therefore executing Prolog code is carrying out a proof; in an entirely literal and practical sense, and not in any theoretical or abstract sense. And it is very hard to see how carrying out a proof automatically is "not reasoning".

I made this point in my first comment under yours, here:

https://news.ycombinator.com/item?id=45909159

The same clearly does not apply to Python, because its interpreter is not an automated theorem prover; it doesn't apply to javascript because its interpreter is not an automated theorem prover; it doesn't apply to C because its compiler is not an automated theorem prover; and so on, and so forth. Executing code in any of those languages is not reasoning, except in the most abstract and, well, academic, sense, e.g. in the context of the Curry-Howard correspondence. But not in the practical, down-to-brass-tacks way it is in Prolog. Calling what Prolog does reasoning is not a definition of reasoning that's too broad to be useful, as you say. On the contrary, it's a very precise definition of reasoning that applies to Prolog but not to most other programming languages.

I think you misunderstand this argument and as a consequence fail to engage with it and then dismiss it as irrelevant because you misunderstand it. I think you should really try to understand it, because it's obvious you have some strong views on Prolog which are not correct, and you might have the chance to correct them.

I absolutely have an interest in any claim that generating Prolog code with LLMs will fix LLMs' inability to reason. Prolog is a major part of my programming work and research.


> "how should I feel if you just "agree" with me as a way to get me to stop arguing?"

Triumphant? Victorious? magnificent, successful, proud, powerful, insert any adjective which applies to a situation where someone wanted something, and then got it.

> "And it is very hard to see how carrying out a proof automatically is "not reasoning. The same clearly does not apply to Python, because its interpreter is not an automated theorem prover; it doesn't apply to javascript because its interpreter is not an automated theorem prover"

And that does not stop Python or Javascript from being used to find solutions to e.g. an Einstein Puzzle, something a human might call "a reasoning problem". This means Prolog 'doing reasoning' must not be the thing which solves the 'reasoning problem', something else must be doing that because non-reasoning systems can do it too.

If Prolog 'doing reasoning' meant it could solve 'reasoning problems' that no other programming language could, that would be a strong reason to use Prolog, but that is not something you or the other 'reasoning' commenters have claimed or offered examples of. Clearly the word 'reasoning' has different definitions in the different sentences and that is important here because I am responding to one and youall on the other.

If 'doing reasoning' is not the thing which makes it useful for 'solving reasoning problems' - if that neither compels one to use Prolog when working to 'solve a reasoning problem', nor convinces one to avoid other languages - if the definition does not influence one's decision in any way - it's very hard to see how it is the relevant version of 'reasoning' to focus on, and what point is trying to be made by this insistence on focusing on it, except academic one-upping.


>> And that does not stop Python or Javascript from being used to find solutions to e.g. an Einstein Puzzle, something a human might call "a reasoning problem". This means Prolog 'doing reasoning' must not be the thing which solves the 'reasoning problem', something else must be doing that because non-reasoning systems can do it too.

To solve an Einstein puzzle in Python et al. you have to code 1) a definition of the problem and 2) a solution that you come up with. In Prolog you only have to code a definition of the problem and then executing the definition gets to the solution.

Other languages indeed can solve problems that Prolog can, but a human programmer must code the solution, while Prolog comes built-in with a universal problem solver, SLD-Resolution, that can solve any problem a human programmer can pose to it.

I looked around for an example of this with real code and found this SO thread on programmatically solving a Zebra puzzle (same as the Einstein puzzle):

https://stackoverflow.com/questions/318888/solving-who-owns-...

There are a few proposed solutions in Python, and in Prolog. The Python solutions pull-in constraint solving libraries, encode the problem constraints and then use for-loops to iterate over the set of solutions that respect the constraints.

The Prolog solutions do not pull in any libraries and do not iterate. They declare the constraints of the problem and then execute the constraints, letting the Prolog interpreter find a solution that satisfies them.

So the difference is that Prolog can solve the problem on its own, while Python can solve it only if you hand-code the solution, which includes importing a constraint solver. Constraint solving is of course a form of reasoning, and that's how you can get Python to do reasoning: by implementing a reasoning algorithm. In Prolog you don't need to do that, because SLD-Resolution is a universal problem solver that can be applied to constraint problems, like any other problem. This is not an academic matter, as you insist that it is; it is a practical matter, of knowing how to code a universal problem solver and getting it to run on real-world hardware.

I say that solving constraints is a form of reasoning. You won't find anyone to disagree with this in the CS and symbolic AI community. While you also won't find an agreed-upon, formal definition of "reasoning", we don't need one because we've been studying reasoning since the time of Aristotle and his "Syllogisms" (literally, "Reasonings" in Greek). In the same way you won't really find an agreed-upon definition of "mathematics", but we don't need one because we've been studying maths since the time of the ancient Babylonians (at least; my memory is hazy).

You argue that what Prolog does isn't reasoning, but that's a very niche view. Not that this means you're wrong, but one reason I insist with this discussion is that your view is so unorthodox. If you're right, I'd like to know, so I can understand where I was wrong. But so far I still only see a misunderstanding of Prolog and a continued unwillingness to engage with the argument that Prolog does reasoning because it has an automated theorem prover as an interpreter.

Note that the Prolog solutions in the SO thread are a bit over-engineered for my tastes. The one in the link below is much more straightforward although it's for a simplified version of the problem. Still, it shows what I mean that you only need to define the problem and then the interpreter figures out how to solve it.

https://www.101computing.net/solving-a-zebra-puzzle-using-pr...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: