Wikipedia:Reference desk/Archives/Computing/2014 February 25

Computing desk
< February 24 << Jan | February | Mar >> February 26 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


February 25 edit

Could humanity get rid of the moon? edit

Moved to Wikipedia:Reference_desk/Science#Could_humanity_get_rid_of_the_moon

Being or implementing an algorithm? edit

Is a parser an algorithm (a parsing algorithm) or it implements one (combining a parsing algorithm with other stuff? According to WP: "Parsing or syntactic analysis is the process of analysing a string of symbols, either in natural language or in computer languages, according to the rules of a formal grammar. " Saying 'process' instead of 'algorithm above, implies that a parser is more than a parsing algorithm? OsmanRF34 (talk) 17:47, 25 February 2014 (UTC)[reply]

A parser is a piece of software. It (at least) recognises a (formal) language, but more often also converts it to a more usable form, e.g. a parse tree or some intermediate data structure. A parser thus is an embodiment of a parsing algorithm (plus optional extra stuff), not an algorithm itself. --Stephan Schulz (talk) 22:15, 25 February 2014 (UTC)[reply]
The term "algorithm" is a rather vague one - our algorithm article says it's any step-by-step process for calculation. On that basis, I'd say that almost any piece of software embodies at least one "algorithm". To 'parse' a simple decimal number requires an algorithm such as:
  1. Skip white-space characters until you come across something that's not white-space.
  2. If the next character a '-' or a decimal digit (0..9) then return an error.
  3. If the next character is a '-' then set a boolean to note the fact, and then move to the next character.
  4. If the current character is not a decimal digit then return an error
  5. Take the ASCII code for the character and subtract 0x30 from it
  6. ...and so on...
But an "algorithm" is just a method - it's not (necessarily) an "implementation" of that method. I can tell you all of the steps to parse a simple decimal number without actually making a "parser" that does it. A "parser" is concrete piece of software that can be compiled and/or executed in order to execute the steps described in the algorithm that it uses.
Very often, the steps of an algorithm gloss over details for simplicity. So, if (for example) I were to describe an algorithm for buying a sofa, I might say:
  1. Pick up your wallet.
  2. Drive to the nearest furniture store.
  3. Find a sofa you like.
  4. Tell the nearest sales person where to deliver it and give them enough money to pay for it.
  5. Go home and wait for your sofa to arrive.
That's a pretty reasonable algorithm - but an actual, practical implementation would have to cover details such as how to find your wallet - how to drive a car - what constitutes "liking" the sofa and so forth.
A parser is a concrete thing. If I have a "parser" - then I can immediately use it to parse something.
SteveBaker (talk) 22:17, 25 February 2014 (UTC)[reply]
All parsers implement some algorithm, but most algorithms have little to do with parsing. As Steve mentions, an algorithm can exist in the abstract, but a parser is a concrete thing that we can point to (insofar as any software is "concrete" :). Just for the fun of semantic overloading, I might say that a parser is an instantiation of an algorithm, even though that usage is distinct from the more common instance_(computer science) (and also a slightly different usage than the common-in-computer-science overloading). SemanticMantis (talk) 21:18, 26 February 2014 (UTC)[reply]

Wireless Access Point vs Wireless Router for MY network edit

Router A is a Virgin Media Home Hub, has wireless disabled but is running in router mode, rather than modem mode, with the DHCP server switched on, for reasons that will become clear.

Router A connects via wire to a LAN port on router B, not a WAN port. The reason for this choice, and for running A in router mode, is that B has no WAN port: it is intended for use with ADSL and as such does not acknowledge internet connections through ethernet. This is not a great problem: I can still access the internet via router B. Router B has wireless on and the DHCP server off. I don't need two DHCP servers, and disabling the one on A makes the internet inaccessible.

B has two basic modes: router mode and access point mode. Both attain the same qualitative result: I can access the internet wirelessly. My question: which mode should I use, and why?--Leon (talk) 17:51, 25 February 2014 (UTC)[reply]

Install Linux on mum's Win XP computer remotely? edit

My mum has a machine running Windows XP which I can access remotely using TeamViewer. Is there any way I could install Linux (distribution Zorin) remotely with little or no cooperation from my mother (she can't even copy and paste reliably)?

If you could get your mum to plug a reasonably high capacity memory stick into one of the USB ports - then you could download a copy of Linux on to that. Rebooting from the memory stick would let you get in to finish the installation. You'd probably have to pre-edit some of the files to allow you to get in via 'ssh' or something once it's booted from the USB stick. But the likely issue is that most PC's don't boot from USB by default - so that might require her to get into the BIOS settings - which sounds like it would be a bit of a challenge for her. SteveBaker (talk) 22:02, 25 February 2014 (UTC)[reply]
But you could burn a live CD remotely and boot from that CD. Contrary to USB, most computers check the CD for boot options.
Another option would be to install Linux remotely on a free partition (if there is one available, I don't know if you can partition a HDD remotely, with the OS running and all) and put the Linux as the first boot option. OsmanRF34 (talk) 00:21, 26 February 2014 (UTC)[reply]
If you're not wedded to Zorin, Ubuntu cav be installed within Windows via wubi. However, wubi is not available officially for the latest version of Ubuntu, and there are probably reasons for that. HenryFlower 09:05, 26 February 2014 (UTC)[reply]
Take it as an opportunity to pay your mum a visit. However, I would advise caution. If your mother is not even comfortable with cut & paste under Windows, what is she going to do when she encounters something going wrong in Zorin? - and something will eventually go wrong. I very much doubt she is familiar with a linux terminal and so you might find yourself relying on remote access more frequently. You might find this Youtube video (and others in the series) useful - Aussie guy gets his mother to try out Zorin and many other different operating systems, although she does seem to have quite some familarity with Windows XP. Astronaut (talk) 10:02, 26 February 2014 (UTC)[reply]