Jump to content

Wikipedia:Reference desk/Computing

From Wikipedia, the free encyclopedia
Welcome to the computing section
of the Wikipedia reference desk.
Select a section:
Want a faster answer?

Main page: Help searching Wikipedia

   

How can I get my question answered?

  • Select the section of the desk that best fits the general topic of your question (see the navigation column to the right).
  • Post your question to only one section, providing a short header that gives the topic of your question.
  • Type '~~~~' (that is, four tilde characters) at the end – this signs and dates your contribution so we know who wrote what and when.
  • Don't post personal contact information – it will be removed. Any answers will be provided here.
  • Please be as specific as possible, and include all relevant context – the usefulness of answers may depend on the context.
  • Note:
    • We don't answer (and may remove) questions that require medical diagnosis or legal advice.
    • We don't answer requests for opinions, predictions or debate.
    • We don't do your homework for you, though we'll help you past the stuck point.
    • We don't conduct original research or provide a free source of ideas, but we'll help you find information you need.



How do I answer a question?

Main page: Wikipedia:Reference desk/Guidelines

  • The best answers address the question directly, and back up facts with wikilinks and links to sources. Do not edit others' comments and do not give any medical or legal advice.
See also:


June 8

[edit]

Windows 11 being the last one

[edit]

June 9

[edit]

TV showcase with Larva

[edit]

Good evening. This might be too vague, but i renember a TV in an electronics store showing an episode of Larva season 3 (New York) on loop. Which TV model could it be? ~2026-33908-31 (talk) 19:25, 9 June 2026 (UTC)[reply]

Whatever model LG released in 2015.  Card Zero  (talk) â€» 21:22, 9 June 2026 (UTC)[reply]

June 11

[edit]

Program functionality equivalence

[edit]

Is it possible to prove that two programs do the same thing? ~2026-34319-57 (talk) 07:11, 11 June 2026 (UTC)[reply]

Depends on your definition of "doing the same thing". The difference between "outputting indistinguishable results to a human user" and "having exactly the same, physical effect on a processor" is quite large. See for Spectre (security vulnerability).
The question itself is outside my knowledge. 攷盐æČ™ć†° / aka irisChronomia / Talk 08:09, 11 June 2026 (UTC)[reply]
This comes up often in higher level programming courses. For simplistic programs, you can map out the source code and see if the programs are identical. As programs get more complicated, it is a complexity problem. It is possible to map out large complex programs, but it takes too long with too many resources, so nobody will do it.
The problem comes from the halting problem. Assume I have program A that just returns 0. That's it. Now, program B runs program C and then returns 0. If C eventually finishes running (halts), both A and B just return 0. If C never finishes running, program B never returns 0. You can argue that running program C makes B unique from A, but that's not the point. The point is that the halting program can be part of this problem and when it is, this problem becomes unsolvable because hte halting problem is unsolvable. ~2026-16820-81 (talk) 11:04, 11 June 2026 (UTC)[reply]
More generally, this is Rice's theorem and can be directly proven the same way as the halting probablyproblem. Sesquilinear (talk) 19:21, 11 June 2026 (UTC)[reply]
Let us assume, for simplicity, that these programs implement functions on the natural numbers. Input a natural number and after some computation a natural number is output. Let us also assume these functions are total and that the programs always terminate with an output. This means that we cannot appeal to Rice's theorem.
The section Factorial § Computation shows two programs in pseudocode for implementing the factorial function. It is easy to prove by induction that either one, given input n, outputs the value of n!. This is a proof that both programs "do the same thing" if we are only interested in their input–output behaviour, which is how I understand the meaning of "functionality". If we also consider how much time, memory, energy or other resources they use, they may (and probably will) show some differences.
So it is at least sometimes possible to prove program functionality equivalence. The field of Program Calculation (on which we appear to have no article) is all about proof methods for establishing functional equivalence between algorithmic expressions.
Another question is whether there is a general decision method for establishing that two given programs are in fact equivalent. Here we run into a somewhat paradoxical situation.
First, assume such a decision method exists. What are the consequences? Well, for one, it will allow us to settle Goldbach's conjecture. For we write two programs. The first tests whether its input obeys the dictum of Goldbach's conjecture. For example, if the input is 308, then after some searching the program finds that 308 = 31 + 277, the sum of two primes, so yes, 308 is obedient, so the program outputs the value 1, meaning YES. If some counterexample exists, the program, when given this as input, outputs 0. The second program is a straightforward implementation of a constant function; it simply always outputs a 1.
If a decision method exists, it allows us to decide whether these two programs are equivalent and thereby whether Goldbach's conjecture holds. By similar reasoning, it would also allow us to settle the Riemann hypothesis and countless other long-standing open questions.
Now one might be forgiven thinking that, what with all the results on undecidable problems, we could give a concrete example of two programs P and Q for which functional equivalence is undecidable. Suppose we had such an example. If P and Q are not equivalent, we can prove this by testing them with the successive natural numbers as inputs until we hit the discrepancy. (This assumes Markov's principle.) But then, clearly, we have hit on a decision, the decision NO, they are not equivalent. So the only hope for a concrete example is a pair of functionality equivalent programs. In words, if no (correct) method can decide whether the verdict is YES or NO, the true result is YES.  â€‹â€‘‑Lambiam 11:03, 12 June 2026 (UTC)[reply]
If you restrict yourself to total functions, you loose a lot of computational power. In particular, you cannot even implement a Python interpreter (or any other Turing-complete computation system). --Stephan Schulz (talk) 14:19, 12 June 2026 (UTC)[reply]
You can implement a Python interpreter that runs for at most googolplex steps and then halts. Or you might consider the input to be a pair (pn) in which p is a Python program for computing a total function and n the input for that program.  â€‹â€‘‑Lambiam 04:27, 13 June 2026 (UTC)[reply]
Performing 1010100 steps within the age of the universe 13.8 x 109 years is hardly trivial. ~2026-21660-55 (talk) ~2026-21660-55 (talk) 09:42, 14 June 2026 (UTC)[reply]
Performing even more steps within the lifetime of the universe is unlikely to be feasible. This means that "in practice", the requirement of termination does not mean a loss of computational power compared to implementations that do not impose a limit. Anyhoo, I'm somewhat impatient; no way am I gonna wait till the end of the universe.  â€‹â€‘‑Lambiam 11:39, 15 June 2026 (UTC)[reply]

I suppose the answer also depends on your definition of "two programs". If two people separately write exactly the same code (e.g. a simple Hello, world), and they both run their code on the same computer, obviously the first person's program and the second person's program will do the same thing, but do you consider that the same program or two programs? Nyttend (talk) 19:53, 14 June 2026 (UTC)[reply]

From there, it also depends on the definition of "do the same thing". If your program prints Hello World and my program prints Hello World, but yours is printing it to a LED monitor and mine is printing it to an e-ink display, did they "do the same thing"? From there, we get into memory and registers. What if my program runs on Linux and your is on Windows so the binary code calls different OS functions - but the end result is the same? Is that truly the same thing? ~2026-16820-81 (talk) 11:57, 15 June 2026 (UTC)[reply]

June 14

[edit]

Online casino replaces pre-existing website

[edit]

Several years ago, I deleted a previous article about Michael Greilsammer because it infringed the "about the artist" page on his website, http://www.michaelgreilsammer.com/michael-greilsammer-biography. Someone's asked on my talk page if this might have been a different person, because http://www.michaelgreilsammer.com is a website for online casinos, but the deleted version clearly talked about the same person as the current article.

This leads me to conclude that the current page (with elements such as Die Besten Online Casinos Österreich 2025) was registered by someone else after the violinist's registration expired. I'm pretty sure that the Domain drop catching article is relevant, since that's "the practice of registering a domain name once registration has lapsed, immediately after expiry". But does Domain hijacking apply? This website looks very similar to ones that I've often seen, where the expired registration is replaced with spam; I have no reason to expect that the website replacement was done by "abuse of privileges on domain hosting and registrar software systems", but I don't know if "changing the registration of a domain name without the permission of its original registrant" applies. Presumably the violinist didn't permit his website to be replaced with spam for online casinos, but the article seems to treat it as theft, and it doesn't seem theft to take something that's been abandoned. "Domain hijacking can be done in several ways, generally by unauthorized access to, or exploiting a vulnerability in the domain name registrar's system, through social engineering, or getting into the domain owner's email account that is associated with the domain name registration". Nyttend (talk) 20:02, 14 June 2026 (UTC)[reply]

Check the Internet Archive and it's an obvious WP:USURPURL. Sesquilinear (talk) 20:15, 14 June 2026 (UTC)[reply]
Sorry, not trying to get the original page. (We already have it in the deleted history, since I deleted it as a copyright infringement.) I'm asking about the classification here: is this an example of domain hijacking? Nyttend (talk) 22:17, 14 June 2026 (UTC)[reply]
I think it's closer to Domain squatting. I've seen "usurped" as the Wikipedia term of art, as above. Sesquilinear (talk) 22:19, 14 June 2026 (UTC)[reply]

June 23

[edit]