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.
Choose a topic:
Computing desk
See also:
Help desk
Village pump
Help manual

January 14[edit]

Intel 80186 manufacturing[edit]

Our article on the Intel 80186 says that production of this chip began in 1982 and continued until 2007. Aside from replacements of older hardware (especially for the embedded system for which the 186 was largely used), what, if any, market would there have been for the 186 by this time? I can't imagine a reason to do anything except replace old parts (and even then, why use a quarter-century-old design when you can upgrade to something much newer and better supported; museum/archival needs would be a tiny fringe of the market) with such an old chip design. Nyttend (talk) 01:15, 14 January 2017 (UTC)

Lots of military hardware used the MQ80186-6/B, and had very long production runs. If an embedded system does the job you designed it to do, why redesign with a "newer and better" chip. Also few of the more modern chips come in ceramic and glass packages. --Guy Macon (talk) 03:47, 14 January 2017 (UTC)
Which also explains why space-faring devices are powered by a chip found in 3 generation old products. Clubjustin Talkosphere 05:49, 14 January 2017 (UTC)
Displaying my ignorance here — if you put in the newer and better chip, even one with a ceramic and glass package AND one that fits with the connections (the screws, or whatever attach it to the rest of the board, will keep it from falling off), would that require retooling a bunch of the other hardware? I was imagining that the newer and better chip (at least a later generation of an Intel chip in this line), as long as it could be attached to the board securely, would be compatible. Nyttend (talk) 12:23, 14 January 2017 (UTC)
[ec] Nyttend. there are newer, faster drop in replacements for some chips. One example is the Dallas/Maxim DS89C420 which drops in to a standard 8051 socket and runs the existing 8051 software, but twelve times faster with the original clock crystal and fifty times faster with a crystal change.[1][2]
The 80C186EA is a newer, faster drop in replacement for the 80C186. [3] --Guy Macon (talk) 16:51, 14 January 2017 (UTC)
No, that's very much not the case. You could, of course, make a "better" 80186 now - you could probably even get a Raspberry Pi running software to emulate an 80186 in real time. But real newer chips use newer designs, and they are not usually fully compatible. There usually is some backwards compatibility engineered into newer chips, but that is not holding up over 30 years. You e.g. need different firmware for low-level interaction even if user programs and most of the OS can remain unchanged. You also need different voltages. The 80186 ran on 5V system power. I have a harder time reading the i7 data sheet, but it looks like the maximum supported voltage is 1.6V [4]. --Stephan Schulz (talk) 12:55, 14 January 2017 (UTC)
This thread is a very good demonstration of why I use software and hardware without attempting to modify either one of them...Thanks! Nyttend (talk) 13:00, 14 January 2017 (UTC)
Yes, an enormous amount of "legacy" hardware and software is in everyday active use. The world's financial systems run largely on decades-old COBOL software running on z/OS, which maintains backwards compatibility back to the 1960s. (The software is generally maintained and updated as necessary, but it isn't rewritten from scratch.) U.S. nuclear power plants are run by PDP-11s. CNC and SCADA systems running MS-DOS or other old software are everywhere. -- (talk) 13:52, 14 January 2017 (UTC)
Chips aren'tn screwed onto a board, but soldered with their connection pins. A newer chip is not compatible, unless it has exactly the same functionality and pin layout. Using a newer and "better" chip means redesign of the entire system: specifications, peripheral electronics, system board, software, etc. And then testing all of it. The cost would be huge. If the old chip is still available and it does the job, there would be no reason to go through this all. That's precisely the reason why some popular chips are kept in production for such a long time (and often at low cost). Hope this explains a bit. :-) Jahoe (talk) 13:17, 14 January 2017 (UTC)
Parts obsolescence can be a huge problem. The manufacturer always claims that the "new and improved version" is also a "drop-in replacement". The problem is that it can be arbitrarily difficult to prove that the drop-in replacement actually meets all your requirements, including the requirements you forgot to document, or didn't even realize you were depending on.
The other big problem is testing. The longer a system has been running, the more likely it is that over the years, you fixed a bug or added a feature but forgot to write it down, and forgot to add a test for it to your list of test cases. So for a big, complicated, old system, testing it thoroughly (to make sure it does everything it's expected to, even after making some significant change like swapping out the CPU for a "new and improved" one) isn't just timeconsuming and expensive, it can be downright impossible. —Steve Summit (talk) 14:18, 14 January 2017 (UTC)
I see mention of space and military hardware above. I assume this has something to do with a relative vulnerability of high-resolution circuits to radiation, though I don't pretend to know the details. Wnt (talk) 13:57, 15 January 2017 (UTC)
We have an article on that: Radiation hardening. --Guy Macon (talk) 19:55, 15 January 2017 (UTC)
Thanks --- looks like my guess was totally off base, because they talk entirely about specially made radiation-hardened chips, using e.g. different substrates, redundancy, counters, etc. Wnt (talk) 22:12, 16 January 2017 (UTC)

January 15[edit]

Modular arithmetic with limited integer range[edit]

Let's say I'm using a programming language where integers range from to (inclusive) (for example, -2^31 to 2^31 - 1), and , , etc. What algorithm can I use to compute modulo , where ? Obviously the result will be expressible within the range of integers. Assume I don't have access to any larger integer type and values can't be promoted to a larger type at any point of the algorithm. (talk) 21:06, 15 January 2017 (UTC)

Why do you have 1 as a lower limit instead of 0? Anyway (a mod m)+(b mod m) mod m will do the job. Or for 2^31-1 as the upper limit one could use unsigned arithmetic with a range 0..2^32-1 for the add and modulo in (a+b) mod m. Dmcq (talk) 00:07, 16 January 2017 (UTC)
(a mod m)+(b mod m) could still be larger than 2^32-1. (talk) 01:11, 16 January 2017 (UTC)
I assume that when you say "etc." you mean that if a calculation overflows then is added or subtracted to/from the result, the common behavior on 2's complement computers. In that case, if (a mod m)+(b mod m) cannot be represented, it will come out as a negative number. So just test if it is negative, and in that case, subtract m. This will underflow and you'll get the correct positive numebr. -- (talk) 07:52, 16 January 2017 (UTC)
This is fine in, say, Java or machine language, but it won't work in C or C++, where signed addition is not defined to wrap around (and often won't, even on two's-complement machines, because of optimizations). -- BenRG (talk) 20:23, 17 January 2017 (UTC)
If a and b are positive and less than 231 then their sum is less than 232, so unsigned(a mod m) + unsigned(b mod m) won't overflow. Even unsigned(a)+unsigned(b) won't overflow. -- BenRG (talk) 20:23, 17 January 2017 (UTC)

Quote from Zeller's congruence: "The formulas rely on the mathematician's definition of modulo division, which means that −2 mod 7 is equal to positive 5. Unfortunately, the way most computer languages implement the remainder function, −2 mod 7 returns a result of −2". I once had to field-service 10,000 time lapse video recorders because the programmer used the wrong Modulo, causing them all to crash hard on a particular date. --Guy Macon (talk) 15:24, 16 January 2017 (UTC)

However, since we were told we were being given positive numbers, that won't be an issue this time. -- (talk) 19:13, 16 January 2017 (UTC)
Not an expert, but I'm thinking you can arithmetic shift right each number, saving the first remainder R1, then saving R2 = that AND the second, then replacing R1 = R1 XOR with the second. (Hmmm, need to be very careful about that operation with negative numbers; not sure if this was right for them) Add the shifted numbers, getting 0.5a + 0.5b. If m is even, take (0.5a + 0.5b) mod 0.5m. Now do a arithmetic shift left to double this and put R1 back into the result. Add R2. You should not get an overflow, which only happens if you're taking FFFF + FFFF mod FFFF I think, and that's odd. For odd... well, that's the sticky part, isn't it? Maybe take (0.5a + 0.5b) mod (0.5m+0.5), which is 0.5 too low per m, plus (0.5a + 0.5b) div m, then do comparisons to bring it up or down by a single 0.5m unit, suitably adjusting the remainder? I'd have to write the program to find the bugs in that though! Wnt (talk) 15:09, 17 January 2017 (UTC)

January 16[edit]

January 17[edit]


I'm planning on to buy wired ergonomic keyboard. What is currently available, satisfying customers. (talk) 19:58, 17 January 2017 (UTC)

This is probably a question better suited to a computer forum, rather than the compute reference desk. If you want some references, engagenet tomsguide and the wirecutter are just a few popular computer websites that have articles on the topic of ergonomic keyboards. Vespine (talk) 23:23, 17 January 2017 (UTC)

1) There is a 'business' version, I don't understand, how many versions are there and what is the difference?

2) I thought of a) MICROSOFT NATURAL ERGONOMIC KEYBOARD 4000, b) Microsoft Sculpt Ergonomic Desktop, c) Surface Ergonomic Keyboard, what are Wikipedians experiences? (talk) 07:56, 18 January 2017 (UTC)

I have intermittent carpal pain, and am quite pleased with Microsoft Natural keyboards. That's not to say it's right for you. What problem do you mean to ameliorate with an ergonomic keyboard? —Tamfang (talk) 08:17, 18 January 2017 (UTC)
Comfort, I use it heavily. Tamfang, which one do you possess anyway? (talk) 19:33, 18 January 2017 (UTC)
I don't mean to rain on your parade, I don't think you are being disruptive and I don't think there's any harm asking such a question, but more for your benefit this really is not the best place for this kind of question. The ref desk is not a "forum" style page for soliciting opinions and "reviews". The internet is not short of websites specifically for that kind of discussion. If you have a question specific to a user, you can leave it on their talk page. All the best. Vespine (talk) 22:10, 18 January 2017 (UTC)

meaning of single user in license[edit]

In a software license when they say 1000/single user, do they mean you can install it in a single computer or a single person can use the software, but install it in more than one device? — Preceding unsigned comment added by (talk) 23:10, 17 January 2017 (UTC)

It could be any of those things. The answer will be in the EULA. Sometimes a single user means one person can use it anywhere they want, including multiple devices or even multiple platforms (computer, smartphone, tablet). Sometimes single user means, one install on one computer for one person only. Sometimes single user means installed on one computer, for anyone who uses that computer. Vespine (talk) 23:26, 17 January 2017 (UTC)

January 18[edit]

Simplest possible writing laptop/netbook/whatever[edit]

I'm getting lost in terminology trying to find out about this topic, so I hope I can source some knowledge here.

There's a recurring problem of writers on the move: having the time and/or inspiration to get some good writin' done, but a) being in a situation where one's normal writing machine isn't available, or where it's impractical to lug it along, and b) being averse to putting stuff down on paper because retyping is a slog, and anyway one would like to have all previous text available for cross-reference.

I'm trying to find out what the simplest possible (i.e. non-fanciest) portable computer solution to this problem might be. I need a really light, small laptop with a reasonably sized keyboard, long battery life and no other requirements than running some text processing software. I don't even need net access, and a single USB port would do for peripherals. Basically I want a non-Stone Age version of an AlphaSmart (which sucked, BTW - one does need a real screen). The obvious corollary is that this thing would hopefully be cheap and I wouldn't feel that I'm risking a fortune when I chuck this into a side pocket to come camping with me.

I'm aware that something this primitive probably doesn't even exist, but I'd like to try and get close to it. I thought that something under the heading of netbook might fit the bill, but these seem to have morphed into full laptops in recent years. Can someone point me in the right direction? Is there an established market for people who want the electronic equivalent of literal notebook? --Elmidae (talk · contribs) 15:39, 18 January 2017 (UTC)

Are you aware that iPad can connect to a wireless bluetooth keyboard or can operate with a Smart Keyboard built into its case? It also works with popular word processing software like Microsoft Word and Pages. The very same approach could also work on iPhone, if you prefer an even smaller screen.
Some major American retailers sell iPad for under $200. It is difficult to find other high-quality new personal computers, of any type, at that price point. More advanced and larger iPad models climb the price ladder up to the latest brand new large model with cellular data capability, which retails for around $1129 in the United States.
...Far be it from me to eschew brand loyalty, but in total truth, I am tempted to buy myself a Getac F110 Windows Tablet after I read all about the cool stuff NASA's F-18 pilots are using them for down at Dryden in last month's news ... from the photos, it looks like it's got ethernet and my guess is that the Windows programmers have actually written an Ethernet software driver that lets it connect to the F-18's onboard ethernet network... that's a feature set that Foreflight for iPad just doesn't offer! All this said - I still carry an actual, paper-made-from-trees notebook at all times, because there are some times when paper just works better. (Did you notice that F-18 pilot has a real actual paper print-out of his official airframe checklist tucked under his advanced avionics? When you work with advanced technology a whole lot, you learn to never trust advanced technology for anything important.)
Nimur (talk) 15:50, 18 January 2017 (UTC)
Nearly every Android device has bluetooth. There are many bluetooth keyboards. Some are foldable. Some roll up. Some like tiny pens that project onto any hard surface. Your choice of keyboard style is nearly limitless. Google Docs works both with and without an internet connection. You need the internet connection to save updates to Google and pull them down to another device. But, you can make edits to a local copy of a document or create a new local document without an internet connection. So, you have any android device you like as the display and any keyboard you like to type on. I am positive that an equivalent system works for iPhone and iPad devices. If done correctly, you can use the phone you are already carrying with you as your display. If you just want to type a short note, use the phone's built-in virtual keyboard. If you want to get a real session going, pull out the keyboard. When you have internet connection, your changes will sync up with Google. Then, in the end, you can download a finished document in Microsoft Word format from Google Docs and do finishing touches on your computer. (talk) 18:06, 18 January 2017 (UTC)
Hmm. So, tablet with extra keyboard? - There certainly seems to be a lot of keyboard styles around, including ones that provide a case for the tablet. Neat. And older models of, e.g., iPad Mini seem to be going quite cheaply... --Elmidae (talk · contribs) 18:15, 18 January 2017 (UTC)
Here is, IMO, the best solution: [5][6][7][8][9][10] --Guy Macon (talk) 18:49, 18 January 2017 (UTC)
Ye-es... I had an AlphaSmart for several years; all I ever got out of it was a single short story, and that was a pain. I find I need to be able to copy and shove chunks around, and to page and scroll freely, as I tend to write in disjointed sections. That nano display just doesn't cut it in that regard. Battery life was otherwordly, though, and one could hit rocks with the thing and it didn't even creak.-- Elmidae (talk · contribs) 19:00, 18 January 2017 (UTC)
The above requirements would seem to be best met with a low cost laptop (you get to decide regarding screen size vs. portability) running Tiny Core Linux, VIM or Neovim, perhaps Libre Office, and nothing else. --Guy Macon (talk) 21:31, 18 January 2017 (UTC)
Check out the PocketCHIP, $69 for a tiny linux/debian computer, integrated QWERTY keyboard, also has wi-fi and bluetooth. They are kind of pushing it as a game maching (Pico-8 is indeed charming fun), but I know people who are using it for note taking, SSH, all kinds of other unixy/hackery fun. It will fit in you pocket if you have fairly large pockets :) SemanticMantis (talk) 19:14, 18 January 2017 (UTC)
Damn spiffy. Man, I would have killed for this in the 80s... but that screen really doesn't look as if it would do text too well. -- Elmidae (talk · contribs) 19:31, 18 January 2017 (UTC)
Actually, there's someone running Quake 3 on it in decent resolution. Huh :) --Elmidae (talk · contribs) 19:33, 18 January 2017 (UTC)
Yes, I like to describe it as coming from an alternate universe where "palmtop" computers took off an iphones never existed :) To clarify on legibility: I can easily get a readable 80x24 console (my eyes are ok, but not great). The default console easily scales fonts, and you can also do font control via whatever writing application you choose to use. I primarily use it for the unix shell, which is 100% all about text. If I'm writing much, I usually opt for less rows/columns in exchange for larger fonts. One warning: It is the older style resistive "touch" screen, so it's not all that great for touching with a finger, but it works fine with a stylus. I have not yet tried a stylus-based handwriting note application, but it seems you're more interested in typing anyway. I got mine because I really wanted a small one-piece device, cheap, with a full qwerty keyboard. For example I can use my PocketCHIP on a 10 minute bus ride, but getting out a tablet and a bluetooth keyboard (and a stand?) would be too bulky and annoying. SemanticMantis (talk) 20:12, 18 January 2017 (UTC)
You can also get a USB on the go adaptor for most Android (and possibly iPhone/Windows Phone) mobiles, and then connect a keyboard/mouse to it. LongHairedFop (talk) 19:40, 18 January 2017 (UTC)


I have uninstalled a program from my laptop, but some data doesn't removed. (namely some "HKEY_CURRENT_USER" items). How can I remove them? I must add these issues: 1. These items carry some data that include registry info and don't let me to reinstall the program. 2. These info even don't let me to install any earlier version. Thanks in advanceFreshman404Talk 19:17, 18 January 2017 (UTC)

Those are Windows Registry entries. You should be able to remove them with the built-in Windows Registry editor. Back up the Registry before making any changes. A Web search for "windows registry edit" will give you many results with thorough details, if you're not familiar with the Registry. -- (talk) 21:20, 18 January 2017 (UTC)
If only someone had thought to make a program that would do such a thing for you ;) Try ZSoft_Uninstaller. Unfortunately it might be too late now, I think you have to do a "snapshot" before you install the program, so you might have to figure it out "the hard way" this time. Vespine (talk) 22:02, 18 January 2017 (UTC)
Maybe you can install the program on another pc (or a virtual pc) and monitor the registry while it is installing. That way you'll know which modifications to the registry are made by that piece of software, and you can manually undo them. (((The Quixotic Potato))) (talk) 00:49, 19 January 2017 (UTC)

January 19[edit]