I am new to python and trying to understand the _full_path from  example.     def _full_path(self, partial):         if partial.startswith("/"):             partial = partial[1:]         path = os.path.join(self.root, partial)         return path   What does the function do? Specifically, what does this line do?    partial = partial[1:]   It seems like some kind of list manipulation -- but I can't find syntax like that in  document.  What is the root property of self that is getting called?    Can somebody explain a little bit about what is happening in that code.
I need a good explanation (references are a plus) on Python's slice notation.   To me, this notation needs a bit of picking up.   It looks extremely powerful, but I haven't quite got my head around it.
I had given an cipher text (of JSON string), an IV and a key. I tried decrypting using 's method:      decryptWithManagedIV(algorithmName, privateKey, IVAndCipherText)     //Sample code   Blob key = Blob.valueOf(decryptionKey);   Blob encryptedDatafor = EncodingUtil.base64Decode(bodystring);   Blob decryptedData = Crypto.decryptwithManagedIV('AES128', key, encryptedDatafor);    cipher = decryptedData.toString();   System.debug('Encrypted BodyString: ' +cipher);   and I was able to decrypt the cipher successfully. But when I use the provided IV with the following method:      decrypt(algorithmName, privateKey, initializationVector, cipherText)    //Sample code  Blob exampleIV = Blob.valueOf('HSDlUkhrmfEo7SgM'); //provided IV   Blob key = Blob.valueOf(decryptionKey);  Blob encryptedDatafor = EncodingUtil.base64Decode(bodystring);  Blob decryptedDataIV = Crypto.decrypt('AES128', key, exampleIV, encryptedDatafor);   cipher = EncodingUtil.base64Encode(decryptedDataIV );  System.debug('Encrypted BodyString: ' +cipher);   I get some string which looks like, it is still in the encrypted form (different from the encrypted string I have passed).   Update:  I have tried the below code-snippet based on the suggestion from @identigral, but I am still unable to decrypt the cipher using the IV:  Blob exampleIV = Blob.valueOf('HSDlUkhrmfEo7SgM'); //provided IV  Blob key = Blob.valueOf(decryptionKey); Blob encryptedDatafor = EncodingUtil.base64Decode(bodystring);  String encodedCipherTextAndIV = EncodingUtil.convertToHex(encryptedDatafor); String encodedCipherText = encodedCipherTextAndIV.substring(32); String finCipher = encodedCipherText.difference(encodedCipherTextAndIV); Blob ciphertext = EncodingUtil.convertFromHex(finCipher);   Blob decryptedDataIV = Crypto.decrypt('AES128', key, exampleIV, ciphertext);  decryptStg = EncodingUtil.base64Encode(decryptedDataIV ); System.debug('Decrypted BodyString: ' +decryptStg); Ok, so I have an index.php file which has to process many different file types.  how do I guess the filetype based on the REQUEST_URI.  If I request http://site/image.jpg, and all requests redirect through index.php, which looks like this  &lt;?php    include('/www/site'.$_SERVER['REQUEST_URI']); ?&gt;   How would I make that work correctly?  Should I test based on the extension of the file requested, or is there a way to get the filetype? I'm stuck with this integral  $\int\frac {\cos^4x}{\sin^3x} dx$    which I rewrote as  $\int \csc^3x \cos^4xdx$  then after using the half angle formula twice for $\cos^4x$ I got this  $\frac 14\int \csc^3x (1+\cos(2x))(1+\cos(2x))dx$   then after solving those products I got these integrals  $\frac 14 \{\int \csc^3xdx+2\int \csc^3x \cos(2x)dx + \int \csc^3x \cos^2(2x)dx\}$  I do know how to solve the $\int \csc^3xdx$ one but I'm totally lost on the other ones, any tips/help/advice would be highly appreciated! thanks in advance guys! List all commands that a shell knows What can I type at my shell (which happens to be bash) that will list all the commands that are recognized?  Also, does this differ by shell? Or do all shells just have a "directory" of commands they recognize?  Secondly, different question, but how can I override any of those? In other words how can I write my own view command to replace the one existing on my Ubuntu system, which appears to just load vim. Write18: capturing shell (script) output as command/variable? Let's say I compile the following file with pdflatex -shell-escape test.tex:   \documentclass{minimal}  \begin{document}  File listing is:  \immediate\write18{ls /usr}  \end{document}   This will send the output of the command ls /usr to report/log of pdflatex (primarily to stdout).   There are then two cases I'd like to utilize:    The output of ls /usr being included directly in the document (LaTeX stream). The output of ls /usr becoming the contents of a \newcommand (by this I mean, that I'd like the script to be executed when the \newcommand is executed first - and upon subsequent calls to the new command, the shell code should not be executed anew).    I have read through , but I'm not sure if this "pipe input" can be applied to \newcommand.   I have also read through  - and it seems that Tex' file I/O should be used; but I'm quite disliking the fact that I'd still have to redirect the script output (actually, in this case, the ls /usr output) to a file, and then read it in, to have it as contents of a command.   So, is there an easier way to achieve what I'd want (hopefully, illustrated through an example based on the above code)?     EDIT: Ehm, I should have asked one more question earlier :) I'll try with an edit here, although it will probably get missed .. :)   I originally asked for a \newcommand that will execute shell code only upon its definition (i.e., in a sense it is "cached"); and the answer from @egreg does exactly that. But then - would it be possible to have a different \newcommand definition, such that each time this newcommand is called, the shell command is executed anew? I.e. executing something like \@@input|"cat tempfile" (which cannot be executed as such), where tempfile changes between calls? Extract float/double value How do I extract a double value from a string using regex.  import re  pattr = re.compile(???)     x = pattr.match("4.5") Are players allowed to pass a penalty kick? What have to be normally distributed: groups or whole sample? It is a general and maybe basic question, but it will help me to avoid a mistake. To test the dependence of continuous variable on nominal with parametric test (t-test, ANOVA), "the data has to be normally distributed" (distribution have to be not much violated from normal).   But I don't clearly understand: I have to test the normality of the continuous data together (whole sample) or the normality of data in every single group?   And if my groups have small sizes (n=4-6), and therefore I fail to reject null, does this indicate a permission to use parametric methods?  Can anyone provide me a link to some good examples of statistical (biomedical) hypothesis testing with R (google did not helped)? Is there a way to add a timer to a Beamer presentation? What's the best way of handling permissions for Apache 2's user www-data in /var/www? Has anyone got a nice solution for handling files in /var/www? We're running Name Based Virtual Hosts and the Apache 2 user is www-data.  We've got two regular users &amp; root. So when messing with files in /var/www, rather than having to...  chown -R www-data:www-data   ...all the time, what's a good way of handling this?  Supplementary question: How hardcore do you then go on permissions?  This one has always been a problem in collaborative development environments. How to change the numbering of \part, \chapter, \section, ... to alphabetical, Roman numbers, etc How to return multiple objects from a Java method? I want to return two objects from a Java method and was wondering what could be a good way of doing so?  The possible ways I can think of are: return a HashMap (since the two Objects are related) or return an ArrayList of Object objects.  To be more precise, the two objects I want to return are (a) List of objects and (b) comma separated names of the same.  I want to return these two Objects from one method because I dont want to iterate through the list of objects to get the comma separated names (which I can do in the same loop in this method).  Somehow, returning a HashMap does not look a very elegant way of doing so. More than one time dimension We know that space-time dimensions are 3+1 macroscopically, but what if 2+2?  Obviously it is tough to imagine two time dimensions, but mathematically we can always imagine as either having two parameters $t_1$ and $t_2$ or else in Lorentz matrix $$\eta_{00} = \eta_{11} = -1$$ and, $$\eta_{22} = \eta_{33} = 1.$$  Is there any physical reason for not taking this, like the norms become negative or something else? Multiple workspaces on Ubuntu 18.04.1 LTS and later with GNOME Shell Any idea how to have more than 2 workspaces on Ubuntu 18.04.1? How to peel hard boiled eggs easily? This is one of the most annoying duties in the kitchen, for me.  What are yours tips and tricks to peel hard boiled eggs easily? Self-deleted posts and the 3 vote / 60 day rule With regards to  post about  and the part about retaining reputation earned from deleted posts that have a score of 3 or better and were visible on the site for 60 days, does this also apply to self-deleted posts and will it continue to do so? I culled a few of my own answers over the weekend that were less than stellar, and my reputation dropped 1.8k, but the rep is back today after the changes were announced. I thought it would be useful to clarify that this also applies to self-deleted stuff. I was naively validating my binomial logit models by testing on a test dataset. I had randomly divided the available data (~2000 rows) into training (~1500) and validation (~500) datasets.   I now read a post in another thread ( Frank Harrell) that causes me to question my approach:     Data splitting is not very reliable unless you have more than 15,000   observations. In other words, if you split the data again, accuracy   indexes will vary too much from what you obtained with the first   split.   How serious is this worry and what are ways around it? The OP speaks of "resampling" but not sure how that works here for validation.   Edit: Adding context as per @Bernhard's comment below: How to make GRASS and SAGA tools capable to use in QGIS？ I installed QGIS, GRASS and GDAL by OSGeo4w package, and as I finish the installation, I want to use GRASS tool, I face this problem：    But I already installed GRASS and SAGA, how to make those tools in QGIS to be used？ Why do people sometimes use the past perfect form of a verb when the past would suffice? (e.g. "you had mentioned") I noticed that my American friends tend to use the past perfect form when they use the verb mention in its past form, almost despite of the context of the sentence. I hear them say  "you had mentioned" a lot more often even in situations where the use of simple past would have been perfectly fine. Have you noticed it too and is it one of those unwritten rules, or is there a more formal explanation to it?  It seems like there was more verbs like that, but I am having a hard time remembering it now. If I do, I will edit the post and likely change the title to accommodate other verbs. Updating a field programmatically, hook_node_update