Wikipedia:Reference desk/Archives/Computing/2015 September 23

= September 23 =

What does this thing do?
I have this thing in my house: http://static2.shop.indiatimes.com/images/products/additional/original/B947843_View_1/computers/routers-access-points/netgear-8-port-10-100-mbps-fast-ethernet-switch-fs608.jpg Is it used to plug multiple ethernet cables into one internet source so you can provide wired internet to multiple devices? Where would the "master" cable go, 1? I'd have to buy a power cable to actually activate it. 2605:6000:EA01:7E00:5CB3:9484:FCC0:A798 (talk) 05:15, 23 September 2015 (UTC)
 * It is a network switch. The master cable would go to another switch. You use this to network a bunch of computers together. To get those computers on the internet you would also need a modem and router. Thing is, what most call a modem these days is actually a modem, router AND a switch all in one. But what you have there is not one of those (does your modem/router have more than one Ethernet port on the back? If yes then it is also a switch). If you ALREADY have a modem/router then chances are you also already have a switch. If you have MORE devices than your existing "router" has sockets then you use exactly this device to plug more devices into it. That's exactly what I do. Vespine (talk) 05:50, 23 September 2015 (UTC)
 * The other side has exactly eight ethernet ports, labeled 1-8. My apartment has an ethernet cable sticking out of the wall from where I get my internet. With enough ethernet cables, is there a way to use this device so that me and my roommate can both use wired internet at the same time? 2605:6000:EA01:7E00:5CB3:9484:FCC0:A798 (talk) 06:13, 23 September 2015 (UTC)
 * I'm guessing this isn't really your "house" but a dorm? or something? Most houses don't just have a Ethernet cable sticking out of the wall with internet coming out of it :) . when you plug that cable in to your computer does the internet just work? You don't have to "log into it" or something? If the answer to that question is yes, then most likely the other end of that cable is just plugged into a router(or switch which is plugged into a router), in which case: yes, just plug that switch into the Ethernet cable that comes out of the wall and then use other Ethernet cables to plug your computers into the switch. Vespine (talk) 06:27, 23 September 2015 (UTC)
 * Yeah, it's an apartment, not a house, I misspoke in the OP. I'll purchase a power cable off the internet so I can use this thing, that'd be great if roommate and I could use the internet at he same time. 2605:6000:EA01:7E00:DC32:1845:CCB4:D0C0 (talk) 14:08, 23 September 2015 (UTC)

I need help :( I can't figure out how to buy the right power supply for this device. The plug port's really tiny, like 4 mm in diameter. There's a label that says 7.5VDC. 0.8A and an icon that looks like (-)--(C)--(+). Im afraid to buy a cable off Amazon because it's 13 bucks and I don't want to be wrong. Can anyone link me to what would for sure be the right cable for this device? 2605:6000:EA01:7E00:6950:3903:9776:7A7B (talk) 00:48, 24 September 2015 (UTC)
 * Can't you return it if it's the wrong thing? If you're that concerned, just buy a new switch. If you're in the U.S., NewEgg often has the best prices on computer hardware. Here are their network switches. --71.119.131.184 (talk) 04:41, 24 September 2015 (UTC)
 * this will do the job just fine. Vespine (talk)
 * You can always try including the model number of the device in your search. I think the model number of that switch is Netgear FS608v2. On a site like eBay you will almost certainly be able to find a power supply whose description says it works with that model. Not that that's any guarantee, but it's better than nothing. —Noiratsi (talk) 16:09, 24 September 2015 (UTC)
 * As a side note, the model number will also let you find the user manual online, which should help with figuring out what to plug where. —Noiratsi (talk) 16:11, 24 September 2015 (UTC)

Is there a way to find out where this picture was first posted?
I found a fake account: www.kiwi.qa/SaNdRInhA125/media I know that this account is fake, because this pictures can be found 100 times on 100 different sites. Is there a way to find out where this pictures were first posted? (for example of which Instagram/twitter/facebook/flickr/etc profile they have been stolen) ? --Hijodetenerife (talk) 05:35, 23 September 2015 (UTC)
 * Yes, go to Google Images and click on the little camera in the search field. You'll need to perform a reverse image search. You'll find the same image in 100 different sites, according to your claim. Now, you'll click on "Search tools" + "Custom range." Set the time range and go back as much as possible. That will lead you to the original uploader.--Jubilujj 2015 (talk) 06:59, 23 September 2015 (UTC)
 * Actually, very often that won't lead to the original poster. Whether using Google Images or TinEye, there are plenty of sites not indexed or not completely index. And for many sites like Facebook, even if Google wanted to they couldn't since they can't easily access non public stuff. Also, Google mostly indexes the web, some things like Snapchat use the internet but not the web. (If you argue that the person who sent it via Snapchat isn't the first poster, then what about sending via Google Groups and similar such chatting apps, which puts the image on Picasa or somewhere similar?) And even when content is indexed, reverse images search don't always work so well if the content has been significantly modified such as extensively cropped. Plus people can and do delete content after posting and if it's been long enough there may be limited signs of the old content, and even those which do exist are easy to miss and won't be found via a reverse image search. Reverse image searches can provide some clues about how the image has moved around, and sometimes may uncover the first poster, but shouldn't be confused with magic. Nil Einne (talk) 07:43, 23 September 2015 (UTC)
 * Yes, you are right, image search is kind of primitive. I should have said "could lead" to the original poster, not "will lead". However, the OP could try to consider other clues. The pictures have to be of someone somewhere, and possibly the person on the picture posted it too, or allowed for it. It requires some sweat to dig the original poster, but it maybe could be found. --Jubilujj 2015 (talk) 10:53, 23 September 2015 (UTC)

Virtualization: Windows on Linux, or Linux on Windows?
I want to work simultaneously with both Windows 8 and Linux (any Debian-based distributions. I got a laptop with Windows 8 already installed, and I want to keep it, since it works well with the touchscreen and other hybrid (laptop + tablet) features.

What do I have to do to have Linux and run both at the same time?

I want to move between OSs as I move from one tab to the next in the browser. I also need the Linux version to be connected to the Internet, and, to be able to install software on it (with apt-get). And last, both OS should be able to read and write files in one driver.

Is that too much to ask?--Jubilujj 2015 (talk) 08:49, 23 September 2015 (UTC)


 * Install VirtualBox on Windows. Download an Xubuntu .iso file and create a new VirtualBox VM with that mounted on the optical media. In VirtualBox, set the VM's ethernet adapter to "bridged adapter" and as a Broadcom gigabit adapter. Boot into the VM and install Xubuntu. You can use VirtualBox's "shared folders" setting to share folders between windows and linux, or use SMB to share folders from one to the other over the network. In VirtualBox's UserInterface tab, set full-screen/seamless mode, which makes the Xubuntu desktop disappear - so only its menubar and the individual Xubuntu application windows appear on the screen (as if they were ordinary Windows application windows). -- Finlay McWalterᚠTalk 09:19, 23 September 2015 (UTC)


 * Oh, and once the Xubuntu is installed, choose the option (in the VM window somewhere) to "install guest additions". This inserts a virtual DVD into the VM's virtual drive, which contains kernel extensions which allow for things (networking, video) to work faster than they would with the default drivers the kernel has. Run the installer program there, and restart the VM. -- Finlay McWalterᚠTalk 09:28, 23 September 2015 (UTC)


 * OK, that looks doable. Also found with some  extra details. I will definitely implement this.
 * One last question, can I block Windows 8.1 from accessing the Internet, but still allow my Xubuntu on VM to access it? --Jubilujj 2015 (talk) 10:48, 23 September 2015 (UTC)
 * If you want a solution which can guarantee no malware or malicious privileged user of the Windows OS can access it then I would say no, the Windows OS is the host OS and so ultimately has control over the hardware resources including network adapters so anything you can do to let the guess OS access the network could be repeated on the host OS. If you just want to ensure the Windows 8.1 OS doesn't normally have internet access, sure. Presuming you use DHCP to assign IPs and gateways to the ethernet adapters, just turn off DHCP for both IPv4 and IPv6 on the Windows 8.1 OS and set up bridged networking for the guest and turn on DHCP. If you want to make it less likely the host will accidently receive network access and you have control over the DHCP server and it has the option, turn on MAC filtering and don't allow the host network adapter's default MAC address to receive an IP. Alternatively, set it up so it's always assigned a specific IP, then firewall that IP so it can't send and receive anything over the internet. The later may also be the simplest solution if you want to disable internet access, but still allow access to any LAN you may have. (If you just want to allow networking between the guest and host, you could set up a seperate host only networking adapter.) Nil Einne (talk) 21:24, 23 September 2015 (UTC)

data survivalism?
what is the academic discipline that works on making data survive and pass onto newer hardwares? when the servers on the internet start to die, most of the internet going into oblivion is worth much nightmares.


 * Scientific data archiving, Digital preservation? --Jubilujj 2015 (talk) 12:47, 23 September 2015 (UTC)


 * Some of this can also come under the heading of data curation and digital archiving. More generally, Library science and information science deal with this sort of thing, but the names of subfields are often a bit of a moving target. SemanticMantis (talk) 14:11, 23 September 2015 (UTC)

anti-DNS
in all the years of problems related to the use of DNS, why has no group popped up which opposes DNS use and advocates a strict "browse using ip address" policy? — Preceding unsigned comment added by 2A03:2880:3010:BFF9:FACE:B00C:0:1 (talk) 13:03, 23 September 2015 (UTC)


 * There are such groups. There are also groups that strictly implement their own DNS. There are also people who manage their own hosts file and don't use DNS. 209.149.113.66 (talk) 13:29, 23 September 2015 (UTC)


 * Because it would be completely impractical. What problems, exactly, exist with DNS that would not exist if people typed in IP addresses? --71.119.131.184 (talk) 14:49, 23 September 2015 (UTC)
 * I think you underestimate how useful DNS is. I'm on a laptop, my IP address can change several times a day as I travel from office to home or to a wifi hotspot. I can visit Google no matter where I am on the planet and get a local site that's fast and responsive. My internet banking site can go down and my bank can bring up a backup site without me even noticing. None of that would be possible if I was just using IP addresses. Vespine (talk) 04:21, 24 September 2015 (UTC)
 * Just to clarify, I'm not saying it would be impossible, it would be possible, but it would be harder, or you would have to use "work arounds" that would basically do the same thing that DNS does now. Vespine (talk) 05:11, 24 September 2015 (UTC)


 * DNS is useful, but weak. Suppose you go into my coffee shop to drink overpriced coffee and do your banking. You don't know that I'm running my own internal DNS. You go to mycoolbank.com and my DNS gives you the wrong IP address. You end up hitting one of my servers. My server sends you a fake version of the bank's website. You are smart. You switch it to HTTPS to be secure. That still hits my server because DNS is pointing you there. But, since you want to be secure, my server sends you a Thawte certificate to prove that it is the real banking website. Of course, it is a fake certificate. You can figure that out quickly by asking thawte.com to verify it. But, you are using my DNS. So, I point you to my fake version of Thawte which replies that the fake certificate is perfectly valid. You see that you are safely secure and happily type in your login name and password into the fake website. Then, you get a "down for maintenance - try again later" message from my server. So, you check your credit card accounts, work email, etc... all using my DNS and servers. But, we can solve this problem. All we have to do is hard-code trusted DNS servers into our computers. Remember, you are on MY network. You send a DNS to 4.2.2.2 because that is a trusted DNS. I simply have my network set up so one of my DNS servers is 4.2.2.2. So, no matter what you do, I can trap your DNS and completely fake everything you try to do. For that matter - I could go so far as to redirect traffic using IP instead of DNS. So, that is why this problem is allowed to exist. Getting rid of DNS doesn't solve the problem. It just morphs it a tad. 209.149.113.66 (talk) 12:57, 25 September 2015 (UTC)
 * Although normally, the fake Thawte certificate won't be signed by a Root certificate your browsers trusts, so you browser should give a big red flag. The bigger problem is that certificate authorities can be compromised or do dumb stuff themselves which can affect people sometimes even without worrying about DNS being compromised (e.g. if someone issues a certificate to banlofamerica.com under the name Bank of America). Managing your trusted certificate authorities is one avenue, as I'm sure User:Nimur will mention. HTTP Public Key Pinning can also help, although I believe it requires you visit the real website the first time and everytime the certificat is repinned (and also that your browser and the site use pinning). Of course, worrying about trusting certificates is pointless if either the computer you're using or the people on the other end of the certificate can't be trusted. Nil Einne (talk) 15:12, 25 September 2015 (UTC)
 * Indeed: an attacker who can spoof DNS can almost surely spoof other network traffic, including IP routing, because most systems are configured to treat DNS at the same privilege-level as all other network service provision. The issue devolves, then, into the more general problems of security: authentication, verification and validation.  Any system that relies solely on network hostname or address for authentication is bound to fail if ever applied to an untrusted network.  In other words, you should not trust "website.net" simply because of its DNS name or its IP address: an untrustworthy network can easily fake those details for a malicious host.  Good, modern design principles assume that all networks are untrustworthy networks.
 * The fact that we can, and do, perform authentication, validation, verification, authorization, and secure communication over untrustworthy networks is a major technological breakthrough - we do not require that the participants in the DNS system - or Internet Protocol, for that matter - are trustworthy. We have methods, such as public key exchange, that are immune to such malicious participants.  A malicious network operator can block, interfere, and disrupt, but cannot successfully spoof or tamper with a well-implemented public-key-exchange.  This emergent technology is why Diffie–Hellman key exchange is such a huge accomplishment: worth a few papers, a few patents, and even attracted a few frightening visits from the FBI, the NSA, and the New York Mafia.  Nimur (talk) 02:01, 26 September 2015 (UTC)

Javascript elemental definitions
Hello, a question about fundamental JS. is the .location in the following code an object or a property?... If it's an object (just document) how come it has a (dot) property accessor? I ask because my teacher defined it as an object, but it does have a property accessor... Please help me understand, thank you,



function go2 {document.location ="http://www.google.com";}

Thanks, Ben-Yeudith (talk) 14:47, 23 September 2015 (UTC)


 * It's special. It is a "read-only property" - buuuut that also says "Though Document.location is a read-only Location object, you can also assign a DOMString to it". Which is the opposite of read-only, right? Writing to document.location effectively calls a function.  If someone wanted to build their own thing that worked like that, as far as I know, one can't do that in pure Javascript (through ES5.1). ES6 adds Proxy support. But the "document" object is a magic thing generated by the browser - it's not necessarily actually a regular JavaScript object at all (it just appears to work like one), and I suspect that this behaviour (in current browsers at least) is special hardwired code. -- Finlay McWalterᚠTalk 15:16, 23 September 2015 (UTC)


 * added underscored parts above for clarity. -- Finlay McWalterᚠTalk 19:45, 23 September 2015 (UTC)

What are the current impediments in creating text to speech voices?
OP wished for lots of text to speech voices created and released on the internet by TTS hobbyists. — Preceding unsigned comment added by 2A03:2880:3010:BFFB:FACE:B00C:0:1 (talk) 17:29, 23 September 2015 (UTC)


 * Well, it's a lot of work for a person to record all the sounds needed to make speech, all at the same volume, tone, speed, etc. Then the audio clips/samples need to be stitched together and tested, not unlike "looping" (recording the audio soundtrack for a movie).  So, somebody has to pay for all that work. StuRat (talk) 19:36, 23 September 2015 (UTC)
 * Some text-to-speech methods use recordings of human voices, others do not, e.g. Speech_synthesis. For example, many screen readers do not use human-voiced samples. Our article also has a whole section on Speech_synthesis, that addresses OP's question. SemanticMantis (talk) 22:25, 23 September 2015 (UTC)

bash question
Hello. In a particular context, I pipe every single command through nl and then through tail. So, for example, I will type "ls -lSr | nl | tail" and look at it, do some stuff, then maybe "cat * |egrep 'foo'|sort -n |nl|tail". I'm on a slow tty and if I forget the tail it's a pain in the neck because I have gazillions of files and the command takes forever to finish echoing (and I am only interested in the last few lines anyway). How can I instruct bash to pass all output that would go to stdout through nl and tail? Robinh (talk) 21:22, 23 September 2015 (UTC)
 * You can type bash|nl|tail. And then enter the commands.  When you exit, the last 10 lines will output. Graeme Bartlett (talk) 21:39, 23 September 2015 (UTC)
 * Thanks for this, I didn't know you could do that. It works!  But this solution doesn't have the interactiveness I want.  I want to be able to type ls -l, look at the  (last few lines of) the output, fiddle with some settings, type cat *|egrep 'baz' (where 'baz' will depend on the output of ls), fiddle again, and so on.  And with bash|nl|tail I can't do that.  Any advice? Robinh (talk) 21:47, 23 September 2015 (UTC)
 * Another more interactive way is to do this:

while read j ; do exec $j|nl|tail ; done
 * Then type your commands one by one. ^d will exit. Graeme Bartlett (talk) 22:07, 23 September 2015 (UTC)
 * Hmm, there might be a more efficient way to do this particular task. You might want to look at using something like Midnight Commander or dired to work with files via terminal. Also, if you're trying to work remotely over a slow connection, it might be easier to just use rsync to download the files you're working on to your local system. Then you can work locally and use rsync to upload any changes. I'm assuming by "slow tty" you mean a slow network connection, because I think it unlikely you're working on an actual physical terminal hooked up to a mainframe or minicomputer, but I could be wrong! --71.119.131.184 (talk) 22:45, 23 September 2015 (UTC)

(OP) thanks guys. I never thought to do the while read j thing. This works for "ls -ltr" but doesn't quite work for "cat | egrep 'foo' " Robinh (talk) 04:16, 24 September 2015 (UTC)
 * And yes, by "slow tty" I did mean that I have a slow network connection. The other issue is that a massive output stops me from scrolling up to see previous command output. best wishes, Robinh (talk) 04:18, 24 September 2015 (UTC)
 * Unfortunately the exec only takes a single command and parameters, not a command string. Perhaps you could write the $j to a temp file and then execute it. I also failed to get this to work by direct substitution. Graeme Bartlett (talk) 11:58, 25 September 2015 (UTC)

while read j ; do eval "($j|nl|tail)" ; done
 * Here is a better version:
 * This time you can insert pipelines as input. Graeme Bartlett (talk) 12:32, 25 September 2015 (UTC)


 * One fix for your problem is to use GNU Screen. The problem you have is that it takes too long for the display to update over the network. You can press Ctrl-D to detach a screen session. Then, all updates are local to the machine and happen very quickly. When you reattach the screen, you will only see the final page of text. I use screen religiously because I have a network that disconnects whenever it feels like it. With screen, my session remains active. I can login to the server when network is back and reattach the session that I was disconnected from. 209.149.113.66 (talk) 13:11, 25 September 2015 (UTC)