as you can guess I'm a non-native english. When I write an scientific paper, my major trouble is the language and I'm worried about the review of my english. There are any website or community, where I can post my full paper or part of it, and receive a peer review for my english? Thanks a lot.
As a non-native speaker of English, it can often be hard to spot some of the errors that a native speaker would find. For a long time, I've been thinking about getting a native speaker to help me with proof-reading my texts (articles, theses, application, etc), but I don't quite know where to look. What are some good ways to get proofreading for your texts?  For example, are there any websites on the Internet where one can exchange proofreading services between different languages? (Say, if you help me proofread my text in language x, I'll help you with yours in language y.)
Suppose that $a_1,a_2, \cdots, a_n$ are $n$ different integers. Then $[(x-a_1)(x-a_2) \cdots (x-a_n)]^2 +1$ is irreducible over $\mathbb Q$.   I've no idea why it is true. Thanks very much. Best way to return multiple values from a function? The canonical way to return multiple values in languages that support it is often . Option: Using a tuple Consider this trivial example: def f(x):   y0 = x + 1   y1 = x * 3   y2 = y0 ** y3   return (y0, y1, y2)  However, this quickly gets problematic as the number of values returned increases. What if you want to return four or five values? Sure, you could keep tupling them, but it gets easy to forget which value is where. It's also rather ugly to unpack them wherever you want to receive them. Option: Using a dictionary The next logical step seems to be to introduce some sort of 'record notation'. In Python, the obvious way to do this is by means of a dict. Consider the following: def g(x):   y0 = x + 1   y1 = x * 3   y2 = y0 ** y3   return {'y0': y0, 'y1': y1 ,'y2': y2}  (Just to be clear, y0, y1, and y2 are just meant as abstract identifiers. As pointed out, in practice you'd use meaningful identifiers.) Now, we have a mechanism whereby we can project out a particular member of the returned object. For example, result['y0']  Option: Using a class However, there is another option. We could instead return a specialized structure. I've framed this in the context of Python, but I'm sure it applies to other languages as well. Indeed, if you were working in C this might very well be your only option. Here goes: class ReturnValue:   def __init__(self, y0, y1, y2):      self.y0 = y0      self.y1 = y1      self.y2 = y2  def g(x):   y0 = x + 1   y1 = x * 3   y2 = y0 ** y3   return ReturnValue(y0, y1, y2)  In Python the previous two are perhaps very similar in terms of plumbing - after all { y0, y1, y2 } just end up being entries in the internal __dict__ of the ReturnValue. There is one additional feature provided by Python though for tiny objects, the __slots__ attribute. The class could be expressed as: class ReturnValue(object):   __slots__ = [&quot;y0&quot;, &quot;y1&quot;, &quot;y2&quot;]   def __init__(self, y0, y1, y2):      self.y0 = y0      self.y1 = y1      self.y2 = y2  From the :  The __slots__ declaration takes a sequence of instance variables and reserves just enough space in each instance to hold a value for each variable. Space is saved because __dict__ is not created for each instance.  Option: Using a  (Python 3.7+) Using Python 3.7's new dataclasses, return a class with automatically added special methods, typing and other useful tools: @dataclass class Returnvalue:     y0: int     y1: float     y3: int  def total_cost(x):     y0 = x + 1     y1 = x * 3     y2 = y0 ** y3     return ReturnValue(y0, y1, y2)  Option: Using a list Another suggestion which I'd overlooked comes from Bill the Lizard: def h(x):   result = [x + 1]   result.append(x * 3)   result.append(y0 ** y3)   return result  This is my least favorite method though. I suppose I'm tainted by exposure to Haskell, but the idea of mixed-type lists has always felt uncomfortable to me. In this particular example the list is -not- mixed type, but it conceivably could be. A list used in this way really doesn't gain anything with respect to the tuple as far as I can tell. The only real difference between lists and tuples in Python is that lists are , whereas tuples are not. I personally tend to carry over the conventions from functional programming: use lists for any number of elements of the same type, and tuples for a fixed number of elements of predetermined types. Question After the lengthy preamble, comes the inevitable question. Which method (do you think) is best? I made changes to iptables config file in /etc/iptables/filter in Ubuntu and want to reload them. I read the man page and also googled but couldn't find the information. Any help will be appreciated. Elevated command line prompt can't access shared drives I map a share from another machine using my user account. I launch an elevated command prompt (cmd.exe, right click, Run as administrator). Navigating to shared drive (Z:) results in:   The system cannot find the drive specified  Now if I open a non elevated command prompt, I can navigate to Z: just fine. Functional equation $f(r \cos \varphi)+f(r \sin \varphi)=f(r)$ Find all such monotonous function $f:[0,+\infty)\to \mathbb R$, such that for any real $r\ge0$ and $\varphi \in \left[\frac{\pi}6, \frac{\pi}4\right]$, $$f(r \cos \varphi)+f(r \sin \varphi)=f(r)\text.$$  My work so far:  If $\varphi \in \left[\frac{\pi}6, \frac{\pi}4\right]$ then $$\frac{\sqrt2}2\le\cos \varphi\le\frac{\sqrt3}2$$ $$\frac12\le\sin \varphi\le\frac{\sqrt2}2$$  If $r=0$ then $f(0)=0$  If $\varphi= \frac{\pi}{4}$ then $$f(r)=4f\left(\frac r2\right)$$  $f(x)=cx^2$ for $x\ge0$ and $c\in\mathbb R$ Is there a way to block access to or wipe my Google data for a lost/stolen phone Why is there a big delay after entering a wrong password? Add an "I don't understand" option for review audits How has the age of the Universe been derived from the observations made by the Planck mission? Let $f \colon \mathbb{R} \rightarrow  \mathbb{R}$ be a smooth function such that $$f'(x) = f(1+x)$$ How can we find the general form of $f$? I thought of some differential equations, but not sure how to use them here. Thanks. opengl storing multiple indices into indices buffer Number of non-isomorphic groups of order 21 Is there a word for a person who avoids their responsibilities? When I apply to a PhD program, may I ask a postdoc who closely supervised me to write a recommendation letter? My supervisor also has written one for me, but I believe the postdoc can comment on my research skills in a more detailed and precise way. Does a postdoc have enough authority to convince admission committee? The 1st law of thermodynamics If a gas expands adiabatically will the work done be positive or negative?  I think it will be positive as $\delta W=p dV$ and we have a positive sign due to the work done by the gas is positive as it pushes to expand. But this site has the negative of the answer I obtain.   (See adiabatic processes section) For each positive integer $n$, let $x_n=1/(n+1)+1/(n+2)+\cdots+1/(2n)$. Prove that the sequence $(x_n)$ converges.   This is what I have so far..  Let $\epsilon &gt; 0$ be given to us. We must show that there exists an $N \in \mathbb{N}$  such that $n\ge N \implies \left|\frac{1}{2n} - 1\right| &lt; \epsilon$. Choose $N$ to be any positive integer which is larger than $\frac{1}{\epsilon}$. (So $N&gt;\frac{1}{\epsilon}$.) Then $n\ge N \implies \left|\frac{1}{2n} - 1\right| = |\frac{1-2n}{2n}|$ Is there a device that could measure the speed of time? Is there (or can there be) a device that could measure the speed and acceleration of time? I'm building an object detector using HOG features and linear SVM. Some of the regions of the object are more "distinctive" so I would like to give more weight to the features extracted from those regions. (e.g. imagine we want to detect between mugs and glasses, then the most "distinctive" part is the mug's handle)  How could I do this? For sure there should be a more intelligent way than just replicating the features of those "distinctive" regions. In QGIS, I want to make polygons from a set of intersecting lines. Looking at the screenshot here, I want chop the purple line (it's a closed line, not a polygon) where it crosses the green and blue lines. The result hopefully would be a polygon where I have hatched in red. I have quite a few to do.    I have tried the QGIS tool previously called Polygonizer (see ), but now called Polygonize. This is a tool that, given a layer containing a set of crossing lines arranged essentially like a # symbol, should create a polygon from the enclosed space in the middle.  (In QGIS 2.01, Polygonize is in the top menu bar: go to Processing -> Commander, then type "Polygonize" on the command line, select "Processing algorithm: Polygonize" from the list that appears, and press Enter.)   At the momemt Polygonize doesn't work properly. Is there another way to do what I want to do?   For example, wouldn't it be great if the QGIS 'Split Feature' command was able to work like MapInfo's 'Polyline Split', where you select the polygons to split, then select an already-drawn polyline to split by, and voila. But Split Feature seems not to work that way.    UPDATE: Detail of problems with running Polygonize.  I have 64-bit QGIS 2.01 installed to Windows 7 from the installer package, QGIS-OSGeo4W-2.0.1-3-Setup-x86_64.exe.  The routine processed an output from my shapefile, but did not create a polygon from the region enclosed by intersections between the blue, green and purple lines. (Note: in the actual input file, all these lines are on the same layer; the screenshot just colours them differently for illustrative purposes). What I got instead was a simple conversion of the purple outline to a polygon, as though the program completely ignored the blue and green lines.  When I node-edited the closed purple line, to open it so that I had a set of open crossing lines like in the # symbol, and then ran Polygonize again, nothing happened. No crash, but no visible polygon in the output file.    When I used Nick Hopton's own  data, I got a crash; see screenshot: I have an existing trigger which converts leads into peron accounts if the company name is blank.  Trigger AutoConvert on Lead (after insert) {      LeadStatus convertStatus = [           select MasterLabel           from LeadStatus           where IsConverted = true           limit 1      ];      List&lt;Database.LeadConvert&gt; leadConverts = new List&lt;Database.LeadConvert&gt;();       for (Lead lead: Trigger.new) {           if (!lead.isConverted &amp;&amp; lead.Company == null) {                Database.LeadConvert lc = new Database.LeadConvert();                String oppName = lead.Name;                 lc.setLeadId(lead.Id);                lc.setDoNotCreateOpportunity(true);                lc.setConvertedStatus(convertStatus.MasterLabel);                 leadConverts.add(lc);           }      }       if (!leadConverts.isEmpty()) {           List&lt;Database.LeadConvertResult&gt; lcr = Database.convertLead(leadConverts);      } }   I need to also write a trigger that stops records from coming into Salesforce if that email already exisits in a contact or an account (we use person accounts).  The issue is how do I get it working with the existing trigger (I need it to run before the trigger that converts it into a person account is run).   Is there a way to combine the two or add the functionality to create the record only if the email address doesn't already exist as a contact in the org?