Jump to content

Wikipedia:Reference desk/Computing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 5.150.92.20 (talk) at 14:05, 26 February 2017 (February 25). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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:


February 21

"Human-completeness"

A simple question but one that's very hard to answer and which probably has profound implications: can a Turing machine, or even a quantum Turing machine, simulate an arbitrary human brain exactly in finite time?

This is clearly an open question. For example, according to the article on the halting problem, we still wonder if humans can solve it. If the answer to that is yes, then computers obviously are not "human-complete".

What work has been done towards this area in (theoretical) computer science?--Jasper Deng (talk) 00:32, 21 February 2017 (UTC)[reply]

See computational theory of mind. It's widely believed that it is theoretically possible to simulate a Human brain down to the neuron level (or below), and thus that humans are no more than Turing-complete. Note that both humans and computers can solve some instances of the halting problem, just not every instance (a program without recursion or loops will e.g. always halt, and both computers and humans can figure this out). --Stephan Schulz (talk) 00:43, 21 February 2017 (UTC)[reply]
It should be noted that that model of the human brain is not universally accepted. See, for example, this article which refutes many of the assumptions about modeling the brain on computational terms. --Jayron32 14:11, 21 February 2017 (UTC)[reply]
Actually, while that paper makes some interesting points, it is very much mistaken on several aspects. We know about associative memory and distributed representations, and I'm really very surprised about the claim that anyone should think that a complex concept is stored in a single neuron. It reads more like an attack on good old-fashioned AI, but that is very much a straw man when talking about computability and arguments about physical simulation. Nobody nowadays is claiming that the brain runs symbolic algorithms, but we very much believe that we can simulate the sub-symbolic processing of the brain using an algorithm - at least in principle, if not yet in practice. --Stephan Schulz (talk) 17:57, 21 February 2017 (UTC)[reply]
The Artificial consciousness article is another interesting read on this topic.
On the more practical front, great strides are being made in Artificial neural networks, and many people hope that this may one day lead to a artificial consciousness, which makes sense, but so far I don't know that there's any experimental evidence that indicates that it's possible even on a small scale. ApLundell (talk) 21:03, 21 February 2017 (UTC)[reply]


Strange title on Red Lobster Lobsterfest email

I received a promotional e-mail from Red Lobster, but it had an incomprehensible title, as follows:

"Aud1 US genPop - dependent on winning SL"

They followed up, a couple hours later, with the same email, but with the title corrected to:

"Lobster Lover's Dream® is back at Lobsterfest®. Come live the dream."

I am curious as to what the first title might have meant. Any ideas ? StuRat (talk) 05:12, 21 February 2017 (UTC)[reply]

Most serious web/email advertisers (including Wikipedia) try different ads on different segments of the customer base. No sense bragging about how well a Subaru handles snow or climbs hills to customers in southern Florida, but Denver is another story. so "Aud1 US genPop" is likely "first auditof this ad, send to united states general population". "SL" may be a contest customers can win, it may be a contest among salesmen or between departments, or it may refer to winning a particular contract. --Guy Macon (talk) 08:04, 21 February 2017 (UTC)[reply]
Interesting. Thanks. StuRat (talk) 19:17, 21 February 2017 (UTC)[reply]
My read on the 1st part is "audience one: US general population" (the ad's target) 2606:A000:4C0C:E200:55A:7C25:5B38:2DC5 (talk) 03:50, 22 February 2017 (UTC)[reply]

Computer software equivalent to human habits

A virus is the computer equivalent of a sick person. Antivirus software is like the need to make a sick person feel better.

A firewall is like the need to prevent someone from taking away your ID card.

CCleaner is like the need to go to the bathroom.

But what about a trojan virus?? Does it have special properties?? Feel free to answer this question with other special kinds of computer software. Georgia guy (talk) 23:48, 21 February 2017 (UTC)[reply]

Actually, a firewall is more like a doorman who decides who can go into or out of a club. Antivirus software is like antiviral drugs or arguably antibiotics - although many security experts claim it is essentially snake oil. --Stephan Schulz (talk) 23:55, 21 February 2017 (UTC)[reply]
If the internet is a brothel, than a virus is a social decease. Jahoe (talk) 01:23, 22 February 2017 (UTC)[reply]
CCleaner is like burning all your paper records in a bonfire.
Sleigh (talk) 08:52, 22 February 2017 (UTC)[reply]
Okay, Let's try to organize the analogies. We'll go with the brothel one because I'm immature like that.
So your computer is a brothel. A computer virus is like a gonorrhea outbreak that puts many of the girls and boys out of commission. Antivirus software is like the local doctor; as long as he's working at the brothel regularly you generally don't have to worry about an outbreak, and if you do get an outbreak there's a very good chance he can fix it. But it's not guaranteed (Stephan Schulz is right that some experts consider antivirus to be more snake oil than anything, and the reason for that is the ease with which they can be gotten around). Now, the firewall is like a bouncer who works the front door. On his own, he can keep out anyone he's been told has gonorrhea, such as dirty Frank. However, if he works with the doctor, he can prevent anyone with a new gonorrhea infection from coming in, thus helping prevent an outbreak.
So where does CCleaner fit in? CCleaner is the on-call maid service. They come, they clean under the beds, launder the sheets, disinfect and spray, to make sure not only that any trace of gonorrhea is eliminated, but that any trace of any previous customers is eliminated. That way, new customers will never slip and fall in any... 'fluids' that may remain, they will never pick of gonnorrhea from a toilet seat and overall they can come and go without worrying about who's been there before them.
Now we get to the question. So what's a trojan in this analogy? Well, a Trojan would be any customer or potential new girl/boy who has a secret that would hurt the brothel. I understand that this is vague, but it's vague on purpose. The secret might not be an undetectable case of gonorrhea. It might be that the new girl is a spy for a rival brothel, there to convince your customers to take their business elsewhere. Or perhaps the new customer is actually an undercover police officer. Possibly, they're a hostage taker who knows they can get a lot of ransom money from the people in the brothel. The vast majority of the time, they're trying to use your establishment as cover for their own illicit dealings, so that if they get caught, the cops will bust you instead of them. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 15:00, 22 February 2017 (UTC)[reply]
I guess any infections are free to waft in and out of the brothel through its Windows, which are always open. Akld guy (talk) 19:53, 22 February 2017 (UTC)[reply]
Too true. lol ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 20:21, 22 February 2017 (UTC)[reply]

February 22

I have a query over at the Help desk that I initially thought was Wikipedia related, but might be better asked here (no satisfactory reply yet). Rather than duplicate, here is the link: Wikipedia:Help_desk#WP_links --tyia, 2606:A000:4C0C:E200:55A:7C25:5B38:2DC5 (talk) 03:56, 22 February 2017 (UTC)[reply]

Your question is indeed firefox-related. Answered you on the other page. :) Jahoe (talk) 14:06, 22 February 2017 (UTC)[reply]
As Jahoe said on the other page, this isn't cookie (or cache) related, but history related. I use Firefox myself (I have regular with an old copy of firebug installed as well as the developer's edition), and I can clear my 'visited links' from deleting the page the link is to from my history, then refreshing the page I'm viewing. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 14:38, 22 February 2017 (UTC)[reply]
In my confusion I answered on the other page. Mr. Pants is of course right in continuing here, because the question is not wikipedia related. Jahoe (talk) 15:41, 22 February 2017 (UTC)[reply]

Changing sat nav information

Does anyone now how the information in a sat nav can be changed? Not by the owner/user but by a third party. This recently happened to me, my HOME information set into my sat nav should have directed me a certain way but directed me the opposite way. The home location had been set in the sat nav from new, I had not changed it and yet when coming along a road, it directed me to turn left instead of right as it usually does. I made some texts about this odd occurrence and within 10 minutes or so it had reverted to its usual directions.Rod Fathers (talk) 17:43, 22 February 2017 (UTC)[reply]
(copied from Talk:Spoofing attack by Alcherin)

Well, the home information is generally stored on the device, and not part of the network. So most likely, you had a brief communication issue between your device and the satellites, which caused it to think it was at a different location than it actually was.
If, however, you checked the home address during this time and found that it was a different address to the one you inputted, then it was most likely a bug that caused some address stored in memory to get swapped out with your home address.
Finally, hacking of GPS systems generally only occurs when those systems are embedded into other devices, due to the difficulty of spoofing a satellite signal, vs the (very) relative ease of connecting to your phone via bluetooth, wifi or 4G and then forcing the OS to change the data coming from the satellites before it gets used by the navigation application. You can check out this article for some information about that. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 19:35, 22 February 2017 (UTC)[reply]
Was your home location changed, or did it just use a different route? LongHairedFop (talk) 19:48, 22 February 2017 (UTC)[reply]
Before answering, you should read the person's talk page. I seriously doubt it will be possible to convince him that there is any possibility that it was just a glitch. It must be a malicious hack performed by some unknown shadow agency. 209.149.113.5 (talk) 19:58, 22 February 2017 (UTC)[reply]
Regardless, this forum exists to provide answers. As long as the editor asking questions isn't being disruptive, there is no harm in providing accurate answers. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 20:09, 22 February 2017 (UTC)[reply]
While GPS spoofing is theoretically possible [1], it's very unlikely that this would be done to target an individual driver, and it wouldn't cause the symptoms you describe. (It would convince your GPS that your current location was elsewhere, Dangerous on the open seas, but you'd figure it out pretty quick when the roads you saw with your eyes didn't match the roads on the map.)
More likely you were navigating to the wrong address. Either because you typed in a common address and it guessed wrong, (For example, if you typed in "123 Main St. Springfield", it would probably take you to the closest town of that name, not necessarily the one where you happen to live.), you simply typed it in wrong, or you were relying on a preset address that somehow got reset to factory defaults. (Perhaps because of a firmware reset? Or dead battery on an older unit with volatile storage.)
Hope this helps. ApLundell (talk) 21:00, 22 February 2017 (UTC)[reply]
Oh, I forgot. Some devices (including Google Maps on your phone) take current traffic conditions into account when they plan your route. (See Google_Traffic.)
This means that if there's a traffic jam along your usual route, it will direct you along an alternate route. This sounds like what happened to you. If you sat around and waited until the traffic jam cleared up, you would be directed along your normal route as usual. ApLundell (talk) 21:03, 22 February 2017 (UTC)[reply]

Can someone make a router re-send packages?

If someone is not connected to a router, could he spoof a MAC nummer and make the router resend packages? That would be a kind of DoS attack, but on a private network. --Llaanngg (talk) 20:09, 22 February 2017 (UTC)[reply]

@Llaanngg: Surely you mean MAC number and packets, right? In that case, that's not how link-layer routing works. The notion of resending packets is done at the application layer (i.e. transmission control protocol).--Jasper Deng (talk) 20:19, 22 February 2017 (UTC)[reply]
If someone is not connected to a router, it will be very difficult to make that router do anything. (I would suggest yelling at it as the best way to go. Routers are very timid things and are easily intimidated.) For someone who is not directly connected to the router, it all depends on what they can force a machine directly connected to it to do, and what the router allows that machine to tell it to do. To be clear, Jasper is right that resending packets is not done at the network layer. Check out OSI model for an article about what is handled at what layer. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 20:26, 22 February 2017 (UTC)[reply]
I wonder whether someone physically close to the router and to the client would be able to spoof a NACK signal (and make it look as if it's coming from the client), and so make the router retransmit the packet. Would a timid router think this is the legit client telling him to send the packet again?--Llaanngg (talk) 22:42, 22 February 2017 (UTC)[reply]
@Llaanngg: This is one reason for randomization of sequence numbers.--Jasper Deng (talk) 00:38, 23 February 2017 (UTC)[reply]
And what if I capture a packet send by the client and send it again and again? What would the router do? Llaanngg (talk) 00:54, 23 February 2017 (UTC)[reply]
There's a name for this: man-in-the-middle attack. Also, you might want to read up on TCP congestion control, and note that the router will be oblivious to the whole thing as long as it is not itself the opposite endpoint of the TCP socket. Also, duplicate packets are to be simply dropped by the endpoint (they can be identified by having the same sequence number).
I sense that you don't completely understand how TCP works, so reading up on that would be a good start.--Jasper Deng (talk) 01:22, 23 February 2017 (UTC)[reply]
Is it me or is there some confusion here? The OP talks about MAC-address spoofing and a private network, so I guess he talking ethernet frames, rather than TCP packets.
Because MAC addresses are only valid within the local segment, the spoofed address would not be seen by routers outside the local network.
Not sure if this answers the question. Jahoe (talk) 15:04, 23 February 2017 (UTC)[reply]
Perhaps more clear: routers unpack the data (an IP packet) from their ethernet frame, and repack it for the next hop. Gone is your spoofed MAC address, because it's part of the frame header. The first router to do so would probably be your own internet modem/router. MAC addresses are not visible across hops or across the internet. Jahoe (talk) 15:33, 23 February 2017 (UTC)[reply]

February 23

The Jquery object

browser.window.document.element.console

Above is the traditional Js object chain. Where should the Jquery object be inserted inside this chain? (I would bet, right after document). Ben-Yeudith (talk) 15:17, 23 February 2017 (UTC)[reply]

Well, unless I'm mistaken, there is no definitive JQuery object. Rather, there's the JQuery function ($) which returns an existing object from the DOM (or from the window, I believe, though I've always accessed the window through CSS). So I don't think there's really a clear answer to this. JQuery itself is an extension of javascript, so it should be at a lower level than the element, because the <script> element contains the code. Also, I'm pretty certain there's no way to go higher than the window with JS or JQuery, so having the browser at the beginning is a little confusing. I could be wrong, however. I'm just a code monkey, not a JS or JQ guru. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 15:46, 23 February 2017 (UTC)[reply]
It's true that jQuery [sic] is a function (usually aliased to $), but it's also an object (as all functions are in JavaScript), and is a member of window (i.e. it has 'global scope', so you can call it from anywhere in your code without having to qualify it). As well as being a function it also has members, most of which are themselves functions: for example $.ajax() and its related functions such as $.get() and $.get(). There's perhaps some confusion about the things that are returned by the jQuery function, as in var myItem = $('#myId');, which are sometimes called 'jQuery objects' or 'jQuery object instances', and are things that you can perform actions on, such as $("#myId").fadeOut("slow");. (The global jQuery object doesn't have most of these 'action' functions: $.fadeOut is undefined.) AndrewWTaylor (talk) 16:18, 23 February 2017 (UTC)[reply]
but it's also an object (as all functions are in JavaScript) I didn't consider that, but you're right, of course. So yes, it would sit parallel with the document. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 16:56, 23 February 2017 (UTC)[reply]

February 24

The chip or the OS, the chicken or the egg

How can it be that an OS is compatible with so many architectures (for example, see the list of Linux supported architectures, ). Do the OS developers design it to be compatible, or do the chip manufacturers make chips that are compatible with OSs? Or, is there a standard in-between which both, chip manufacturers and OS developers, aim to?--Hofhof (talk) 15:06, 24 February 2017 (UTC)[reply]

The operating system is made compatible to the chip. Using Linux as an example, I have Linux running my computer here with a standard Intel CPU. I also have it running at home on a Sparc chip. I also had it running on the PS3. Each of those were Linux. I could run XFCE, open Chrome, and surf the web just fine. But, I cannot run the Sparc version of Linux on my Intel box. I cannot run the Intel version of Linux on my Sparc box. The OS is an abstraction of the hardware. It lets me write a program for Linux and then Linux does the dirty work to make what I wrote work on the hardware. Of course, hardware has standards that must be followed. So, they do engineer the hardware to work with the OS that works with those standards - but that is really looking at it a bit backwards. Since the beginning, the purpose of the OS is to abstract the software developer from hardware specifics. 209.149.113.5 (talk) 15:39, 24 February 2017 (UTC)[reply]
We have a Wikipedia article on the subject, called Porting. It doesn't go very deep, but it's worth reading. Jahoe (talk) 15:51, 24 February 2017 (UTC)[reply]
There are examples of chip design being customized to higher-level software, though not on the GUI level, but on the high-level-language level. See High-level language computer architecture for more about that. I happen to be the proud owner of a (barely) functional Lisp machine, so this is something I find quite interesting. The IP's answer is a good one. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 15:56, 24 February 2017 (UTC)[reply]
(ec) One of the big innovations of UNIX was that it was written (well, early-on rewritten) in C, a relatively portable language, with only very small critical parts in assembler. Thus, porting a UNIX or UNIXoid operating system (like Linux and the BSDs) to a new architecture is relatively easy. --Stephan Schulz (talk) 15:57, 24 February 2017 (UTC)[reply]
POSIX is an important article on that topic. If it is POSIX-compatible, it will run on any POSIX compatible OS, regardless of the underlying hardware ... in theory. 209.149.113.5 (talk) 17:12, 24 February 2017 (UTC)[reply]
Yes, but POSIX specifies the user-facing part of the OS. For porting, we need to port the machine-facing part. --Stephan Schulz (talk) 19:55, 24 February 2017 (UTC)[reply]
Is there a name for the standard that a machine has to meet to be able to run an OS or some other code written in C? Hofhof (talk) 01:24, 25 February 2017 (UTC)[reply]
No, it works the other way around. Specifications for hardware are released, and OSes are written to interface with the hardware according to those specifications. For instance, here are the Intel Software Developer Manuals for the x86 architecture. Some OSes are written to expect certain features of the underlying hardware, most commonly, these days, support for virtual memory and a memory management unit. For example, see the Linux kernel release notes. The whole point of high-level programming languages and operating systems is to abstract away the underlying hardware, so you can write a text editor or Web browser without having to write directly in machine language or assembler and manage all the hardware yourself. If you're interested in low-level hardware hacking, you'll probably need to read some books and/or take classes to get a firm grasp of all the concepts. We probably aren't going to be able to do a good job of teaching them all on the Ref Desk. --47.138.163.230 (talk) 03:34, 25 February 2017 (UTC)[reply]
The two can be done concurrently. The largest single contributor to the Linux kernel is now the Intel corporation, Contributing about 11% of new additions to the kernel.[2] (Runners up : Red Hat, Linaro, Samsung) I can't find an easy breakdown of those contributions, but it's safe to say that a large part of them are to better support Intel chipsets. ApLundell (talk) 16:05, 24 February 2017 (UTC)[reply]
(Incidentally, that document also debunks the myth that the Linux kernel is maintained by hobbyists. Only 16.4% of contributions were sponsored by "none" or "unknown". ApLundell (talk) 16:08, 24 February 2017 (UTC))[reply]
Statistics, harrummphh. The correct statistic would be, what percentage of content has been attributed to "none" or "unknown". Akld guy (talk) 19:59, 24 February 2017 (UTC)[reply]

Another aspect of this is the fact that when Intel plans a new CPU, one of the early steps before they make any actual chips is to use a supercomputer to (slowly) emulate a PC using the new CPU and have it boot to the BIOS screen. Then they see if it boots MS-DOS, followed by Linux, then Windows. IIRC, we are talking about boot times measured in months. And of course before a new version of Linux or Windows comes out it obviously gets tested on multiple CPUs. --Guy Macon (talk) 03:29, 25 February 2017 (UTC)[reply]

There's not an all-encompassing standard, nor is one needed, but there are tons of little standards that apply to the relevant bits. If the temperature reporting is done by the LM75 chip, say, then the kernel will have code to talk to that chip and to the bus controller chip it hangs on. The hardware interfaces of those chips are then the "standard." Asmrulz (talk) 17:30, 25 February 2017 (UTC)[reply]

As in all human endeavors, yes they do try to meet one another halfway. CPU manufacturers maintain some degree of backwards compatibility (you can run XP on a Pentium II, III and 4, after all) and OSes on their part are written with portability in mind (some more than others.) Ideally, porting an OS to a some new architecture would involve hardly more than making a C compiler for it (or rather retargetting an existing compiler to support it) and rewriting the few machine-dependent bits in assembly. Asmrulz (talk) 17:30, 25 February 2017 (UTC)[reply]

Portable also means configurable, for example you likely won't find a 8253 timer chip (or its emulation) in a non-Intel architecture. It's an ecosystem. The build process needs to be flexible enough to cover the ways in which one architecture is different from another apart from the machine language (which is taken care of by the compiler.) Asmrulz (talk) 17:48, 25 February 2017 (UTC)[reply]

February 26

Remote Desktop over Ethernet Cable

I have a computer running Windows Vista, and one running Mac OS Yosemite. I want to use Remote Desktop to connect to the Windows computer from the Mac. The Windows computer has no need to access the Internet, so I'd like to just connect the two computers with an Ethernet cable, but I'm not sure how to go about setting up the connection (I seem to remember that there used to be a way to set up a Point-to-Point connection, but Windows isn't offering me that option now.) Google has lots of advice on setting up file sharing, but I need this to work with Remote Desktop. OldTimeNESter (talk) 00:16, 26 February 2017 (UTC)[reply]

You just connect the two computers and use manual configuration to set up the network connection (i.e., assign IP addresses). If the Vista computer is older there's a small chance you'll need a crossover cable or adapter in case its Ethernet adapter doesn't support autonegotiation (most manufactured after the early 2000s do). But are you going to also disconnect the Mac from the Internet, or does it have multiple Ethernet ports? Otherwise you'll need an Ethernet switch, and then you just plug everything into the switch and you have yourself a LAN. --47.138.163.230 (talk) 05:53, 26 February 2017 (UTC)[reply]
Note that the last option, using an Ethernet switch, will not isolate the Windows computer from the internet. Jahoe (talk) 13:04, 26 February 2017 (UTC)[reply]

Personally disabling Wikipedia's custom media player

Is there a way of blocking the TimedTextHandler script from loading? I don't like its custom media player at all. It's been five years since its introduction, and I'm fed up with looking at its terrible interface. —suzukaze (tc) 05:06, 26 February 2017 (UTC)[reply]

ICANN

What are the effects of ICANN shifting to international control? Benjamin (talk) 10:05, 26 February 2017 (UTC)[reply]