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 ~~~~ (four tildes) 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

June 29[edit]

GET and POST[edit]

   function show(e)
       success: function(data)

I'm calling this function onClick on any button and passing value from there to the function, using this function show() the control goes to another file select.php from where the result come back to the current page, everything is working fine, I want to pass all the values from all the buttons or select options or checkboxes which all are already selected, and remove the variable when any option is deselected, ? how to do this ?? — Preceding unsigned comment added by (talk) 07:58, 29 June 2015 (UTC)

Get the value of each element and create either a GET or POST query. Send that with the AJAX request. It will show up in your PHP script in either $_GET or $_POST, depending on how you sent it. (talk) 12:06, 29 June 2015 (UTC)
I added a title. StuRat (talk) 17:54, 30 June 2015 (UTC)

How to copy guidelines to another document in Photoshop?[edit]

Hi, I need to get the exact guidelines used in a document on another one in Photoshop. How could I do it..?--Joseph 15:28, 29 June 2015 (UTC)

Just to clarify the question, are these "guidelines" just text in one Photoshop file that you want to replicate in another ? If you then modify the original, do you need the "copy" to also automatically update with those changes ? StuRat (talk) 20:12, 29 June 2015 (UTC)
The question does not need clarifying; guides in PhotoShop are lines used to help position objects. This is a rather frequently asked question, but the versions I know about don't provide a direct way of doing it. However, it is possible to find a number of guide-copying scripts that can be downloaded, for example at Looie496 (talk) 21:59, 29 June 2015 (UTC)
Oh, those type of guide lines. I thought he meant guidelines. StuRat (talk) 22:05, 29 June 2015 (UTC)

How to send strings over network using TCP/IP protocol in Python 3.4?[edit]

Hello everyone. How would I send strings between python consoles in python 3.4? I think I would use the TCPServer class in the socketserver module. I am running Python 3.4.3 under windows 7. I basically want to run a function on PC A and have it send an argument to PC B and have the console on PC B display the message that it just received. Thanks for your help in advance, —SGA314 I am not available on weekends (talk) 19:30, 29 June 2015 (UTC)

Edit: I have managed to get a TCP/IP server that allows the client to send a message to the server. However, I can't seem to get the client to send messages after it has connected. Here is my client and server code: Server:

import socket
import threading
import socketserver
ConnectedClients = {}
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
    def handle(self):
        data = str(self.request.recv(1024), 'ascii')
        message = data.split(":")     
        if message[0] == "ConnectClient":
            if not message[1] in ConnectedClients:
                ConnectedClients[message[1]] = self.request.getsockname()
                response = bytes("Added " + str(ConnectedClients[message[1]]) + " To the server.", "ascii")
            cur_thread = threading.current_thread()
            response = bytes("{}: {}".format(, "recived " + data), 'ascii')

class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):

if __name__ == "__main__":
    # Port 0 means to select an arbitrary unused port
    HOST, PORT = "localhost", 9999
    server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
    ip, port = server.server_address

    # Start a thread with the server -- that thread will then start one
    # more thread for each request
    server_thread = threading.Thread(target=server.serve_forever)
    # Exit the server thread when the main thread terminates
    server_thread.daemon = True
    print("Server loop running in thread:",


import socket
import __main__
def client(message, ip = "localhost", port = 9999):
    if not hasattr(__main__, "Connected"):
        setattr(__main__, "Connected", False)
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((ip, port))
    data = bytes("ConnectClient" + ":" + "Client1", "ascii")
    if __main__.Connected == False:
        __main__.Connected = True
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((ip, port))
    #response = str(sock.recv(1024), 'ascii')
    #print("Received: {}".format(response))
        msgdata = bytes(message, 'ascii')
        response = str(sock.recv(1024), 'ascii')
        #print("Received: {}".format(response))

SGA314 I am not available on weekends (talk) 20:16, 29 June 2015 (UTC)

What problem are you having? Your client code defines a function and never calls it. If you put if __name__ == "__main__": Sendmsg("hello") at the bottom, it should work.
Note that your server will not necessarily get the whole message, even if it's under 1024 bytes, because it might be sent in pieces and recv will return only the first piece. You need to call recv in a loop until you've gotten the whole message. To prevent the server hanging if the message is less than 1024 bytes, you should either send the actual length first (probably in a fixed-length encoding to avoid a chicken-and-egg problem) or else call sock.shutdown(socket.SHUT_WR) after sock.sendall in the client to tell that server that no more data will arrive. -- BenRG (talk) 05:35, 30 June 2015 (UTC)
This does work but not the way I want it to. Its only a 1 way communication. I can only send messages from the client to the server. But I can't do the reverse. Also when either the client or the server gets a message, I want to do something with it, like execute it using the exec function. But I can't do this because the server is being tied up by polling for request. Now I have tried shutting down the server when it gets a message but that didn't work either. So my problem is this, the setup is only 1 way not 2 way, and the server can't do anything because its tied up from the serve_forever function call. —SGA314 I am not available on weekends (talk) 13:13, 30 June 2015 (UTC)
Edit: I have fixed the problem of the server being tied up by handling request asynchronously. But I still don't know how to send the client messages from the server. And here is another question, How would I get a list of connected clients on the server and use that list to allow clients to send other clients messages through the server? —SGA314 I am not available on weekends (talk) 13:50, 30 June 2015 (UTC)
Edit: I have now fixed the problem of getting a list of connected clients. Now I only have to figure out how to get the server to send messages to clients. Does anyone know how to do this with the code above? —SGA314 I am not available on weekends (talk) 18:29, 30 June 2015 (UTC)
Any suggestions on how to get the server to send messages to clients? —SGA314 I am not available on weekends (talk) 19:23, 1 July 2015 (UTC)

php simplesaml and wamp[edit]

Hi there, I've been trying to install SimpleSaml on wamp:
But when I try to install it, I get 404 error, about welcome_page.php.
After I checked the web it seems I should have added virtualhost to apache.conf.
Unfortunately, whenever I do it, all of the rest of the files on my server isn't available.
1)Does anyone have a solution to the described problem?
2)Does anyone know a good way to implement Saml into php? — Preceding unsigned comment added by Exx8 (talkcontribs) 21:53, 29 June 2015 (UTC)

June 30[edit]

Typing on mobile keyboards with finger held down[edit]

I discovered, totally by accident, a feature on my Windows Phone I hadn't encountered before: you can type long words quicker by, instead of tap-tap-tapping on the virtual keyboard, holding down your finger and sliding it around the keyboard from one key to another, then releasing on the final letter. (A trail follows your finger by way of feedback.) The software then guesses what word you were aiming at. It's genuinely been a while since I've had such a "wow, that's actually pretty clever" moment with technology. It makes it much quicker to type long words and it's impressive how it can distinguish the letters you want from the letters you're just sliding over. Plus it makes you feel like a wizard.

What's the official term for this kind of typing? I tried Googling "hold down finger typing Windows Phone" but got nothing - just a couple of tips-and-tricks listicles which didn't mention it. -- (talk) 08:44, 30 June 2015 (UTC)

There doesn't seem to be an 'official' name for it, but I've heard 'gesture typing' used. The first (?) and best-known gesture keyboard was Swype, so people sometimes use that name to refer to the concept as whole too. —Noiratsi (talk) 08:54, 30 June 2015 (UTC)
I've always heard it referred to as "swiping" as opposed to "gestures". The difference is very trivial. A gesture is solely about the shape you draw (or the motion of your hand if it is a camera-based gesture). It doesn't matter where you draw it or how big/small it is. For example, if I sweep from right to left and then wiggle up/down real fast, that tells my browser to go back (but, it is easier to hit the back button). With swiping, you have to get near the keys you are using. Otherwise, the shape you draw will over the wrong keys and produce the wrong word. Of course, you don't have to be perfect. Getting near the keys is usually enough to match the location-based gesture you want. In my opinion, I would place swiping as a subset of gestures. More specifically, I would place it as gestures constrained to a position on the screen. (talk) 15:36, 30 June 2015 (UTC)

Inno Setup help[edit]

(See also DLL hell for the general subject). I have to put together an Inno Setup script, which includes one problem DLL. What I need to do is:

  1. If the DLL isn't installed on the system, install version 3.0.5 (the latest).
  2. If version 1.x or 3.0.0 to 3.0.4 is installed on the system, install version 3.0.5.
  3. (And this is the tricky bit) If version 2.x is installed on the system, don't replace it.
  4. If version 3.0.5 or later is installed, prompt the user for overwriting (this is done with the promptifolder flag).

Is this possible, or will I have to put together a set of manual instructions? Tevildo (talk) 18:15, 30 June 2015 (UTC)

Note: in item 4, you claim the promptifolder flag will prompt to install version 3.0.5 if the existing file is "version 3.0.5 or later", but after reading the help file*, my understanding is that promptifolder will only prompt if the existing file is higher than version 3.0.5, and do nothing if the existing file is already version 3.0.5. Do you really want to re-install the file if it's already version 3.0.5? If so, this might mean a more complex check. (* Inno Setup Help → Setup Script Sections → [Files] section, find promptifolder and read it, then also go to the bottom Remarks and read them.)
If it's acceptable to do nothing when the existing file is already version 3.0.5, then, as you say, the only tricky thing to check is if the version is 2.x then don't install anything. After reading through the help file, here is an idea to persue. Read the following sections:
  • Check Parameters (Inno Setup Help → Pascal Scripting → Check Parameters)
  • GetVersionNumbers (Inno Setup Help → Pascal Scripting → Support Functions Reference → GetVersionNumbers)
You can use a Check parameter to call a function that you create. In your function, you can check the version number of the existing file, and if it's 2.x, return false and the install file will be skipped. If the existing file is any other version, you can return true and the default version checking and promptifolder flag will take care of the other cases for you. To refer to system folders, you may need to use constants:
  • Constants (Inno Setup Help → Constants)
  • ExpandConstant (Inno Setup Help → Pascal Scripting → Support Functions Reference → ExpandConstant)
--Bavi H (talk) 02:05, 1 July 2015 (UTC)
Thanks very much! This is what I've put together, which seems to work. (GetVersionNumbers didn't return meaningful numbers for this DLL, so I've used GetVersionNumbersString instead).

I know it'll fail if we get to version 20 of the DLL, but that can be fixed by my successor. Tevildo (talk) 16:34, 1 July 2015 (UTC)

 :'( Would and sFileVersion[1] = '.' prevent that? --Bavi H (talk) 00:49, 2 July 2015 (UTC)
It would. That's three weeks of work we've taken away from a contractor. ;) Tevildo (talk) 17:56, 2 July 2015 (UTC)

Web page gotchas[edit]

I suspect that some web pages intentionally do the following:

1) Place an innocent button where it renders immediately, say "Like this".

2) Place an evil button such that it will render in the same spot, a second later. For example, "Donate all the funds in my account to ...".

3) They then get people who try to click on #1 but accidentally hit #2.

Has anyone admitted to designing web pages like this intentionally ? StuRat (talk) 19:13, 30 June 2015 (UTC)

Wikipedia regularly has a banner that loads with a slight delay so when you try to click on the search button at the top of the page, it quickly places the DONATE button where the search box used to be. Is it intentional? (talk) 19:30, 30 June 2015 (UTC)
No. Web browsers often don't know how large an element is going to be until they have downloaded it. It's very common to see pages rearrange themselves as the elements are filled in. This is a result of browsers being programmed to show you something as soon as possible, rather than leaving the page blank until all its contents have been downloaded. Looie496 (talk) 19:58, 30 June 2015 (UTC)
I think it would be more practical just to have the "Like" button execute the "Donate" routine, since the button's text can say anything at all. For your original question, I have read about web pages that do the opposite of what you suggested: they hide the "Like" button behind an innocuous web object, so that when you click to (say) go to the next page, you also register as "Liking" the site.OldTimeNESter (talk) 12:24, 1 July 2015 (UTC)

July 1[edit]

Rapidminer XPath query help[edit]

I am trying to extract tabular information from pages on a website. I am using rapidminer for this. I have: - page links stored in an excel file (for the code snippet below have just used a single page) - Rapidminer process accesses these links one at a time and extracts the tabular data

The problem is that this table can have n number of rows (variable across table son pages). The process I have created can get the table data rows but how can I modify it to iterate over n number of table rows dynamically.

The XML for the Rapidminer process is below:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="6.4.000">

 <operator activated="true" class="process" compatibility="6.4.000" expanded="true" name="Process">
   <process expanded="true">
     <operator activated="true" class="text:create_document" compatibility="6.4.001" expanded="true" height="60" name="Create Document" width="90" x="45" y="75">
       <parameter key="text" value=""/>
       <parameter key="add label" value="true"/>
       <parameter key="label_type" value="text"/>
       <parameter key="label_value" value="_link"/>
     <operator activated="true" class="text:documents_to_data" compatibility="6.4.001" expanded="true" height="76" name="Documents to Data" width="90" x="179" y="75">
       <parameter key="text_attribute" value="Link"/>
       <parameter key="add_meta_information" value="false"/>
     <operator activated="true" class="web:retrieve_webpages" compatibility="5.3.002" expanded="true" height="60" name="Get Pages" width="90" x="45" y="210">
       <parameter key="link_attribute" value="Link"/>
       <parameter key="page_attribute" value="myPage"/>
       <parameter key="random_user_agent" value="true"/>
     <operator activated="true" class="text:data_to_documents" compatibility="6.4.001" expanded="true" height="60" name="Data to Documents" width="90" x="179" y="210">
       <parameter key="select_attributes_and_weights" value="true"/>
       <list key="specify_weights">
         <parameter key="myPage" value="1.0"/>
     <operator activated="true" class="text:process_documents" compatibility="6.4.001" expanded="true" height="94" name="Process Documents" width="90" x="313" y="210">
       <parameter key="create_word_vector" value="false"/>
       <parameter key="keep_text" value="true"/>
       <process expanded="true">
         <operator activated="true" class="multiply" compatibility="6.4.000" expanded="true" height="76" name="Multiply" width="90" x="45" y="75"/>
         <operator activated="false" class="loop" compatibility="6.4.000" expanded="true" height="76" name="Loop" width="90" x="246" y="210">
           <parameter key="set_iteration_macro" value="true"/>
           <parameter key="macro_name" value="itr"/>
           <parameter key="iterations" value="20"/>
           <process expanded="true">
             <operator activated="true" class="text:extract_information" compatibility="6.4.001" expanded="true" height="60" name="Extract Information (2)" width="90" x="179" y="75">
               <parameter key="query_type" value="XPath"/>
               <list key="string_machting_queries"/>
               <list key="regular_expression_queries"/>
               <list key="regular_region_queries"/>
               <list key="xpath_queries">
                 <parameter key="Rw" value="//*[@id='body_body_tbody']/h:tr[${itr}]/h:td/h:strong/text()"/>
               <list key="namespaces"/>
               <list key="index_queries"/>
               <list key="jsonpath_queries"/>
             <connect from_port="input 1" to_op="Extract Information (2)" to_port="document"/>
             <connect from_op="Extract Information (2)" from_port="document" to_port="output 1"/>
             <portSpacing port="source_input 1" spacing="0"/>
             <portSpacing port="source_input 2" spacing="0"/>
             <portSpacing port="sink_output 1" spacing="0"/>
             <portSpacing port="sink_output 2" spacing="0"/>
         <operator activated="true" class="text:extract_information" compatibility="6.4.001" expanded="true" height="60" name="Extract Information" width="90" x="246" y="75">
           <parameter key="query_type" value="XPath"/>
           <list key="string_machting_queries"/>
           <list key="regular_expression_queries"/>
           <list key="regular_region_queries"/>
           <list key="xpath_queries">
             <parameter key="Hierarchy" value="//*[@id='form1']/h:div[4]/h:div[2]/h:p[@class='breadcrumb']/text()"/>
             <parameter key="Hierarchy_L1" value="//*[@id='form1']/h:div[4]/h:div[2]/h:h2/text()"/>
             <parameter key="Tbl_Rw_Angus" value="//*[@id='body_body_tbody']/h:tr[1]/h:td/h:strong/text()"/>
           <list key="namespaces"/>
           <list key="index_queries"/>
           <list key="jsonpath_queries"/>
         <connect from_port="document" to_op="Multiply" to_port="input"/>
         <connect from_op="Multiply" from_port="output 1" to_op="Extract Information" to_port="document"/>
         <connect from_op="Extract Information" from_port="document" to_port="document 1"/>
         <portSpacing port="source_document" spacing="0"/>
         <portSpacing port="sink_document 1" spacing="0"/>
         <portSpacing port="sink_document 2" spacing="0"/>
     <connect from_op="Create Document" from_port="output" to_op="Documents to Data" to_port="documents 1"/>
     <connect from_op="Documents to Data" from_port="example set" to_op="Get Pages" to_port="Example Set"/>
     <connect from_op="Get Pages" from_port="Example Set" to_op="Data to Documents" to_port="example set"/>
     <connect from_op="Data to Documents" from_port="documents" to_op="Process Documents" to_port="documents 1"/>
     <connect from_op="Process Documents" from_port="example set" to_port="result 1"/>
     <portSpacing port="source_input 1" spacing="0"/>
     <portSpacing port="sink_result 1" spacing="0"/>
     <portSpacing port="sink_result 2" spacing="0"/>


The ideal output would be like:

The PUB® Steak Burger Products Angus 215-960 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 6 28 10.50
The PUB® Steak Burger Products Angus 215-940 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 4 40 10
The PUB® Steak Burger Products Angus 215-930 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 3 56 10.50
The PUB® Steak Burger Products Choice 15-960 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 6 27 10.13
The PUB® Steak Burger Products Choice 15-940 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 4 40 10
The PUB® Steak Burger Products Choice 15-930 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 3 53 9.94
This is a case where I'd use 'lynx -dump' to pull the whole page in a preformatted way. Hitting that particular page, returns:
  Item # Product Name Portion Size (oz.) Portions Per Case Case Weight(lb.)
  [192]215-960 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 6.000000 28 10.50
  [193]215-940 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 4.000000 40 10.00
  [194]215-930 Flamebroiled USDA Choice Angus Beef Chuck Steak Burger 3.000000 56 10.50
  [195]15-960 Flamebroiled USDA Choice Beef Chuck Steak Burger 6.000000 27 10.13
  [196]15-940 Flamebroiled USDA Choice Beef Chuck Steak Burger 4.000000 40 10.00
  [197]15-930 Flamebroiled USDA Choice Beef Chuck Steak Burger 3.000000 53 9.94
  [198]22801-761 Flamebroiled USDA Choice Beef Chuck Steak Burger 4.000000 40 10.00
  [199]22800-761 Flamebroiled USDA Choice Beef Chuck Steak Burger 3.000000 56 10.50
  [200]15-260 Flamebroiled Beef Steak Burger 6.000000 27 10.12
  [201]15-250 Flamebroiled Beef Steak Burger 5.000000 32 10.00
  [202]15-250-40 Flamebroiled Beef Steak Burger 5.000000 128 40.00
  [203]15-245 Flamebroiled Beef Steak Burger 4.500000 36 10.12
  [204]15-240 Flamebroiled Beef Steak Burger 4.000000 40 10.00
  [205]15-230 Flamebroiled Beef Steak Burger 3.000000 53 9.94
  [206]15-330-20 Flamebroiled Beef Steak Burger 3.000000 81 15.19
  [207]15-230-2 Flamebroiled Beef Steak Burger with Foil Bags 3.000000 160 30.00
  [208]15-275 Flamebroiled Beef Steak Burger 2.750000 58 9.96
  [209]15-224 Flamebroiled Beef Steak Burger 2.400000 68 10.20
  [210]10712 Flamebroiled Mini Beef Steak Burger with Bun 2.200000 72 9.90
  [211]22985-330 Flamebroiled Beef Steak Burger, Strip Steak Shape CN 3.000000 56 10.50
  [212]15-338-9 Flamebroiled Beef Steak Burger CN 3.800000 67 15.91
  [213]15-330-09 Flamebroiled Beef Steak Burger CN 3.000000 81 15.19
  [214]3-15-327-09 Flamebroiled Beef Steak Burger CN 2.700000 175 29.53
  [215]15-327-09 Flamebroiled Beef Steak Burger CN 2.700000 88 14.85
  [216]3-15-324-09 Flamebroiled Beef Steak Burger CN 2.400000 200 30.00
  [217]15-324-09 Flamebroiled Beef Steak Burger CN 2.400000 90 13.50
  [218]15-320-09 Flamebroiled Beef Steak Burger CN 2.010000 114 14.32
  [219]15-312-9 Flamebroiled Mini Beef Steak Burger CN 1.200000 135 10.12
  Smart Picks™ Beef Steak Burgers
  [220]68050 Smart Picks™ Flamebroiled Beef Steak Burger CN 2.000000 170 21.25
  [221]68001 Smart Picks™ Flamebroiled Beef Steak Burger CN 1.600000 210 21.00
As you can see, the data is formatted reasonably nice. It wouldn't be hard to strip off the last three numbers of each line and the item number from the beginning. The [###] fields are symbols for the links listed at the bottom of the dump (which I did not show). (talk) 12:55, 1 July 2015 (UTC)

The problem here is that I need to accomplish this task using Rapidminer only - how can it be doe using Rapidminer. — Preceding unsigned comment added by (talk) 04:23, 3 July 2015 (UTC)


Is there any evidence that nfc is likely to be more successful than previous short range contactless technology such as rfid and Bluetooth? — Preceding unsigned comment added by (talk) 05:59, 1 July 2015 (UTC)

It is mainly about range. If you want communication to have a very short range, NFC is better. If you want communication to have a medium range, Bluetooth is better. If you want to have a large range, WiFi is better. If you want to reach out to anywhere in the world, you pass it off to the cell tower. (talk) 12:35, 1 July 2015 (UTC)
See Near field communication for our article. Tevildo (talk) 17:57, 2 July 2015 (UTC)

How to start windows in safe mode, then restart other services[edit]

Hi, I have a problem with my Vista computer from c2010, taking forever (~40 mins) to boot, giving me the grey screen of death at the start. So I start in safe mode, and that's fine, but there's no internet and no sound. Presumably no video either. Can I start windows in safe mode, *then* load up all the other things, one at a time, as needed? I only need a few things, like I say, sound, video, internet. Networking per se is present, and it recognises the ethernet connection, but won't let me on the web, won't connect to my ISP, etc. It just says, "Can't create this connection." IBE (talk) 18:42, 1 July 2015 (UTC)

For clarity, are you running safe mode with networking, or safe mode? Nil Einne (talk) 19:03, 1 July 2015 (UTC)
I'm pretty sure I did it with networking - that was what I ticked intentionally, so unless I'm doing something wrong, it's with networking. IBE (talk) 19:41, 1 July 2015 (UTC)
I do not think you can "load" missing services. In a safe mode you can only save you data to an external drive then reset your laptop to its original state. Ruslik_Zero 20:12, 1 July 2015 (UTC)
The top two results in this Google search seem relevant, BUT if you are not completely comfortable with making registry edits, I would not go any further. (for the record, I am seeing a result for and one for --LarryMac | Talk 20:55, 1 July 2015 (UTC)
How hard can it be? ;) well, I'm going to reinstall windows if I can't fix it, so it doesn't matter much, thanks I'll give it a try. IBE (talk) 16:49, 2 July 2015 (UTC)

July 2[edit]

What Web Browser is this?[edit]

My hotel has a web browser I've never seen before. Its logo is a white S within a blue globe circle. Googling "web browser s logo" brings up one site with the logo, called, but I can't click it because the hotel kiosk forbids me from visiting that site.

Im still at the hotel, so I cant click on a lot of things. What browser si this? (talk) 18:01, 2 July 2015 (UTC)

Assuming we both found the same image (a picture of the Earth with a large white S), this is an icon for IronSource's "Spearmint" browser (for Google Android). Tevildo (talk) 18:19, 2 July 2015 (UTC)
Android? How odd. I wonder why a hotel desktop would have an android browser? Thanks! (talk) 18:41, 2 July 2015 (UTC)
Judging by this list, SlimBrowser might be what you're looking at - it runs under Windows and appears able to be locked down pretty tight. WegianWarrior (talk) 18:51, 2 July 2015 (UTC)
Interesting. The Spearmint logo is _very_ similar (the main difference being that the "S" is white rather than cream, and the map is dark blue rather than white). We may have uncovered nefariousness. I agree that SlimBrowser is a more likely candidate for the OP's hotel system. Tevildo (talk) 19:54, 2 July 2015 (UTC)

What are the limitations of cygwin?[edit]

If you use the linux command line specially for tools like grep, sed, awk and similar other, mainly for the one-liners, what are the limitations of windows + cygwin comparing to a full-linux installation? --Yppieyei (talk) 20:56, 2 July 2015 (UTC)

Cygwin is a windows program. It is NOT a linux program. The underlining OS is windows. (talk) 06:01, 3 July 2015 (UTC)
The question is not whether they are different, but whether they behave differently.
I use cygwin on my W7 box at work and I wouldn't be without it. I'm not trying to start a flame war, but I find the W7 search clumsy in syntax but more importantly unreliable, so I use grep in cygwin, which never fails. I also use the built in Perl and Perl/TK - we can't afford ActivePerl and my previous experience with Strawberry Perl hasn't been the best. Finally as a 25+ year Vi user, old habits die hard and this what I use for web development (my real job). --TrogWoolley (talk) 09:08, 3 July 2015 (UTC)
So, there is nothing you could do in Vi under Linux, but cannot do it in Vi using cygwin? There are not surprises, no packages that cannot be installed, or which last version cannot be installed, things that don't work, or things that only work with some hack? --Yppieyei (talk) 16:27, 3 July 2015 (UTC)
It depends on your definition of "things that don't work". For example, if a program running on Linux work just fine with POSIX-style file permissions on an Ext2 partition but fails with Windows-style file permissions on an NTFS partition, is that a "thing that doesn't work"? Most people would say no. How about the same program ported to Windows having the same limitations? Most people would call that a "thing that doesn't work". Cygwin actually does a lot better than that -- see and -- but some things just don't map properly and need workarounds. Try creating files named com1, lpt1, or aux (no file extension) in Windows. Now try it in Linux. Is that a "thing that doesn't work"?
Cygwin is pretty good at handling these sort of things, but it isn't perfect. I have had a couple of people recommend this page: [ ] but have not tried it myself. --Guy Macon (talk) 16:57, 3 July 2015 (UTC)
Certainly 'vi' works identically to the same version running under Linux. There are many packages that can't be installed though. If, for example, you try to run 'GIMP' under Cygwin, it's a bunch of you install the Windows version and be happy. SteveBaker (talk) 22:16, 3 July 2015 (UTC)
Most of the obvious stuff works identically to Linux - but if you stray into systems stuff (networking, user management, windowing) - then the cracks become obvious. File permissions are also a bit odd - but for a single user on the system, it's mostly OK. For 99% of basic command-line stuff, it feels identical to Linux. Most of the issues I have in using it are at the boundaries between the Cygwin world and, for example, the CR/LF line endings in Windows are not maintained by Cygwin, and Window's weird directory links aren't always there.
On the whole though - as a Linux guy - Cygwin gives me a way to work reasonably comfortably in a Windows world and it's the very first thing I install on a new Windows computer. I can't imagine not having it.
SteveBaker (talk) 22:16, 3 July 2015 (UTC)

July 4[edit]

gmail and spam[edit]

I have been sending emails to some friends of mine with gmail accounts. For one of them, the emails started being rejected as spam 2 or 3 months ago, but he did something that eventually resolved it. Today the same friend and a second one both had emails rejected.

I get a reply from my isp: (Real names and numbers replaced by *)

***.***.***.** failed after I sent the message.
Remote host said: 550-5.7.1 [      12] Our system has detected that this message is
550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to Gmail,
550-5.7.1 this message has been blocked. Please visit
550 5.7.1 for more information. j130si13215964qhc.51 - gsmtp

The message isn't spam. My account hasn't sent spam. Is there anything I can do about this? The 188131 help file is unhelpful, appearing to say "don't spam". -- SGBailey (talk) 07:03, 4 July 2015 (UTC)

Does such a program exist?[edit]

Suppose I have a set of picture files. I want to be able to see to another picture by clicking a certain area on a certain other picture (or pictures), offline. Kind of like how annotation on YouTube videos work. Is there a program that does that? In short, I want a set of inter-linked jpeg files. Seems like a simple thing so I thought maybe it's possible that there is such a program.

(The reason for this is that I write notes, by hand, in Photoshop (using a drawing pad), and I want my notes to be connected. I don't want to use another method for writing notes because there's already lots of notes written this way and I like it this way)--Irrational number (talk) 20:45, 4 July 2015 (UTC)

The HTML <area> Tag has some of the functionality you ask for, but that would require you to place the images in a HTML document. AFAIK the JPEG specification don't contain any way to make links in the picture - something a quick look online seems to verify 12.
Off topic; that is one way of taking notes I've not heard about before. I'm happy it works for you, even if it wouldn't work for me - my handwriting is pretty sloppy =) WegianWarrior (talk) 21:32, 4 July 2015 (UTC)