I thought this would have been asked before but it seems not.  I don't understand how f-stops are numbered. From what I read, the lower the f-stop number, the larger the aperture. That is, f/2 is larger than f/22.  This seems odd to me. The maximum aperture width is (at least theoretically) infinite, while the minimum is 0 (i.e. the lens is completely closed and not letting in any light).   The way the numbering system is set up, it allows for infinitely tiny apertures but a limit on how large they can be (i.e. I guess the largest is f/0)  Can someone clarify why the aperture is numbered in this way?
What does f-stop mean? Is it the same thing when people say "2 stops" for example?
How do I list all files under a directory recursively and sort the output by modification time?  I normally use ls -lhtc but it doesn't find all files recursively. I am using Linux and Mac.  ls -l on Mac OS X can give  -rw-r--r--    1 fsr  user      1928 Mar  1  2011 foo.c -rwx------    1 fsr  user      3509 Feb 25 14:34 bar.c   where the date part isn't consistent or aligned, so a solution have to take this into account.  Partial solution  stat -f "%m%t%Sm %N" ./* | sort -rn | head -3 | cut -f2-   works, but not recursively. addtocontents not working with certain other packages Why is carbon dating limit only 40,000 years? I am stuck on how to calculate the following limit: $$\lim_{x\to\infty}x\left(\left(1 + \frac{1}{x}\right)^x - e\right).$$  Definitely, it has to be through l'Hôpital's rule. We know that $\lim_{x\to\infty} (1+(1/x))^x = e$. So, I wrote the above expression as $$\lim_{x\to\infty}\frac{\left(1 + \frac{1}{x}\right)^x - e}{1/x}.$$Both numerator and denominator tend to zero as x tends to infinity. I applied l'Hôpital's rule twice, but I got the limit equal to infinity which is clearly wrong. In the book, it says that the limit should be $-e/2$.  Any help please? Also, in case someone managed to solve it, please tell me which numerator and denominator did you apply your l'Hôpital's rule to in both cases? Thanks a lot  Also, guys can you tell me how to write equations in this forum? Thanks. Posting images in chat using drag and drop I think it will be a good idea if there is a drag and drop image posting in chat. User needs to follow many steps to upload an image using upload button. BBWC: in theory a good idea but has one ever saved your data? I'm familiar with what a BBWC (Battery-backed write cache) is intended to do - and previously used them in my servers even with good UPS. There are obvously failures it does not provide protection for. I'm curious to understand whether it actually offers any real benefit in practice.  (NB I'm specifically looking for responses from people who have BBWC and had crashes/failures and whether the BBWC helped recovery or not)  Update  After the feedback here, I'm increasingly skeptical as whether a BBWC adds any value.  To have any confidence about data integrity, the filesystem MUST know when data has been committed to non-volatile storage (not necessarily the disk - a point I'll come back to). It's worth noting that a lot of disks lie about when data has been committed to the disk (). While it seems reasonable to assume that disabling the on-disk cache might make the disks more honest, there's still no guarantee that this is the case either.  Due to the typcally large buffers in a BBWC, a barrier can require significantly more data to be commited to disk therefore causing delays on writes: the general advice is to disable barriers when using a non-volatile write back cache (and to disable on-disk caching). However this would appear to undermine the integrity of the write operation - just because more data is maintained in non-volatile storage does not mean that it will be more consistent. Indeed, arguably without demarcation between logical transactions there seems to be less opportunity to ensure consistency than otherwise.   If the BBWC were to acknowledge barriers at the point the data enters it's non-volatile storage (rather than being committed to disk) then it would appear to satisfy the data integrity requirement without a performance penalty - implying that barriers should still be enabled. However since these devices generally exhibit behaviour consistent with flushing the data to the physical device (significantly slower with barriers) and the widespread advice to disable barriers, they cannot therefore be behaving in this way. WHY NOT?  If the I/O in the OS is modelled as a series of streams then there is some scope to minimise the blocking effect of a write barrier when write caching is managed by the OS - since at this level only the logical transaction (a single stream) needs to be committed. On the other hand, a BBWC with no knowledge of which bits of data make up the transaction would have to commit its entire cache to disk. Whether the kernel/filesystems actually implement this in practice would require a lot more effort than I'm wiling to invest at the moment.  A combination of disks telling fibs about what has been committed and sudden loss of power undoubtedly leads to corruption - and with a Journalling or log structured filesystem which don't do a full fsck after an outage its unlikely that the corruption will be detected let alone an attempt made to repair it.   In terms of the modes of failure, in my experience most sudden power outages occur because of loss of mains power (easily mitigated with a UPS and managed shutdown). People pulling the wrong cable out of rack implies poor datacentre hygene (labelling and cable management). There are some types of sudden power loss event which are not prevented by a UPS - failure in the PSU or VRM a BBWC with barriers would provide data integrity in the event of a failure here, however how common are such events? Very rare judging by the lack of responses here.   Certainly moving the fault tolerance higher in the stack is significantly more expensive the a BBWC - however implementing a server as a cluster has lots of other benefits for performance and availability.  An alternative way to mitigate the impact of sudden power loss would be to implement a SAN - AoE makes this a practical proposition (I don't really see the point in iSCSI) but again there's a higher cost. Determine the number of ways to colour a 1 by n grid using the colours red and white if an even number of squares are to be coloured red. Aspect (simple, perfect and progressive): What are the differences? Could you please explain to me the differences between the simple, progressive and perfect aspects.  "Simple aspect" means completed action (action starts and finishes) but I don't really understand the fine details.  For example, with these sentences:     It usually rains in the fall.   He smokes 15 cigarettes a day.   I slept for a long time yesterday.     Here's what I understand: if I didn't complete sleeping I should use "I was sleeping". If it doesn't stop raining we can't say "it is finished". Is that correct?  For continuous aspect, duration is an important factor – but how?  For example:     She is wearing a jacket.   Normally "to wear" action is completed but we can use here present continuous aspect.  Another example:     She has been wearing the same jacket for 3 days.   and why can't I use continuous aspect here?     I have cleaned my room.   It means that my room is clean now. Action is finished but why can't I say "I have been cleaning room" like "They have been playing in the mud"? Action is completed but we don't care here about completed, we are caring about duration, why? I'm stuck in the College of Winterhold questline because of a glitch between the quests "Good Intentions" and "Revealing the Unseen." After talking to the Augur of Dunlain, I return to the Archmage Savos Aren to finish the quest, and he gives me the Mage's Circlet and finishes "Good Intentions." The problem is, the next quest "Revealing the Unseen" doesn't start. He talks about Mirabelle Irvine and tells me to go talk to her, but since the quest hasn't been started, she doesn't have anything to say about the Staff of Magnus. I've tried reloading from before the quest many times and finishing it but still the same result. I've also tried doing other quests and coming back to try and finish it later, but still the next quest doesn't start. I'm on the PS3.  Anyone have a way of fixing this bug/glitch? Thanks in advance. If we allow that the energy to allow quantum tunnelling through a potential barrier has been borrowed by the Heisenberg energy-time uncertainty relation, from the vacuum energy. How is the borrowed energy paid back? Postfix SMTP banner show multiple hostnames We have a Postfix SMTP server that's bound to two IP addresses and serves mail for two different domains. We can't change the domains to both use the same, single IP. Both IP addresses have reverse DNS   1.1.1.1 reverses to mail.domain1.com 2.2.2.2 reverses to mail.domain2.com   In our Postfix config I have  myhostname = mail.domain1.com myhostname = mail.domain2.com  inet_interfaces = 1.1.1.1, 2.2.2.2  smtpd_banner = $myhostname Mail Server   (And some other stuff, which I think is irrelevant)  Using , running the smtp test command on mail.domain2.com returns everything as OK, however running it on mail.domain1.com returns an error because Postfix is identifying itself as 'mail.domain2.com' in the SMTP banner, how do I get it to return the correct banner based on the external IP address used? I have an android phone to which i have plugged an earphones. So at the top of the phone, I get the headphone symbol which indicates that the earphone is connected (In other words, the circuit at the 3.5 mm jack is closed).   Then I cut the two earphones (transducers) from it, and still the headphone symbol shows. When I later cut this cable, below where it branches out, even then it shows circuit completion.   So my question is this:   How does the phone detect circuit completion at the 3.5 mm jack and thus trigger all sound and music to be directed through the 3.5mm jack? How to properly typeset multiletter quantities, e.g. Re or Nu (Reynolds, Nusselt numbers) Is there a better way of getting this result? This function fails if num has more digits than digits, and I feel like it should be in the library somewhere (like Integer.toString(x,"%3d") or something)  static String intToString(int num, int digits) {     StringBuffer s = new StringBuffer(digits);     int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1;      for (int i = 0; i &lt; zeroes; i++) {         s.append(0);     }     return s.append(num).toString(); } I know that contents of double quotes are expanded, whereas the contents of single quotes are not, such that  echo '$1'   gives  $1   where as   echo "$1"   gives  &lt;the argument - blank in this particular example&gt;   the same as   echo $1   However, the question  led me to wonder why double quotes and not single quotes were used when declaring the alias, thus:  alias cutf="_cutf"   instead of   alias cutf='_cutf'   I would have employed single quotes as in the latter example. Most examples on the web use single too, unless there is some expansion required. However, in this case, no expansion, to my eyes, is apparent. Is it that, in this case, they are interchangeable, or are the double quotes necessary because a function definition is employed? Releasing bound ports on process exit How do I make sure that a socket bound to a port is properly released on process exit such that the port can be reused without bind() failing with EADDRINUSE? I've written a tiny program which just creates a socket, binds it to a fixed port, waits for a connection and then immediately terminates. When I rerun the program, the bind() call fails with EADDRINUSE, but if I wait a few minutes, it succeeds.  Is there a way I can explicitly "unbind" the socket, thereby freeing the port number? Objects disappear when looking through camera When I go to camera perspective, there are parts of my object that I can't see. I tried adding and deleting my camera a lot of times and positioning it so that the objects I would like to see on my camera view will be seen but to no avail, I still get the same problem.    What could be wrong with my camera set-up? How can I detect the encoding/codepage of a text file In our application, we receive text files (.txt, .csv, etc.) from diverse sources. When reading, these files sometimes contain garbage, because the files where created in a different/unknown codepage.  Is there a way to (automatically) detect the codepage of a text file?   The detectEncodingFromByteOrderMarks, on the StreamReader constructor, works for UTF8  and other unicode marked files, but I'm looking for a way to detect code pages, like ibm850, windows1252.     Thanks for your answers, this is what I've done.  The files we receive are from end-users, they do not have a clue about codepages. The receivers are also end-users, by now this is what they know about codepages: Codepages exist, and are annoying.  Solution:    Open the received file in Notepad, look at a garbled piece of text. If somebody is called François or something, with your human intelligence you can guess this. I've created a small app that the user can use to open the file with, and enter a text that user knows it will appear in the file, when the correct codepage is used.  Loop through all codepages, and display the ones that give a solution with the user provided text.  If more as one codepage pops up, ask the user to specify more text. How do you convert a cake recipe to make brownies? When applying to a PhD program in the US, how does the admissions process work? If an applicant is weak in a particular area, is it possible to offset that by being strong in a different area?  Note that this question originated from this . Please feel free to edit the question to improve it.