Wikipedia:Reference desk/Computing

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 3

edit

Similarities between coding on the Internet and editing wikis

edit

June 7

edit

Why do computers still use binary?

edit

Modern computers are incredibly powerful and can perform trillions of operations per second. Given this, why do computers still fundamentally use binary (0s and 1s) rather than a more complex numbering system such as decimal (base 10) or ternary (base 3)? What advantages does binary provide in electronic hardware design? ArcadeFair (talk) 07:36, 7 June 2026 (UTC)Reply

It's a matter of practicality. Binary transistors and storage medium are profoundly easy to make - you just have to define 2 different states for them, which happens to be a perfect fit for electric circuitry - on and off. And since we can chain multiple binary bits together to represent any other base, from base-16 (4bit) to base-16777216 (24bit, you can go crazy with increasing bits here), we just hold a decimal value inside 4 binary transistors (with state 11-16 being either naively ignored, or utilized by making every character base-16) instead of trying to make 1 single transistors with 10 different states. 攷盐æČ™ć†° / aka irisChronomia / Talk 08:03, 7 June 2026 (UTC)Reply
tl;dr: imagine a binary switch; then imagine four of the same switches, one next to another.
then, imagine a switch with 10 possible states. that would be much, much more expensive to make; it'll also be much easier to break than four binary switches. if a binary switch gets clunky, and it can't stay perfectly stable at some peculiar angle, it doesn't matter - you only care if it's up or down, and being "not close to perfect up position enough" doesn't bother you at all: as long as it's still on the same side, no information is lost.
now imagine a 10-state switch shifting its angle for some 30 degrees. that'll be much worse, because now it's probably going from one state to another, and you lose the information held in that switch in the process. 攷盐æČ™ć†° / aka irisChronomia / Talk 08:11, 7 June 2026 (UTC)Reply
Also note that many algorithms are much simpler when working with binary numbers, e.g. multiplication or addition. You have much fewer cases to consider. It may seem simpler to do in in decimal, but that is just because we are used to it. There are 9+8+7+6+5+4+2+1 ways to create an underflow when subtracting two decimal digits, with 9 different possible underflows. There is just one way (0-1) to create one when subtracting binary digits. And so on. --Stephan Schulz (talk) 22:55, 7 June 2026 (UTC)Reply
There are other practicality concerns for non-binarynot a gender noun[Humor] systems. Let's use base-10 as an example here.
Say if you want to store a bunch of Yes/No values (aka. booleans). We can dumbify our hyper-futuristic 10-state transistor into a lame, binary one, by only defining two meaningful states, such as "state 0-4 for No, and 5-9 for Yes".
We can also pay some respect to the true potential of this engineering miracle by holding 3 different Yes/No values in it simultaneously. For example, we may define state 0 to state 9 as follows:
0 NNN 4 YYN
1 YNN 5 YNY
2 NYN 6 NYY
3 NNY 7 YYY
With the state 8 and 9 left unused.
This creates another problem: in order to use the decimal transistors to its full potential, you need to do operations (read/store/compute) on booleans in batches of 3, and also have to create some complex logic for the computer to be able to treat a decimal as if it were 3 booleans fused together (and to do it efficiently). This likely has devastating implications on how computer codes are written and optimized, and the inefficiency of said computer when running unoptimized codes. I know this last sentence requires some explaining, but I struggle to formulate my thoughts on this here for now. If someone'd like to pickup for me, I'd start with the example / comparisons to Netburst and VLIW. 4:43p, edited 5:24p (+8) 攷盐æČ™ć†° / aka irisChronomia / Talk 08:43, 7 June 2026 (UTC)Reply
Related articles: decimal computer and ternary computer and perhaps unconventional computing. Matt Deres (talk) 21:25, 7 June 2026 (UTC)Reply
As explained or implied above, implementing the arithmetic operations in "decimal logic" instead of binary would use up more space and energy. But, furthermore, this would not even result in faster operation.  â€‹â€‘‑Lambiam 13:46, 8 June 2026 (UTC)Reply
Ternary would probably use a little less but it is hardly worthwhile for the bother, binary is so much simpler. If you're willing to spend some money you can get yourself an IBM mainframe which implements decimal packed and floating point arithmetic. Just what COBOL programmers want ;-) Many early machines used decimal but it has just worked out cheaper and more convenient to use binary so they won out financially. It wasn't just the arithmetic - for instance the Singer System Ten machines had decimal memory addressing as well but it was implemented by ignoring 24 lines in every 1024. NadVolum (talk) 14:35, 8 June 2026 (UTC)Reply
Engineering tradeoffs, isn't it? :)
Reminds me of the No free lunch theorem; it states that one can never gain any efficiency in one use case without losing efficiency in some others. Processor design is basically the art of identifying your chip's use cases and then... pile all the lunch onto them.
A funny thought passed my mind: running CPU codes with GPGPU and place indirect jumps all over it, then realizing this is exactly how a Raspberry Pi 4 bootstraps. 攷盐æČ™ć†° / aka irisChronomia / Talk 17:11, 8 June 2026 (UTC)Reply
Thanks, that's a clever reuse of bits of the chip! I'm quite impressed and vaguely worried about what other tricks they've used 😀NadVolum (talk) 06:56, 9 June 2026 (UTC)Reply
Working in binary internally is simpler, faster, and cheaper. Only a very few of the results of calculations made in almost all applications will ever be shown to the user anyway, making it simpler to convert the internal binary to decimal when it is needed to display the result. AndyTheGrump (talk) 23:36, 9 June 2026 (UTC)Reply
There are places in modern computer systems that do indeed use different "bases" for better efficiency in communication or storage, where an earlier version of the same technology used binary. For example, flash memory with multi-level cells that store N bits by charging the cell to one of 2^N voltage levels, or 1000BASE-T Ethernet that uses five distinct voltage levels. Adam Sampson (talk) 23:25, 9 June 2026 (UTC)Reply
I was thinking about MLCs previously when writing, and think it's a interesting example of "specific implementations that are storing binary data despite not being binary in its fundamental level". It actually feels like the decimal transistor thing, instead we're having base-16 cells for 4-bit MLCs.
I hope we can have an article or subsection on SLC-mode caches; don't know if there'd be enough stuff to cite, though. 攷盐æČ™ć†° / aka irisChronomia / Talk 23:28, 9 June 2026 (UTC)Reply
I don't see anything about visible record computers on Wikipedia. Basically systems using punch cards and drums which worked in decimal for small businesses. I think some early sci-fi films have them producing the results of queries for 'hi tech' agencies ;-) The title of this discussion is a bit wrong - Zuse machines used binary from the start but any business machines used decimal. NadVolum (talk) 06:53, 11 June 2026 (UTC)Reply

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 (p, n) 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

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

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 15

edit