Wikipedia:Reference desk/Computing

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Wikipedia Reference Desk covering the topic of computing.

Welcome to the computing reference desk.
Want a faster answer?

Main page: Help searching Wikipedia

How can I get my question answered?

  • Provide a short header that gives the general topic of the question.
  • Type '~~~~' (that is, four tilde characters) at the end – this signs and dates your contribution so we know who wrote what and when.
  • Post your question to only one desk.
  • Don't post personal contact information – it will be removed. We'll answer here within a few days.
  • 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.

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:
Help desk
Village pump
Help manual

July 25[edit]

Microsoft after 2025[edit]

Starting a year ago, everything is Windows 10; there never will be any newer version of Windows. However, as early as late 2025, Windows 10 will become obsolete, according to the article Windows 10. What Microsoft software will be available for 2026?? This question's answer should be known by this time next year. Georgia guy (talk) 21:55, 25 July 2016 (UTC)

Those dates apply only to "Windows 10, released in July 2015", i.e., if you never install newer versions like the upcoming Anniversary Update. I edited the article to make that clearer. -- BenRG (talk) 05:37, 26 July 2016 (UTC)
The edit was reverted. In any case, all they've done here is contractually commit to supporting Windows 10 until 2025. With past OS releases, they've always extended those dates later, often conditioned on installing service packs. For example, the original Windows 7 no longer gets security patches (since 2013), but with SP1 (which is a free upgrade) it's supported until 2020. Windows 8 no longer gets patched but Windows 8.1 does. With Windows 10 they've changed the naming again, but presumably the pattern will be the same: "released on such-and-such date" means "service pack N". I wouldn't bet that they'll be supporting Windows 10 SP50 in 2100, but that's their plan at the moment. -- BenRG (talk) 18:19, 27 July 2016 (UTC)
If the answer will be known next year, how could we know it now? 2606:A000:4C0C:E200:807B:66FA:B5EC:A602 (talk) 01:55, 26 July 2016 (UTC)
What is the statement that "there never will be any newer version of Windows" based on ? If we accept that as true, there are at least 2 ways to interpret it:
1) They will just call new versions Windows 10.x, like they did with Windows 3.x for quite a while.
2) Microsoft may plan on leaving the PC operating system market entirely, considering mobile devices to be the future. They may have different names in mind for the O/S's on those. StuRat (talk) 02:06, 26 July 2016 (UTC)
Or 3) they will stop using the discrete version model of releasing software in favor of the software as a service model See [ ] For those using it, quick, without checking, what version of the Google chrome web browser are you running? --Guy Macon (talk) 06:38, 26 July 2016 (UTC)

July 27[edit]

Some C# help needed[edit]

Hi guys! Could somebody help out with C#? If I have regex pattern ([^\.])<ref>.*?<\/ref> (Lorem|Foo)? bar and string "Foo<ref>Foo</ref> Foo bar", how to change to lowercase only the second match (in this case - the "Foo", that comes after ref)? If I would need to lowercase everything, I would use something like (tested with other string, so this one may contain some small bugs, but you got the idea):

	string text = @"Foo<ref>Foo</ref> Foo bar";
	string pattern = @"([^\.])<ref>.*?<\/ref> (Lorem|Foo)? bar";
	text = Regex.Replace(text, pattern, delegate(Match match)
	    string v = match.ToString();
	    return v.ToLower();

Note, that this is for AWB module, so it might not look very C#-ish. --Edgars2007 (talk/contribs) 09:16, 27 July 2016 (UTC)

Maybe Trappist the monk could take a look - you have also worked with AWB modules. --Edgars2007 (talk/contribs) 11:28, 28 July 2016 (UTC)
Try this:
	string text = @"Foo<ref>Foo</ref> Foo bar";
	string pattern = @"([^\.])<ref>.*?<\/ref> (Lorem|Foo)? bar";
	text = Regex.Replace(text, pattern, delegate(Match match)
	    return match.Groups[2].Value.ToLower();	// second capture to lower case
Not tested, but I've used this construct before.
Trappist the monk (talk) 11:55, 28 July 2016 (UTC)
@Trappist the monk: it kind of works. String after this becomes "Fofoo". Yes, that is what I was expecting to see after running this code, but not what I wanted to get ("Foo<ref>Foo</ref> foo bar"). --Edgars2007 (talk/contribs) 12:44, 28 July 2016 (UTC)
Perhaps this then:
	string text = @"Foo<ref>Foo</ref> Foo bar";
	string pattern = @"([^\.]<ref>.*?<\/ref> )(Lorem|Foo)?( bar)";	// captures modified
	text = Regex.Replace(text, pattern, delegate(Match match)
	    return match.Groups[1].Value + match.Groups[2].Value.ToLower() + match.Groups[3].Value;	// second capture to lower case
Again, not tested. Regex.Replace replaces all of text with whatever you return from the delegate(), right? If you want to keep bits of text then you need to capture them, modify the captures to suit, reassemble, and return the result. match.Groups[0] is the raw match; match.Groups[1] is the first capture, etc.
Trappist the monk (talk) 13:24, 28 July 2016 (UTC)
@Trappist the monk: I thought, that there will be easier solution, but this one works, so thank you! --Edgars2007 (talk/contribs) 17:35, 28 July 2016 (UTC)

xwp file[edit]

How do I install a .xwp file? Can someone help me please? I collected some clock gadgets a while back from this website. After downloading and opening the WinRar folder, I found a .xwp file - if I re-extract this .xwp file, I find a Widget folder which consisting all the bits. Problem is I still don't know how to install... -- Apostle (talk) 18:12, 27 July 2016 (UTC)

Your link goes to Google Images and doesn't open any particular image for me. You need to link to the actual web site, not Google Images.
After 60 seconds of research (googling "xwp gadget") I found XWidget which seems to use .xwp files, so maybe that's what you need. I know nothing about it, though. -- BenRG (talk) 23:27, 28 July 2016 (UTC)

July 28[edit]

Computer can't detect other computers on network when conected on wireless router.[edit]

I have a network here and the network was just wired, the internet modem was connected to a switch where the computer put their wires on.
We decided to include wireless and we plugged a wireless router on the switch.
The problem is: If you join the network by wireless conection or by plugging your network cord on the wireless router, this specific computer will just be able to see others computers plugged on the same router (by wireless or not), if I want to look at the others computers at the same network, i must do it by ip.
PS: Internet works fine no matter if I plug on the wireless router or switcher.
What can be the problem here? (talk) 13:21, 28 July 2016 (UTC)

  • It probably does not matter here, but next time you have an IT-related question, try to be more specific. What are the router's specifications? What operating systems do the computers use? How many of them are located on which point of the network? What does it mean to "see" other computers?
You are putting routers in series and trying to set up a local area network where every router can see everything. That is a hard thing to do because the default router configs are probably to have two modes, (1) internet access, (2) scan all other ports of the router. This means that if you are connected to router W (Wifi), itself plugged in router M (modem), you need to tell W to ask M if they have someone plugged in.
This is probably not in the standard configuration. Maybe you expected routers to be just "cable splitters", but it is a bit more complex (they need to keep track of which packet goes where when multiple computers connect on the internet, for instance).
On the other hand, depending on what you really want, there are multiple possible solutions, by increasing order of difficulty and decreasing order of convenience:
  • Plug all the computers that need to communicate on a single router (duh), either W or M.
  • Use the IP connection. It should not be much slower, as the access point just behind M (or even M itself) will just loop back the request to the correct place. If you know how to do it, perform a traceroute to know which it is - it may matter, because the access point may charge for data (I am not sure about a loopback though).
  • Set up port forwarding (or rather "adress-forwarding") telling M that some traffic coming from W ought to be redirected to other plugged-in computers. This requires more network knowledge than I am capable of, but maybe someone knows some pre-packaged software for that? TigraanClick here to contact me 17:54, 28 July 2016 (UTC)

Win 10 Upgrade & Win 7 updates[edit]

Before upgrading my laptop operating system (Win7 Home Premium) to Windows 10, is it necessary to have all other Win7 updates installed? As an aside, the free upgrade end date is 29 July in the US (which I didn't realise) as according to the countdown here, there is still about 33 hours and some minutes to go. 220 of Borg 14:47, 28 July 2016 (UTC)

As I understand, not. Ruslik_Zero 20:59, 28 July 2016 (UTC)
You MUST have Service Pack SP1 installed.[1] If you've at all times kept up to date, it will already be present. Akld guy (talk) 21:48, 28 July 2016 (UTC)
More queries:Thanks for info guys. Yes Akld guy I do have SP1 installed.
• I was thinking of creating another set of restore DVDs before the free Win' 10 upgrade (or maybe a USB this time), then I realised what I really needed was a HDD disk image. Any good free downloadable software anyone could suggest?
• Does the upgrade 'preserve' all programs like games etc, or do these need to be (shudder) re-installed after the Win' 10 upgrade? (≈32 hours to go!) --220 of Borg 01:45, 29 July 2016 (UTC)
@220 of Borg: Last year, I did the upgrade on two Win7 laptops. The first went smoothly and from memory (and without starting the laptop to confirm), all non-essential stuff was moved into a new folder, C:\Windows.old. The second went smoothly but the sound driver was incompatible with 10 and no upgrade of the driver was available, so I reverted that laptop to 7. There are sites online that will tell you how to do that. I later tried twice to install new sound drivers and did the upgrade to 10 both times, but neither solution worked and I was forced to revert to 7 both times. It's very easy to revert, and even after the 3 reverts no trace of 10 remains. It's just a click and wait and reboot, so you can have confidence that it's all reversable. Akld guy (talk) 04:05, 29 July 2016 (UTC)
Thanks Akld guy for the feedback & your personal experience (even without references Face-wink.svg).
• Did you just do the update via the 'standard method' the 'GWX' Win'10 upgrade 'box', as I was thinking of going the 'media creation tool' ISO download route.[2] If the former, how long did the download take, if you can recall.
• I mean, it is 'just' a big update isn't it? Not like a whole new operating system? (≈28 hours to go!) -220 of Borg 05:34, 29 July 2016 (UTC)
Just to add that you only have 31 days to revert the Windows 10 "upgrade".[3] After Microsoft forced the upgrade on me I didn't find this out until it was too late. I and a lot of other people have had constant trouble with it. And yes, some games such as FreeCell that come with Win 7 will disappear as they are not compatible, but you can probably find compatible versions and download them.--Shantavira|feed me 07:07, 29 July 2016 (UTC)
I did it via the GWX offer. I can't remember how long it took. Akld guy (talk) 08:36, 29 July 2016 (UTC)
Ok thanks. Akld guy. Shantavira, it sounds like you got the upgrade without meaning to? I hear that the 'close window' X turned into a 'download now' button at one stage? And what sort of problems has it caused? (≈22.5 hours to go!)- 220 of Borg 11:25, 29 July 2016 (UTC)
The problems seem to vary from one PC to another. Ever since the "upgrade" my printer only works sporadically (and yes the driver is up to date). When it stops I have to restart the PC to get it going again. And every time I restart all my desktop icons have disappeared and I have to right click the desktop to get them back. Also I get constant alerts about low battery in my keyboard, which it is not. I have tried multiple solutions to no avail.--Shantavira|feed me 06:45, 30 July 2016 (UTC)
Shantavira thanks for that info, my laptop is getting on (`5 years old!) so I have concerns. Don't have a printer right now though. Fingers crossed..--220 of Borg 15:22, 30 July 2016 (UTC)

Download 'follies'[edit]

Symbol opinion vote.svg- WT$! Despite what the countdown timer on the Microsoft site says, I clicked on the GWX icon on my laptop and now it says "Sorry, the free upgrade offer has ended" Note, I am in Australia so UTC+10. I am pissed off now! False 'advertising'?--220 of Borg 19:13, 29 July 2016 (UTC)

That website [4] seems to 'cue' off your PC local clock setting. I have now set my PC clock back a day, and, the GWX box now says I have about 18 hours, 40 minutes and the website says 1 day, 14 hours, 40 minutes. Wonder if it will download? 220 of Borg 19:22, 29 July 2016 (UTC)
One interesting factoid I found out, after the 'deadline' passed was that it was based on 29 July Hawaiian time, UTC-10, here on east coast Oztralia its UTC+10.
"All upgrades must have completed and reached the "Welcome" screen by 11:59 PM UTC-10 (Hawaii) on July 29; this is one worldwide point in time" [5] (third point on page)
I am, via the Microsoft 'media creation tool', downloading the upgrade now to a USB stick. Downloading rather slowly, it was only at 30 % after 2.5 hours!
I had an online whinge chat with a Microsoft support person and he said "Yeah you go ahead and install the windows 10 and can also activate it no issue". Hmmm, :-/
There is also this and upgrade for customers who use assistive technologies which may help anyone who has missed the 'deadline'. --220 of Borg 15:22, 30 July 2016 (UTC)
@Ruslik0, Akld guy, and Shantavira: Well, after about 6 hours the download finally finished, but it's now saying I need a product key. Face-confused.svg (Which I presume I'd have to pay for. Not happy. Face-sad.svgFace-angry red.png) This was not mentioned in 20 minutes of on-line chat with Microsoft 'support'. "... activate it no issue." they said, sure, if I pay apparently! Sigh! Having just used up a quarter of my monthly download, I don't want to have to download it again via the 'assistive technologies' route. At least I got a reference number for the chat and can follow this up, again. :-/ </rant>- 220 of Borg 20:08, 30 July 2016 (UTC)

XPATH query[edit]

I have an XML file (produced by a third-party application, so I can't change the format), which is as follows:

    ... etc

In other words, the only thing determining which source goes with which destination is the order the elements appear in the document. What I'm doing at the moment is:

IXMLDOMNodeList ndlSources = docFiles.getNodeList("CopyFiles/SourceFile");
IXMLDOMNodeList ndlDests = docFiles.getNodeList("CopyFiles/DestFile");
foreach (IXMLDOMElement eltSource in ndlSources)
   IXMLDOMElement eltDest = ndlDests.nextNode;
   String SourceFile = eltSource.text;
   String DestFile = eltDest.text;

and hoping that the two lists stay in synch, despite the tendency of Certain Users to fiddle about with things despite being told not to. What I'd like to do is set the XPATH query so that it only returns SourceFile elements that are followed by a DestFile element - ideally, one that would return SourceFile/DestFile pairs, but if I can at least ensure that both node lists are the same length, and any unmatched elements are omitted, the system will be a great deal more robust. I suspect the answer will involve "following-sibling", but I'm not knowledgeable enough to actually construct the query. Any suggestions? Tevildo (talk) 21:45, 28 July 2016 (UTC)

July 29[edit]

Reduction proof for halting problem[edit]

Dear Wikipedians:

Just wondering if there is an approach to proving the halting problem by reducing it to the problem of counting real numbers. To the effect that if the halting problem can be solved, then we could use the resulting algorithm to count reals, which is known to be impossible by Cantor's diagnoalization arguments.

I know that the original proof of the halting problem itself uses diagnoalization. I thought that if we can reduce the halting problem to counting reals, then it would illustrate, in a very graphical way, why the halting problem is impossible to solve, since those of us who have even a little instruction in mathematics intuitively knows how impossible counting real numbers can be.

Thanks, (talk) 12:05, 29 July 2016 (UTC)

  • What is your question, exactly?
The halting problem is to find an algorithm that takes as inputs a program and its input and determines whether it will eventually stop running when executed. If you can prove that such an algorithm can be modified to "count reals", i.e. make it into something that computes some bijective function , then yes, you proved that the halting problem cannot be solved (because there is no such ). But the hard part is obviously to find how to do such a modification. TigraanClick here to contact me 13:56, 29 July 2016 (UTC)
Cantor's and Turing's diagonalization proofs are almost identical in structure. I'm not sure that you can reduce Turing's problem to Cantor's, though, because of a technicality: the "output" of Cantor's proof is just that any list of reals omits some real; it doesn't tell you which real that is (even though it constructs one). In contrast, Turing's proof needs the fact that a specific machine (the one that halts just on non-halting inputs) is missing from the list.
But you certainly could illustrate Turing's proof graphically, as Cantor's often is. The vertical axis of the grid would be an enumeration of Turing machines, the horizontal axis would be an enumeration of possible inputs, and each grid entry would be 1 if that machine halts on that input and 0 if not (for example). -- BenRG (talk) 22:24, 29 July 2016 (UTC)
I am the OP. Thanks for the explanation. I understand now: just because both proofs employ diagonalization and are almost identical in structure does not mean one can be reduced to the other. One has to do with method, the other has to do with nature of the problem. (talk) 19:25, 30 July 2016 (UTC)

56,098,816 = 219 · 107[edit]

The above number represents the maximum size, in pixels, of the largest displayable image-file on Mozilla Firefox. Though this fact can be easily verified, I haven't been able to find a reference to this specific value anywhere. Should it nonetheless be included on Wikipedia ? — (talk) 16:08, 29 July 2016 (UTC)

Please see Wikipedia:No original research.--Mrs Wibble-Wobble (talk) 16:33, 29 July 2016 (UTC)
According to my own original research, Firefox 47.0.1 on Windows 7 can display a 5267×10651 JPEG image (which is 56,098,817 pixels). -- BenRG (talk) 23:09, 29 July 2016 (UTC)
Yes, it can, but —oddly enough— it cannot display its ″twin″, of 10651×5267 pixels, nor can it display any higher dimension, regardless of how the picture is rotated (i.e., portrait or landscape). — (talk) 16:46, 30 July 2016 (UTC)
The reason this is not as simple as it seems at first glance is that the Firefox architecture is very complex. Is the symptom you see a bug (or feature) in Firefox? Is it in the Gecko layout engine? Is it in one of the Gecko compositing layers or software libraries (whose sparse and antique documentation leaves much to be desired)? Is the limitation in a platform-specific image rendering library that is dynamically linked (and therefore not strictly part of Firefox)? Modern software is really complicated and it is very plausible that underlying bug is not actually (solely) due to the image-size, as measured in units of pixels. Only a skilled software engineer who is deeply familiar with Firefox and its rendering engine can tell for sure.
So if you don't know all these details, and don't have the expertise to find out by yourself, then before jumping to any conclusions, you should file a well-written bug report at the Mozilla bug reporting website. It will help if you provide as much detail as possible. What operating system? Which file - and can you upload it to your bug report? What errors are logged in Firefox Console?
Tragically, a majority of the "how-to-write-good-bug-reports-for-Firefox" documentation has been literally moved to the landfill at Mozilla. If I may inject a bit of nihilistic cynicism about your prospects for getting a fix, this server-name is a metaphorical statement from the organizers at Mozilla: there are no more real developers who still volunteer their time to improve Mozilla's products ... and your bug report will go right over to the landfill server, where it will be counted and never fixed. Perhaps it is time to choose a new browser?
Nimur (talk) 18:20, 30 July 2016 (UTC)
Uhm,... this wasn't the purpose of this post. It is already well-known that Mozilla Firefox cannot display ″extremely large″ images, so there is no actual need for reporting it, since it is hardly a new discovery, but the exact size in pixels was actually never given. I don't even recall seeing a rough approximation, such as 50, 53, or 53.5 megapixel. — (talk) 20:00, 30 July 2016 (UTC)

VOIP provider with wifi/3G handover[edit]

Is there a VOIP app for Android with automatic 3G/wifi handover?

The walls in my house block the mobile signal, and the wifi. I have to go outside to talk on my mobile. I have two wifi routers with a Powerline, and even then the signal is patchy. VOIP works on the wifi, but I have to stay in the same place. If I walk across the house during a Skype call, it disconnects because it has to switch wifi networks.

The only thing that works is Whatsapp. It has automatic handover between 3G wifi, so the call continues even if it has to switch connection. Is there an app like Skype which does this and lets me call other numbers? I'm in the UK. I have a good broadband connection. --2A02:C7D:42AB:3800:D867:E3A0:3935:BB56 (talk) 16:50, 29 July 2016 (UTC)

Need SQL Server[edit]

Hi there,

I had a well oiled Windows 7 workstation with SQL Server on it. I got it as a part of MSDN network membership perhaps 10 years or so ago. It must have been SQL Server 2005. Then My workstation crashed. I purchased a Windows 7 OS and installed it. As part of the installation some folders with SQL Server appeared in the directory. I tried to connect it with my database which is external and it failed. My understanding is that I need still install the SQL Server. My needs are small and I definitely do not want to purchase the latest edition. My MSDN membership is gone now. So, I am looking for a free ride.

I know that SQL Server Express has always been free but how about SQL Server 2005, the old edition. Is it free now? It would be ideal for me to install that. I wonder if any good suggestions may be provided to help me to install a database. Thanks, --AboutFace 22 (talk) 17:55, 29 July 2016 (UTC)

Microsoft SQL Server Express --Hans Haase (有问题吗) 21:55, 29 July 2016 (UTC)

July 30[edit]

Precomputing sums[edit]

I have two sorted lists of numbers, A and B, of different sizes. Given a query number y from A, I want to compute the sum of numbers from B that are less than or equal to y. What's the fastest way to precompute this for all x in A? I can do it by iterating over both lists (Python):

result = {}

for y in A:
    result[y] = 0

for x in B:
    for y in A:
        if x <= y:
            result[y] += x

but I feel like there's a better way than O(n^2). (talk) 00:17, 30 July 2016 (UTC)

I don't know Python but here is quick untested pseudocode:
y = first(A)
sum = 0

for x in B
  if x <= y
    sum += x
  else {
    result[y] = sum
    if A has ended
      exit loop
      y = next(A)

for each remaining y in A
  result[y] = sum
PrimeHunter (talk) 01:01, 30 July 2016 (UTC)
Well, it had the right idea but may need work on the details. Below is another try. PrimeHunter (talk) 01:59, 30 July 2016 (UTC)
y = first(A)
sum = 0

for x in B
  while x > y {
    result[y] = sum
    y = next(A)
  sum += x

for each remaining y in A
  result[y] = sum
Thank you, I believe that works perfectly. (talk) 02:04, 30 July 2016 (UTC)

Can a router log MACs or even wrong passwords of clients trying to connect to it without success?[edit]

Can a router log MACs or even wrong passwords of devices trying to connect to it without success?Hofhof (talk) 13:22, 30 July 2016 (UTC)

No, but it can log estabishing sessions by time. iptables can lock hosts from brute-force attacks from a single host. --Hans Haase (有问题吗) 18:08, 30 July 2016 (UTC)
Hans, I know that a logbook can log sessions. I just wonder whether routers could log everything else. And if not, why. Alternatively, could a computer being used as a router offer this possibility? Hofhof (talk) 18:13, 30 July 2016 (UTC)
  • (edit conflict) You can easily log the claimed MAC, but the device can lie about that (see e.g. [6]); it would not be wise to lock out users based on the MAC address, because a clever attacker will simply wait and see which MAC addresses are in genuine use and claim to originate from these addresses. As for the password, the short answer is "no", if we are talking about a Wi-fi router configured with Wi-Fi_Protected_Access.
The protocol was designed so that neither the client nor the access point has to disclose the password yet prove they possess it. It is obvious why the client should prove it knows it; on the AP side, the intent is to avoid an "evil twin" advertising itself as the AP to recover the password. The result is that (in theory) neither of the two can access a password, even a wrong one.
In practice, there are two ways to connect to a WPA router. One is through a four-way handshake, during which the AP sends a random string ("nonce") to the client and demands that the client encrypts it with the password. If the password is reasonably long/good enough, one cannot recover an unknown password from the result that the client sends.
The other way is to use WPS, which has a well-known vulnerability. It is mostly known for allowing brute-forcing of the PIN by the client (under some assumptions), but it also allows the AP to recover the first half of the entered PIN (and the second half after another try). The following is not too technical and explains the thing well: [7].
So, if we are talking about PIN-connections, the AP can store the first half of the PIN assuming a bit of calculations (bruteforcing in a search space of 10,000). TigraanClick here to contact me 18:21, 30 July 2016 (UTC)
So, and back then when WEP was the norm, could an evil twin just pretend to be the AP and capture passwords?
BTW, I think the WPS search space is 11,000. That is, 0000-9999 + 000-999 (one digit is just a control digit).Llaanngg (talk) 18:34, 30 July 2016 (UTC)